Passed
Pull Request — master (#1691)
by
unknown
03:16
created

basev1.*RelationshipReadRequest.ProtoReflect   A

Complexity

Conditions 4

Size

Total Lines 10
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 8
nop 0
dl 0
loc 10
rs 10
c 0
b 0
f 0
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
// PermissionsLookupEntityRequest is the request message for the LookupEntities method in the Permission service.
629
type PermissionsLookupEntityRequest struct {
630
	state         protoimpl.MessageState
631
	sizeCache     protoimpl.SizeCache
632
	unknownFields protoimpl.UnknownFields
633
634
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
635
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
636
	// Metadata associated with this request, required.
637
	Metadata *PermissionLookupEntityRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
638
	// Type of the entity to lookup, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
639
	EntityType string `protobuf:"bytes,3,opt,name=entity_type,proto3" json:"entity_type,omitempty"`
640
	// Name of the permission to check, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
641
	Permissions []string `protobuf:"bytes,4,rep,name=permissions,proto3" json:"permissions,omitempty"`
642
	// Subject for which to check the permission, required.
643
	Subject *Subject `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`
644
	// Context associated with this request.
645
	Context *Context `protobuf:"bytes,6,opt,name=context,proto3" json:"context,omitempty"`
646
	// Scope: A map that associates entity types with lists of identifiers. Each entry
647
	// helps filter requests by specifying which entities are relevant to the operation.
648
	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"`
649
	// page_size is the number of entities to be returned in the response.
650
	// The value should be between 1 and 100.
651
	PageSize uint32 `protobuf:"varint,8,opt,name=page_size,proto3" json:"page_size,omitempty"`
652
	// continuous_token is an optional parameter used for pagination.
653
	// It should be the value received in the previous response.
654
	ContinuousToken string `protobuf:"bytes,9,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
655
}
656
657
func (x *PermissionsLookupEntityRequest) Reset() {
658
	*x = PermissionsLookupEntityRequest{}
659
	if protoimpl.UnsafeEnabled {
660
		mi := &file_base_v1_service_proto_msgTypes[8]
661
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
662
		ms.StoreMessageInfo(mi)
663
	}
664
}
665
666
func (x *PermissionsLookupEntityRequest) String() string {
667
	return protoimpl.X.MessageStringOf(x)
668
}
669
670
func (*PermissionsLookupEntityRequest) ProtoMessage() {}
671
672
func (x *PermissionsLookupEntityRequest) ProtoReflect() protoreflect.Message {
673
	mi := &file_base_v1_service_proto_msgTypes[8]
674
	if protoimpl.UnsafeEnabled && x != nil {
675
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
676
		if ms.LoadMessageInfo() == nil {
677
			ms.StoreMessageInfo(mi)
678
		}
679
		return ms
680
	}
681
	return mi.MessageOf(x)
682
}
683
684
// Deprecated: Use PermissionsLookupEntityRequest.ProtoReflect.Descriptor instead.
685
func (*PermissionsLookupEntityRequest) Descriptor() ([]byte, []int) {
686
	return file_base_v1_service_proto_rawDescGZIP(), []int{8}
687
}
688
689
func (x *PermissionsLookupEntityRequest) GetTenantId() string {
690
	if x != nil {
691
		return x.TenantId
692
	}
693
	return ""
694
}
695
696
func (x *PermissionsLookupEntityRequest) GetMetadata() *PermissionLookupEntityRequestMetadata {
697
	if x != nil {
698
		return x.Metadata
699
	}
700
	return nil
701
}
702
703
func (x *PermissionsLookupEntityRequest) GetEntityType() string {
704
	if x != nil {
705
		return x.EntityType
706
	}
707
	return ""
708
}
709
710
func (x *PermissionsLookupEntityRequest) GetPermissions() []string {
711
	if x != nil {
712
		return x.Permissions
713
	}
714
	return nil
715
}
716
717
func (x *PermissionsLookupEntityRequest) GetSubject() *Subject {
718
	if x != nil {
719
		return x.Subject
720
	}
721
	return nil
722
}
723
724
func (x *PermissionsLookupEntityRequest) GetContext() *Context {
725
	if x != nil {
726
		return x.Context
727
	}
728
	return nil
729
}
730
731
func (x *PermissionsLookupEntityRequest) GetScope() map[string]*StringArrayValue {
732
	if x != nil {
733
		return x.Scope
734
	}
735
	return nil
736
}
737
738
func (x *PermissionsLookupEntityRequest) GetPageSize() uint32 {
739
	if x != nil {
740
		return x.PageSize
741
	}
742
	return 0
743
}
744
745
func (x *PermissionsLookupEntityRequest) GetContinuousToken() string {
746
	if x != nil {
747
		return x.ContinuousToken
748
	}
749
	return ""
750
}
751
752
// PermissionLookupEntityRequestMetadata metadata for the PermissionLookupEntityRequest.
753
type PermissionLookupEntityRequestMetadata struct {
754
	state         protoimpl.MessageState
755
	sizeCache     protoimpl.SizeCache
756
	unknownFields protoimpl.UnknownFields
757
758
	// Version of the schema.
759
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
760
	// Token associated with the snap.
761
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
762
	// Depth of lookup, required, must be greater or equal to 3.
763
	Depth int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
764
}
765
766
func (x *PermissionLookupEntityRequestMetadata) Reset() {
767
	*x = PermissionLookupEntityRequestMetadata{}
768
	if protoimpl.UnsafeEnabled {
769
		mi := &file_base_v1_service_proto_msgTypes[9]
770
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
771
		ms.StoreMessageInfo(mi)
772
	}
773
}
774
775
func (x *PermissionLookupEntityRequestMetadata) String() string {
776
	return protoimpl.X.MessageStringOf(x)
777
}
778
779
func (*PermissionLookupEntityRequestMetadata) ProtoMessage() {}
780
781
func (x *PermissionLookupEntityRequestMetadata) ProtoReflect() protoreflect.Message {
782
	mi := &file_base_v1_service_proto_msgTypes[9]
783
	if protoimpl.UnsafeEnabled && x != nil {
784
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
785
		if ms.LoadMessageInfo() == nil {
786
			ms.StoreMessageInfo(mi)
787
		}
788
		return ms
789
	}
790
	return mi.MessageOf(x)
791
}
792
793
// Deprecated: Use PermissionLookupEntityRequestMetadata.ProtoReflect.Descriptor instead.
794
func (*PermissionLookupEntityRequestMetadata) Descriptor() ([]byte, []int) {
795
	return file_base_v1_service_proto_rawDescGZIP(), []int{9}
796
}
797
798
func (x *PermissionLookupEntityRequestMetadata) GetSchemaVersion() string {
799
	if x != nil {
800
		return x.SchemaVersion
801
	}
802
	return ""
803
}
804
805
func (x *PermissionLookupEntityRequestMetadata) GetSnapToken() string {
806
	if x != nil {
807
		return x.SnapToken
808
	}
809
	return ""
810
}
811
812
func (x *PermissionLookupEntityRequestMetadata) GetDepth() int32 {
813
	if x != nil {
814
		return x.Depth
815
	}
816
	return 0
817
}
818
819
// PermissionLookupEntityResponse is the response message for the LookupEntity method in the Permission service.
820
type PermissionLookupEntityResponse struct {
821
	state         protoimpl.MessageState
822
	sizeCache     protoimpl.SizeCache
823
	unknownFields protoimpl.UnknownFields
824
825
	// List of identifiers for entities that match the lookup.
826
	EntityIds []string `protobuf:"bytes,1,rep,name=entity_ids,proto3" json:"entity_ids,omitempty"`
827
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
828
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
829
}
830
831
func (x *PermissionLookupEntityResponse) Reset() {
832
	*x = PermissionLookupEntityResponse{}
833
	if protoimpl.UnsafeEnabled {
834
		mi := &file_base_v1_service_proto_msgTypes[10]
835
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
836
		ms.StoreMessageInfo(mi)
837
	}
838
}
839
840
func (x *PermissionLookupEntityResponse) String() string {
841
	return protoimpl.X.MessageStringOf(x)
842
}
843
844
func (*PermissionLookupEntityResponse) ProtoMessage() {}
845
846
func (x *PermissionLookupEntityResponse) ProtoReflect() protoreflect.Message {
847
	mi := &file_base_v1_service_proto_msgTypes[10]
848
	if protoimpl.UnsafeEnabled && x != nil {
849
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
850
		if ms.LoadMessageInfo() == nil {
851
			ms.StoreMessageInfo(mi)
852
		}
853
		return ms
854
	}
855
	return mi.MessageOf(x)
856
}
857
858
// Deprecated: Use PermissionLookupEntityResponse.ProtoReflect.Descriptor instead.
859
func (*PermissionLookupEntityResponse) Descriptor() ([]byte, []int) {
860
	return file_base_v1_service_proto_rawDescGZIP(), []int{10}
861
}
862
863
func (x *PermissionLookupEntityResponse) GetEntityIds() []string {
864
	if x != nil {
865
		return x.EntityIds
866
	}
867
	return nil
868
}
869
870
func (x *PermissionLookupEntityResponse) GetContinuousToken() string {
871
	if x != nil {
872
		return x.ContinuousToken
873
	}
874
	return ""
875
}
876
877
// PermissionLookupEntityResponse is the response message for the LookupEntity method in the Permission service.
878
type PermissionsLookupEntityResponse struct {
879
	state         protoimpl.MessageState
880
	sizeCache     protoimpl.SizeCache
881
	unknownFields protoimpl.UnknownFields
882
883
	// List of identifiers for entities that match the lookup.
884
	EntityIds map[string]*EntityIds `protobuf:"bytes,1,rep,name=entity_ids,proto3" json:"entity_ids,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
885
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
886
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
887
}
888
889
func (x *PermissionsLookupEntityResponse) Reset() {
890
	*x = PermissionsLookupEntityResponse{}
891
	if protoimpl.UnsafeEnabled {
892
		mi := &file_base_v1_service_proto_msgTypes[11]
893
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
894
		ms.StoreMessageInfo(mi)
895
	}
896
}
897
898
func (x *PermissionsLookupEntityResponse) String() string {
899
	return protoimpl.X.MessageStringOf(x)
900
}
901
902
func (*PermissionsLookupEntityResponse) ProtoMessage() {}
903
904
func (x *PermissionsLookupEntityResponse) ProtoReflect() protoreflect.Message {
905
	mi := &file_base_v1_service_proto_msgTypes[11]
906
	if protoimpl.UnsafeEnabled && x != nil {
907
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
908
		if ms.LoadMessageInfo() == nil {
909
			ms.StoreMessageInfo(mi)
910
		}
911
		return ms
912
	}
913
	return mi.MessageOf(x)
914
}
915
916
// Deprecated: Use PermissionsLookupEntityResponse.ProtoReflect.Descriptor instead.
917
func (*PermissionsLookupEntityResponse) Descriptor() ([]byte, []int) {
918
	return file_base_v1_service_proto_rawDescGZIP(), []int{11}
919
}
920
921
func (x *PermissionsLookupEntityResponse) GetEntityIds() map[string]*EntityIds {
922
	if x != nil {
923
		return x.EntityIds
924
	}
925
	return nil
926
}
927
928
func (x *PermissionsLookupEntityResponse) GetContinuousToken() string {
929
	if x != nil {
930
		return x.ContinuousToken
931
	}
932
	return ""
933
}
934
935
type EntityIds struct {
936
	state         protoimpl.MessageState
937
	sizeCache     protoimpl.SizeCache
938
	unknownFields protoimpl.UnknownFields
939
940
	// entitiy Ids
941
	Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
942
}
943
944
func (x *EntityIds) Reset() {
945
	*x = EntityIds{}
946
	if protoimpl.UnsafeEnabled {
947
		mi := &file_base_v1_service_proto_msgTypes[12]
948
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
949
		ms.StoreMessageInfo(mi)
950
	}
951
}
952
953
func (x *EntityIds) String() string {
954
	return protoimpl.X.MessageStringOf(x)
955
}
956
957
func (*EntityIds) ProtoMessage() {}
958
959
func (x *EntityIds) ProtoReflect() protoreflect.Message {
960
	mi := &file_base_v1_service_proto_msgTypes[12]
961
	if protoimpl.UnsafeEnabled && x != nil {
962
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
963
		if ms.LoadMessageInfo() == nil {
964
			ms.StoreMessageInfo(mi)
965
		}
966
		return ms
967
	}
968
	return mi.MessageOf(x)
969
}
970
971
// Deprecated: Use EntityIds.ProtoReflect.Descriptor instead.
972
func (*EntityIds) Descriptor() ([]byte, []int) {
973
	return file_base_v1_service_proto_rawDescGZIP(), []int{12}
974
}
975
976
func (x *EntityIds) GetIds() []string {
977
	if x != nil {
978
		return x.Ids
979
	}
980
	return nil
981
}
982
983
// PermissionLookupEntityStreamResponse is the response message for the LookupEntityStream method in the Permission service.
984
type PermissionLookupEntityStreamResponse struct {
985
	state         protoimpl.MessageState
986
	sizeCache     protoimpl.SizeCache
987
	unknownFields protoimpl.UnknownFields
988
989
	// Identifier for an entity that matches the lookup.
990
	EntityId string `protobuf:"bytes,1,opt,name=entity_id,proto3" json:"entity_id,omitempty"`
991
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
992
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
993
}
994
995
func (x *PermissionLookupEntityStreamResponse) Reset() {
996
	*x = PermissionLookupEntityStreamResponse{}
997
	if protoimpl.UnsafeEnabled {
998
		mi := &file_base_v1_service_proto_msgTypes[13]
999
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1000
		ms.StoreMessageInfo(mi)
1001
	}
1002
}
1003
1004
func (x *PermissionLookupEntityStreamResponse) String() string {
1005
	return protoimpl.X.MessageStringOf(x)
1006
}
1007
1008
func (*PermissionLookupEntityStreamResponse) ProtoMessage() {}
1009
1010
func (x *PermissionLookupEntityStreamResponse) ProtoReflect() protoreflect.Message {
1011
	mi := &file_base_v1_service_proto_msgTypes[13]
1012
	if protoimpl.UnsafeEnabled && x != nil {
1013
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1014
		if ms.LoadMessageInfo() == nil {
1015
			ms.StoreMessageInfo(mi)
1016
		}
1017
		return ms
1018
	}
1019
	return mi.MessageOf(x)
1020
}
1021
1022
// Deprecated: Use PermissionLookupEntityStreamResponse.ProtoReflect.Descriptor instead.
1023
func (*PermissionLookupEntityStreamResponse) Descriptor() ([]byte, []int) {
1024
	return file_base_v1_service_proto_rawDescGZIP(), []int{13}
1025
}
1026
1027
func (x *PermissionLookupEntityStreamResponse) GetEntityId() string {
1028
	if x != nil {
1029
		return x.EntityId
1030
	}
1031
	return ""
1032
}
1033
1034
func (x *PermissionLookupEntityStreamResponse) GetContinuousToken() string {
1035
	if x != nil {
1036
		return x.ContinuousToken
1037
	}
1038
	return ""
1039
}
1040
1041
type PermissionsLookupEntityStreamResponse struct {
1042
	state         protoimpl.MessageState
1043
	sizeCache     protoimpl.SizeCache
1044
	unknownFields protoimpl.UnknownFields
1045
1046
	// Identifier for an entity that matches the lookup.
1047
	EntityId string `protobuf:"bytes,1,opt,name=entity_id,proto3" json:"entity_id,omitempty"`
1048
	// The name of the permission for which the specified entity_id has access
1049
	Permission string `protobuf:"bytes,2,opt,name=permission,proto3" json:"permission,omitempty"`
1050
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
1051
	ContinuousToken string `protobuf:"bytes,3,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
1052
}
1053
1054
func (x *PermissionsLookupEntityStreamResponse) Reset() {
1055
	*x = PermissionsLookupEntityStreamResponse{}
1056
	if protoimpl.UnsafeEnabled {
1057
		mi := &file_base_v1_service_proto_msgTypes[14]
1058
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1059
		ms.StoreMessageInfo(mi)
1060
	}
1061
}
1062
1063
func (x *PermissionsLookupEntityStreamResponse) String() string {
1064
	return protoimpl.X.MessageStringOf(x)
1065
}
1066
1067
func (*PermissionsLookupEntityStreamResponse) ProtoMessage() {}
1068
1069
func (x *PermissionsLookupEntityStreamResponse) ProtoReflect() protoreflect.Message {
1070
	mi := &file_base_v1_service_proto_msgTypes[14]
1071
	if protoimpl.UnsafeEnabled && x != nil {
1072
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1073
		if ms.LoadMessageInfo() == nil {
1074
			ms.StoreMessageInfo(mi)
1075
		}
1076
		return ms
1077
	}
1078
	return mi.MessageOf(x)
1079
}
1080
1081
// Deprecated: Use PermissionsLookupEntityStreamResponse.ProtoReflect.Descriptor instead.
1082
func (*PermissionsLookupEntityStreamResponse) Descriptor() ([]byte, []int) {
1083
	return file_base_v1_service_proto_rawDescGZIP(), []int{14}
1084
}
1085
1086
func (x *PermissionsLookupEntityStreamResponse) GetEntityId() string {
1087
	if x != nil {
1088
		return x.EntityId
1089
	}
1090
	return ""
1091
}
1092
1093
func (x *PermissionsLookupEntityStreamResponse) GetPermission() string {
1094
	if x != nil {
1095
		return x.Permission
1096
	}
1097
	return ""
1098
}
1099
1100
func (x *PermissionsLookupEntityStreamResponse) GetContinuousToken() string {
1101
	if x != nil {
1102
		return x.ContinuousToken
1103
	}
1104
	return ""
1105
}
1106
1107
// PermissionEntityFilterRequest is the request message for the LookupEntityStream method in the Permission service.
1108
type PermissionEntityFilterRequest struct {
1109
	state         protoimpl.MessageState
1110
	sizeCache     protoimpl.SizeCache
1111
	unknownFields protoimpl.UnknownFields
1112
1113
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1114
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1115
	// Metadata associated with this request, required.
1116
	Metadata *PermissionEntityFilterRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1117
	// Reference to the entity to filter.
1118
	Entrances []*Entrance `protobuf:"bytes,3,rep,name=entrances,proto3" json:"entrances,omitempty"`
1119
	// Subject for which to check the permission.
1120
	Subject *Subject `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
1121
	// Context associated with this request.
1122
	Context *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
1123
	// Scope: A map that associates entity types with lists of identifiers. Each entry
1124
	// helps filter requests by specifying which entities are relevant to the operation.
1125
	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"`
1126
	// cursor is an optional parameter used for pagination.
1127
	// It should be the value received in the previous response.
1128
	Cursor string `protobuf:"bytes,7,opt,name=cursor,proto3" json:"cursor,omitempty"`
1129
}
1130
1131
func (x *PermissionEntityFilterRequest) Reset() {
1132
	*x = PermissionEntityFilterRequest{}
1133
	if protoimpl.UnsafeEnabled {
1134
		mi := &file_base_v1_service_proto_msgTypes[15]
1135
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1136
		ms.StoreMessageInfo(mi)
1137
	}
1138
}
1139
1140
func (x *PermissionEntityFilterRequest) String() string {
1141
	return protoimpl.X.MessageStringOf(x)
1142
}
1143
1144
func (*PermissionEntityFilterRequest) ProtoMessage() {}
1145
1146
func (x *PermissionEntityFilterRequest) ProtoReflect() protoreflect.Message {
1147
	mi := &file_base_v1_service_proto_msgTypes[15]
1148
	if protoimpl.UnsafeEnabled && x != nil {
1149
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1150
		if ms.LoadMessageInfo() == nil {
1151
			ms.StoreMessageInfo(mi)
1152
		}
1153
		return ms
1154
	}
1155
	return mi.MessageOf(x)
1156
}
1157
1158
// Deprecated: Use PermissionEntityFilterRequest.ProtoReflect.Descriptor instead.
1159
func (*PermissionEntityFilterRequest) Descriptor() ([]byte, []int) {
1160
	return file_base_v1_service_proto_rawDescGZIP(), []int{15}
1161
}
1162
1163
func (x *PermissionEntityFilterRequest) GetTenantId() string {
1164
	if x != nil {
1165
		return x.TenantId
1166
	}
1167
	return ""
1168
}
1169
1170
func (x *PermissionEntityFilterRequest) GetMetadata() *PermissionEntityFilterRequestMetadata {
1171
	if x != nil {
1172
		return x.Metadata
1173
	}
1174
	return nil
1175
}
1176
1177
func (x *PermissionEntityFilterRequest) GetEntrances() []*Entrance {
1178
	if x != nil {
1179
		return x.Entrances
1180
	}
1181
	return nil
1182
}
1183
1184
func (x *PermissionEntityFilterRequest) GetSubject() *Subject {
1185
	if x != nil {
1186
		return x.Subject
1187
	}
1188
	return nil
1189
}
1190
1191
func (x *PermissionEntityFilterRequest) GetContext() *Context {
1192
	if x != nil {
1193
		return x.Context
1194
	}
1195
	return nil
1196
}
1197
1198
func (x *PermissionEntityFilterRequest) GetScope() map[string]*StringArrayValue {
1199
	if x != nil {
1200
		return x.Scope
1201
	}
1202
	return nil
1203
}
1204
1205
func (x *PermissionEntityFilterRequest) GetCursor() string {
1206
	if x != nil {
1207
		return x.Cursor
1208
	}
1209
	return ""
1210
}
1211
1212
// PermissionEntityFilterRequestMetadata metadata for the PermissionEntityFilterRequest.
1213
type PermissionEntityFilterRequestMetadata struct {
1214
	state         protoimpl.MessageState
1215
	sizeCache     protoimpl.SizeCache
1216
	unknownFields protoimpl.UnknownFields
1217
1218
	// Version of the schema.
1219
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1220
	// Token associated with the snap.
1221
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1222
	// Depth of lookup, required, must be greater or equal to 3.
1223
	Depth int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
1224
}
1225
1226
func (x *PermissionEntityFilterRequestMetadata) Reset() {
1227
	*x = PermissionEntityFilterRequestMetadata{}
1228
	if protoimpl.UnsafeEnabled {
1229
		mi := &file_base_v1_service_proto_msgTypes[16]
1230
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1231
		ms.StoreMessageInfo(mi)
1232
	}
1233
}
1234
1235
func (x *PermissionEntityFilterRequestMetadata) String() string {
1236
	return protoimpl.X.MessageStringOf(x)
1237
}
1238
1239
func (*PermissionEntityFilterRequestMetadata) ProtoMessage() {}
1240
1241
func (x *PermissionEntityFilterRequestMetadata) ProtoReflect() protoreflect.Message {
1242
	mi := &file_base_v1_service_proto_msgTypes[16]
1243
	if protoimpl.UnsafeEnabled && x != nil {
1244
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1245
		if ms.LoadMessageInfo() == nil {
1246
			ms.StoreMessageInfo(mi)
1247
		}
1248
		return ms
1249
	}
1250
	return mi.MessageOf(x)
1251
}
1252
1253
// Deprecated: Use PermissionEntityFilterRequestMetadata.ProtoReflect.Descriptor instead.
1254
func (*PermissionEntityFilterRequestMetadata) Descriptor() ([]byte, []int) {
1255
	return file_base_v1_service_proto_rawDescGZIP(), []int{16}
1256
}
1257
1258
func (x *PermissionEntityFilterRequestMetadata) GetSchemaVersion() string {
1259
	if x != nil {
1260
		return x.SchemaVersion
1261
	}
1262
	return ""
1263
}
1264
1265
func (x *PermissionEntityFilterRequestMetadata) GetSnapToken() string {
1266
	if x != nil {
1267
		return x.SnapToken
1268
	}
1269
	return ""
1270
}
1271
1272
func (x *PermissionEntityFilterRequestMetadata) GetDepth() int32 {
1273
	if x != nil {
1274
		return x.Depth
1275
	}
1276
	return 0
1277
}
1278
1279
// PermissionLookupSubjectRequest is the request message for the LookupSubject method in the Permission service.
1280
type PermissionLookupSubjectRequest struct {
1281
	state         protoimpl.MessageState
1282
	sizeCache     protoimpl.SizeCache
1283
	unknownFields protoimpl.UnknownFields
1284
1285
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1286
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1287
	// Metadata associated with this request, required.
1288
	Metadata *PermissionLookupSubjectRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1289
	// Entity for which to check the permission, required.
1290
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
1291
	// 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.
1292
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
1293
	// Reference to the subject to lookup.
1294
	SubjectReference *RelationReference `protobuf:"bytes,5,opt,name=subject_reference,proto3" json:"subject_reference,omitempty"`
1295
	// Context associated with this request.
1296
	Context *Context `protobuf:"bytes,6,opt,name=context,proto3" json:"context,omitempty"`
1297
	// page_size is the number of subjects to be returned in the response.
1298
	// The value should be between 1 and 100.
1299
	PageSize uint32 `protobuf:"varint,7,opt,name=page_size,proto3" json:"page_size,omitempty"`
1300
	// continuous_token is an optional parameter used for pagination.
1301
	// It should be the value received in the previous response.
1302
	ContinuousToken string `protobuf:"bytes,8,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
1303
}
1304
1305
func (x *PermissionLookupSubjectRequest) Reset() {
1306
	*x = PermissionLookupSubjectRequest{}
1307
	if protoimpl.UnsafeEnabled {
1308
		mi := &file_base_v1_service_proto_msgTypes[17]
1309
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1310
		ms.StoreMessageInfo(mi)
1311
	}
1312
}
1313
1314
func (x *PermissionLookupSubjectRequest) String() string {
1315
	return protoimpl.X.MessageStringOf(x)
1316
}
1317
1318
func (*PermissionLookupSubjectRequest) ProtoMessage() {}
1319
1320
func (x *PermissionLookupSubjectRequest) ProtoReflect() protoreflect.Message {
1321
	mi := &file_base_v1_service_proto_msgTypes[17]
1322
	if protoimpl.UnsafeEnabled && x != nil {
1323
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1324
		if ms.LoadMessageInfo() == nil {
1325
			ms.StoreMessageInfo(mi)
1326
		}
1327
		return ms
1328
	}
1329
	return mi.MessageOf(x)
1330
}
1331
1332
// Deprecated: Use PermissionLookupSubjectRequest.ProtoReflect.Descriptor instead.
1333
func (*PermissionLookupSubjectRequest) Descriptor() ([]byte, []int) {
1334
	return file_base_v1_service_proto_rawDescGZIP(), []int{17}
1335
}
1336
1337
func (x *PermissionLookupSubjectRequest) GetTenantId() string {
1338
	if x != nil {
1339
		return x.TenantId
1340
	}
1341
	return ""
1342
}
1343
1344
func (x *PermissionLookupSubjectRequest) GetMetadata() *PermissionLookupSubjectRequestMetadata {
1345
	if x != nil {
1346
		return x.Metadata
1347
	}
1348
	return nil
1349
}
1350
1351
func (x *PermissionLookupSubjectRequest) GetEntity() *Entity {
1352
	if x != nil {
1353
		return x.Entity
1354
	}
1355
	return nil
1356
}
1357
1358
func (x *PermissionLookupSubjectRequest) GetPermission() string {
1359
	if x != nil {
1360
		return x.Permission
1361
	}
1362
	return ""
1363
}
1364
1365
func (x *PermissionLookupSubjectRequest) GetSubjectReference() *RelationReference {
1366
	if x != nil {
1367
		return x.SubjectReference
1368
	}
1369
	return nil
1370
}
1371
1372
func (x *PermissionLookupSubjectRequest) GetContext() *Context {
1373
	if x != nil {
1374
		return x.Context
1375
	}
1376
	return nil
1377
}
1378
1379
func (x *PermissionLookupSubjectRequest) GetPageSize() uint32 {
1380
	if x != nil {
1381
		return x.PageSize
1382
	}
1383
	return 0
1384
}
1385
1386
func (x *PermissionLookupSubjectRequest) GetContinuousToken() string {
1387
	if x != nil {
1388
		return x.ContinuousToken
1389
	}
1390
	return ""
1391
}
1392
1393
// PermissionLookupSubjectRequestMetadata metadata for the PermissionLookupSubjectRequest.
1394
type PermissionLookupSubjectRequestMetadata struct {
1395
	state         protoimpl.MessageState
1396
	sizeCache     protoimpl.SizeCache
1397
	unknownFields protoimpl.UnknownFields
1398
1399
	// Version of the schema.
1400
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1401
	// Token associated with the snap.
1402
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1403
	// Depth of the check, must be greater than or equal to 3.
1404
	Depth int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
1405
}
1406
1407
func (x *PermissionLookupSubjectRequestMetadata) Reset() {
1408
	*x = PermissionLookupSubjectRequestMetadata{}
1409
	if protoimpl.UnsafeEnabled {
1410
		mi := &file_base_v1_service_proto_msgTypes[18]
1411
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1412
		ms.StoreMessageInfo(mi)
1413
	}
1414
}
1415
1416
func (x *PermissionLookupSubjectRequestMetadata) String() string {
1417
	return protoimpl.X.MessageStringOf(x)
1418
}
1419
1420
func (*PermissionLookupSubjectRequestMetadata) ProtoMessage() {}
1421
1422
func (x *PermissionLookupSubjectRequestMetadata) ProtoReflect() protoreflect.Message {
1423
	mi := &file_base_v1_service_proto_msgTypes[18]
1424
	if protoimpl.UnsafeEnabled && x != nil {
1425
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1426
		if ms.LoadMessageInfo() == nil {
1427
			ms.StoreMessageInfo(mi)
1428
		}
1429
		return ms
1430
	}
1431
	return mi.MessageOf(x)
1432
}
1433
1434
// Deprecated: Use PermissionLookupSubjectRequestMetadata.ProtoReflect.Descriptor instead.
1435
func (*PermissionLookupSubjectRequestMetadata) Descriptor() ([]byte, []int) {
1436
	return file_base_v1_service_proto_rawDescGZIP(), []int{18}
1437
}
1438
1439
func (x *PermissionLookupSubjectRequestMetadata) GetSchemaVersion() string {
1440
	if x != nil {
1441
		return x.SchemaVersion
1442
	}
1443
	return ""
1444
}
1445
1446
func (x *PermissionLookupSubjectRequestMetadata) GetSnapToken() string {
1447
	if x != nil {
1448
		return x.SnapToken
1449
	}
1450
	return ""
1451
}
1452
1453
func (x *PermissionLookupSubjectRequestMetadata) GetDepth() int32 {
1454
	if x != nil {
1455
		return x.Depth
1456
	}
1457
	return 0
1458
}
1459
1460
// PermissionLookupSubjectResponse is the response message for the LookupSubject method in the Permission service.
1461
type PermissionLookupSubjectResponse struct {
1462
	state         protoimpl.MessageState
1463
	sizeCache     protoimpl.SizeCache
1464
	unknownFields protoimpl.UnknownFields
1465
1466
	// List of identifiers for subjects that match the lookup.
1467
	SubjectIds []string `protobuf:"bytes,1,rep,name=subject_ids,proto3" json:"subject_ids,omitempty"`
1468
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
1469
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
1470
}
1471
1472
func (x *PermissionLookupSubjectResponse) Reset() {
1473
	*x = PermissionLookupSubjectResponse{}
1474
	if protoimpl.UnsafeEnabled {
1475
		mi := &file_base_v1_service_proto_msgTypes[19]
1476
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1477
		ms.StoreMessageInfo(mi)
1478
	}
1479
}
1480
1481
func (x *PermissionLookupSubjectResponse) String() string {
1482
	return protoimpl.X.MessageStringOf(x)
1483
}
1484
1485
func (*PermissionLookupSubjectResponse) ProtoMessage() {}
1486
1487
func (x *PermissionLookupSubjectResponse) ProtoReflect() protoreflect.Message {
1488
	mi := &file_base_v1_service_proto_msgTypes[19]
1489
	if protoimpl.UnsafeEnabled && x != nil {
1490
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1491
		if ms.LoadMessageInfo() == nil {
1492
			ms.StoreMessageInfo(mi)
1493
		}
1494
		return ms
1495
	}
1496
	return mi.MessageOf(x)
1497
}
1498
1499
// Deprecated: Use PermissionLookupSubjectResponse.ProtoReflect.Descriptor instead.
1500
func (*PermissionLookupSubjectResponse) Descriptor() ([]byte, []int) {
1501
	return file_base_v1_service_proto_rawDescGZIP(), []int{19}
1502
}
1503
1504
func (x *PermissionLookupSubjectResponse) GetSubjectIds() []string {
1505
	if x != nil {
1506
		return x.SubjectIds
1507
	}
1508
	return nil
1509
}
1510
1511
func (x *PermissionLookupSubjectResponse) GetContinuousToken() string {
1512
	if x != nil {
1513
		return x.ContinuousToken
1514
	}
1515
	return ""
1516
}
1517
1518
// PermissionSubjectPermissionRequest is the request message for the SubjectPermission method in the Permission service.
1519
type PermissionSubjectPermissionRequest struct {
1520
	state         protoimpl.MessageState
1521
	sizeCache     protoimpl.SizeCache
1522
	unknownFields protoimpl.UnknownFields
1523
1524
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1525
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1526
	// Metadata associated with this request, required.
1527
	Metadata *PermissionSubjectPermissionRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1528
	// Entity for which to check the permission, required.
1529
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
1530
	// Subject for which to check the permission, required.
1531
	Subject *Subject `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
1532
	// Context associated with this request.
1533
	Context *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
1534
}
1535
1536
func (x *PermissionSubjectPermissionRequest) Reset() {
1537
	*x = PermissionSubjectPermissionRequest{}
1538
	if protoimpl.UnsafeEnabled {
1539
		mi := &file_base_v1_service_proto_msgTypes[20]
1540
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1541
		ms.StoreMessageInfo(mi)
1542
	}
1543
}
1544
1545
func (x *PermissionSubjectPermissionRequest) String() string {
1546
	return protoimpl.X.MessageStringOf(x)
1547
}
1548
1549
func (*PermissionSubjectPermissionRequest) ProtoMessage() {}
1550
1551
func (x *PermissionSubjectPermissionRequest) ProtoReflect() protoreflect.Message {
1552
	mi := &file_base_v1_service_proto_msgTypes[20]
1553
	if protoimpl.UnsafeEnabled && x != nil {
1554
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1555
		if ms.LoadMessageInfo() == nil {
1556
			ms.StoreMessageInfo(mi)
1557
		}
1558
		return ms
1559
	}
1560
	return mi.MessageOf(x)
1561
}
1562
1563
// Deprecated: Use PermissionSubjectPermissionRequest.ProtoReflect.Descriptor instead.
1564
func (*PermissionSubjectPermissionRequest) Descriptor() ([]byte, []int) {
1565
	return file_base_v1_service_proto_rawDescGZIP(), []int{20}
1566
}
1567
1568
func (x *PermissionSubjectPermissionRequest) GetTenantId() string {
1569
	if x != nil {
1570
		return x.TenantId
1571
	}
1572
	return ""
1573
}
1574
1575
func (x *PermissionSubjectPermissionRequest) GetMetadata() *PermissionSubjectPermissionRequestMetadata {
1576
	if x != nil {
1577
		return x.Metadata
1578
	}
1579
	return nil
1580
}
1581
1582
func (x *PermissionSubjectPermissionRequest) GetEntity() *Entity {
1583
	if x != nil {
1584
		return x.Entity
1585
	}
1586
	return nil
1587
}
1588
1589
func (x *PermissionSubjectPermissionRequest) GetSubject() *Subject {
1590
	if x != nil {
1591
		return x.Subject
1592
	}
1593
	return nil
1594
}
1595
1596
func (x *PermissionSubjectPermissionRequest) GetContext() *Context {
1597
	if x != nil {
1598
		return x.Context
1599
	}
1600
	return nil
1601
}
1602
1603
// PermissionSubjectPermissionRequestMetadata metadata for the PermissionSubjectPermissionRequest.
1604
type PermissionSubjectPermissionRequestMetadata struct {
1605
	state         protoimpl.MessageState
1606
	sizeCache     protoimpl.SizeCache
1607
	unknownFields protoimpl.UnknownFields
1608
1609
	// Version of the schema.
1610
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1611
	// Token associated with the snap.
1612
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1613
	// Whether to only check permissions.
1614
	OnlyPermission bool `protobuf:"varint,3,opt,name=only_permission,proto3" json:"only_permission,omitempty"`
1615
	// Depth of the check, must be greater than or equal to 3.
1616
	Depth int32 `protobuf:"varint,4,opt,name=depth,proto3" json:"depth,omitempty"`
1617
}
1618
1619
func (x *PermissionSubjectPermissionRequestMetadata) Reset() {
1620
	*x = PermissionSubjectPermissionRequestMetadata{}
1621
	if protoimpl.UnsafeEnabled {
1622
		mi := &file_base_v1_service_proto_msgTypes[21]
1623
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1624
		ms.StoreMessageInfo(mi)
1625
	}
1626
}
1627
1628
func (x *PermissionSubjectPermissionRequestMetadata) String() string {
1629
	return protoimpl.X.MessageStringOf(x)
1630
}
1631
1632
func (*PermissionSubjectPermissionRequestMetadata) ProtoMessage() {}
1633
1634
func (x *PermissionSubjectPermissionRequestMetadata) ProtoReflect() protoreflect.Message {
1635
	mi := &file_base_v1_service_proto_msgTypes[21]
1636
	if protoimpl.UnsafeEnabled && x != nil {
1637
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1638
		if ms.LoadMessageInfo() == nil {
1639
			ms.StoreMessageInfo(mi)
1640
		}
1641
		return ms
1642
	}
1643
	return mi.MessageOf(x)
1644
}
1645
1646
// Deprecated: Use PermissionSubjectPermissionRequestMetadata.ProtoReflect.Descriptor instead.
1647
func (*PermissionSubjectPermissionRequestMetadata) Descriptor() ([]byte, []int) {
1648
	return file_base_v1_service_proto_rawDescGZIP(), []int{21}
1649
}
1650
1651
func (x *PermissionSubjectPermissionRequestMetadata) GetSchemaVersion() string {
1652
	if x != nil {
1653
		return x.SchemaVersion
1654
	}
1655
	return ""
1656
}
1657
1658
func (x *PermissionSubjectPermissionRequestMetadata) GetSnapToken() string {
1659
	if x != nil {
1660
		return x.SnapToken
1661
	}
1662
	return ""
1663
}
1664
1665
func (x *PermissionSubjectPermissionRequestMetadata) GetOnlyPermission() bool {
1666
	if x != nil {
1667
		return x.OnlyPermission
1668
	}
1669
	return false
1670
}
1671
1672
func (x *PermissionSubjectPermissionRequestMetadata) GetDepth() int32 {
1673
	if x != nil {
1674
		return x.Depth
1675
	}
1676
	return 0
1677
}
1678
1679
// PermissionSubjectPermissionResponse is the response message for the SubjectPermission method in the Permission service.
1680
type PermissionSubjectPermissionResponse struct {
1681
	state         protoimpl.MessageState
1682
	sizeCache     protoimpl.SizeCache
1683
	unknownFields protoimpl.UnknownFields
1684
1685
	// Map of results for each permission check.
1686
	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"`
1687
}
1688
1689
func (x *PermissionSubjectPermissionResponse) Reset() {
1690
	*x = PermissionSubjectPermissionResponse{}
1691
	if protoimpl.UnsafeEnabled {
1692
		mi := &file_base_v1_service_proto_msgTypes[22]
1693
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1694
		ms.StoreMessageInfo(mi)
1695
	}
1696
}
1697
1698
func (x *PermissionSubjectPermissionResponse) String() string {
1699
	return protoimpl.X.MessageStringOf(x)
1700
}
1701
1702
func (*PermissionSubjectPermissionResponse) ProtoMessage() {}
1703
1704
func (x *PermissionSubjectPermissionResponse) ProtoReflect() protoreflect.Message {
1705
	mi := &file_base_v1_service_proto_msgTypes[22]
1706
	if protoimpl.UnsafeEnabled && x != nil {
1707
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1708
		if ms.LoadMessageInfo() == nil {
1709
			ms.StoreMessageInfo(mi)
1710
		}
1711
		return ms
1712
	}
1713
	return mi.MessageOf(x)
1714
}
1715
1716
// Deprecated: Use PermissionSubjectPermissionResponse.ProtoReflect.Descriptor instead.
1717
func (*PermissionSubjectPermissionResponse) Descriptor() ([]byte, []int) {
1718
	return file_base_v1_service_proto_rawDescGZIP(), []int{22}
1719
}
1720
1721
func (x *PermissionSubjectPermissionResponse) GetResults() map[string]CheckResult {
1722
	if x != nil {
1723
		return x.Results
1724
	}
1725
	return nil
1726
}
1727
1728
// WatchRequest is the request message for the Watch RPC. It contains the
1729
// details needed to establish a watch stream.
1730
type WatchRequest struct {
1731
	state         protoimpl.MessageState
1732
	sizeCache     protoimpl.SizeCache
1733
	unknownFields protoimpl.UnknownFields
1734
1735
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1736
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1737
	// Snap token to be used for watching.
1738
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1739
}
1740
1741
func (x *WatchRequest) Reset() {
1742
	*x = WatchRequest{}
1743
	if protoimpl.UnsafeEnabled {
1744
		mi := &file_base_v1_service_proto_msgTypes[23]
1745
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1746
		ms.StoreMessageInfo(mi)
1747
	}
1748
}
1749
1750
func (x *WatchRequest) String() string {
1751
	return protoimpl.X.MessageStringOf(x)
1752
}
1753
1754
func (*WatchRequest) ProtoMessage() {}
1755
1756
func (x *WatchRequest) ProtoReflect() protoreflect.Message {
1757
	mi := &file_base_v1_service_proto_msgTypes[23]
1758
	if protoimpl.UnsafeEnabled && x != nil {
1759
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1760
		if ms.LoadMessageInfo() == nil {
1761
			ms.StoreMessageInfo(mi)
1762
		}
1763
		return ms
1764
	}
1765
	return mi.MessageOf(x)
1766
}
1767
1768
// Deprecated: Use WatchRequest.ProtoReflect.Descriptor instead.
1769
func (*WatchRequest) Descriptor() ([]byte, []int) {
1770
	return file_base_v1_service_proto_rawDescGZIP(), []int{23}
1771
}
1772
1773
func (x *WatchRequest) GetTenantId() string {
1774
	if x != nil {
1775
		return x.TenantId
1776
	}
1777
	return ""
1778
}
1779
1780
func (x *WatchRequest) GetSnapToken() string {
1781
	if x != nil {
1782
		return x.SnapToken
1783
	}
1784
	return ""
1785
}
1786
1787
// WatchResponse is the response message for the Watch RPC. It contains the
1788
// changes in the data that are being watched.
1789
type WatchResponse struct {
1790
	state         protoimpl.MessageState
1791
	sizeCache     protoimpl.SizeCache
1792
	unknownFields protoimpl.UnknownFields
1793
1794
	// Changes in the data.
1795
	Changes *DataChanges `protobuf:"bytes,1,opt,name=changes,proto3" json:"changes,omitempty"`
1796
}
1797
1798
func (x *WatchResponse) Reset() {
1799
	*x = WatchResponse{}
1800
	if protoimpl.UnsafeEnabled {
1801
		mi := &file_base_v1_service_proto_msgTypes[24]
1802
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1803
		ms.StoreMessageInfo(mi)
1804
	}
1805
}
1806
1807
func (x *WatchResponse) String() string {
1808
	return protoimpl.X.MessageStringOf(x)
1809
}
1810
1811
func (*WatchResponse) ProtoMessage() {}
1812
1813
func (x *WatchResponse) ProtoReflect() protoreflect.Message {
1814
	mi := &file_base_v1_service_proto_msgTypes[24]
1815
	if protoimpl.UnsafeEnabled && x != nil {
1816
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1817
		if ms.LoadMessageInfo() == nil {
1818
			ms.StoreMessageInfo(mi)
1819
		}
1820
		return ms
1821
	}
1822
	return mi.MessageOf(x)
1823
}
1824
1825
// Deprecated: Use WatchResponse.ProtoReflect.Descriptor instead.
1826
func (*WatchResponse) Descriptor() ([]byte, []int) {
1827
	return file_base_v1_service_proto_rawDescGZIP(), []int{24}
1828
}
1829
1830
func (x *WatchResponse) GetChanges() *DataChanges {
1831
	if x != nil {
1832
		return x.Changes
1833
	}
1834
	return nil
1835
}
1836
1837
// SchemaWriteRequest is the request message for the Write method in the Schema service.
1838
// It contains tenant_id and the schema to be written.
1839
type SchemaWriteRequest struct {
1840
	state         protoimpl.MessageState
1841
	sizeCache     protoimpl.SizeCache
1842
	unknownFields protoimpl.UnknownFields
1843
1844
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
1845
	// be a maximum of 64 bytes, and must not be empty.
1846
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1847
	// schema is the string representation of the schema to be written.
1848
	Schema string `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"`
1849
}
1850
1851
func (x *SchemaWriteRequest) Reset() {
1852
	*x = SchemaWriteRequest{}
1853
	if protoimpl.UnsafeEnabled {
1854
		mi := &file_base_v1_service_proto_msgTypes[25]
1855
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1856
		ms.StoreMessageInfo(mi)
1857
	}
1858
}
1859
1860
func (x *SchemaWriteRequest) String() string {
1861
	return protoimpl.X.MessageStringOf(x)
1862
}
1863
1864
func (*SchemaWriteRequest) ProtoMessage() {}
1865
1866
func (x *SchemaWriteRequest) ProtoReflect() protoreflect.Message {
1867
	mi := &file_base_v1_service_proto_msgTypes[25]
1868
	if protoimpl.UnsafeEnabled && x != nil {
1869
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1870
		if ms.LoadMessageInfo() == nil {
1871
			ms.StoreMessageInfo(mi)
1872
		}
1873
		return ms
1874
	}
1875
	return mi.MessageOf(x)
1876
}
1877
1878
// Deprecated: Use SchemaWriteRequest.ProtoReflect.Descriptor instead.
1879
func (*SchemaWriteRequest) Descriptor() ([]byte, []int) {
1880
	return file_base_v1_service_proto_rawDescGZIP(), []int{25}
1881
}
1882
1883
func (x *SchemaWriteRequest) GetTenantId() string {
1884
	if x != nil {
1885
		return x.TenantId
1886
	}
1887
	return ""
1888
}
1889
1890
func (x *SchemaWriteRequest) GetSchema() string {
1891
	if x != nil {
1892
		return x.Schema
1893
	}
1894
	return ""
1895
}
1896
1897
// SchemaWriteResponse is the response message for the Write method in the Schema service.
1898
// It returns the version of the written schema.
1899
type SchemaWriteResponse struct {
1900
	state         protoimpl.MessageState
1901
	sizeCache     protoimpl.SizeCache
1902
	unknownFields protoimpl.UnknownFields
1903
1904
	// schema_version is the string that identifies the version of the written schema.
1905
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1906
}
1907
1908
func (x *SchemaWriteResponse) Reset() {
1909
	*x = SchemaWriteResponse{}
1910
	if protoimpl.UnsafeEnabled {
1911
		mi := &file_base_v1_service_proto_msgTypes[26]
1912
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1913
		ms.StoreMessageInfo(mi)
1914
	}
1915
}
1916
1917
func (x *SchemaWriteResponse) String() string {
1918
	return protoimpl.X.MessageStringOf(x)
1919
}
1920
1921
func (*SchemaWriteResponse) ProtoMessage() {}
1922
1923
func (x *SchemaWriteResponse) ProtoReflect() protoreflect.Message {
1924
	mi := &file_base_v1_service_proto_msgTypes[26]
1925
	if protoimpl.UnsafeEnabled && x != nil {
1926
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1927
		if ms.LoadMessageInfo() == nil {
1928
			ms.StoreMessageInfo(mi)
1929
		}
1930
		return ms
1931
	}
1932
	return mi.MessageOf(x)
1933
}
1934
1935
// Deprecated: Use SchemaWriteResponse.ProtoReflect.Descriptor instead.
1936
func (*SchemaWriteResponse) Descriptor() ([]byte, []int) {
1937
	return file_base_v1_service_proto_rawDescGZIP(), []int{26}
1938
}
1939
1940
func (x *SchemaWriteResponse) GetSchemaVersion() string {
1941
	if x != nil {
1942
		return x.SchemaVersion
1943
	}
1944
	return ""
1945
}
1946
1947
// It contains the tenant_id to identify the tenant and metadata of the schema to be edited,
1948
// with the corresponding edits to various entities
1949
type SchemaPartialWriteRequest struct {
1950
	state         protoimpl.MessageState
1951
	sizeCache     protoimpl.SizeCache
1952
	unknownFields protoimpl.UnknownFields
1953
1954
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
1955
	// be a maximum of 64 bytes, and must not be empty.
1956
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1957
	// metadata is the additional information needed for the Partial Write request.
1958
	Metadata *SchemaPartialWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1959
	// Map of entity name with the values needed to be updated
1960
	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"`
1961
}
1962
1963
func (x *SchemaPartialWriteRequest) Reset() {
1964
	*x = SchemaPartialWriteRequest{}
1965
	if protoimpl.UnsafeEnabled {
1966
		mi := &file_base_v1_service_proto_msgTypes[27]
1967
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1968
		ms.StoreMessageInfo(mi)
1969
	}
1970
}
1971
1972
func (x *SchemaPartialWriteRequest) String() string {
1973
	return protoimpl.X.MessageStringOf(x)
1974
}
1975
1976
func (*SchemaPartialWriteRequest) ProtoMessage() {}
1977
1978
func (x *SchemaPartialWriteRequest) ProtoReflect() protoreflect.Message {
1979
	mi := &file_base_v1_service_proto_msgTypes[27]
1980
	if protoimpl.UnsafeEnabled && x != nil {
1981
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1982
		if ms.LoadMessageInfo() == nil {
1983
			ms.StoreMessageInfo(mi)
1984
		}
1985
		return ms
1986
	}
1987
	return mi.MessageOf(x)
1988
}
1989
1990
// Deprecated: Use SchemaPartialWriteRequest.ProtoReflect.Descriptor instead.
1991
func (*SchemaPartialWriteRequest) Descriptor() ([]byte, []int) {
1992
	return file_base_v1_service_proto_rawDescGZIP(), []int{27}
1993
}
1994
1995
func (x *SchemaPartialWriteRequest) GetTenantId() string {
1996
	if x != nil {
1997
		return x.TenantId
1998
	}
1999
	return ""
2000
}
2001
2002
func (x *SchemaPartialWriteRequest) GetMetadata() *SchemaPartialWriteRequestMetadata {
2003
	if x != nil {
2004
		return x.Metadata
2005
	}
2006
	return nil
2007
}
2008
2009
func (x *SchemaPartialWriteRequest) GetPartials() map[string]*Partials {
2010
	if x != nil {
2011
		return x.Partials
2012
	}
2013
	return nil
2014
}
2015
2016
// SchemaPartialWriteRequestMetadata provides additional information for the Schema Partial Write request.
2017
// It contains schema_version to specify which version of the schema should be read.
2018
type SchemaPartialWriteRequestMetadata struct {
2019
	state         protoimpl.MessageState
2020
	sizeCache     protoimpl.SizeCache
2021
	unknownFields protoimpl.UnknownFields
2022
2023
	// schema_version is the string that identifies the version of the schema to be read.
2024
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2025
}
2026
2027
func (x *SchemaPartialWriteRequestMetadata) Reset() {
2028
	*x = SchemaPartialWriteRequestMetadata{}
2029
	if protoimpl.UnsafeEnabled {
2030
		mi := &file_base_v1_service_proto_msgTypes[28]
2031
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2032
		ms.StoreMessageInfo(mi)
2033
	}
2034
}
2035
2036
func (x *SchemaPartialWriteRequestMetadata) String() string {
2037
	return protoimpl.X.MessageStringOf(x)
2038
}
2039
2040
func (*SchemaPartialWriteRequestMetadata) ProtoMessage() {}
2041
2042
func (x *SchemaPartialWriteRequestMetadata) ProtoReflect() protoreflect.Message {
2043
	mi := &file_base_v1_service_proto_msgTypes[28]
2044
	if protoimpl.UnsafeEnabled && x != nil {
2045
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2046
		if ms.LoadMessageInfo() == nil {
2047
			ms.StoreMessageInfo(mi)
2048
		}
2049
		return ms
2050
	}
2051
	return mi.MessageOf(x)
2052
}
2053
2054
// Deprecated: Use SchemaPartialWriteRequestMetadata.ProtoReflect.Descriptor instead.
2055
func (*SchemaPartialWriteRequestMetadata) Descriptor() ([]byte, []int) {
2056
	return file_base_v1_service_proto_rawDescGZIP(), []int{28}
2057
}
2058
2059
func (x *SchemaPartialWriteRequestMetadata) GetSchemaVersion() string {
2060
	if x != nil {
2061
		return x.SchemaVersion
2062
	}
2063
	return ""
2064
}
2065
2066
// SchemaPartialWriteResponse is the response message for the Parietal Write method in the Schema service.
2067
// It returns the requested schema.
2068
type SchemaPartialWriteResponse struct {
2069
	state         protoimpl.MessageState
2070
	sizeCache     protoimpl.SizeCache
2071
	unknownFields protoimpl.UnknownFields
2072
2073
	// schema_version is the string that identifies the version of the written schema.
2074
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2075
}
2076
2077
func (x *SchemaPartialWriteResponse) Reset() {
2078
	*x = SchemaPartialWriteResponse{}
2079
	if protoimpl.UnsafeEnabled {
2080
		mi := &file_base_v1_service_proto_msgTypes[29]
2081
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2082
		ms.StoreMessageInfo(mi)
2083
	}
2084
}
2085
2086
func (x *SchemaPartialWriteResponse) String() string {
2087
	return protoimpl.X.MessageStringOf(x)
2088
}
2089
2090
func (*SchemaPartialWriteResponse) ProtoMessage() {}
2091
2092
func (x *SchemaPartialWriteResponse) ProtoReflect() protoreflect.Message {
2093
	mi := &file_base_v1_service_proto_msgTypes[29]
2094
	if protoimpl.UnsafeEnabled && x != nil {
2095
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2096
		if ms.LoadMessageInfo() == nil {
2097
			ms.StoreMessageInfo(mi)
2098
		}
2099
		return ms
2100
	}
2101
	return mi.MessageOf(x)
2102
}
2103
2104
// Deprecated: Use SchemaPartialWriteResponse.ProtoReflect.Descriptor instead.
2105
func (*SchemaPartialWriteResponse) Descriptor() ([]byte, []int) {
2106
	return file_base_v1_service_proto_rawDescGZIP(), []int{29}
2107
}
2108
2109
func (x *SchemaPartialWriteResponse) GetSchemaVersion() string {
2110
	if x != nil {
2111
		return x.SchemaVersion
2112
	}
2113
	return ""
2114
}
2115
2116
// SchemaReadRequest is the request message for the Read method in the Schema service.
2117
// It contains tenant_id and metadata about the schema to be read.
2118
type SchemaReadRequest struct {
2119
	state         protoimpl.MessageState
2120
	sizeCache     protoimpl.SizeCache
2121
	unknownFields protoimpl.UnknownFields
2122
2123
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
2124
	// be a maximum of 64 bytes, and must not be empty.
2125
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2126
	// metadata is the additional information needed for the Read request.
2127
	Metadata *SchemaReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2128
}
2129
2130
func (x *SchemaReadRequest) Reset() {
2131
	*x = SchemaReadRequest{}
2132
	if protoimpl.UnsafeEnabled {
2133
		mi := &file_base_v1_service_proto_msgTypes[30]
2134
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2135
		ms.StoreMessageInfo(mi)
2136
	}
2137
}
2138
2139
func (x *SchemaReadRequest) String() string {
2140
	return protoimpl.X.MessageStringOf(x)
2141
}
2142
2143
func (*SchemaReadRequest) ProtoMessage() {}
2144
2145
func (x *SchemaReadRequest) ProtoReflect() protoreflect.Message {
2146
	mi := &file_base_v1_service_proto_msgTypes[30]
2147
	if protoimpl.UnsafeEnabled && x != nil {
2148
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2149
		if ms.LoadMessageInfo() == nil {
2150
			ms.StoreMessageInfo(mi)
2151
		}
2152
		return ms
2153
	}
2154
	return mi.MessageOf(x)
2155
}
2156
2157
// Deprecated: Use SchemaReadRequest.ProtoReflect.Descriptor instead.
2158
func (*SchemaReadRequest) Descriptor() ([]byte, []int) {
2159
	return file_base_v1_service_proto_rawDescGZIP(), []int{30}
2160
}
2161
2162
func (x *SchemaReadRequest) GetTenantId() string {
2163
	if x != nil {
2164
		return x.TenantId
2165
	}
2166
	return ""
2167
}
2168
2169
func (x *SchemaReadRequest) GetMetadata() *SchemaReadRequestMetadata {
2170
	if x != nil {
2171
		return x.Metadata
2172
	}
2173
	return nil
2174
}
2175
2176
// SchemaReadRequestMetadata provides additional information for the Schema Read request.
2177
// It contains schema_version to specify which version of the schema should be read.
2178
type SchemaReadRequestMetadata struct {
2179
	state         protoimpl.MessageState
2180
	sizeCache     protoimpl.SizeCache
2181
	unknownFields protoimpl.UnknownFields
2182
2183
	// schema_version is the string that identifies the version of the schema to be read.
2184
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2185
}
2186
2187
func (x *SchemaReadRequestMetadata) Reset() {
2188
	*x = SchemaReadRequestMetadata{}
2189
	if protoimpl.UnsafeEnabled {
2190
		mi := &file_base_v1_service_proto_msgTypes[31]
2191
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2192
		ms.StoreMessageInfo(mi)
2193
	}
2194
}
2195
2196
func (x *SchemaReadRequestMetadata) String() string {
2197
	return protoimpl.X.MessageStringOf(x)
2198
}
2199
2200
func (*SchemaReadRequestMetadata) ProtoMessage() {}
2201
2202
func (x *SchemaReadRequestMetadata) ProtoReflect() protoreflect.Message {
2203
	mi := &file_base_v1_service_proto_msgTypes[31]
2204
	if protoimpl.UnsafeEnabled && x != nil {
2205
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2206
		if ms.LoadMessageInfo() == nil {
2207
			ms.StoreMessageInfo(mi)
2208
		}
2209
		return ms
2210
	}
2211
	return mi.MessageOf(x)
2212
}
2213
2214
// Deprecated: Use SchemaReadRequestMetadata.ProtoReflect.Descriptor instead.
2215
func (*SchemaReadRequestMetadata) Descriptor() ([]byte, []int) {
2216
	return file_base_v1_service_proto_rawDescGZIP(), []int{31}
2217
}
2218
2219
func (x *SchemaReadRequestMetadata) GetSchemaVersion() string {
2220
	if x != nil {
2221
		return x.SchemaVersion
2222
	}
2223
	return ""
2224
}
2225
2226
// SchemaReadResponse is the response message for the Read method in the Schema service.
2227
// It returns the requested schema.
2228
type SchemaReadResponse struct {
2229
	state         protoimpl.MessageState
2230
	sizeCache     protoimpl.SizeCache
2231
	unknownFields protoimpl.UnknownFields
2232
2233
	// schema is the SchemaDefinition that represents the read schema.
2234
	Schema *SchemaDefinition `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"`
2235
}
2236
2237
func (x *SchemaReadResponse) Reset() {
2238
	*x = SchemaReadResponse{}
2239
	if protoimpl.UnsafeEnabled {
2240
		mi := &file_base_v1_service_proto_msgTypes[32]
2241
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2242
		ms.StoreMessageInfo(mi)
2243
	}
2244
}
2245
2246
func (x *SchemaReadResponse) String() string {
2247
	return protoimpl.X.MessageStringOf(x)
2248
}
2249
2250
func (*SchemaReadResponse) ProtoMessage() {}
2251
2252
func (x *SchemaReadResponse) ProtoReflect() protoreflect.Message {
2253
	mi := &file_base_v1_service_proto_msgTypes[32]
2254
	if protoimpl.UnsafeEnabled && x != nil {
2255
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2256
		if ms.LoadMessageInfo() == nil {
2257
			ms.StoreMessageInfo(mi)
2258
		}
2259
		return ms
2260
	}
2261
	return mi.MessageOf(x)
2262
}
2263
2264
// Deprecated: Use SchemaReadResponse.ProtoReflect.Descriptor instead.
2265
func (*SchemaReadResponse) Descriptor() ([]byte, []int) {
2266
	return file_base_v1_service_proto_rawDescGZIP(), []int{32}
2267
}
2268
2269
func (x *SchemaReadResponse) GetSchema() *SchemaDefinition {
2270
	if x != nil {
2271
		return x.Schema
2272
	}
2273
	return nil
2274
}
2275
2276
// SchemaListRequest is the request message for the List method in the Schema service.
2277
// It contains tenant_id for which the schemas are to be listed.
2278
type SchemaListRequest struct {
2279
	state         protoimpl.MessageState
2280
	sizeCache     protoimpl.SizeCache
2281
	unknownFields protoimpl.UnknownFields
2282
2283
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
2284
	// be a maximum of 64 bytes, and must not be empty.
2285
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2286
	// page_size is the number of schemas to be returned in the response.
2287
	// The value should be between 1 and 100.
2288
	PageSize uint32 `protobuf:"varint,2,opt,name=page_size,proto3" json:"page_size,omitempty"`
2289
	// continuous_token is an optional parameter used for pagination.
2290
	// It should be the value received in the previous response.
2291
	ContinuousToken string `protobuf:"bytes,3,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2292
}
2293
2294
func (x *SchemaListRequest) Reset() {
2295
	*x = SchemaListRequest{}
2296
	if protoimpl.UnsafeEnabled {
2297
		mi := &file_base_v1_service_proto_msgTypes[33]
2298
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2299
		ms.StoreMessageInfo(mi)
2300
	}
2301
}
2302
2303
func (x *SchemaListRequest) String() string {
2304
	return protoimpl.X.MessageStringOf(x)
2305
}
2306
2307
func (*SchemaListRequest) ProtoMessage() {}
2308
2309
func (x *SchemaListRequest) ProtoReflect() protoreflect.Message {
2310
	mi := &file_base_v1_service_proto_msgTypes[33]
2311
	if protoimpl.UnsafeEnabled && x != nil {
2312
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2313
		if ms.LoadMessageInfo() == nil {
2314
			ms.StoreMessageInfo(mi)
2315
		}
2316
		return ms
2317
	}
2318
	return mi.MessageOf(x)
2319
}
2320
2321
// Deprecated: Use SchemaListRequest.ProtoReflect.Descriptor instead.
2322
func (*SchemaListRequest) Descriptor() ([]byte, []int) {
2323
	return file_base_v1_service_proto_rawDescGZIP(), []int{33}
2324
}
2325
2326
func (x *SchemaListRequest) GetTenantId() string {
2327
	if x != nil {
2328
		return x.TenantId
2329
	}
2330
	return ""
2331
}
2332
2333
func (x *SchemaListRequest) GetPageSize() uint32 {
2334
	if x != nil {
2335
		return x.PageSize
2336
	}
2337
	return 0
2338
}
2339
2340
func (x *SchemaListRequest) GetContinuousToken() string {
2341
	if x != nil {
2342
		return x.ContinuousToken
2343
	}
2344
	return ""
2345
}
2346
2347
// SchemaListResponse is the response message for the List method in the Schema service.
2348
// It returns a paginated list of schemas
2349
type SchemaListResponse struct {
2350
	state         protoimpl.MessageState
2351
	sizeCache     protoimpl.SizeCache
2352
	unknownFields protoimpl.UnknownFields
2353
2354
	// head of the schemas is the latest version available for the tenant
2355
	Head string `protobuf:"bytes,1,opt,name=head,proto3" json:"head,omitempty"`
2356
	// list of schema versions with creation timestamps
2357
	Schemas []*SchemaList `protobuf:"bytes,2,rep,name=schemas,proto3" json:"schemas,omitempty"`
2358
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
2359
	ContinuousToken string `protobuf:"bytes,3,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2360
}
2361
2362
func (x *SchemaListResponse) Reset() {
2363
	*x = SchemaListResponse{}
2364
	if protoimpl.UnsafeEnabled {
2365
		mi := &file_base_v1_service_proto_msgTypes[34]
2366
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2367
		ms.StoreMessageInfo(mi)
2368
	}
2369
}
2370
2371
func (x *SchemaListResponse) String() string {
2372
	return protoimpl.X.MessageStringOf(x)
2373
}
2374
2375
func (*SchemaListResponse) ProtoMessage() {}
2376
2377
func (x *SchemaListResponse) ProtoReflect() protoreflect.Message {
2378
	mi := &file_base_v1_service_proto_msgTypes[34]
2379
	if protoimpl.UnsafeEnabled && x != nil {
2380
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2381
		if ms.LoadMessageInfo() == nil {
2382
			ms.StoreMessageInfo(mi)
2383
		}
2384
		return ms
2385
	}
2386
	return mi.MessageOf(x)
2387
}
2388
2389
// Deprecated: Use SchemaListResponse.ProtoReflect.Descriptor instead.
2390
func (*SchemaListResponse) Descriptor() ([]byte, []int) {
2391
	return file_base_v1_service_proto_rawDescGZIP(), []int{34}
2392
}
2393
2394
func (x *SchemaListResponse) GetHead() string {
2395
	if x != nil {
2396
		return x.Head
2397
	}
2398
	return ""
2399
}
2400
2401
func (x *SchemaListResponse) GetSchemas() []*SchemaList {
2402
	if x != nil {
2403
		return x.Schemas
2404
	}
2405
	return nil
2406
}
2407
2408
func (x *SchemaListResponse) GetContinuousToken() string {
2409
	if x != nil {
2410
		return x.ContinuousToken
2411
	}
2412
	return ""
2413
}
2414
2415
// SchemaList provides a list of schema versions with their corresponding creation timestamps
2416
type SchemaList struct {
2417
	state         protoimpl.MessageState
2418
	sizeCache     protoimpl.SizeCache
2419
	unknownFields protoimpl.UnknownFields
2420
2421
	Version   string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
2422
	CreatedAt string `protobuf:"bytes,2,opt,name=created_at,proto3" json:"created_at,omitempty"`
2423
}
2424
2425
func (x *SchemaList) Reset() {
2426
	*x = SchemaList{}
2427
	if protoimpl.UnsafeEnabled {
2428
		mi := &file_base_v1_service_proto_msgTypes[35]
2429
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2430
		ms.StoreMessageInfo(mi)
2431
	}
2432
}
2433
2434
func (x *SchemaList) String() string {
2435
	return protoimpl.X.MessageStringOf(x)
2436
}
2437
2438
func (*SchemaList) ProtoMessage() {}
2439
2440
func (x *SchemaList) ProtoReflect() protoreflect.Message {
2441
	mi := &file_base_v1_service_proto_msgTypes[35]
2442
	if protoimpl.UnsafeEnabled && x != nil {
2443
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2444
		if ms.LoadMessageInfo() == nil {
2445
			ms.StoreMessageInfo(mi)
2446
		}
2447
		return ms
2448
	}
2449
	return mi.MessageOf(x)
2450
}
2451
2452
// Deprecated: Use SchemaList.ProtoReflect.Descriptor instead.
2453
func (*SchemaList) Descriptor() ([]byte, []int) {
2454
	return file_base_v1_service_proto_rawDescGZIP(), []int{35}
2455
}
2456
2457
func (x *SchemaList) GetVersion() string {
2458
	if x != nil {
2459
		return x.Version
2460
	}
2461
	return ""
2462
}
2463
2464
func (x *SchemaList) GetCreatedAt() string {
2465
	if x != nil {
2466
		return x.CreatedAt
2467
	}
2468
	return ""
2469
}
2470
2471
// DataWriteRequest defines the structure of a request for writing data.
2472
// It contains the necessary information such as tenant_id, metadata,
2473
// tuples and attributes for the write operation.
2474
type DataWriteRequest struct {
2475
	state         protoimpl.MessageState
2476
	sizeCache     protoimpl.SizeCache
2477
	unknownFields protoimpl.UnknownFields
2478
2479
	// tenant_id represents the unique identifier of the tenant for which data is written.
2480
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2481
	// metadata holds additional data related to the request.
2482
	Metadata *DataWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2483
	// tuples contains the list of tuples (entity-relation-entity triples) that need to be written.
2484
	Tuples []*Tuple `protobuf:"bytes,3,rep,name=tuples,proto3" json:"tuples,omitempty"`
2485
	// attributes contains the list of attributes (entity-attribute-value triples) that need to be written.
2486
	Attributes []*Attribute `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"`
2487
}
2488
2489
func (x *DataWriteRequest) Reset() {
2490
	*x = DataWriteRequest{}
2491
	if protoimpl.UnsafeEnabled {
2492
		mi := &file_base_v1_service_proto_msgTypes[36]
2493
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2494
		ms.StoreMessageInfo(mi)
2495
	}
2496
}
2497
2498
func (x *DataWriteRequest) String() string {
2499
	return protoimpl.X.MessageStringOf(x)
2500
}
2501
2502
func (*DataWriteRequest) ProtoMessage() {}
2503
2504
func (x *DataWriteRequest) ProtoReflect() protoreflect.Message {
2505
	mi := &file_base_v1_service_proto_msgTypes[36]
2506
	if protoimpl.UnsafeEnabled && x != nil {
2507
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2508
		if ms.LoadMessageInfo() == nil {
2509
			ms.StoreMessageInfo(mi)
2510
		}
2511
		return ms
2512
	}
2513
	return mi.MessageOf(x)
2514
}
2515
2516
// Deprecated: Use DataWriteRequest.ProtoReflect.Descriptor instead.
2517
func (*DataWriteRequest) Descriptor() ([]byte, []int) {
2518
	return file_base_v1_service_proto_rawDescGZIP(), []int{36}
2519
}
2520
2521
func (x *DataWriteRequest) GetTenantId() string {
2522
	if x != nil {
2523
		return x.TenantId
2524
	}
2525
	return ""
2526
}
2527
2528
func (x *DataWriteRequest) GetMetadata() *DataWriteRequestMetadata {
2529
	if x != nil {
2530
		return x.Metadata
2531
	}
2532
	return nil
2533
}
2534
2535
func (x *DataWriteRequest) GetTuples() []*Tuple {
2536
	if x != nil {
2537
		return x.Tuples
2538
	}
2539
	return nil
2540
}
2541
2542
func (x *DataWriteRequest) GetAttributes() []*Attribute {
2543
	if x != nil {
2544
		return x.Attributes
2545
	}
2546
	return nil
2547
}
2548
2549
// DataWriteRequestMetadata defines the structure of metadata for a write request.
2550
// It includes the schema version of the data to be written.
2551
type DataWriteRequestMetadata struct {
2552
	state         protoimpl.MessageState
2553
	sizeCache     protoimpl.SizeCache
2554
	unknownFields protoimpl.UnknownFields
2555
2556
	// schema_version represents the version of the schema for the data being written.
2557
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2558
}
2559
2560
func (x *DataWriteRequestMetadata) Reset() {
2561
	*x = DataWriteRequestMetadata{}
2562
	if protoimpl.UnsafeEnabled {
2563
		mi := &file_base_v1_service_proto_msgTypes[37]
2564
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2565
		ms.StoreMessageInfo(mi)
2566
	}
2567
}
2568
2569
func (x *DataWriteRequestMetadata) String() string {
2570
	return protoimpl.X.MessageStringOf(x)
2571
}
2572
2573
func (*DataWriteRequestMetadata) ProtoMessage() {}
2574
2575
func (x *DataWriteRequestMetadata) ProtoReflect() protoreflect.Message {
2576
	mi := &file_base_v1_service_proto_msgTypes[37]
2577
	if protoimpl.UnsafeEnabled && x != nil {
2578
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2579
		if ms.LoadMessageInfo() == nil {
2580
			ms.StoreMessageInfo(mi)
2581
		}
2582
		return ms
2583
	}
2584
	return mi.MessageOf(x)
2585
}
2586
2587
// Deprecated: Use DataWriteRequestMetadata.ProtoReflect.Descriptor instead.
2588
func (*DataWriteRequestMetadata) Descriptor() ([]byte, []int) {
2589
	return file_base_v1_service_proto_rawDescGZIP(), []int{37}
2590
}
2591
2592
func (x *DataWriteRequestMetadata) GetSchemaVersion() string {
2593
	if x != nil {
2594
		return x.SchemaVersion
2595
	}
2596
	return ""
2597
}
2598
2599
// DataWriteResponse defines the structure of the response after writing data.
2600
// It contains the snap_token generated after the write operation.
2601
type DataWriteResponse struct {
2602
	state         protoimpl.MessageState
2603
	sizeCache     protoimpl.SizeCache
2604
	unknownFields protoimpl.UnknownFields
2605
2606
	// snap_token is the token generated after the data write operation, representing a snapshot of the data.
2607
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2608
}
2609
2610
func (x *DataWriteResponse) Reset() {
2611
	*x = DataWriteResponse{}
2612
	if protoimpl.UnsafeEnabled {
2613
		mi := &file_base_v1_service_proto_msgTypes[38]
2614
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2615
		ms.StoreMessageInfo(mi)
2616
	}
2617
}
2618
2619
func (x *DataWriteResponse) String() string {
2620
	return protoimpl.X.MessageStringOf(x)
2621
}
2622
2623
func (*DataWriteResponse) ProtoMessage() {}
2624
2625
func (x *DataWriteResponse) ProtoReflect() protoreflect.Message {
2626
	mi := &file_base_v1_service_proto_msgTypes[38]
2627
	if protoimpl.UnsafeEnabled && x != nil {
2628
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2629
		if ms.LoadMessageInfo() == nil {
2630
			ms.StoreMessageInfo(mi)
2631
		}
2632
		return ms
2633
	}
2634
	return mi.MessageOf(x)
2635
}
2636
2637
// Deprecated: Use DataWriteResponse.ProtoReflect.Descriptor instead.
2638
func (*DataWriteResponse) Descriptor() ([]byte, []int) {
2639
	return file_base_v1_service_proto_rawDescGZIP(), []int{38}
2640
}
2641
2642
func (x *DataWriteResponse) GetSnapToken() string {
2643
	if x != nil {
2644
		return x.SnapToken
2645
	}
2646
	return ""
2647
}
2648
2649
// Represents a request to write relationship data.
2650
type RelationshipWriteRequest struct {
2651
	state         protoimpl.MessageState
2652
	sizeCache     protoimpl.SizeCache
2653
	unknownFields protoimpl.UnknownFields
2654
2655
	// Unique identifier for the tenant with specific constraints.
2656
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2657
	// Metadata for the request. It's required.
2658
	Metadata *RelationshipWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2659
	// List of tuples for the request. Must have between 1 and 100 items.
2660
	Tuples []*Tuple `protobuf:"bytes,3,rep,name=tuples,proto3" json:"tuples,omitempty"`
2661
}
2662
2663
func (x *RelationshipWriteRequest) Reset() {
2664
	*x = RelationshipWriteRequest{}
2665
	if protoimpl.UnsafeEnabled {
2666
		mi := &file_base_v1_service_proto_msgTypes[39]
2667
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2668
		ms.StoreMessageInfo(mi)
2669
	}
2670
}
2671
2672
func (x *RelationshipWriteRequest) String() string {
2673
	return protoimpl.X.MessageStringOf(x)
2674
}
2675
2676
func (*RelationshipWriteRequest) ProtoMessage() {}
2677
2678
func (x *RelationshipWriteRequest) ProtoReflect() protoreflect.Message {
2679
	mi := &file_base_v1_service_proto_msgTypes[39]
2680
	if protoimpl.UnsafeEnabled && x != nil {
2681
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2682
		if ms.LoadMessageInfo() == nil {
2683
			ms.StoreMessageInfo(mi)
2684
		}
2685
		return ms
2686
	}
2687
	return mi.MessageOf(x)
2688
}
2689
2690
// Deprecated: Use RelationshipWriteRequest.ProtoReflect.Descriptor instead.
2691
func (*RelationshipWriteRequest) Descriptor() ([]byte, []int) {
2692
	return file_base_v1_service_proto_rawDescGZIP(), []int{39}
2693
}
2694
2695
func (x *RelationshipWriteRequest) GetTenantId() string {
2696
	if x != nil {
2697
		return x.TenantId
2698
	}
2699
	return ""
2700
}
2701
2702
func (x *RelationshipWriteRequest) GetMetadata() *RelationshipWriteRequestMetadata {
2703
	if x != nil {
2704
		return x.Metadata
2705
	}
2706
	return nil
2707
}
2708
2709
func (x *RelationshipWriteRequest) GetTuples() []*Tuple {
2710
	if x != nil {
2711
		return x.Tuples
2712
	}
2713
	return nil
2714
}
2715
2716
// RelationshipWriteRequestMetadata
2717
type RelationshipWriteRequestMetadata struct {
2718
	state         protoimpl.MessageState
2719
	sizeCache     protoimpl.SizeCache
2720
	unknownFields protoimpl.UnknownFields
2721
2722
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2723
}
2724
2725
func (x *RelationshipWriteRequestMetadata) Reset() {
2726
	*x = RelationshipWriteRequestMetadata{}
2727
	if protoimpl.UnsafeEnabled {
2728
		mi := &file_base_v1_service_proto_msgTypes[40]
2729
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2730
		ms.StoreMessageInfo(mi)
2731
	}
2732
}
2733
2734
func (x *RelationshipWriteRequestMetadata) String() string {
2735
	return protoimpl.X.MessageStringOf(x)
2736
}
2737
2738
func (*RelationshipWriteRequestMetadata) ProtoMessage() {}
2739
2740
func (x *RelationshipWriteRequestMetadata) ProtoReflect() protoreflect.Message {
2741
	mi := &file_base_v1_service_proto_msgTypes[40]
2742
	if protoimpl.UnsafeEnabled && x != nil {
2743
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2744
		if ms.LoadMessageInfo() == nil {
2745
			ms.StoreMessageInfo(mi)
2746
		}
2747
		return ms
2748
	}
2749
	return mi.MessageOf(x)
2750
}
2751
2752
// Deprecated: Use RelationshipWriteRequestMetadata.ProtoReflect.Descriptor instead.
2753
func (*RelationshipWriteRequestMetadata) Descriptor() ([]byte, []int) {
2754
	return file_base_v1_service_proto_rawDescGZIP(), []int{40}
2755
}
2756
2757
func (x *RelationshipWriteRequestMetadata) GetSchemaVersion() string {
2758
	if x != nil {
2759
		return x.SchemaVersion
2760
	}
2761
	return ""
2762
}
2763
2764
// RelationshipWriteResponse
2765
type RelationshipWriteResponse struct {
2766
	state         protoimpl.MessageState
2767
	sizeCache     protoimpl.SizeCache
2768
	unknownFields protoimpl.UnknownFields
2769
2770
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2771
}
2772
2773
func (x *RelationshipWriteResponse) Reset() {
2774
	*x = RelationshipWriteResponse{}
2775
	if protoimpl.UnsafeEnabled {
2776
		mi := &file_base_v1_service_proto_msgTypes[41]
2777
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2778
		ms.StoreMessageInfo(mi)
2779
	}
2780
}
2781
2782
func (x *RelationshipWriteResponse) String() string {
2783
	return protoimpl.X.MessageStringOf(x)
2784
}
2785
2786
func (*RelationshipWriteResponse) ProtoMessage() {}
2787
2788
func (x *RelationshipWriteResponse) ProtoReflect() protoreflect.Message {
2789
	mi := &file_base_v1_service_proto_msgTypes[41]
2790
	if protoimpl.UnsafeEnabled && x != nil {
2791
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2792
		if ms.LoadMessageInfo() == nil {
2793
			ms.StoreMessageInfo(mi)
2794
		}
2795
		return ms
2796
	}
2797
	return mi.MessageOf(x)
2798
}
2799
2800
// Deprecated: Use RelationshipWriteResponse.ProtoReflect.Descriptor instead.
2801
func (*RelationshipWriteResponse) Descriptor() ([]byte, []int) {
2802
	return file_base_v1_service_proto_rawDescGZIP(), []int{41}
2803
}
2804
2805
func (x *RelationshipWriteResponse) GetSnapToken() string {
2806
	if x != nil {
2807
		return x.SnapToken
2808
	}
2809
	return ""
2810
}
2811
2812
// RelationshipReadRequest defines the structure of a request for reading relationships.
2813
// It contains the necessary information such as tenant_id, metadata, and filter for the read operation.
2814
type RelationshipReadRequest struct {
2815
	state         protoimpl.MessageState
2816
	sizeCache     protoimpl.SizeCache
2817
	unknownFields protoimpl.UnknownFields
2818
2819
	// tenant_id represents the unique identifier of the tenant for which relationships are read.
2820
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2821
	// metadata holds additional data related to the request.
2822
	Metadata *RelationshipReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2823
	// filter is used to specify criteria for the data that needs to be read.
2824
	Filter *TupleFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
2825
	// page_size specifies the number of results to return in a single page.
2826
	// If more results are available, a continuous_token is included in the response.
2827
	PageSize uint32 `protobuf:"varint,4,opt,name=page_size,proto3" json:"page_size,omitempty"`
2828
	// continuous_token is used in case of paginated reads to get the next page of results.
2829
	ContinuousToken string `protobuf:"bytes,5,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2830
}
2831
2832
func (x *RelationshipReadRequest) Reset() {
2833
	*x = RelationshipReadRequest{}
2834
	if protoimpl.UnsafeEnabled {
2835
		mi := &file_base_v1_service_proto_msgTypes[42]
2836
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2837
		ms.StoreMessageInfo(mi)
2838
	}
2839
}
2840
2841
func (x *RelationshipReadRequest) String() string {
2842
	return protoimpl.X.MessageStringOf(x)
2843
}
2844
2845
func (*RelationshipReadRequest) ProtoMessage() {}
2846
2847
func (x *RelationshipReadRequest) ProtoReflect() protoreflect.Message {
2848
	mi := &file_base_v1_service_proto_msgTypes[42]
2849
	if protoimpl.UnsafeEnabled && x != nil {
2850
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2851
		if ms.LoadMessageInfo() == nil {
2852
			ms.StoreMessageInfo(mi)
2853
		}
2854
		return ms
2855
	}
2856
	return mi.MessageOf(x)
2857
}
2858
2859
// Deprecated: Use RelationshipReadRequest.ProtoReflect.Descriptor instead.
2860
func (*RelationshipReadRequest) Descriptor() ([]byte, []int) {
2861
	return file_base_v1_service_proto_rawDescGZIP(), []int{42}
2862
}
2863
2864
func (x *RelationshipReadRequest) GetTenantId() string {
2865
	if x != nil {
2866
		return x.TenantId
2867
	}
2868
	return ""
2869
}
2870
2871
func (x *RelationshipReadRequest) GetMetadata() *RelationshipReadRequestMetadata {
2872
	if x != nil {
2873
		return x.Metadata
2874
	}
2875
	return nil
2876
}
2877
2878
func (x *RelationshipReadRequest) GetFilter() *TupleFilter {
2879
	if x != nil {
2880
		return x.Filter
2881
	}
2882
	return nil
2883
}
2884
2885
func (x *RelationshipReadRequest) GetPageSize() uint32 {
2886
	if x != nil {
2887
		return x.PageSize
2888
	}
2889
	return 0
2890
}
2891
2892
func (x *RelationshipReadRequest) GetContinuousToken() string {
2893
	if x != nil {
2894
		return x.ContinuousToken
2895
	}
2896
	return ""
2897
}
2898
2899
// RelationshipReadRequestMetadata defines the structure of the metadata for a read request focused on relationships.
2900
// It includes the snap_token associated with a particular state of the database.
2901
type RelationshipReadRequestMetadata struct {
2902
	state         protoimpl.MessageState
2903
	sizeCache     protoimpl.SizeCache
2904
	unknownFields protoimpl.UnknownFields
2905
2906
	// snap_token represents a specific state or "snapshot" of the database.
2907
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2908
}
2909
2910
func (x *RelationshipReadRequestMetadata) Reset() {
2911
	*x = RelationshipReadRequestMetadata{}
2912
	if protoimpl.UnsafeEnabled {
2913
		mi := &file_base_v1_service_proto_msgTypes[43]
2914
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2915
		ms.StoreMessageInfo(mi)
2916
	}
2917
}
2918
2919
func (x *RelationshipReadRequestMetadata) String() string {
2920
	return protoimpl.X.MessageStringOf(x)
2921
}
2922
2923
func (*RelationshipReadRequestMetadata) ProtoMessage() {}
2924
2925
func (x *RelationshipReadRequestMetadata) ProtoReflect() protoreflect.Message {
2926
	mi := &file_base_v1_service_proto_msgTypes[43]
2927
	if protoimpl.UnsafeEnabled && x != nil {
2928
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2929
		if ms.LoadMessageInfo() == nil {
2930
			ms.StoreMessageInfo(mi)
2931
		}
2932
		return ms
2933
	}
2934
	return mi.MessageOf(x)
2935
}
2936
2937
// Deprecated: Use RelationshipReadRequestMetadata.ProtoReflect.Descriptor instead.
2938
func (*RelationshipReadRequestMetadata) Descriptor() ([]byte, []int) {
2939
	return file_base_v1_service_proto_rawDescGZIP(), []int{43}
2940
}
2941
2942
func (x *RelationshipReadRequestMetadata) GetSnapToken() string {
2943
	if x != nil {
2944
		return x.SnapToken
2945
	}
2946
	return ""
2947
}
2948
2949
// RelationshipReadResponse defines the structure of the response after reading relationships.
2950
// It includes the tuples representing the relationships and a continuous token for handling result pagination.
2951
type RelationshipReadResponse struct {
2952
	state         protoimpl.MessageState
2953
	sizeCache     protoimpl.SizeCache
2954
	unknownFields protoimpl.UnknownFields
2955
2956
	// tuples is a list of the relationships retrieved in the read operation, represented as entity-relation-entity triples.
2957
	Tuples []*Tuple `protobuf:"bytes,1,rep,name=tuples,proto3" json:"tuples,omitempty"`
2958
	// continuous_token is used in the case of paginated reads to retrieve the next page of results.
2959
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2960
}
2961
2962
func (x *RelationshipReadResponse) Reset() {
2963
	*x = RelationshipReadResponse{}
2964
	if protoimpl.UnsafeEnabled {
2965
		mi := &file_base_v1_service_proto_msgTypes[44]
2966
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2967
		ms.StoreMessageInfo(mi)
2968
	}
2969
}
2970
2971
func (x *RelationshipReadResponse) String() string {
2972
	return protoimpl.X.MessageStringOf(x)
2973
}
2974
2975
func (*RelationshipReadResponse) ProtoMessage() {}
2976
2977
func (x *RelationshipReadResponse) ProtoReflect() protoreflect.Message {
2978
	mi := &file_base_v1_service_proto_msgTypes[44]
2979
	if protoimpl.UnsafeEnabled && x != nil {
2980
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2981
		if ms.LoadMessageInfo() == nil {
2982
			ms.StoreMessageInfo(mi)
2983
		}
2984
		return ms
2985
	}
2986
	return mi.MessageOf(x)
2987
}
2988
2989
// Deprecated: Use RelationshipReadResponse.ProtoReflect.Descriptor instead.
2990
func (*RelationshipReadResponse) Descriptor() ([]byte, []int) {
2991
	return file_base_v1_service_proto_rawDescGZIP(), []int{44}
2992
}
2993
2994
func (x *RelationshipReadResponse) GetTuples() []*Tuple {
2995
	if x != nil {
2996
		return x.Tuples
2997
	}
2998
	return nil
2999
}
3000
3001
func (x *RelationshipReadResponse) GetContinuousToken() string {
3002
	if x != nil {
3003
		return x.ContinuousToken
3004
	}
3005
	return ""
3006
}
3007
3008
// AttributeReadRequest defines the structure of a request for reading attributes.
3009
// It includes the tenant_id, metadata, attribute filter, page size for pagination, and a continuous token for multi-page results.
3010
type AttributeReadRequest struct {
3011
	state         protoimpl.MessageState
3012
	sizeCache     protoimpl.SizeCache
3013
	unknownFields protoimpl.UnknownFields
3014
3015
	// tenant_id represents the unique identifier of the tenant from which the attributes are being read.
3016
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3017
	// metadata holds additional information related to the request.
3018
	Metadata *AttributeReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
3019
	// filter specifies the criteria used to select the attributes that should be returned.
3020
	Filter *AttributeFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
3021
	// page_size specifies the number of results to return in a single page.
3022
	// If more results are available, a continuous_token is included in the response.
3023
	PageSize uint32 `protobuf:"varint,4,opt,name=page_size,proto3" json:"page_size,omitempty"`
3024
	// continuous_token is used in case of paginated reads to get the next page of results.
3025
	ContinuousToken string `protobuf:"bytes,5,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
3026
}
3027
3028
func (x *AttributeReadRequest) Reset() {
3029
	*x = AttributeReadRequest{}
3030
	if protoimpl.UnsafeEnabled {
3031
		mi := &file_base_v1_service_proto_msgTypes[45]
3032
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3033
		ms.StoreMessageInfo(mi)
3034
	}
3035
}
3036
3037
func (x *AttributeReadRequest) String() string {
3038
	return protoimpl.X.MessageStringOf(x)
3039
}
3040
3041
func (*AttributeReadRequest) ProtoMessage() {}
3042
3043
func (x *AttributeReadRequest) ProtoReflect() protoreflect.Message {
3044
	mi := &file_base_v1_service_proto_msgTypes[45]
3045
	if protoimpl.UnsafeEnabled && x != nil {
3046
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3047
		if ms.LoadMessageInfo() == nil {
3048
			ms.StoreMessageInfo(mi)
3049
		}
3050
		return ms
3051
	}
3052
	return mi.MessageOf(x)
3053
}
3054
3055
// Deprecated: Use AttributeReadRequest.ProtoReflect.Descriptor instead.
3056
func (*AttributeReadRequest) Descriptor() ([]byte, []int) {
3057
	return file_base_v1_service_proto_rawDescGZIP(), []int{45}
3058
}
3059
3060
func (x *AttributeReadRequest) GetTenantId() string {
3061
	if x != nil {
3062
		return x.TenantId
3063
	}
3064
	return ""
3065
}
3066
3067
func (x *AttributeReadRequest) GetMetadata() *AttributeReadRequestMetadata {
3068
	if x != nil {
3069
		return x.Metadata
3070
	}
3071
	return nil
3072
}
3073
3074
func (x *AttributeReadRequest) GetFilter() *AttributeFilter {
3075
	if x != nil {
3076
		return x.Filter
3077
	}
3078
	return nil
3079
}
3080
3081
func (x *AttributeReadRequest) GetPageSize() uint32 {
3082
	if x != nil {
3083
		return x.PageSize
3084
	}
3085
	return 0
3086
}
3087
3088
func (x *AttributeReadRequest) GetContinuousToken() string {
3089
	if x != nil {
3090
		return x.ContinuousToken
3091
	}
3092
	return ""
3093
}
3094
3095
// AttributeReadRequestMetadata defines the structure for the metadata of an attribute read request.
3096
// It includes the snap_token associated with a particular state of the database.
3097
type AttributeReadRequestMetadata struct {
3098
	state         protoimpl.MessageState
3099
	sizeCache     protoimpl.SizeCache
3100
	unknownFields protoimpl.UnknownFields
3101
3102
	// snap_token represents a specific state or "snapshot" of the database.
3103
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3104
}
3105
3106
func (x *AttributeReadRequestMetadata) Reset() {
3107
	*x = AttributeReadRequestMetadata{}
3108
	if protoimpl.UnsafeEnabled {
3109
		mi := &file_base_v1_service_proto_msgTypes[46]
3110
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3111
		ms.StoreMessageInfo(mi)
3112
	}
3113
}
3114
3115
func (x *AttributeReadRequestMetadata) String() string {
3116
	return protoimpl.X.MessageStringOf(x)
3117
}
3118
3119
func (*AttributeReadRequestMetadata) ProtoMessage() {}
3120
3121
func (x *AttributeReadRequestMetadata) ProtoReflect() protoreflect.Message {
3122
	mi := &file_base_v1_service_proto_msgTypes[46]
3123
	if protoimpl.UnsafeEnabled && x != nil {
3124
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3125
		if ms.LoadMessageInfo() == nil {
3126
			ms.StoreMessageInfo(mi)
3127
		}
3128
		return ms
3129
	}
3130
	return mi.MessageOf(x)
3131
}
3132
3133
// Deprecated: Use AttributeReadRequestMetadata.ProtoReflect.Descriptor instead.
3134
func (*AttributeReadRequestMetadata) Descriptor() ([]byte, []int) {
3135
	return file_base_v1_service_proto_rawDescGZIP(), []int{46}
3136
}
3137
3138
func (x *AttributeReadRequestMetadata) GetSnapToken() string {
3139
	if x != nil {
3140
		return x.SnapToken
3141
	}
3142
	return ""
3143
}
3144
3145
// AttributeReadResponse defines the structure of the response to an attribute read request.
3146
// It includes the attributes retrieved and a continuous token for handling result pagination.
3147
type AttributeReadResponse struct {
3148
	state         protoimpl.MessageState
3149
	sizeCache     protoimpl.SizeCache
3150
	unknownFields protoimpl.UnknownFields
3151
3152
	// attributes is a list of the attributes retrieved in the read operation.
3153
	Attributes []*Attribute `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"`
3154
	// continuous_token is used in the case of paginated reads to retrieve the next page of results.
3155
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
3156
}
3157
3158
func (x *AttributeReadResponse) Reset() {
3159
	*x = AttributeReadResponse{}
3160
	if protoimpl.UnsafeEnabled {
3161
		mi := &file_base_v1_service_proto_msgTypes[47]
3162
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3163
		ms.StoreMessageInfo(mi)
3164
	}
3165
}
3166
3167
func (x *AttributeReadResponse) String() string {
3168
	return protoimpl.X.MessageStringOf(x)
3169
}
3170
3171
func (*AttributeReadResponse) ProtoMessage() {}
3172
3173
func (x *AttributeReadResponse) ProtoReflect() protoreflect.Message {
3174
	mi := &file_base_v1_service_proto_msgTypes[47]
3175
	if protoimpl.UnsafeEnabled && x != nil {
3176
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3177
		if ms.LoadMessageInfo() == nil {
3178
			ms.StoreMessageInfo(mi)
3179
		}
3180
		return ms
3181
	}
3182
	return mi.MessageOf(x)
3183
}
3184
3185
// Deprecated: Use AttributeReadResponse.ProtoReflect.Descriptor instead.
3186
func (*AttributeReadResponse) Descriptor() ([]byte, []int) {
3187
	return file_base_v1_service_proto_rawDescGZIP(), []int{47}
3188
}
3189
3190
func (x *AttributeReadResponse) GetAttributes() []*Attribute {
3191
	if x != nil {
3192
		return x.Attributes
3193
	}
3194
	return nil
3195
}
3196
3197
func (x *AttributeReadResponse) GetContinuousToken() string {
3198
	if x != nil {
3199
		return x.ContinuousToken
3200
	}
3201
	return ""
3202
}
3203
3204
// DataDeleteRequest defines the structure of a request to delete data.
3205
// It includes the tenant_id and filters for selecting tuples and attributes to be deleted.
3206
type DataDeleteRequest struct {
3207
	state         protoimpl.MessageState
3208
	sizeCache     protoimpl.SizeCache
3209
	unknownFields protoimpl.UnknownFields
3210
3211
	// tenant_id represents the unique identifier of the tenant from which the data will be deleted.
3212
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3213
	// tuple_filter specifies the criteria used to select the tuples that should be deleted.
3214
	TupleFilter *TupleFilter `protobuf:"bytes,2,opt,name=tuple_filter,proto3" json:"tuple_filter,omitempty"`
3215
	// attribute_filter specifies the criteria used to select the attributes that should be deleted.
3216
	AttributeFilter *AttributeFilter `protobuf:"bytes,3,opt,name=attribute_filter,proto3" json:"attribute_filter,omitempty"`
3217
}
3218
3219
func (x *DataDeleteRequest) Reset() {
3220
	*x = DataDeleteRequest{}
3221
	if protoimpl.UnsafeEnabled {
3222
		mi := &file_base_v1_service_proto_msgTypes[48]
3223
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3224
		ms.StoreMessageInfo(mi)
3225
	}
3226
}
3227
3228
func (x *DataDeleteRequest) String() string {
3229
	return protoimpl.X.MessageStringOf(x)
3230
}
3231
3232
func (*DataDeleteRequest) ProtoMessage() {}
3233
3234
func (x *DataDeleteRequest) ProtoReflect() protoreflect.Message {
3235
	mi := &file_base_v1_service_proto_msgTypes[48]
3236
	if protoimpl.UnsafeEnabled && x != nil {
3237
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3238
		if ms.LoadMessageInfo() == nil {
3239
			ms.StoreMessageInfo(mi)
3240
		}
3241
		return ms
3242
	}
3243
	return mi.MessageOf(x)
3244
}
3245
3246
// Deprecated: Use DataDeleteRequest.ProtoReflect.Descriptor instead.
3247
func (*DataDeleteRequest) Descriptor() ([]byte, []int) {
3248
	return file_base_v1_service_proto_rawDescGZIP(), []int{48}
3249
}
3250
3251
func (x *DataDeleteRequest) GetTenantId() string {
3252
	if x != nil {
3253
		return x.TenantId
3254
	}
3255
	return ""
3256
}
3257
3258
func (x *DataDeleteRequest) GetTupleFilter() *TupleFilter {
3259
	if x != nil {
3260
		return x.TupleFilter
3261
	}
3262
	return nil
3263
}
3264
3265
func (x *DataDeleteRequest) GetAttributeFilter() *AttributeFilter {
3266
	if x != nil {
3267
		return x.AttributeFilter
3268
	}
3269
	return nil
3270
}
3271
3272
// DataDeleteResponse defines the structure of the response to a data delete request.
3273
// It includes a snap_token representing the state of the database after the deletion.
3274
type DataDeleteResponse struct {
3275
	state         protoimpl.MessageState
3276
	sizeCache     protoimpl.SizeCache
3277
	unknownFields protoimpl.UnknownFields
3278
3279
	// snap_token represents the state of the database after the requested deletions.
3280
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3281
}
3282
3283
func (x *DataDeleteResponse) Reset() {
3284
	*x = DataDeleteResponse{}
3285
	if protoimpl.UnsafeEnabled {
3286
		mi := &file_base_v1_service_proto_msgTypes[49]
3287
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3288
		ms.StoreMessageInfo(mi)
3289
	}
3290
}
3291
3292
func (x *DataDeleteResponse) String() string {
3293
	return protoimpl.X.MessageStringOf(x)
3294
}
3295
3296
func (*DataDeleteResponse) ProtoMessage() {}
3297
3298
func (x *DataDeleteResponse) ProtoReflect() protoreflect.Message {
3299
	mi := &file_base_v1_service_proto_msgTypes[49]
3300
	if protoimpl.UnsafeEnabled && x != nil {
3301
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3302
		if ms.LoadMessageInfo() == nil {
3303
			ms.StoreMessageInfo(mi)
3304
		}
3305
		return ms
3306
	}
3307
	return mi.MessageOf(x)
3308
}
3309
3310
// Deprecated: Use DataDeleteResponse.ProtoReflect.Descriptor instead.
3311
func (*DataDeleteResponse) Descriptor() ([]byte, []int) {
3312
	return file_base_v1_service_proto_rawDescGZIP(), []int{49}
3313
}
3314
3315
func (x *DataDeleteResponse) GetSnapToken() string {
3316
	if x != nil {
3317
		return x.SnapToken
3318
	}
3319
	return ""
3320
}
3321
3322
// RelationshipDeleteRequest
3323
type RelationshipDeleteRequest struct {
3324
	state         protoimpl.MessageState
3325
	sizeCache     protoimpl.SizeCache
3326
	unknownFields protoimpl.UnknownFields
3327
3328
	TenantId string       `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3329
	Filter   *TupleFilter `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
3330
}
3331
3332
func (x *RelationshipDeleteRequest) Reset() {
3333
	*x = RelationshipDeleteRequest{}
3334
	if protoimpl.UnsafeEnabled {
3335
		mi := &file_base_v1_service_proto_msgTypes[50]
3336
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3337
		ms.StoreMessageInfo(mi)
3338
	}
3339
}
3340
3341
func (x *RelationshipDeleteRequest) String() string {
3342
	return protoimpl.X.MessageStringOf(x)
3343
}
3344
3345
func (*RelationshipDeleteRequest) ProtoMessage() {}
3346
3347
func (x *RelationshipDeleteRequest) ProtoReflect() protoreflect.Message {
3348
	mi := &file_base_v1_service_proto_msgTypes[50]
3349
	if protoimpl.UnsafeEnabled && x != nil {
3350
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3351
		if ms.LoadMessageInfo() == nil {
3352
			ms.StoreMessageInfo(mi)
3353
		}
3354
		return ms
3355
	}
3356
	return mi.MessageOf(x)
3357
}
3358
3359
// Deprecated: Use RelationshipDeleteRequest.ProtoReflect.Descriptor instead.
3360
func (*RelationshipDeleteRequest) Descriptor() ([]byte, []int) {
3361
	return file_base_v1_service_proto_rawDescGZIP(), []int{50}
3362
}
3363
3364
func (x *RelationshipDeleteRequest) GetTenantId() string {
3365
	if x != nil {
3366
		return x.TenantId
3367
	}
3368
	return ""
3369
}
3370
3371
func (x *RelationshipDeleteRequest) GetFilter() *TupleFilter {
3372
	if x != nil {
3373
		return x.Filter
3374
	}
3375
	return nil
3376
}
3377
3378
// RelationshipDeleteResponse
3379
type RelationshipDeleteResponse struct {
3380
	state         protoimpl.MessageState
3381
	sizeCache     protoimpl.SizeCache
3382
	unknownFields protoimpl.UnknownFields
3383
3384
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3385
}
3386
3387
func (x *RelationshipDeleteResponse) Reset() {
3388
	*x = RelationshipDeleteResponse{}
3389
	if protoimpl.UnsafeEnabled {
3390
		mi := &file_base_v1_service_proto_msgTypes[51]
3391
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3392
		ms.StoreMessageInfo(mi)
3393
	}
3394
}
3395
3396
func (x *RelationshipDeleteResponse) String() string {
3397
	return protoimpl.X.MessageStringOf(x)
3398
}
3399
3400
func (*RelationshipDeleteResponse) ProtoMessage() {}
3401
3402
func (x *RelationshipDeleteResponse) ProtoReflect() protoreflect.Message {
3403
	mi := &file_base_v1_service_proto_msgTypes[51]
3404
	if protoimpl.UnsafeEnabled && x != nil {
3405
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3406
		if ms.LoadMessageInfo() == nil {
3407
			ms.StoreMessageInfo(mi)
3408
		}
3409
		return ms
3410
	}
3411
	return mi.MessageOf(x)
3412
}
3413
3414
// Deprecated: Use RelationshipDeleteResponse.ProtoReflect.Descriptor instead.
3415
func (*RelationshipDeleteResponse) Descriptor() ([]byte, []int) {
3416
	return file_base_v1_service_proto_rawDescGZIP(), []int{51}
3417
}
3418
3419
func (x *RelationshipDeleteResponse) GetSnapToken() string {
3420
	if x != nil {
3421
		return x.SnapToken
3422
	}
3423
	return ""
3424
}
3425
3426
// BundleRunRequest is used to request the execution of a bundle.
3427
// It includes tenant_id, the name of the bundle, and additional arguments for execution.
3428
type BundleRunRequest struct {
3429
	state         protoimpl.MessageState
3430
	sizeCache     protoimpl.SizeCache
3431
	unknownFields protoimpl.UnknownFields
3432
3433
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3434
	// Name of the bundle to be executed.
3435
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3436
	// Additional key-value pairs for execution arguments.
3437
	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"`
3438
}
3439
3440
func (x *BundleRunRequest) Reset() {
3441
	*x = BundleRunRequest{}
3442
	if protoimpl.UnsafeEnabled {
3443
		mi := &file_base_v1_service_proto_msgTypes[52]
3444
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3445
		ms.StoreMessageInfo(mi)
3446
	}
3447
}
3448
3449
func (x *BundleRunRequest) String() string {
3450
	return protoimpl.X.MessageStringOf(x)
3451
}
3452
3453
func (*BundleRunRequest) ProtoMessage() {}
3454
3455
func (x *BundleRunRequest) ProtoReflect() protoreflect.Message {
3456
	mi := &file_base_v1_service_proto_msgTypes[52]
3457
	if protoimpl.UnsafeEnabled && x != nil {
3458
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3459
		if ms.LoadMessageInfo() == nil {
3460
			ms.StoreMessageInfo(mi)
3461
		}
3462
		return ms
3463
	}
3464
	return mi.MessageOf(x)
3465
}
3466
3467
// Deprecated: Use BundleRunRequest.ProtoReflect.Descriptor instead.
3468
func (*BundleRunRequest) Descriptor() ([]byte, []int) {
3469
	return file_base_v1_service_proto_rawDescGZIP(), []int{52}
3470
}
3471
3472
func (x *BundleRunRequest) GetTenantId() string {
3473
	if x != nil {
3474
		return x.TenantId
3475
	}
3476
	return ""
3477
}
3478
3479
func (x *BundleRunRequest) GetName() string {
3480
	if x != nil {
3481
		return x.Name
3482
	}
3483
	return ""
3484
}
3485
3486
func (x *BundleRunRequest) GetArguments() map[string]string {
3487
	if x != nil {
3488
		return x.Arguments
3489
	}
3490
	return nil
3491
}
3492
3493
// BundleRunResponse is the response for a BundleRunRequest.
3494
// It includes a snap_token, which may be used for tracking the execution or its results.
3495
type BundleRunResponse struct {
3496
	state         protoimpl.MessageState
3497
	sizeCache     protoimpl.SizeCache
3498
	unknownFields protoimpl.UnknownFields
3499
3500
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3501
}
3502
3503
func (x *BundleRunResponse) Reset() {
3504
	*x = BundleRunResponse{}
3505
	if protoimpl.UnsafeEnabled {
3506
		mi := &file_base_v1_service_proto_msgTypes[53]
3507
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3508
		ms.StoreMessageInfo(mi)
3509
	}
3510
}
3511
3512
func (x *BundleRunResponse) String() string {
3513
	return protoimpl.X.MessageStringOf(x)
3514
}
3515
3516
func (*BundleRunResponse) ProtoMessage() {}
3517
3518
func (x *BundleRunResponse) ProtoReflect() protoreflect.Message {
3519
	mi := &file_base_v1_service_proto_msgTypes[53]
3520
	if protoimpl.UnsafeEnabled && x != nil {
3521
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3522
		if ms.LoadMessageInfo() == nil {
3523
			ms.StoreMessageInfo(mi)
3524
		}
3525
		return ms
3526
	}
3527
	return mi.MessageOf(x)
3528
}
3529
3530
// Deprecated: Use BundleRunResponse.ProtoReflect.Descriptor instead.
3531
func (*BundleRunResponse) Descriptor() ([]byte, []int) {
3532
	return file_base_v1_service_proto_rawDescGZIP(), []int{53}
3533
}
3534
3535
func (x *BundleRunResponse) GetSnapToken() string {
3536
	if x != nil {
3537
		return x.SnapToken
3538
	}
3539
	return ""
3540
}
3541
3542
// BundleWriteRequest is used to request the writing of a bundle.
3543
// It contains the tenant_id to identify the tenant and the Bundles object.
3544
type BundleWriteRequest struct {
3545
	state         protoimpl.MessageState
3546
	sizeCache     protoimpl.SizeCache
3547
	unknownFields protoimpl.UnknownFields
3548
3549
	TenantId string        `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3550
	Bundles  []*DataBundle `protobuf:"bytes,2,rep,name=bundles,proto3" json:"bundles,omitempty"` // Contains the bundle data to be written.
3551
}
3552
3553
func (x *BundleWriteRequest) Reset() {
3554
	*x = BundleWriteRequest{}
3555
	if protoimpl.UnsafeEnabled {
3556
		mi := &file_base_v1_service_proto_msgTypes[54]
3557
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3558
		ms.StoreMessageInfo(mi)
3559
	}
3560
}
3561
3562
func (x *BundleWriteRequest) String() string {
3563
	return protoimpl.X.MessageStringOf(x)
3564
}
3565
3566
func (*BundleWriteRequest) ProtoMessage() {}
3567
3568
func (x *BundleWriteRequest) ProtoReflect() protoreflect.Message {
3569
	mi := &file_base_v1_service_proto_msgTypes[54]
3570
	if protoimpl.UnsafeEnabled && x != nil {
3571
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3572
		if ms.LoadMessageInfo() == nil {
3573
			ms.StoreMessageInfo(mi)
3574
		}
3575
		return ms
3576
	}
3577
	return mi.MessageOf(x)
3578
}
3579
3580
// Deprecated: Use BundleWriteRequest.ProtoReflect.Descriptor instead.
3581
func (*BundleWriteRequest) Descriptor() ([]byte, []int) {
3582
	return file_base_v1_service_proto_rawDescGZIP(), []int{54}
3583
}
3584
3585
func (x *BundleWriteRequest) GetTenantId() string {
3586
	if x != nil {
3587
		return x.TenantId
3588
	}
3589
	return ""
3590
}
3591
3592
func (x *BundleWriteRequest) GetBundles() []*DataBundle {
3593
	if x != nil {
3594
		return x.Bundles
3595
	}
3596
	return nil
3597
}
3598
3599
// BundleWriteResponse is the response for a BundleWriteRequest.
3600
// It includes a name which could be used as an identifier or acknowledgment.
3601
type BundleWriteResponse struct {
3602
	state         protoimpl.MessageState
3603
	sizeCache     protoimpl.SizeCache
3604
	unknownFields protoimpl.UnknownFields
3605
3606
	Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` // Identifier or acknowledgment of the written bundle.
3607
}
3608
3609
func (x *BundleWriteResponse) Reset() {
3610
	*x = BundleWriteResponse{}
3611
	if protoimpl.UnsafeEnabled {
3612
		mi := &file_base_v1_service_proto_msgTypes[55]
3613
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3614
		ms.StoreMessageInfo(mi)
3615
	}
3616
}
3617
3618
func (x *BundleWriteResponse) String() string {
3619
	return protoimpl.X.MessageStringOf(x)
3620
}
3621
3622
func (*BundleWriteResponse) ProtoMessage() {}
3623
3624
func (x *BundleWriteResponse) ProtoReflect() protoreflect.Message {
3625
	mi := &file_base_v1_service_proto_msgTypes[55]
3626
	if protoimpl.UnsafeEnabled && x != nil {
3627
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3628
		if ms.LoadMessageInfo() == nil {
3629
			ms.StoreMessageInfo(mi)
3630
		}
3631
		return ms
3632
	}
3633
	return mi.MessageOf(x)
3634
}
3635
3636
// Deprecated: Use BundleWriteResponse.ProtoReflect.Descriptor instead.
3637
func (*BundleWriteResponse) Descriptor() ([]byte, []int) {
3638
	return file_base_v1_service_proto_rawDescGZIP(), []int{55}
3639
}
3640
3641
func (x *BundleWriteResponse) GetNames() []string {
3642
	if x != nil {
3643
		return x.Names
3644
	}
3645
	return nil
3646
}
3647
3648
type BundleReadRequest struct {
3649
	state         protoimpl.MessageState
3650
	sizeCache     protoimpl.SizeCache
3651
	unknownFields protoimpl.UnknownFields
3652
3653
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3654
	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3655
}
3656
3657
func (x *BundleReadRequest) Reset() {
3658
	*x = BundleReadRequest{}
3659
	if protoimpl.UnsafeEnabled {
3660
		mi := &file_base_v1_service_proto_msgTypes[56]
3661
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3662
		ms.StoreMessageInfo(mi)
3663
	}
3664
}
3665
3666
func (x *BundleReadRequest) String() string {
3667
	return protoimpl.X.MessageStringOf(x)
3668
}
3669
3670
func (*BundleReadRequest) ProtoMessage() {}
3671
3672
func (x *BundleReadRequest) ProtoReflect() protoreflect.Message {
3673
	mi := &file_base_v1_service_proto_msgTypes[56]
3674
	if protoimpl.UnsafeEnabled && x != nil {
3675
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3676
		if ms.LoadMessageInfo() == nil {
3677
			ms.StoreMessageInfo(mi)
3678
		}
3679
		return ms
3680
	}
3681
	return mi.MessageOf(x)
3682
}
3683
3684
// Deprecated: Use BundleReadRequest.ProtoReflect.Descriptor instead.
3685
func (*BundleReadRequest) Descriptor() ([]byte, []int) {
3686
	return file_base_v1_service_proto_rawDescGZIP(), []int{56}
3687
}
3688
3689
func (x *BundleReadRequest) GetTenantId() string {
3690
	if x != nil {
3691
		return x.TenantId
3692
	}
3693
	return ""
3694
}
3695
3696
func (x *BundleReadRequest) GetName() string {
3697
	if x != nil {
3698
		return x.Name
3699
	}
3700
	return ""
3701
}
3702
3703
type BundleReadResponse struct {
3704
	state         protoimpl.MessageState
3705
	sizeCache     protoimpl.SizeCache
3706
	unknownFields protoimpl.UnknownFields
3707
3708
	Bundle *DataBundle `protobuf:"bytes,1,opt,name=bundle,proto3" json:"bundle,omitempty"`
3709
}
3710
3711
func (x *BundleReadResponse) Reset() {
3712
	*x = BundleReadResponse{}
3713
	if protoimpl.UnsafeEnabled {
3714
		mi := &file_base_v1_service_proto_msgTypes[57]
3715
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3716
		ms.StoreMessageInfo(mi)
3717
	}
3718
}
3719
3720
func (x *BundleReadResponse) String() string {
3721
	return protoimpl.X.MessageStringOf(x)
3722
}
3723
3724
func (*BundleReadResponse) ProtoMessage() {}
3725
3726
func (x *BundleReadResponse) ProtoReflect() protoreflect.Message {
3727
	mi := &file_base_v1_service_proto_msgTypes[57]
3728
	if protoimpl.UnsafeEnabled && x != nil {
3729
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3730
		if ms.LoadMessageInfo() == nil {
3731
			ms.StoreMessageInfo(mi)
3732
		}
3733
		return ms
3734
	}
3735
	return mi.MessageOf(x)
3736
}
3737
3738
// Deprecated: Use BundleReadResponse.ProtoReflect.Descriptor instead.
3739
func (*BundleReadResponse) Descriptor() ([]byte, []int) {
3740
	return file_base_v1_service_proto_rawDescGZIP(), []int{57}
3741
}
3742
3743
func (x *BundleReadResponse) GetBundle() *DataBundle {
3744
	if x != nil {
3745
		return x.Bundle
3746
	}
3747
	return nil
3748
}
3749
3750
// BundleDeleteRequest is used to request the deletion of a bundle.
3751
// It contains the tenant_id to specify the tenant and the name of the bundle to be deleted.
3752
type BundleDeleteRequest struct {
3753
	state         protoimpl.MessageState
3754
	sizeCache     protoimpl.SizeCache
3755
	unknownFields protoimpl.UnknownFields
3756
3757
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3758
	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Name of the bundle to be deleted.
3759
}
3760
3761
func (x *BundleDeleteRequest) Reset() {
3762
	*x = BundleDeleteRequest{}
3763
	if protoimpl.UnsafeEnabled {
3764
		mi := &file_base_v1_service_proto_msgTypes[58]
3765
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3766
		ms.StoreMessageInfo(mi)
3767
	}
3768
}
3769
3770
func (x *BundleDeleteRequest) String() string {
3771
	return protoimpl.X.MessageStringOf(x)
3772
}
3773
3774
func (*BundleDeleteRequest) ProtoMessage() {}
3775
3776
func (x *BundleDeleteRequest) ProtoReflect() protoreflect.Message {
3777
	mi := &file_base_v1_service_proto_msgTypes[58]
3778
	if protoimpl.UnsafeEnabled && x != nil {
3779
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3780
		if ms.LoadMessageInfo() == nil {
3781
			ms.StoreMessageInfo(mi)
3782
		}
3783
		return ms
3784
	}
3785
	return mi.MessageOf(x)
3786
}
3787
3788
// Deprecated: Use BundleDeleteRequest.ProtoReflect.Descriptor instead.
3789
func (*BundleDeleteRequest) Descriptor() ([]byte, []int) {
3790
	return file_base_v1_service_proto_rawDescGZIP(), []int{58}
3791
}
3792
3793
func (x *BundleDeleteRequest) GetTenantId() string {
3794
	if x != nil {
3795
		return x.TenantId
3796
	}
3797
	return ""
3798
}
3799
3800
func (x *BundleDeleteRequest) GetName() string {
3801
	if x != nil {
3802
		return x.Name
3803
	}
3804
	return ""
3805
}
3806
3807
type BundleDeleteResponse struct {
3808
	state         protoimpl.MessageState
3809
	sizeCache     protoimpl.SizeCache
3810
	unknownFields protoimpl.UnknownFields
3811
3812
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3813
}
3814
3815
func (x *BundleDeleteResponse) Reset() {
3816
	*x = BundleDeleteResponse{}
3817
	if protoimpl.UnsafeEnabled {
3818
		mi := &file_base_v1_service_proto_msgTypes[59]
3819
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3820
		ms.StoreMessageInfo(mi)
3821
	}
3822
}
3823
3824
func (x *BundleDeleteResponse) String() string {
3825
	return protoimpl.X.MessageStringOf(x)
3826
}
3827
3828
func (*BundleDeleteResponse) ProtoMessage() {}
3829
3830
func (x *BundleDeleteResponse) ProtoReflect() protoreflect.Message {
3831
	mi := &file_base_v1_service_proto_msgTypes[59]
3832
	if protoimpl.UnsafeEnabled && x != nil {
3833
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3834
		if ms.LoadMessageInfo() == nil {
3835
			ms.StoreMessageInfo(mi)
3836
		}
3837
		return ms
3838
	}
3839
	return mi.MessageOf(x)
3840
}
3841
3842
// Deprecated: Use BundleDeleteResponse.ProtoReflect.Descriptor instead.
3843
func (*BundleDeleteResponse) Descriptor() ([]byte, []int) {
3844
	return file_base_v1_service_proto_rawDescGZIP(), []int{59}
3845
}
3846
3847
func (x *BundleDeleteResponse) GetName() string {
3848
	if x != nil {
3849
		return x.Name
3850
	}
3851
	return ""
3852
}
3853
3854
// TenantCreateRequest is the message used for the request to create a tenant.
3855
type TenantCreateRequest struct {
3856
	state         protoimpl.MessageState
3857
	sizeCache     protoimpl.SizeCache
3858
	unknownFields protoimpl.UnknownFields
3859
3860
	// id is a unique identifier for the tenant.
3861
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
3862
	// name is the name of the tenant.
3863
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3864
}
3865
3866
func (x *TenantCreateRequest) Reset() {
3867
	*x = TenantCreateRequest{}
3868
	if protoimpl.UnsafeEnabled {
3869
		mi := &file_base_v1_service_proto_msgTypes[60]
3870
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3871
		ms.StoreMessageInfo(mi)
3872
	}
3873
}
3874
3875
func (x *TenantCreateRequest) String() string {
3876
	return protoimpl.X.MessageStringOf(x)
3877
}
3878
3879
func (*TenantCreateRequest) ProtoMessage() {}
3880
3881
func (x *TenantCreateRequest) ProtoReflect() protoreflect.Message {
3882
	mi := &file_base_v1_service_proto_msgTypes[60]
3883
	if protoimpl.UnsafeEnabled && x != nil {
3884
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3885
		if ms.LoadMessageInfo() == nil {
3886
			ms.StoreMessageInfo(mi)
3887
		}
3888
		return ms
3889
	}
3890
	return mi.MessageOf(x)
3891
}
3892
3893
// Deprecated: Use TenantCreateRequest.ProtoReflect.Descriptor instead.
3894
func (*TenantCreateRequest) Descriptor() ([]byte, []int) {
3895
	return file_base_v1_service_proto_rawDescGZIP(), []int{60}
3896
}
3897
3898
func (x *TenantCreateRequest) GetId() string {
3899
	if x != nil {
3900
		return x.Id
3901
	}
3902
	return ""
3903
}
3904
3905
func (x *TenantCreateRequest) GetName() string {
3906
	if x != nil {
3907
		return x.Name
3908
	}
3909
	return ""
3910
}
3911
3912
// TenantCreateResponse is the message returned from the request to create a tenant.
3913
type TenantCreateResponse struct {
3914
	state         protoimpl.MessageState
3915
	sizeCache     protoimpl.SizeCache
3916
	unknownFields protoimpl.UnknownFields
3917
3918
	// tenant is the created tenant information.
3919
	Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
3920
}
3921
3922
func (x *TenantCreateResponse) Reset() {
3923
	*x = TenantCreateResponse{}
3924
	if protoimpl.UnsafeEnabled {
3925
		mi := &file_base_v1_service_proto_msgTypes[61]
3926
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3927
		ms.StoreMessageInfo(mi)
3928
	}
3929
}
3930
3931
func (x *TenantCreateResponse) String() string {
3932
	return protoimpl.X.MessageStringOf(x)
3933
}
3934
3935
func (*TenantCreateResponse) ProtoMessage() {}
3936
3937
func (x *TenantCreateResponse) ProtoReflect() protoreflect.Message {
3938
	mi := &file_base_v1_service_proto_msgTypes[61]
3939
	if protoimpl.UnsafeEnabled && x != nil {
3940
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3941
		if ms.LoadMessageInfo() == nil {
3942
			ms.StoreMessageInfo(mi)
3943
		}
3944
		return ms
3945
	}
3946
	return mi.MessageOf(x)
3947
}
3948
3949
// Deprecated: Use TenantCreateResponse.ProtoReflect.Descriptor instead.
3950
func (*TenantCreateResponse) Descriptor() ([]byte, []int) {
3951
	return file_base_v1_service_proto_rawDescGZIP(), []int{61}
3952
}
3953
3954
func (x *TenantCreateResponse) GetTenant() *Tenant {
3955
	if x != nil {
3956
		return x.Tenant
3957
	}
3958
	return nil
3959
}
3960
3961
// TenantDeleteRequest is the message used for the request to delete a tenant.
3962
type TenantDeleteRequest struct {
3963
	state         protoimpl.MessageState
3964
	sizeCache     protoimpl.SizeCache
3965
	unknownFields protoimpl.UnknownFields
3966
3967
	// id is the unique identifier of the tenant to be deleted.
3968
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
3969
}
3970
3971
func (x *TenantDeleteRequest) Reset() {
3972
	*x = TenantDeleteRequest{}
3973
	if protoimpl.UnsafeEnabled {
3974
		mi := &file_base_v1_service_proto_msgTypes[62]
3975
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3976
		ms.StoreMessageInfo(mi)
3977
	}
3978
}
3979
3980
func (x *TenantDeleteRequest) String() string {
3981
	return protoimpl.X.MessageStringOf(x)
3982
}
3983
3984
func (*TenantDeleteRequest) ProtoMessage() {}
3985
3986
func (x *TenantDeleteRequest) ProtoReflect() protoreflect.Message {
3987
	mi := &file_base_v1_service_proto_msgTypes[62]
3988
	if protoimpl.UnsafeEnabled && x != nil {
3989
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3990
		if ms.LoadMessageInfo() == nil {
3991
			ms.StoreMessageInfo(mi)
3992
		}
3993
		return ms
3994
	}
3995
	return mi.MessageOf(x)
3996
}
3997
3998
// Deprecated: Use TenantDeleteRequest.ProtoReflect.Descriptor instead.
3999
func (*TenantDeleteRequest) Descriptor() ([]byte, []int) {
4000
	return file_base_v1_service_proto_rawDescGZIP(), []int{62}
4001
}
4002
4003
func (x *TenantDeleteRequest) GetId() string {
4004
	if x != nil {
4005
		return x.Id
4006
	}
4007
	return ""
4008
}
4009
4010
// TenantDeleteResponse is the message returned from the request to delete a tenant.
4011
type TenantDeleteResponse struct {
4012
	state         protoimpl.MessageState
4013
	sizeCache     protoimpl.SizeCache
4014
	unknownFields protoimpl.UnknownFields
4015
4016
	// tenant is the tenant information that was deleted.
4017
	Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
4018
}
4019
4020
func (x *TenantDeleteResponse) Reset() {
4021
	*x = TenantDeleteResponse{}
4022
	if protoimpl.UnsafeEnabled {
4023
		mi := &file_base_v1_service_proto_msgTypes[63]
4024
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4025
		ms.StoreMessageInfo(mi)
4026
	}
4027
}
4028
4029
func (x *TenantDeleteResponse) String() string {
4030
	return protoimpl.X.MessageStringOf(x)
4031
}
4032
4033
func (*TenantDeleteResponse) ProtoMessage() {}
4034
4035
func (x *TenantDeleteResponse) ProtoReflect() protoreflect.Message {
4036
	mi := &file_base_v1_service_proto_msgTypes[63]
4037
	if protoimpl.UnsafeEnabled && x != nil {
4038
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4039
		if ms.LoadMessageInfo() == nil {
4040
			ms.StoreMessageInfo(mi)
4041
		}
4042
		return ms
4043
	}
4044
	return mi.MessageOf(x)
4045
}
4046
4047
// Deprecated: Use TenantDeleteResponse.ProtoReflect.Descriptor instead.
4048
func (*TenantDeleteResponse) Descriptor() ([]byte, []int) {
4049
	return file_base_v1_service_proto_rawDescGZIP(), []int{63}
4050
}
4051
4052
func (x *TenantDeleteResponse) GetTenant() *Tenant {
4053
	if x != nil {
4054
		return x.Tenant
4055
	}
4056
	return nil
4057
}
4058
4059
// TenantListRequest is the message used for the request to list all tenants.
4060
type TenantListRequest struct {
4061
	state         protoimpl.MessageState
4062
	sizeCache     protoimpl.SizeCache
4063
	unknownFields protoimpl.UnknownFields
4064
4065
	// page_size is the number of tenants to be returned in the response.
4066
	// The value should be between 1 and 100.
4067
	PageSize uint32 `protobuf:"varint,1,opt,name=page_size,proto3" json:"page_size,omitempty"`
4068
	// continuous_token is an optional parameter used for pagination.
4069
	// It should be the value received in the previous response.
4070
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
4071
}
4072
4073
func (x *TenantListRequest) Reset() {
4074
	*x = TenantListRequest{}
4075
	if protoimpl.UnsafeEnabled {
4076
		mi := &file_base_v1_service_proto_msgTypes[64]
4077
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4078
		ms.StoreMessageInfo(mi)
4079
	}
4080
}
4081
4082
func (x *TenantListRequest) String() string {
4083
	return protoimpl.X.MessageStringOf(x)
4084
}
4085
4086
func (*TenantListRequest) ProtoMessage() {}
4087
4088
func (x *TenantListRequest) ProtoReflect() protoreflect.Message {
4089
	mi := &file_base_v1_service_proto_msgTypes[64]
4090
	if protoimpl.UnsafeEnabled && x != nil {
4091
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4092
		if ms.LoadMessageInfo() == nil {
4093
			ms.StoreMessageInfo(mi)
4094
		}
4095
		return ms
4096
	}
4097
	return mi.MessageOf(x)
4098
}
4099
4100
// Deprecated: Use TenantListRequest.ProtoReflect.Descriptor instead.
4101
func (*TenantListRequest) Descriptor() ([]byte, []int) {
4102
	return file_base_v1_service_proto_rawDescGZIP(), []int{64}
4103
}
4104
4105
func (x *TenantListRequest) GetPageSize() uint32 {
4106
	if x != nil {
4107
		return x.PageSize
4108
	}
4109
	return 0
4110
}
4111
4112
func (x *TenantListRequest) GetContinuousToken() string {
4113
	if x != nil {
4114
		return x.ContinuousToken
4115
	}
4116
	return ""
4117
}
4118
4119
// TenantListResponse is the message returned from the request to list all tenants.
4120
type TenantListResponse struct {
4121
	state         protoimpl.MessageState
4122
	sizeCache     protoimpl.SizeCache
4123
	unknownFields protoimpl.UnknownFields
4124
4125
	// tenants is a list of tenants.
4126
	Tenants []*Tenant `protobuf:"bytes,1,rep,name=tenants,proto3" json:"tenants,omitempty"`
4127
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
4128
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
4129
}
4130
4131
func (x *TenantListResponse) Reset() {
4132
	*x = TenantListResponse{}
4133
	if protoimpl.UnsafeEnabled {
4134
		mi := &file_base_v1_service_proto_msgTypes[65]
4135
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4136
		ms.StoreMessageInfo(mi)
4137
	}
4138
}
4139
4140
func (x *TenantListResponse) String() string {
4141
	return protoimpl.X.MessageStringOf(x)
4142
}
4143
4144
func (*TenantListResponse) ProtoMessage() {}
4145
4146
func (x *TenantListResponse) ProtoReflect() protoreflect.Message {
4147
	mi := &file_base_v1_service_proto_msgTypes[65]
4148
	if protoimpl.UnsafeEnabled && x != nil {
4149
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4150
		if ms.LoadMessageInfo() == nil {
4151
			ms.StoreMessageInfo(mi)
4152
		}
4153
		return ms
4154
	}
4155
	return mi.MessageOf(x)
4156
}
4157
4158
// Deprecated: Use TenantListResponse.ProtoReflect.Descriptor instead.
4159
func (*TenantListResponse) Descriptor() ([]byte, []int) {
4160
	return file_base_v1_service_proto_rawDescGZIP(), []int{65}
4161
}
4162
4163
func (x *TenantListResponse) GetTenants() []*Tenant {
4164
	if x != nil {
4165
		return x.Tenants
4166
	}
4167
	return nil
4168
}
4169
4170
func (x *TenantListResponse) GetContinuousToken() string {
4171
	if x != nil {
4172
		return x.ContinuousToken
4173
	}
4174
	return ""
4175
}
4176
4177
var File_base_v1_service_proto protoreflect.FileDescriptor
4178
4179
var file_base_v1_service_proto_rawDesc = []byte{
4180
	0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
4181
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
4182
	0x1a, 0x12, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70,
4183
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
4184
	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
4185
	0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f,
4186
	0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
4187
	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
4188
	0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c,
4189
	0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x07, 0x0a, 0x16,
4190
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
4191
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4192
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9,
4193
	0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f,
4194
	0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66,
4195
	0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69,
4196
	0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79,
4197
	0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
4198
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d,
4199
	0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20,
4200
	0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20,
4201
	0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20,
4202
	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75,
4203
	0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74,
4204
	0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a,
4205
	0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78,
4206
	0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28,
4207
	0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
4208
	0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d,
4209
	0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4210
	0x5f, 0x69, 0x64, 0x12, 0x4d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
4211
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4212
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
4213
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08,
4214
	0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
4215
	0x74, 0x61, 0x12, 0x44, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01,
4216
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74,
4217
	0x69, 0x74, 0x79, 0x42, 0x1b, 0x92, 0x41, 0x10, 0x4a, 0x0e, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73,
4218
	0x69, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x31, 0x22, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
4219
	0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x76, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d,
4220
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0x92, 0x41,
4221
	0x36, 0x32, 0x34, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68,
4222
	0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20,
4223
	0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72,
4224
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11,
4225
	0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d,
4226
	0x24, 0xd0, 0x01, 0x00, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4227
	0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
4228
	0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a,
4229
	0x65, 0x63, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73,
4230
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0xc4, 0x01, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
4231
	0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4232
	0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x97, 0x01, 0x92, 0x41, 0x93,
4233
	0x01, 0x32, 0x90, 0x01, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x64,
4234
	0x61, 0x74, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20,
4235
	0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, 0x64, 0x64, 0x65,
4236
	0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20,
4237
	0x63, 0x68, 0x65, 0x63, 0x6b, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x20,
4238
	0x53, 0x65, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b,
4239
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x44, 0x61, 0x74, 0x61, 0x5d,
4240
	0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4241
	0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x2d, 0x74, 0x75, 0x70,
4242
	0x6c, 0x65, 0x73, 0x29, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2f, 0x0a,
4243
	0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
4244
	0x32, 0x11, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d,
4245
	0x65, 0x6e, 0x74, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xb2,
4246
	0x02, 0x0a, 0x1e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65,
4247
	0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
4248
	0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73,
4249
	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d,
4250
	0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e,
4251
	0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69,
4252
	0x92, 0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f,
4253
	0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61,
4254
	0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f,
4255
	0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53,
4256
	0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e,
4257
	0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61,
4258
	0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f,
4259
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5c, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03,
4260
	0x20, 0x01, 0x28, 0x05, 0x42, 0x46, 0x92, 0x41, 0x3c, 0x32, 0x3a, 0x51, 0x75, 0x65, 0x72, 0x79,
4261
	0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x72,
4262
	0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
4263
	0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x69, 0x6e,
4264
	0x20, 0x6c, 0x6f, 0x6f, 0x70, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x03, 0x52, 0x05, 0x64, 0x65,
4265
	0x70, 0x74, 0x68, 0x22, 0x87, 0x01, 0x0a, 0x17, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4266
	0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
4267
	0x26, 0x0a, 0x03, 0x63, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x62,
4268
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75,
4269
	0x6c, 0x74, 0x52, 0x03, 0x63, 0x61, 0x6e, 0x12, 0x44, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
4270
	0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x61, 0x73, 0x65,
4271
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68,
4272
	0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64,
4273
	0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x43, 0x0a,
4274
	0x1f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b,
4275
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
4276
	0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
4277
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75,
4278
	0x6e, 0x74, 0x22, 0xe5, 0x04, 0x0a, 0x17, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4279
	0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa,
4280
	0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
4281
	0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e,
4282
	0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65,
4283
	0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65,
4284
	0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69,
4285
	0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f,
4286
	0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20,
4287
	0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64,
4288
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31,
4289
	0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73,
4290
	0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
4291
	0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68,
4292
	0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80,
4293
	0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c,
4294
	0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65,
4295
	0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61,
4296
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b,
4297
	0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00,
4298
	0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x4e, 0x0a, 0x08, 0x6d,
4299
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
4300
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4301
	0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d,
4302
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
4303
	0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x06, 0x65,
4304
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61,
4305
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42,
4306
	0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3d,
4307
	0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
4308
	0x28, 0x09, 0x42, 0x1d, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b, 0x61,
4309
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0, 0x01,
4310
	0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a,
4311
	0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
4312
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
4313
	0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x61, 0x72, 0x67,
4314
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62,
4315
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52,
4316
	0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd6, 0x01, 0x0a, 0x1f, 0x50,
4317
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52,
4318
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26,
4319
	0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
4320
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76,
4321
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f,
4322
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41, 0x67,
4323
	0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4324
	0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20,
4325
	0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20,
4326
	0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70,
4327
	0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f,
4328
	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74,
4329
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f,
4330
	0x6b, 0x65, 0x6e, 0x22, 0x3f, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4331
	0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
4332
	0x23, 0x0a, 0x04, 0x74, 0x72, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
4333
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x04,
4334
	0x74, 0x72, 0x65, 0x65, 0x22, 0x81, 0x07, 0x0a, 0x1d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
4335
	0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
4336
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4337
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9,
4338
	0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f,
4339
	0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66,
4340
	0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69,
4341
	0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79,
4342
	0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
4343
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d,
4344
	0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20,
4345
	0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20,
4346
	0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20,
4347
	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75,
4348
	0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74,
4349
	0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a,
4350
	0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78,
4351
	0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28,
4352
	0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
4353
	0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d,
4354
	0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4355
	0x5f, 0x69, 0x64, 0x12, 0x54, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
4356
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4357
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
4358
	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74,
4359
	0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52,
4360
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0b, 0x65, 0x6e, 0x74,
4361
	0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d,
4362
	0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4363
	0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x0b, 0x65,
4364
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x65,
4365
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d,
4366
	0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4367
	0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x0a, 0x70,
4368
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62,
4369
	0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73,
4370
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x08, 0xfa, 0x42,
4371
	0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
4372
	0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
4373
	0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
4374
	0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x73,
4375
	0x63, 0x6f, 0x70, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x62, 0x61, 0x73,
4376
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
4377
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
4378
	0x73, 0x74, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73,
4379
	0x63, 0x6f, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
4380
	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01,
4381
	0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a,
4382
	0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4383
	0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01,
4384
	0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f,
4385
	0x6b, 0x65, 0x6e, 0x1a, 0x53, 0x0a, 0x0a, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72,
4386
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
4387
	0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
4388
	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72,
4389
	0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
4390
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x95, 0x07, 0x0a, 0x1e, 0x50, 0x65, 0x72,
4391
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e,
4392
	0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09,
4393
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
4394
	0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
4395
	0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4396
	0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f,
4397
	0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65,
4398
	0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79,
4399
	0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65,
4400
	0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65,
4401
	0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63,
4402
	0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69,
4403
	0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61,
4404
	0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68,
4405
	0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61,
4406
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c,
4407
	0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa,
4408
	0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
4409
	0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31,
4410
	0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74,
4411
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x54, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
4412
	0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x62, 0x61, 0x73,
4413
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
4414
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
4415
	0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a,
4416
	0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f,
4417
	0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
4418
	0x01, 0x28, 0x09, 0x42, 0x1d, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b,
4419
	0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0,
4420
	0x01, 0x00, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12,
4421
	0x4f, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04,
4422
	0x20, 0x03, 0x28, 0x09, 0x42, 0x2d, 0xfa, 0x42, 0x2a, 0x92, 0x01, 0x27, 0x08, 0x01, 0x10, 0x64,
4423
	0x22, 0x21, 0x72, 0x1f, 0x28, 0x40, 0x32, 0x18, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a,
4424
	0x5f, 0x5d, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5d, 0x2a, 0x24,
4425
	0xd0, 0x01, 0x00, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
4426
	0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
4427
	0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a,
4428
	0x65, 0x63, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73,
4429
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
4430
	0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
4431
	0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
4432
	0x78, 0x74, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28,
4433
	0x0b, 0x32, 0x32, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d,
4434
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74,
4435
	0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65,
4436
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x09,
4437
	0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x42,
4438
	0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
4439
	0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
4440
	0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42,
4441
	0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69,
4442
	0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x53, 0x0a, 0x0a, 0x53,
4443
	0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
4444
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76,
4445
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x61, 0x73,
4446
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, 0x61, 0x79,
4447
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
4448
	0x22, 0xbb, 0x02, 0x0a, 0x25, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
4449
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
4450
	0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63,
4451
	0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
4452
	0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
4453
	0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4454
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65, 0x54, 0x68,
4455
	0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20,
4456
	0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68,
4457
	0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61,
4458
	0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b,
4459
	0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61,
4460
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4461
	0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
4462
	0x5d, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x47,
4463
	0x92, 0x41, 0x3d, 0x32, 0x3b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74,
4464
	0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69,
4465
	0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72,
4466
	0x69, 0x65, 0x73, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x2e,
4467
	0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x03, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x6c,
4468
	0x0a, 0x1e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b,
4469
	0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
4470
	0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01,
4471
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73,
4472
	0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74,
4473
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74,
4474
	0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf8, 0x01, 0x0a,
4475
	0x1f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b,
4476
	0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
4477
	0x12, 0x57, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01,
4478
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50,
4479
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
4480
	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45,
4481
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x65,
4482
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e,
4483
	0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
4484
	0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f,
4485
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x50, 0x0a, 0x0e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
4486
	0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
4487
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c,
4488
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4489
	0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x73, 0x52, 0x05, 0x76, 0x61,
4490
	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1d, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x69, 0x74,
4491
	0x79, 0x49, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
4492
	0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x70, 0x0a, 0x24, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
4493
	0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
4494
	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c,
4495
	0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
4496
	0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10,
4497
	0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4498
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f,
4499
	0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x25, 0x50, 0x65, 0x72,
4500
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e,
4501
	0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4502
	0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
4503
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
4504
	0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
4505
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4506
	0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74,
4507
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74,
4508
	0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xeb, 0x05, 0x0a,
4509
	0x1d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74,
4510
	0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa,
4511
	0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
4512
	0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e,
4513
	0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65,
4514
	0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65,
4515
	0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69,
4516
	0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f,
4517
	0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20,
4518
	0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64,
4519
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31,
4520
	0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73,
4521
	0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
4522
	0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68,
4523
	0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80,
4524
	0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c,
4525
	0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65,
4526
	0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61,
4527
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b,
4528
	0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00,
4529
	0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x54, 0x0a, 0x08, 0x6d,
4530
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
4531
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4532
	0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65,
4533
	0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa,
4534
	0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
4535
	0x61, 0x12, 0x2f, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03,
4536
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45,
4537
	0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63,
4538
	0x65, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20,
4539
	0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75,
4540
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2a,
4541
	0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
4542
	0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
4543
	0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x63,
4544
	0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x62, 0x61, 0x73, 0x65,
4545
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e,
4546
	0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4547
	0x74, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x63,
4548
	0x6f, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x07, 0x20,
4549
	0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x63,
4550
	0x75, 0x72, 0x73, 0x6f, 0x72, 0x1a, 0x53, 0x0a, 0x0a, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e,
4551
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4552
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
4553
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53,
4554
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
4555
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbb, 0x02, 0x0a, 0x25, 0x50,
4556
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46,
4557
	0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
4558
	0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76,
4559
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63,
4560
	0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a,
4561
	0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
4562
	0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70,
4563
	0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20,
4564
	0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65,
4565
	0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e,
4566
	0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e,
4567
	0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
4568
	0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73,
4569
	0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x64, 0x65, 0x70,
4570
	0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x47, 0x92, 0x41, 0x3d, 0x32, 0x3b, 0x51,
4571
	0x75, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20,
4572
	0x69, 0x66, 0x20, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74,
4573
	0x61, 0x62, 0x61, 0x73, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f,
4574
	0x74, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28,
4575
	0x03, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0xf5, 0x05, 0x0a, 0x1e, 0x50, 0x65, 0x72,
4576
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62,
4577
	0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09,
4578
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
4579
	0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
4580
	0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4581
	0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f,
4582
	0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65,
4583
	0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79,
4584
	0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65,
4585
	0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65,
4586
	0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63,
4587
	0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69,
4588
	0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61,
4589
	0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68,
4590
	0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61,
4591
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c,
4592
	0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa,
4593
	0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
4594
	0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31,
4595
	0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74,
4596
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x55, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
4597
	0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x62, 0x61, 0x73,
4598
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
4599
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
4600
	0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05,
4601
	0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
4602
	0x31, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
4603
	0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
4604
	0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69,
4605
	0x74, 0x79, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4606
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32,
4607
	0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34,
4608
	0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4609
	0x6e, 0x12, 0x52, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66,
4610
	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62,
4611
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
4612
	0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
4613
	0x10, 0x01, 0x52, 0x11, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65,
4614
	0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
4615
	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
4616
	0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
4617
	0x74, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07,
4618
	0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01, 0x52,
4619
	0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63, 0x6f,
4620
	0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08,
4621
	0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x10,
4622
	0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4623
	0x22, 0xbc, 0x02, 0x0a, 0x26, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
4624
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
4625
	0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73,
4626
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
4627
	0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73,
4628
	0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b,
4629
	0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65, 0x54,
4630
	0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f,
4631
	0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63,
4632
	0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74,
4633
	0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f,
4634
	0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72,
4635
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65,
4636
	0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4637
	0x12, 0x5d, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42,
4638
	0x47, 0x92, 0x41, 0x3d, 0x32, 0x3b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x6d, 0x69,
4639
	0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73,
4640
	0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x20, 0x71, 0x75, 0x65,
4641
	0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x6f, 0x70,
4642
	0x2e, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x03, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22,
4643
	0x6f, 0x0a, 0x1f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f,
4644
	0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4645
	0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
4646
	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
4647
	0x5f, 0x69, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f,
4648
	0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
4649
	0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4650
	0x22, 0xc1, 0x04, 0x0a, 0x22, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53,
4651
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4652
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61,
4653
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41,
4654
	0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20,
4655
	0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69,
4656
	0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73,
4657
	0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63,
4658
	0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65,
4659
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65,
4660
	0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4661
	0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e,
4662
	0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e,
4663
	0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d,
4664
	0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61,
4665
	0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4666
	0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61,
4667
	0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29,
4668
	0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d,
4669
	0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38,
4670
	0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4671
	0x74, 0x5f, 0x69, 0x64, 0x12, 0x59, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
4672
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
4673
	0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65,
4674
	0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
4675
	0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05,
4676
	0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
4677
	0x31, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
4678
	0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
4679
	0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69,
4680
	0x74, 0x79, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20,
4681
	0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75,
4682
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52,
4683
	0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
4684
	0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65,
4685
	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e,
4686
	0x74, 0x65, 0x78, 0x74, 0x22, 0xea, 0x02, 0x0a, 0x2a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
4687
	0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
4688
	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
4689
	0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65,
4690
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68,
4691
	0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a,
4692
	0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
4693
	0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20,
4694
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73,
4695
	0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20,
4696
	0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20,
4697
	0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e,
4698
	0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73,
4699
	0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e,
4700
	0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79,
4701
	0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
4702
	0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4703
	0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28,
4704
	0x05, 0x42, 0x47, 0x92, 0x41, 0x3d, 0x32, 0x3b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69,
4705
	0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x72, 0x65, 0x63, 0x75,
4706
	0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x20, 0x71,
4707
	0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f,
4708
	0x6f, 0x70, 0x2e, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x03, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74,
4709
	0x68, 0x22, 0xcc, 0x01, 0x0a, 0x23, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4710
	0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4711
	0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x72, 0x65, 0x73,
4712
	0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x62, 0x61, 0x73,
4713
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53,
4714
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4715
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
4716
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x50,
4717
	0x0a, 0x0c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
4718
	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
4719
	0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
4720
	0x14, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
4721
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
4722
	0x22, 0xc8, 0x03, 0x0a, 0x0c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4723
	0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
4724
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49,
4725
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,
4726
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20,
4727
	0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75,
4728
	0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76,
4729
	0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4730
	0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72,
4731
	0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65,
4732
	0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74,
4733
	0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69,
4734
	0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61,
4735
	0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20,
4736
	0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c,
4737
	0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62,
4738
	0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e,
4739
	0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c,
4740
	0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24,
4741
	0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x8a,
4742
	0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
4743
	0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e,
4744
	0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69,
4745
	0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73,
4746
	0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20,
4747
	0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d,
4748
	0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4749
	0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52,
4750
	0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3f, 0x0a, 0x0d, 0x57,
4751
	0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x07,
4752
	0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
4753
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e,
4754
	0x67, 0x65, 0x73, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xd9, 0x02, 0x0a,
4755
	0x12, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
4756
	0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
4757
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6,
4758
	0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74,
4759
	0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f,
4760
	0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20,
4761
	0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68,
4762
	0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e,
4763
	0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73,
4764
	0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f,
4765
	0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72,
4766
	0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71,
4767
	0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20,
4768
	0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72,
4769
	0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
4770
	0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34,
4771
	0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32,
4772
	0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d,
4773
	0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a,
4774
	0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64,
4775
	0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
4776
	0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x3d, 0x0a, 0x13, 0x53, 0x63, 0x68, 0x65,
4777
	0x6d, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
4778
	0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
4779
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f,
4780
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xd9, 0x02, 0x0a, 0x19, 0x53, 0x63, 0x68, 0x65,
4781
	0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65,
4782
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
4783
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28,
4784
	0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
4785
	0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d,
4786
	0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4787
	0x5f, 0x69, 0x64, 0x12, 0x50, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
4788
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4789
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69,
4790
	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
4791
	0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74,
4792
	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4c, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
4793
	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
4794
	0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57,
4795
	0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74,
4796
	0x69, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x61, 0x72, 0x74, 0x69,
4797
	0x61, 0x6c, 0x73, 0x1a, 0x4e, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x45,
4798
	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
4799
	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
4800
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4801
	0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
4802
	0x02, 0x38, 0x01, 0x22, 0x4b, 0x0a, 0x21, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72,
4803
	0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4804
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65,
4805
	0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4806
	0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
4807
	0x22, 0x44, 0x0a, 0x1a, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61,
4808
	0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26,
4809
	0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
4810
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76,
4811
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x03, 0x0a, 0x11, 0x53, 0x63, 0x68, 0x65, 0x6d,
4812
	0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a,
4813
	0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4814
	0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
4815
	0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61,
4816
	0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e,
4817
	0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74,
4818
	0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c,
4819
	0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73,
4820
	0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74,
4821
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f,
4822
	0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66,
4823
	0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20,
4824
	0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74,
4825
	0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b,
4826
	0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80,
4827
	0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e,
4828
	0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a,
4829
	0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b,
4830
	0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09,
4831
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x48, 0x0a, 0x08, 0x6d, 0x65, 0x74,
4832
	0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61,
4833
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64,
4834
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42,
4835
	0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
4836
	0x61, 0x74, 0x61, 0x22, 0x43, 0x0a, 0x19, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61,
4837
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
4838
	0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
4839
	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
4840
	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x47, 0x0a, 0x12, 0x53, 0x63, 0x68, 0x65,
4841
	0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31,
4842
	0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
4843
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44,
4844
	0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
4845
	0x61, 0x22, 0x9f, 0x03, 0x0a, 0x11, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74,
4846
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61,
4847
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41,
4848
	0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20,
4849
	0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69,
4850
	0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73,
4851
	0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63,
4852
	0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65,
4853
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65,
4854
	0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4855
	0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e,
4856
	0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e,
4857
	0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d,
4858
	0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61,
4859
	0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4860
	0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61,
4861
	0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29,
4862
	0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d,
4863
	0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38,
4864
	0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4865
	0x74, 0x5f, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
4866
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01,
4867
	0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a,
4868
	0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4869
	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01,
4870
	0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f,
4871
	0x6b, 0x65, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x12, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69,
4872
	0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65,
4873
	0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x2d,
4874
	0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
4875
	0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
4876
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x2a, 0x0a,
4877
	0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4878
	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
4879
	0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x46, 0x0a, 0x0a, 0x53, 0x63, 0x68,
4880
	0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
4881
	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
4882
	0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
4883
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
4884
	0x74, 0x22, 0x8a, 0x04, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52,
4885
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4886
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9,
4887
	0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f,
4888
	0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66,
4889
	0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69,
4890
	0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79,
4891
	0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
4892
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d,
4893
	0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20,
4894
	0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20,
4895
	0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20,
4896
	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75,
4897
	0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74,
4898
	0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a,
4899
	0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78,
4900
	0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28,
4901
	0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
4902
	0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d,
4903
	0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4904
	0x5f, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
4905
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4906
	0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4907
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
4908
	0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x06,
4909
	0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62,
4910
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x42, 0x11, 0xfa, 0x42,
4911
	0x0e, 0x92, 0x01, 0x0b, 0x08, 0x00, 0x10, 0x64, 0x22, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52,
4912
	0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69,
4913
	0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x61,
4914
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42,
4915
	0x11, 0xfa, 0x42, 0x0e, 0x92, 0x01, 0x0b, 0x08, 0x00, 0x10, 0x64, 0x22, 0x05, 0x8a, 0x01, 0x02,
4916
	0x10, 0x01, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x42,
4917
	0x0a, 0x18, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
4918
	0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63,
4919
	0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
4920
	0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
4921
	0x6f, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65,
4922
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61,
4923
	0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92,
4924
	0x41, 0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b,
4925
	0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c,
4926
	0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72,
4927
	0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e,
4928
	0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e,
4929
	0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70,
4930
	0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f,
4931
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd3, 0x03, 0x0a, 0x18, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
4932
	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
4933
	0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64,
4934
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01,
4935
	0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,
4936
	0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75,
4937
	0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d,
4938
	0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61,
4939
	0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61,
4940
	0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65,
4941
	0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64,
4942
	0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20,
4943
	0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75,
4944
	0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d,
4945
	0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e,
4946
	0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d,
4947
	0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20,
4948
	0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21,
4949
	0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40,
4950
	0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29,
4951
	0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12,
4952
	0x4f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28,
4953
	0x0b, 0x32, 0x29, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61,
4954
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71,
4955
	0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42,
4956
	0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
4957
	0x12, 0x39, 0x0a, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
4958
	0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65,
4959
	0x42, 0x11, 0xfa, 0x42, 0x0e, 0x92, 0x01, 0x0b, 0x08, 0x01, 0x10, 0x64, 0x22, 0x05, 0x8a, 0x01,
4960
	0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x20, 0x52,
4961
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72, 0x69, 0x74, 0x65,
4962
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
4963
	0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
4964
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f,
4965
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x61,
4966
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73,
4967
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
4968
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41, 0x66, 0x32,
4969
	0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20,
4970
	0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63,
4971
	0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64,
4972
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20,
4973
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70,
4974
	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f,
4975
	0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4976
	0x6e, 0x22, 0xad, 0x04, 0x0a, 0x17, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
4977
	0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02,
4978
	0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
4979
	0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74,
4980
	0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e,
4981
	0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20,
4982
	0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d,
4983
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e,
4984
	0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75,
4985
	0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20,
4986
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c,
4987
	0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
4988
	0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c,
4989
	0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20,
4990
	0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c,
4991
	0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2,
4992
	0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73,
4993
	0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d,
4994
	0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d,
4995
	0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52,
4996
	0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x4e, 0x0a, 0x08, 0x6d, 0x65,
4997
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62,
4998
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
4999
	0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
5000
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
5001
	0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x69,
5002
	0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x73,
5003
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
5004
	0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74,
5005
	0x65, 0x72, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
5006
	0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01,
5007
	0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63,
5008
	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
5009
	0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52,
5010
	0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
5011
	0x6e, 0x22, 0xad, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
5012
	0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74,
5013
	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
5014
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41, 0x66, 0x32,
5015
	0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20,
5016
	0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63,
5017
	0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64,
5018
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20,
5019
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70,
5020
	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f,
5021
	0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
5022
	0x6e, 0x22, 0x6e, 0x0a, 0x18, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69,
5023
	0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a,
5024
	0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
5025
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x74,
5026
	0x75, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
5027
	0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
5028
	0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
5029
	0x6e, 0x22, 0xab, 0x04, 0x0a, 0x14, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52,
5030
	0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74,
5031
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b,
5032
	0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
5033
	0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5034
	0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74,
5035
	0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e,
5036
	0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20,
5037
	0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20,
5038
	0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e,
5039
	0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f,
5040
	0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65,
5041
	0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e,
5042
	0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65,
5043
	0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d,
5044
	0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c,
5045
	0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42,
5046
	0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
5047
	0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c,
5048
	0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65,
5049
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x4b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
5050
	0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x62, 0x61, 0x73, 0x65,
5051
	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61,
5052
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5053
	0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61,
5054
	0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03,
5055
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
5056
	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08,
5057
	0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
5058
	0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20,
5059
	0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01, 0x52, 0x09,
5060
	0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63, 0x6f, 0x6e,
5061
	0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20,
5062
	0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x10, 0x63,
5063
	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
5064
	0xaa, 0x01, 0x0a, 0x1c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61,
5065
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5066
	0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
5067
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20,
5068
	0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76,
5069
	0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c,
5070
	0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
5071
	0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
5072
	0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
5073
	0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29,
5074
	0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x77, 0x0a, 0x15,
5075
	0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73,
5076
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
5077
	0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x61, 0x73, 0x65,
5078
	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61,
5079
	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e,
5080
	0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
5081
	0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f,
5082
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd4, 0x03, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65,
5083
	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09,
5084
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
5085
	0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
5086
	0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5087
	0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f,
5088
	0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65,
5089
	0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79,
5090
	0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65,
5091
	0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65,
5092
	0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63,
5093
	0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69,
5094
	0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61,
5095
	0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68,
5096
	0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61,
5097
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c,
5098
	0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa,
5099
	0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
5100
	0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31,
5101
	0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74,
5102
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x75, 0x70, 0x6c,
5103
	0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
5104
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69,
5105
	0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c,
5106
	0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x10,
5107
	0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
5108
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
5109
	0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
5110
	0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x10, 0x61, 0x74, 0x74, 0x72,
5111
	0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa0, 0x01, 0x0a,
5112
	0x12, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
5113
	0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b,
5114
	0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41, 0x66, 0x32, 0x64, 0x54,
5115
	0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f,
5116
	0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63,
5117
	0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74,
5118
	0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f,
5119
	0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72,
5120
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65,
5121
	0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
5122
	0xf6, 0x02, 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70,
5123
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02,
5124
	0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
5125
	0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74,
5126
	0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e,
5127
	0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20,
5128
	0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d,
5129
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e,
5130
	0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75,
5131
	0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20,
5132
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c,
5133
	0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
5134
	0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c,
5135
	0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20,
5136
	0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c,
5137
	0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2,
5138
	0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73,
5139
	0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d,
5140
	0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d,
5141
	0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52,
5142
	0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69,
5143
	0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x73,
5144
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
5145
	0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa8, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x6c,
5146
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
5147
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70,
5148
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41,
5149
	0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65,
5150
	0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65,
5151
	0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65,
5152
	0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61,
5153
	0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f,
5154
	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d,
5155
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f,
5156
	0x6b, 0x65, 0x6e, 0x22, 0xd9, 0x03, 0x0a, 0x10, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75,
5157
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e,
5158
	0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92,
5159
	0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72,
5160
	0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20,
5161
	0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75,
5162
	0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5163
	0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e,
5164
	0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72,
5165
	0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5166
	0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65,
5167
	0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64,
5168
	0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20,
5169
	0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70,
5170
	0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
5171
	0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d,
5172
	0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72,
5173
	0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30,
5174
	0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32,
5175
	0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61,
5176
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
5177
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x72, 0x67,
5178
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62,
5179
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75, 0x6e,
5180
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
5181
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
5182
	0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e,
5183
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
5184
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
5185
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
5186
	0x9f, 0x01, 0x0a, 0x11, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73,
5187
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
5188
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41, 0x66, 0x32,
5189
	0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20,
5190
	0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63,
5191
	0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64,
5192
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20,
5193
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70,
5194
	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f,
5195
	0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
5196
	0x6e, 0x22, 0xf0, 0x02, 0x0a, 0x12, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74,
5197
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e,
5198
	0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92,
5199
	0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72,
5200
	0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20,
5201
	0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75,
5202
	0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5203
	0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e,
5204
	0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72,
5205
	0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5206
	0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65,
5207
	0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64,
5208
	0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20,
5209
	0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70,
5210
	0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
5211
	0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d,
5212
	0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72,
5213
	0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30,
5214
	0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32,
5215
	0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61,
5216
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x07, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73,
5217
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
5218
	0x2e, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x07, 0x62, 0x75, 0x6e,
5219
	0x64, 0x6c, 0x65, 0x73, 0x22, 0x2b, 0x0a, 0x13, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x57, 0x72,
5220
	0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e,
5221
	0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65,
5222
	0x73, 0x22, 0xd4, 0x02, 0x0a, 0x11, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64,
5223
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61,
5224
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41,
5225
	0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20,
5226
	0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69,
5227
	0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73,
5228
	0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63,
5229
	0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65,
5230
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65,
5231
	0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5232
	0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e,
5233
	0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e,
5234
	0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d,
5235
	0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61,
5236
	0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
5237
	0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61,
5238
	0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29,
5239
	0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d,
5240
	0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38,
5241
	0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5242
	0x74, 0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
5243
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x12, 0x42, 0x75, 0x6e, 0x64,
5244
	0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b,
5245
	0x0a, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
5246
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e,
5247
	0x64, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0xd6, 0x02, 0x0a, 0x13,
5248
	0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
5249
	0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
5250
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6,
5251
	0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74,
5252
	0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f,
5253
	0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20,
5254
	0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68,
5255
	0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e,
5256
	0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73,
5257
	0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f,
5258
	0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72,
5259
	0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71,
5260
	0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20,
5261
	0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72,
5262
	0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
5263
	0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34,
5264
	0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32,
5265
	0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d,
5266
	0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a,
5267
	0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64,
5268
	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
5269
	0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65,
5270
	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04,
5271
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
5272
	0x22, 0x61, 0x0a, 0x13, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
5273
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
5274
	0x01, 0x28, 0x09, 0x42, 0x1a, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x28, 0x40, 0x32, 0x0e, 0x5b, 0x61,
5275
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0xd0, 0x01, 0x00, 0x52,
5276
	0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
5277
	0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x28, 0x40, 0xd0, 0x01, 0x00, 0x52, 0x04, 0x6e,
5278
	0x61, 0x6d, 0x65, 0x22, 0x3f, 0x0a, 0x14, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65,
5279
	0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x74,
5280
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61,
5281
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65,
5282
	0x6e, 0x61, 0x6e, 0x74, 0x22, 0x2f, 0x0a, 0x13, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x44, 0x65,
5283
	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69,
5284
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01,
5285
	0x00, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3f, 0x0a, 0x14, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x44,
5286
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a,
5287
	0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
5288
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x06,
5289
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x22, 0x72, 0x0a, 0x11, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5290
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x70,
5291
	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09,
5292
	0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f,
5293
	0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f,
5294
	0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08,
5295
	0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
5296
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6b, 0x0a, 0x12, 0x54, 0x65,
5297
	0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
5298
	0x12, 0x29, 0x0a, 0x07, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
5299
	0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61,
5300
	0x6e, 0x74, 0x52, 0x07, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63,
5301
	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
5302
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75,
5303
	0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0xf2, 0x66, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d,
5304
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xe8, 0x0d, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b,
5305
	0x12, 0x1f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69,
5306
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
5307
	0x74, 0x1a, 0x20, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d,
5308
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
5309
	0x6e, 0x73, 0x65, 0x22, 0x9b, 0x0d, 0x92, 0x41, 0xe3, 0x0c, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d,
5310
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x20, 0x61, 0x70,
5311
	0x69, 0x2a, 0x11, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63,
5312
	0x68, 0x65, 0x63, 0x6b, 0x6a, 0xb6, 0x0c, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53,
5313
	0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xa4, 0x0c, 0x32, 0xa1, 0x0c, 0x0a, 0xc0, 0x04, 0x2a,
5314
	0xbd, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67,
5315
	0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a,
5316
	0x9d, 0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x92, 0x04, 0x1a, 0x8f, 0x04,
5317
	0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e,
5318
	0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x65,
5319
	0x63, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67,
5320
	0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72,
5321
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
5322
	0x65, 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5323
	0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65,
5324
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d,
5325
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
5326
	0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5327
	0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20,
5328
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65,
5329
	0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20,
5330
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30,
5331
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74,
5332
	0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20,
5333
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20,
5334
	0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5335
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20,
5336
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5337
	0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5338
	0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53,
5339
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5340
	0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20,
5341
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a,
5342
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x69, 0x66, 0x20, 0x63, 0x72, 0x2e,
5343
	0x43, 0x61, 0x6e, 0x20, 0x3d, 0x3d, 0x20, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5344
	0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
5345
	0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f,
5346
	0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f,
5347
	0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x0a,
5348
	0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20,
5349
	0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x0a, 0x7d, 0x0a,
5350
	0x9b, 0x04, 0x2a, 0x98, 0x04, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06,
5351
	0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c,
5352
	0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xee, 0x03, 0x0a,
5353
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xe3, 0x03, 0x1a, 0xe0, 0x03, 0x63, 0x6c, 0x69,
5354
	0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x63,
5355
	0x68, 0x65, 0x63, 0x6b, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5356
	0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20,
5357
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5358
	0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22,
5359
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d,
5360
	0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5361
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x0a,
5362
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74,
5363
	0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70,
5364
	0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c,
5365
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22,
5366
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x6d,
5367
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a,
5368
	0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20,
5369
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73,
5370
	0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a,
5371
	0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68,
5372
	0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e,
5373
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f,
5374
	0x6e, 0x73, 0x65, 0x2e, 0x63, 0x61, 0x6e, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x50, 0x65, 0x72, 0x6d,
5375
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
5376
	0x6e, 0x73, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x45, 0x53, 0x55, 0x4c,
5377
	0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5378
	0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67,
5379
	0x28, 0x22, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44,
5380
	0x22, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a,
5381
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e,
5382
	0x6c, 0x6f, 0x67, 0x28, 0x22, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x44, 0x45, 0x4e, 0x49,
5383
	0x45, 0x44, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x0a, 0xbd, 0x03,
5384
	0x2a, 0xba, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04,
5385
	0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04,
5386
	0x63, 0x75, 0x72, 0x6c, 0x0a, 0x96, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
5387
	0x8b, 0x03, 0x1a, 0x88, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61,
5388
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50,
5389
	0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33,
5390
	0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
5391
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69,
5392
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x27, 0x20, 0x5c, 0x0a,
5393
	0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
5394
	0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
5395
	0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61,
5396
	0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74,
5397
	0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73,
5398
	0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
5399
	0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73,
5400
	0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x64,
5401
	0x65, 0x70, 0x74, 0x68, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
5402
	0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5403
	0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
5404
	0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a,
5405
	0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x70, 0x65, 0x72,
5406
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22,
5407
	0x2c, 0x0a, 0x20, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b,
5408
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x75, 0x73,
5409
	0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22,
5410
	0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
5411
	0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4,
5412
	0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61,
5413
	0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
5414
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x68, 0x65, 0x63,
5415
	0x6b, 0x12, 0xb4, 0x09, 0x0a, 0x06, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x12, 0x20, 0x2e, 0x62,
5416
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5417
	0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
5418
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5419
	0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
5420
	0x65, 0x22, 0xe4, 0x08, 0x92, 0x41, 0xab, 0x08, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5421
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x70, 0x69,
5422
	0x2a, 0x12, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x78,
5423
	0x70, 0x61, 0x6e, 0x64, 0x6a, 0xfc, 0x07, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53,
5424
	0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xea, 0x07, 0x32, 0xe7, 0x07, 0x0a, 0xee, 0x02, 0x2a,
5425
	0xeb, 0x02, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67,
5426
	0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a,
5427
	0xcb, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc0, 0x02, 0x1a, 0xbd, 0x02,
5428
	0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e,
5429
	0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70,
5430
	0x61, 0x6e, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b,
5431
	0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65,
5432
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65,
5433
	0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e,
5434
	0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d,
5435
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72,
5436
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71,
5437
	0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20,
5438
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a,
5439
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68,
5440
	0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
5441
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74,
5442
	0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7b, 0x0a, 0x20,
5443
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65,
5444
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5445
	0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5446
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5447
	0x6e, 0x3a, 0x20, 0x22, 0x70, 0x75, 0x73, 0x68, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x8d, 0x02,
5448
	0x2a, 0x8a, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04,
5449
	0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a,
5450
	0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xe0, 0x01, 0x0a, 0x06, 0x73,
5451
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xd5, 0x01, 0x1a, 0xd2, 0x01, 0x63, 0x6c, 0x69, 0x65, 0x6e,
5452
	0x74, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x65, 0x78, 0x70,
5453
	0x61, 0x6e, 0x64, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5454
	0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65,
5455
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5456
	0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c,
5457
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56,
5458
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
5459
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a,
5460
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x72,
5461
	0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5462
	0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20,
5463
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5464
	0x6e, 0x3a, 0x20, 0x22, 0x70, 0x75, 0x73, 0x68, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xe3, 0x02,
5465
	0x2a, 0xe0, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04,
5466
	0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04,
5467
	0x63, 0x75, 0x72, 0x6c, 0x0a, 0xbc, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
5468
	0xb1, 0x02, 0x1a, 0xae, 0x02, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61,
5469
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50,
5470
	0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33,
5471
	0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
5472
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69,
5473
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x27, 0x20, 0x5c,
5474
	0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65,
5475
	0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
5476
	0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64,
5477
	0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x6d, 0x65,
5478
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22,
5479
	0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a,
5480
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
5481
	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
5482
	0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5483
	0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
5484
	0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a,
5485
	0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x70, 0x65, 0x72,
5486
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x70, 0x75, 0x73, 0x68, 0x22,
5487
	0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x22, 0x2a, 0x2f, 0x76,
5488
	0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5489
	0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5490
	0x73, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x12, 0xb2, 0x0c, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f,
5491
	0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x26, 0x2e, 0x62, 0x61, 0x73, 0x65,
5492
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f,
5493
	0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
5494
	0x74, 0x1a, 0x27, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d,
5495
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69,
5496
	0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd0, 0x0b, 0x92, 0x41, 0x90,
5497
	0x0b, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x6c,
5498
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2a, 0x18, 0x70, 0x65,
5499
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
5500
	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x6a, 0xd8, 0x0a, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64,
5501
	0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xc6, 0x0a, 0x32, 0xc3, 0x0a, 0x0a, 0xd5,
5502
	0x03, 0x2a, 0xd2, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a,
5503
	0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67,
5504
	0x6f, 0x0a, 0xb2, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xa7, 0x03, 0x1a,
5505
	0xa4, 0x03, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69,
5506
	0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c,
5507
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x28, 0x63, 0x6f, 0x6e, 0x74,
5508
	0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29,
5509
	0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5510
	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75,
5511
	0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
5512
	0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74,
5513
	0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69,
5514
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74,
5515
	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5516
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f,
5517
	0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5518
	0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
5519
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74,
5520
	0x68, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
5521
	0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64,
5522
	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65,
5523
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22,
5524
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26,
5525
	0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5526
	0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22,
5527
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31,
5528
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x67,
5529
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43,
5530
	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20,
5531
	0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xa7, 0x03, 0x2a, 0xa4, 0x03, 0x0a, 0x0f, 0x0a, 0x05,
5532
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a,
5533
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72,
5534
	0x69, 0x70, 0x74, 0x0a, 0xfa, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xef,
5535
	0x02, 0x1a, 0xec, 0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69,
5536
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69,
5537
	0x74, 0x79, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
5538
	0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74,
5539
	0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5540
	0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
5541
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65,
5542
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5543
	0x20, 0x20, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20,
5544
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74,
5545
	0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c,
5546
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
5547
	0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62,
5548
	0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5549
	0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5550
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20,
5551
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
5552
	0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74,
5553
	0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22,
5554
	0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
5555
	0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e,
5556
	0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
5557
	0x65, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x29, 0x0a, 0x7d, 0x29,
5558
	0x0a, 0xbe, 0x03, 0x2a, 0xbb, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
5559
	0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12,
5560
	0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x97, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
5561
	0x63, 0x65, 0x12, 0x8c, 0x03, 0x1a, 0x89, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c,
5562
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
5563
	0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73,
5564
	0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5565
	0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65,
5566
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
5567
	0x2d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61,
5568
	0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70,
5569
	0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a,
5570
	0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61,
5571
	0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5572
	0x22, 0x3a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f,
5573
	0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73,
5574
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20,
5575
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x3a,
5576
	0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69,
5577
	0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d,
5578
	0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5579
	0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5580
	0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5581
	0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a,
5582
	0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x7d,
5583
	0x2c, 0x0a, 0x20, 0x20, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a,
5584
	0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f,
5585
	0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d,
5586
	0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x3a, 0x01, 0x2a, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f,
5587
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
5588
	0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
5589
	0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0xcc, 0x0c,
5590
	0x0a, 0x0e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73,
5591
	0x12, 0x27, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69,
5592
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69,
5593
	0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62, 0x61, 0x73, 0x65,
5594
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c,
5595
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
5596
	0x6e, 0x73, 0x65, 0x22, 0xe6, 0x0b, 0x92, 0x41, 0xa4, 0x0b, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d,
5597
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x20, 0x65,
5598
	0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2a, 0x1a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5599
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74,
5600
	0x69, 0x65, 0x73, 0x6a, 0xe8, 0x0a, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61,
5601
	0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xd6, 0x0a, 0x32, 0xd3, 0x0a, 0x0a, 0xdb, 0x03, 0x2a, 0xd8,
5602
	0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
5603
	0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xb8,
5604
	0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xad, 0x03, 0x1a, 0xaa, 0x03, 0x63,
5605
	0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
5606
	0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b,
5607
	0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65,
5608
	0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c,
5609
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
5610
	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75,
5611
	0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
5612
	0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74,
5613
	0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69,
5614
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74,
5615
	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5616
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f,
5617
	0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5618
	0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
5619
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74,
5620
	0x68, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
5621
	0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64,
5622
	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65,
5623
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x5b, 0x22, 0x65, 0x64, 0x69,
5624
	0x74, 0x22, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
5625
	0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a, 0x20,
5626
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73,
5627
	0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a,
5628
	0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20,
5629
	0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20,
5630
	0x20, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65,
5631
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xac, 0x03, 0x2a, 0xa9, 0x03, 0x0a,
5632
	0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65,
5633
	0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61,
5634
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xff, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
5635
	0x65, 0x12, 0xf4, 0x02, 0x1a, 0xf1, 0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65,
5636
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45,
5637
	0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65,
5638
	0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5639
	0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20,
5640
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a,
5641
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68,
5642
	0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
5643
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32,
5644
	0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74,
5645
	0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d,
5646
	0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
5647
	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x5b, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x5d, 0x2c,
5648
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a,
5649
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75,
5650
	0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64,
5651
	0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5652
	0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a,
5653
	0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74,
5654
	0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e,
5655
	0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b,
5656
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67,
5657
	0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
5658
	0x5f, 0x69, 0x64, 0x73, 0x29, 0x0a, 0x7d, 0x29, 0x0a, 0xc3, 0x03, 0x2a, 0xc0, 0x03, 0x0a, 0x0f,
5659
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a,
5660
	0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a,
5661
	0x9c, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x91, 0x03, 0x1a, 0x8e, 0x03,
5662
	0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
5663
	0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27,
5664
	0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76,
5665
	0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5666
	0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5667
	0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65,
5668
	0x73, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43,
5669
	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70,
5670
	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c,
5671
	0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20,
5672
	0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x7b, 0x0a, 0x20, 0x20,
5673
	0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20,
5674
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f,
5675
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5676
	0x20, 0x20, 0x22, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20,
5677
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70,
5678
	0x65, 0x22, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a,
5679
	0x20, 0x20, 0x22, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3a,
5680
	0x20, 0x5b, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x73, 0x75,
5681
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74,
5682
	0x79, 0x70, 0x65, 0x22, 0x3a, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5683
	0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
5684
	0x20, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x20, 0x32, 0x30,
5685
	0x2c, 0x0a, 0x20, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f,
5686
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x27, 0x82, 0xd3,
5687
	0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01, 0x2a, 0x22, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e,
5688
	0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d,
5689
	0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f,
5690
	0x6b, 0x75, 0x70, 0x2d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x8d, 0x0e, 0x0a,
5691
	0x14, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x53,
5692
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x27, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
5693
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
5694
	0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e,
5695
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5696
	0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
5697
	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99,
5698
	0x0d, 0x92, 0x41, 0xd0, 0x0c, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5699
	0x6e, 0x12, 0x16, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69,
5700
	0x65, 0x73, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2a, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69,
5701
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74,
5702
	0x69, 0x74, 0x69, 0x65, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x6a, 0x87, 0x0c, 0x0a, 0x0d,
5703
	0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xf5, 0x0b,
5704
	0x32, 0xf2, 0x0b, 0x0a, 0xdf, 0x04, 0x2a, 0xdc, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62,
5705
	0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
5706
	0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xbc, 0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
5707
	0x65, 0x12, 0xb1, 0x04, 0x1a, 0xae, 0x04, 0x73, 0x74, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20,
5708
	0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5709
	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74,
5710
	0x69, 0x65, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
5711
	0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20,
5712
	0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c,
5713
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
5714
	0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5715
	0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5716
	0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71,
5717
	0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20,
5718
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a,
5719
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68,
5720
	0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
5721
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x35,
5722
	0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e,
5723
	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d,
5724
	0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5725
	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x5b, 0x22, 0x76, 0x69, 0x65, 0x77, 0x22, 0x5d, 0x2c,
5726
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26, 0x76,
5727
	0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5728
	0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c,
5729
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22,
5730
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x67,
5731
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43,
5732
	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20,
5733
	0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c,
5734
	0x65, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
5735
	0x65, 0x0a, 0x66, 0x6f, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x2c,
5736
	0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x2e, 0x52, 0x65, 0x63, 0x76,
5737
	0x28, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3d,
5738
	0x3d, 0x20, 0x69, 0x6f, 0x2e, 0x45, 0x4f, 0x46, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5739
	0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a,
5740
	0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
5741
	0x79, 0x49, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5742
	0x69, 0x6f, 0x6e, 0x0a, 0x7d, 0x0a, 0x8d, 0x07, 0x2a, 0x8a, 0x07, 0x0a, 0x0f, 0x0a, 0x05, 0x6c,
5743
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04,
5744
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69,
5745
	0x70, 0x74, 0x0a, 0xe0, 0x06, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xd5, 0x06,
5746
	0x1a, 0xd2, 0x06, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79,
5747
	0x20, 0x3d, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x22, 0x40, 0x70, 0x65, 0x72,
5748
	0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2d, 0x6e, 0x6f, 0x64,
5749
	0x65, 0x22, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x50, 0x65, 0x72, 0x6d,
5750
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74,
5751
	0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
5752
	0x65, 0x7d, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x22, 0x40, 0x70,
5753
	0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2d, 0x6e,
5754
	0x6f, 0x64, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x2f, 0x73, 0x72, 0x63, 0x2f, 0x67, 0x72, 0x70,
5755
	0x63, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x62, 0x61, 0x73, 0x65,
5756
	0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x29, 0x3b, 0x0a, 0x0a,
5757
	0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20,
5758
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x6c, 0x69, 0x65,
5759
	0x6e, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79,
5760
	0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x28,
5761
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
5762
	0x6e, 0x74, 0x3a, 0x20, 0x22, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33,
5763
	0x34, 0x37, 0x38, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x20,
5764
	0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69,
5765
	0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6c,
5766
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x53, 0x74, 0x72,
5767
	0x65, 0x61, 0x6d, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65,
5768
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5769
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a,
5770
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5771
	0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
5772
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5773
	0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5774
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74,
5775
	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
5776
	0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72,
5777
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x5b, 0x22, 0x76, 0x69, 0x65, 0x77,
5778
	0x22, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a,
5779
	0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5780
	0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c,
5781
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a,
5782
	0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
5783
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
5784
	0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63,
5785
	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a,
5786
	0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20,
5787
	0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x72, 0x65, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x0a,
5788
	0x0a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
5789
	0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x72, 0x65, 0x73, 0x3a, 0x20, 0x41, 0x73, 0x79, 0x6e,
5790
	0x63, 0x49, 0x74, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5791
	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74,
5792
	0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3e,
5793
	0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x77, 0x61, 0x69,
5794
	0x74, 0x20, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
5795
	0x65, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5796
	0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
5797
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
5798
	0x73, 0x65, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20,
5799
	0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x3a, 0x01, 0x2a, 0x22, 0x3a,
5800
	0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e,
5801
	0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
5802
	0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d, 0x65, 0x6e, 0x74, 0x69, 0x74,
5803
	0x69, 0x65, 0x73, 0x2d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, 0x01, 0x12, 0xd0, 0x0d, 0x0a,
5804
	0x12, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72,
5805
	0x65, 0x61, 0x6d, 0x12, 0x26, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65,
5806
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e,
5807
	0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x62, 0x61,
5808
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5809
	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65,
5810
	0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe0, 0x0c, 0x92, 0x41, 0x99,
5811
	0x0c, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x6c,
5812
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x73, 0x74, 0x72,
5813
	0x65, 0x61, 0x6d, 0x2a, 0x1e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
5814
	0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72,
5815
	0x65, 0x61, 0x6d, 0x6a, 0xd4, 0x0b, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61,
5816
	0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xc2, 0x0b, 0x32, 0xbf, 0x0b, 0x0a, 0xc8, 0x04, 0x2a, 0xc5,
5817
	0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
5818
	0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xa5,
5819
	0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x9a, 0x04, 0x1a, 0x97, 0x04, 0x73,
5820
	0x74, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e,
5821
	0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x6f,
5822
	0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x28,
5823
	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75,
5824
	0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5825
	0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
5826
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74,
5827
	0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69,
5828
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74,
5829
	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5830
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f,
5831
	0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5832
	0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
5833
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74,
5834
	0x68, 0x3a, 0x20, 0x35, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
5835
	0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64,
5836
	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65,
5837
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x76, 0x69, 0x65, 0x77, 0x22,
5838
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26,
5839
	0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5840
	0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22,
5841
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31,
5842
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61,
5843
	0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5844
	0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a,
5845
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64,
5846
	0x6c, 0x65, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
5847
	0x73, 0x65, 0x0a, 0x66, 0x6f, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73,
5848
	0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x2e, 0x52, 0x65, 0x63,
5849
	0x76, 0x28, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x65, 0x72, 0x72, 0x20,
5850
	0x3d, 0x3d, 0x20, 0x69, 0x6f, 0x2e, 0x45, 0x4f, 0x46, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5851
	0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a,
5852
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69,
5853
	0x74, 0x79, 0x49, 0x64, 0x0a, 0x7d, 0x0a, 0xf1, 0x06, 0x2a, 0xee, 0x06, 0x0a, 0x0f, 0x0a, 0x05,
5854
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a,
5855
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72,
5856
	0x69, 0x70, 0x74, 0x0a, 0xc4, 0x06, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xb9,
5857
	0x06, 0x1a, 0xb6, 0x06, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66,
5858
	0x79, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x22, 0x40, 0x70, 0x65,
5859
	0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2d, 0x6e, 0x6f,
5860
	0x64, 0x65, 0x22, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x50, 0x65, 0x72,
5861
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74,
5862
	0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
5863
	0x65, 0x7d, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x22, 0x40, 0x70,
5864
	0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2d, 0x6e,
5865
	0x6f, 0x64, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x2f, 0x73, 0x72, 0x63, 0x2f, 0x67, 0x72, 0x70,
5866
	0x63, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x62, 0x61, 0x73, 0x65,
5867
	0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x29, 0x3b, 0x0a, 0x0a,
5868
	0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20,
5869
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x6c, 0x69, 0x65,
5870
	0x6e, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79,
5871
	0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x28,
5872
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
5873
	0x6e, 0x74, 0x3a, 0x20, 0x22, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33,
5874
	0x34, 0x37, 0x38, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x20,
5875
	0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69,
5876
	0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6c,
5877
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61,
5878
	0x6d, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61,
5879
	0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5880
	0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22,
5881
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73,
5882
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22,
5883
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65,
5884
	0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5885
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74,
5886
	0x79, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
5887
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69,
5888
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x76, 0x69, 0x65, 0x77, 0x22, 0x2c, 0x0a, 0x20,
5889
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20,
5890
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79,
5891
	0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5892
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a,
5893
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5894
	0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30,
5895
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
5896
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20,
5897
	0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x61, 0x6e, 0x64,
5898
	0x6c, 0x65, 0x28, 0x72, 0x65, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x61, 0x73, 0x79, 0x6e,
5899
	0x63, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c,
5900
	0x65, 0x28, 0x72, 0x65, 0x73, 0x3a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x49, 0x74, 0x65, 0x72,
5901
	0x61, 0x62, 0x6c, 0x65, 0x3c, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
5902
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61,
5903
	0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20,
5904
	0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x28, 0x63, 0x6f, 0x6e,
5905
	0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x72,
5906
	0x65, 0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f,
5907
	0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
5908
	0x49, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d,
5909
	0x3a, 0x01, 0x2a, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
5910
	0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72,
5911
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d,
5912
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, 0x01, 0x12,
5913
	0xe3, 0x0d, 0x0a, 0x0d, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63,
5914
	0x74, 0x12, 0x27, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d,
5915
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a,
5916
	0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62, 0x61, 0x73,
5917
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
5918
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70,
5919
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfe, 0x0c, 0x92, 0x41, 0xbd, 0x0c, 0x0a, 0x0a, 0x50, 0x65, 0x72,
5920
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d,
5921
	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2a, 0x19, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5922
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65,
5923
	0x63, 0x74, 0x6a, 0x83, 0x0c, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d,
5924
	0x70, 0x6c, 0x65, 0x73, 0x12, 0xf1, 0x0b, 0x32, 0xee, 0x0b, 0x0a, 0x9f, 0x04, 0x2a, 0x9c, 0x04,
5925
	0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a,
5926
	0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xfc, 0x03,
5927
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xf1, 0x03, 0x1a, 0xee, 0x03, 0x63, 0x72,
5928
	0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
5929
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
5930
	0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
5931
	0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26,
5932
	0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f,
5933
	0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
5934
	0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a,
5935
	0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64,
5936
	0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5937
	0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
5938
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b,
5939
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b,
5940
	0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5941
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22,
5942
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74, 0x68,
5943
	0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5944
	0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74,
5945
	0x69, 0x74, 0x79, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70,
5946
	0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20,
5947
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a,
5948
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69,
5949
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20,
5950
	0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
5951
	0x6e, 0x63, 0x65, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
5952
	0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5953
	0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22,
5954
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
5955
	0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
5956
	0x20, 0x20, 0x20, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c,
5957
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54,
5958
	0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xdc, 0x03, 0x2a,
5959
	0xd9, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e,
5960
	0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a,
5961
	0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xaf, 0x03, 0x0a, 0x06, 0x73, 0x6f,
5962
	0x75, 0x72, 0x63, 0x65, 0x12, 0xa4, 0x03, 0x1a, 0xa1, 0x03, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
5963
	0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b,
5964
	0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5965
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a,
5966
	0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a,
5967
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65,
5968
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73,
5969
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22,
5970
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a,
5971
	0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5972
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5973
	0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
5974
	0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20,
5975
	0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5976
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69,
5977
	0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f,
5978
	0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5979
	0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72,
5980
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74,
5981
	0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
5982
	0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x31, 0x30,
5983
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
5984
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68,
5985
	0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e,
5986
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c,
5987
	0x6f, 0x67, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x73, 0x75, 0x62, 0x6a,
5988
	0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x29, 0x0a, 0x7d, 0x29, 0x0a, 0xea, 0x03, 0x2a, 0xe7,
5989
	0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55,
5990
	0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75,
5991
	0x72, 0x6c, 0x0a, 0xc3, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xb8, 0x03,
5992
	0x1a, 0xb5, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
5993
	0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53,
5994
	0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37,
5995
	0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65,
5996
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5997
	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d, 0x73, 0x75, 0x62, 0x6a,
5998
	0x65, 0x63, 0x74, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20,
5999
	0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61,
6000
	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27,
6001
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b,
6002
	0x0a, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x7b, 0x0a,
6003
	0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
6004
	0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d,
6005
	0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
6006
	0x20, 0x20, 0x20, 0x20, 0x22, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x2c,
6007
	0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22,
6008
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20,
6009
	0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6010
	0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
6011
	0x20, 0x22, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22,
6012
	0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
6013
	0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x3a, 0x20, 0x7b, 0x0a,
6014
	0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65,
6015
	0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
6016
	0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x70,
6017
	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20,
6018
	0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
6019
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01,
6020
	0x2a, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
6021
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69,
6022
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d, 0x73, 0x75,
6023
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0xf4, 0x0c, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63,
6024
	0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x62, 0x61,
6025
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
6026
	0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
6027
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
6028
	0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62,
6029
	0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
6030
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x0c, 0x92, 0x41, 0xbe, 0x0b, 0x0a, 0x0a, 0x50,
6031
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65,
6032
	0x63, 0x74, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2a, 0x1d, 0x70,
6033
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x6a, 0x65,
6034
	0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x6a, 0xfc, 0x0a, 0x0a,
6035
	0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xea,
6036
	0x0a, 0x32, 0xe7, 0x0a, 0x0a, 0xf1, 0x03, 0x2a, 0xee, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61,
6037
	0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
6038
	0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xce, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
6039
	0x63, 0x65, 0x12, 0xc3, 0x03, 0x1a, 0xc0, 0x03, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20,
6040
	0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
6041
	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d,
6042
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42,
6043
	0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31,
6044
	0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65,
6045
	0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
6046
	0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
6047
	0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74,
6048
	0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69,
6049
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d,
6050
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74,
6051
	0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53,
6052
	0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6053
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73,
6054
	0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6055
	0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
6056
	0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6057
	0x44, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
6058
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76,
6059
	0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6060
	0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
6061
	0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64,
6062
	0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
6063
	0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53,
6064
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6065
	0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6066
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20,
6067
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x9f, 0x03, 0x2a, 0x9c, 0x03, 0x0a, 0x0f,
6068
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a,
6069
	0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73,
6070
	0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xf2, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
6071
	0x12, 0xe7, 0x02, 0x1a, 0xe4, 0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72,
6072
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
6073
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6074
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a,
6075
	0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a,
6076
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65,
6077
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73,
6078
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22,
6079
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x50, 0x65,
6080
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a,
6081
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32,
6082
	0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74,
6083
	0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74,
6084
	0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
6085
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22,
6086
	0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75,
6087
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6088
	0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20,
6089
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20,
6090
	0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65,
6091
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6092
	0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x72, 0x65, 0x73,
6093
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x29, 0x0a, 0xce, 0x03, 0x2a, 0xcb, 0x03,
6094
	0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52,
6095
	0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72,
6096
	0x6c, 0x0a, 0xa7, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x9c, 0x03, 0x1a,
6097
	0x99, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
6098
	0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54,
6099
	0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36,
6100
	0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e,
6101
	0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
6102
	0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2d, 0x70, 0x65, 0x72, 0x6d,
6103
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64,
6104
	0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65,
6105
	0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73,
6106
	0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77,
6107
	0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22,
6108
	0x3a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b,
6109
	0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63,
6110
	0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22,
6111
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x65, 0x72,
6112
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a,
6113
	0x20, 0x20, 0x20, 0x20, 0x22, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x0a,
6114
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a,
6115
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22,
6116
	0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6117
	0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
6118
	0x20, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20,
6119
	0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72,
6120
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22,
6121
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
6122
	0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02,
6123
	0x3b, 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
6124
	0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65,
6125
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
6126
	0x74, 0x2d, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x84, 0x08, 0x0a,
6127
	0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0xfa, 0x07, 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68,
6128
	0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68,
6129
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
6130
	0x31, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
6131
	0xbf, 0x07, 0x92, 0x41, 0x93, 0x07, 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x0d, 0x77,
6132
	0x61, 0x74, 0x63, 0x68, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x2a, 0x0b, 0x77, 0x61,
6133
	0x74, 0x63, 0x68, 0x2e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x6a, 0xed, 0x06, 0x0a, 0x0d, 0x78, 0x2d,
6134
	0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xdb, 0x06, 0x32, 0xd8,
6135
	0x06, 0x0a, 0x9e, 0x02, 0x2a, 0x9b, 0x02, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
6136
	0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04,
6137
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xfb, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
6138
	0xf0, 0x01, 0x1a, 0xed, 0x01, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20,
6139
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x57, 0x61, 0x74,
6140
	0x63, 0x68, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67,
6141
	0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x74,
6142
	0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54,
6143
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a,
6144
	0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22,
6145
	0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20,
6146
	0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a,
6147
	0x66, 0x6f, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x65,
6148
	0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x72, 0x2e, 0x52, 0x65, 0x63, 0x76, 0x28, 0x29, 0x0a,
6149
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3d, 0x3d, 0x20, 0x69,
6150
	0x6f, 0x2e, 0x45, 0x4f, 0x46, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6151
	0x62, 0x72, 0x65, 0x61, 0x6b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20,
6152
	0x20, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x0a,
6153
	0x7d, 0x0a, 0x0a, 0xb4, 0x04, 0x2a, 0xb1, 0x04, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
6154
	0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
6155
	0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a,
6156
	0x87, 0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xfc, 0x03, 0x1a, 0xf9, 0x03,
6157
	0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x20, 0x3d, 0x20,
6158
	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x22, 0x40, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66,
6159
	0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x29,
6160
	0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
6161
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x7d, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72,
6162
	0x65, 0x28, 0x22, 0x40, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d,
6163
	0x69, 0x66, 0x79, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x2f, 0x73, 0x72,
6164
	0x63, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64,
6165
	0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
6166
	0x22, 0x29, 0x3b, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x61,
6167
	0x69, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74,
6168
	0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x65,
6169
	0x72, 0x6d, 0x69, 0x66, 0x79, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6e, 0x65, 0x77, 0x43, 0x6c,
6170
	0x69, 0x65, 0x6e, 0x74, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65,
6171
	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x22, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68,
6172
	0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x38, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
6173
	0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20,
6174
	0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x77,
6175
	0x61, 0x74, 0x63, 0x68, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74,
6176
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20,
6177
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
6178
	0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20,
6179
	0x20, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x72, 0x65, 0x73, 0x29, 0x3b, 0x0a, 0x7d,
6180
	0x0a, 0x0a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
6181
	0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x72, 0x65, 0x73, 0x3a, 0x20, 0x41, 0x73, 0x79,
6182
	0x6e, 0x63, 0x49, 0x74, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x57, 0x61, 0x74, 0x63, 0x68,
6183
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6184
	0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x28, 0x63, 0x6f, 0x6e, 0x73,
6185
	0x74, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65,
6186
	0x73, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20,
6187
	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73,
6188
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a,
6189
	0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
6190
	0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x77, 0x61, 0x74, 0x63,
6191
	0x68, 0x30, 0x01, 0x32, 0xac, 0x1f, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0xd3,
6192
	0x10, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
6193
	0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65,
6194
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
6195
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
6196
	0x6e, 0x73, 0x65, 0x22, 0x8e, 0x10, 0x92, 0x41, 0xda, 0x0f, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65,
6197
	0x6d, 0x61, 0x12, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
6198
	0x2a, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6a,
6199
	0xb2, 0x0f, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65,
6200
	0x73, 0x12, 0xa0, 0x0f, 0x32, 0x9d, 0x0f, 0x0a, 0xf2, 0x04, 0x2a, 0xef, 0x04, 0x0a, 0x0d, 0x0a,
6201
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04,
6202
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xcf, 0x04, 0x0a, 0x06, 0x73,
6203
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc4, 0x04, 0x1a, 0xc1, 0x04, 0x73, 0x72, 0x2c, 0x20, 0x65,
6204
	0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x63, 0x68,
6205
	0x65, 0x6d, 0x61, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
6206
	0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20,
6207
	0x26, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52,
6208
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61,
6209
	0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6210
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x3a, 0x20, 0x60, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
6211
	0x74, 0x69, 0x74, 0x79, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x7b, 0x7d, 0x0a, 0x0a, 0x20, 0x20,
6212
	0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
6213
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6214
	0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x40,
6215
	0x75, 0x73, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c,
6216
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73,
6217
	0x65, 0x72, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69,
6218
	0x6f, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
6219
	0x74, 0x6f, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x28, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72,
6220
	0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6221
	0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x3d,
6222
	0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20,
6223
	0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
6224
	0x6f, 0x72, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
6225
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73,
6226
	0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74,
6227
	0x69, 0x6f, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x40, 0x6f, 0x72, 0x67, 0x61,
6228
	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6229
	0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x75, 0x73, 0x68, 0x20, 0x3d, 0x20,
6230
	0x6f, 0x77, 0x6e, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63,
6231
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x3d, 0x20, 0x28, 0x6f, 0x77, 0x6e,
6232
	0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x61,
6233
	0x64, 0x6d, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e,
6234
	0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6235
	0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x3d,
6236
	0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20,
6237
	0x61, 0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69,
6238
	0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20,
6239
	0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x60, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xf3, 0x04, 0x2a,
6240
	0xf0, 0x04, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e,
6241
	0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a,
6242
	0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xc6, 0x04, 0x0a, 0x06, 0x73, 0x6f,
6243
	0x75, 0x72, 0x63, 0x65, 0x12, 0xbb, 0x04, 0x1a, 0xb8, 0x04, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
6244
	0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x7b, 0x0a,
6245
	0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74,
6246
	0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x3a, 0x20,
6247
	0x60, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x75, 0x73, 0x65,
6248
	0x72, 0x20, 0x7b, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
6249
	0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x0a,
6250
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6251
	0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20,
6252
	0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65,
6253
	0x6d, 0x62, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20,
6254
	0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74,
6255
	0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x28,
6256
	0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29,
6257
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
6258
	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x0a, 0x20,
6259
	0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
6260
	0x20, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20,
6261
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f,
6262
	0x77, 0x6e, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6263
	0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x65,
6264
	0x6e, 0x74, 0x20, 0x40, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6265
	0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
6266
	0x20, 0x70, 0x75, 0x73, 0x68, 0x20, 0x3d, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x0a, 0x20, 0x20,
6267
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x61,
6268
	0x64, 0x20, 0x3d, 0x20, 0x28, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x28,
6269
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x64,
6270
	0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29, 0x29,
6271
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
6272
	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
6273
	0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72,
6274
	0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6f, 0x77, 0x6e,
6275
	0x65, 0x72, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x60,
6276
	0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
6277
	0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20,
6278
	0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a,
6279
	0x7d, 0x29, 0x0a, 0xaf, 0x05, 0x2a, 0xac, 0x05, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
6280
	0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
6281
	0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x88, 0x05, 0x0a, 0x06, 0x73, 0x6f,
6282
	0x75, 0x72, 0x63, 0x65, 0x12, 0xfd, 0x04, 0x1a, 0xfa, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d,
6283
	0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75,
6284
	0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68,
6285
	0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61,
6286
	0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
6287
	0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x27, 0x20, 0x5c,
6288
	0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65,
6289
	0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
6290
	0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64,
6291
	0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22,
6292
	0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
6293
	0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x7b, 0x7d, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20,
6294
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
6295
	0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6296
	0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20,
6297
	0x40, 0x75, 0x73, 0x65, 0x72, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72,
6298
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x40,
6299
	0x75, 0x73, 0x65, 0x72, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6300
	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65,
6301
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x28, 0x61, 0x64, 0x6d, 0x69,
6302
	0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29, 0x5c, 0x6e, 0x20, 0x20,
6303
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c,
6304
	0x65, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20,
6305
	0x20, 0x7d, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
6306
	0x20, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x7b, 0x5c, 0x6e, 0x5c,
6307
	0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
6308
	0x6e, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x5c, 0x6e, 0x20,
6309
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
6310
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x40, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
6311
	0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6312
	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x75, 0x73, 0x68, 0x20, 0x3d, 0x20, 0x6f, 0x77,
6313
	0x6e, 0x65, 0x72, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74,
6314
	0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x3d, 0x20, 0x28, 0x6f, 0x77, 0x6e, 0x65,
6315
	0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64,
6316
	0x6d, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d,
6317
	0x65, 0x6d, 0x62, 0x65, 0x72, 0x29, 0x29, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6318
	0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x3d,
6319
	0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20,
6320
	0x61, 0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69,
6321
	0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x29, 0x29, 0x5c, 0x6e, 0x20, 0x7d,
6322
	0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f,
6323
	0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61,
6324
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x77,
6325
	0x72, 0x69, 0x74, 0x65, 0x12, 0xdf, 0x01, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
6326
	0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
6327
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69,
6328
	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x61, 0x73, 0x65,
6329
	0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61,
6330
	0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85,
6331
	0x01, 0x92, 0x41, 0x4a, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x29, 0x70, 0x61,
6332
	0x72, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x79,
6333
	0x6f, 0x75, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
6334
	0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2a, 0x15, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73,
6335
	0x2e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x2d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x82, 0xd3,
6336
	0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x32, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e,
6337
	0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d,
6338
	0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
6339
	0x2d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xf4, 0x06, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12,
6340
	0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
6341
	0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x61,
6342
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64,
6343
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x06, 0x92, 0x41, 0xff, 0x05, 0x0a,
6344
	0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x20, 0x73, 0x63,
6345
	0x68, 0x65, 0x6d, 0x61, 0x2a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2e, 0x72, 0x65,
6346
	0x61, 0x64, 0x6a, 0xd9, 0x05, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d,
6347
	0x70, 0x6c, 0x65, 0x73, 0x12, 0xc7, 0x05, 0x32, 0xc4, 0x05, 0x0a, 0xf5, 0x01, 0x2a, 0xf2, 0x01,
6348
	0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a,
6349
	0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xd2, 0x01,
6350
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc7, 0x01, 0x1a, 0xc4, 0x01, 0x73, 0x72,
6351
	0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
6352
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x74,
6353
	0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29,
6354
	0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64,
6355
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e,
6356
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6357
	0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53,
6358
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
6359
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6360
	0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
6361
	0x20, 0x22, 0x63, 0x6e, 0x62, 0x65, 0x36, 0x73, 0x65, 0x35, 0x66, 0x6d, 0x61, 0x6c, 0x31, 0x38,
6362
	0x67, 0x70, 0x63, 0x36, 0x36, 0x67, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
6363
	0x7d, 0x29, 0x0a, 0xb6, 0x01, 0x2a, 0xb3, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
6364
	0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
6365
	0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a,
6366
	0x89, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7f, 0x1a, 0x7d, 0x6c, 0x65,
6367
	0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x73,
6368
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6369
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c,
6370
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b,
6371
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56,
6372
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x73, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
6373
	0x73, 0x65, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
6374
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x90, 0x02, 0x2a, 0x8d,
6375
	0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55,
6376
	0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75,
6377
	0x72, 0x6c, 0x0a, 0xe9, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xde, 0x01,
6378
	0x1a, 0xdb, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
6379
	0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53,
6380
	0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37,
6381
	0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65,
6382
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73,
6383
	0x2f, 0x72, 0x65, 0x61, 0x64, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65,
6384
	0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a,
6385
	0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f,
6386
	0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20,
6387
	0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
6388
	0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63,
6389
	0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22,
6390
	0x63, 0x6e, 0x62, 0x65, 0x36, 0x73, 0x65, 0x35, 0x66, 0x6d, 0x61, 0x6c, 0x31, 0x38, 0x67, 0x70,
6391
	0x63, 0x36, 0x36, 0x67, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3,
6392
	0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e,
6393
	0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d,
6394
	0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x12, 0xf2, 0x05,
6395
	0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
6396
	0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
6397
	0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68,
6398
	0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
6399
	0xb0, 0x05, 0x92, 0x41, 0xfd, 0x04, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x0b,
6400
	0x6c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2a, 0x0c, 0x73, 0x63, 0x68,
6401
	0x65, 0x6d, 0x61, 0x73, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x6a, 0xd7, 0x04, 0x0a, 0x0d, 0x78, 0x2d,
6402
	0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xc5, 0x04, 0x32, 0xc2,
6403
	0x04, 0x0a, 0xbd, 0x01, 0x2a, 0xba, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
6404
	0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04,
6405
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x9a, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
6406
	0x8f, 0x01, 0x1a, 0x8c, 0x01, 0x73, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20,
6407
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4c, 0x69,
6408
	0x73, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67,
6409
	0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68,
6410
	0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a,
6411
	0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74,
6412
	0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
6413
	0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
6414
	0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d,
6415
	0x29, 0x0a, 0x85, 0x01, 0x2a, 0x82, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
6416
	0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
6417
	0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x59,
6418
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x1a, 0x4d, 0x6c, 0x65, 0x74, 0x20,
6419
	0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x63, 0x68,
6420
	0x65, 0x6d, 0x61, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74,
6421
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20,
6422
	0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b,
6423
	0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x0a, 0xf7, 0x01, 0x2a, 0xf4, 0x01, 0x0a,
6424
	0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c,
6425
	0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c,
6426
	0x0a, 0xd0, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc5, 0x01, 0x1a, 0xc2,
6427
	0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6428
	0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20,
6429
	0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f,
6430
	0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61,
6431
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x6c,
6432
	0x69, 0x73, 0x74, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20,
6433
	0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61,
6434
	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27,
6435
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b,
6436
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22,
6437
	0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x69,
6438
	0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22,
6439
	0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76,
6440
	0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e,
6441
	0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x6c, 0x69,
6442
	0x73, 0x74, 0x32, 0xe5, 0x44, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0xb6, 0x15, 0x0a, 0x05,
6443
	0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
6444
	0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
6445
	0x1a, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x57,
6446
	0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf5, 0x14, 0x92,
6447
	0x41, 0xc4, 0x14, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65,
6448
	0x20, 0x64, 0x61, 0x74, 0x61, 0x2a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x77, 0x72, 0x69, 0x74,
6449
	0x65, 0x6a, 0xa3, 0x14, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70,
6450
	0x6c, 0x65, 0x73, 0x12, 0x91, 0x14, 0x32, 0x8e, 0x14, 0x0a, 0xb6, 0x07, 0x2a, 0xb3, 0x07, 0x0a,
6451
	0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c,
6452
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x93, 0x07, 0x0a,
6453
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x88, 0x07, 0x1a, 0x85, 0x07, 0x2f, 0x2f, 0x20,
6454
	0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x72, 0x61, 0x70,
6455
	0x70, 0x65, 0x64, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61,
6456
	0x6c, 0x75, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x41, 0x6e, 0x79, 0x20, 0x70, 0x72, 0x6f,
6457
	0x74, 0x6f, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65,
6458
	0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x61, 0x6e, 0x79, 0x70, 0x62, 0x2e, 0x4e,
6459
	0x65, 0x77, 0x28, 0x26, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61,
6460
	0x6c, 0x75, 0x65, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x44, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x74,
6461
	0x72, 0x75, 0x65, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x69, 0x66, 0x20, 0x65, 0x72, 0x72, 0x20, 0x21,
6462
	0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x48,
6463
	0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x7d, 0x0a, 0x0a, 0x63,
6464
	0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
6465
	0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74,
6466
	0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29,
6467
	0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52,
6468
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61,
6469
	0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6470
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61,
6471
	0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
6472
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6473
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22,
6474
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x75,
6475
	0x70, 0x6c, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2a, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c,
6476
	0x65, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6477
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a,
6478
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6479
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70,
6480
	0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20,
6481
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49,
6482
	0x64, 0x3a, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6483
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6484
	0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22,
6485
	0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6486
	0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x20, 0x26,
6487
	0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6488
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65,
6489
	0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6490
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x20, 0x20,
6491
	0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6492
	0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22,
6493
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
6494
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6495
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
6496
	0x65, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2a, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
6497
	0x75, 0x74, 0x65, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20,
6498
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74,
6499
	0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7b, 0x0a, 0x20,
6500
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54,
6501
	0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c,
6502
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6503
	0x20, 0x49, 0x64, 0x3a, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6504
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6505
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
6506
	0x3a, 0x20, 0x22, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x2c, 0x0a,
6507
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x56, 0x61, 0x6c, 0x75,
6508
	0x65, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x20,
6509
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
6510
	0x7d, 0x29, 0x0a, 0x80, 0x06, 0x2a, 0xfd, 0x05, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
6511
	0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
6512
	0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a,
6513
	0xd3, 0x05, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc8, 0x05, 0x1a, 0xc5, 0x05,
6514
	0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c,
6515
	0x75, 0x65, 0x20, 0x3d, 0x20, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75,
6516
	0x65, 0x2e, 0x66, 0x72, 0x6f, 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x28, 0x7b, 0x20, 0x64, 0x61, 0x74,
6517
	0x61, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x63, 0x6f, 0x6e,
6518
	0x73, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x41, 0x6e, 0x79, 0x2e, 0x66,
6519
	0x72, 0x6f, 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79,
6520
	0x70, 0x65, 0x55, 0x72, 0x6c, 0x3a, 0x20, 0x27, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x67, 0x6f, 0x6f,
6521
	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x73, 0x65,
6522
	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65,
6523
	0x27, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x42, 0x6f,
6524
	0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64,
6525
	0x65, 0x28, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e,
6526
	0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x28, 0x29, 0x0a, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x63, 0x6c,
6527
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28,
6528
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20,
6529
	0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
6530
	0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63,
6531
	0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a,
6532
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x75, 0x70, 0x6c, 0x65,
6533
	0x73, 0x3a, 0x20, 0x5b, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
6534
	0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6535
	0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d,
6536
	0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6537
	0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6538
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c,
6539
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x2c,
6540
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
6541
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6542
	0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6543
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31,
6544
	0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20,
6545
	0x7d, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
6546
	0x65, 0x73, 0x3a, 0x20, 0x5b, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65,
6547
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6548
	0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75,
6549
	0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6550
	0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6551
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74,
6552
	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x3a, 0x20, 0x22, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69,
6553
	0x76, 0x61, 0x74, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76,
6554
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6555
	0x20, 0x7d, 0x5d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73,
6556
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6557
	0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
6558
	0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xcf, 0x06, 0x2a, 0xcc, 0x06, 0x0a, 0x0f, 0x0a, 0x05, 0x6c,
6559
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04,
6560
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xa8, 0x06, 0x0a,
6561
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x9d, 0x06, 0x1a, 0x9a, 0x06, 0x63, 0x75, 0x72,
6562
	0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72,
6563
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63,
6564
	0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74,
6565
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
6566
	0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x27, 0x20, 0x5c,
6567
	0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65,
6568
	0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
6569
	0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64,
6570
	0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22,
6571
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6572
	0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72,
6573
	0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
6574
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x22, 0x3a, 0x20, 0x5b,
6575
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6576
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a,
6577
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6578
	0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75,
6579
	0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6580
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22,
6581
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
6582
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c,
6583
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x22,
6584
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73,
6585
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6586
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65,
6587
	0x22, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6588
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a,
6589
	0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6590
	0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20,
6591
	0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
6592
	0x74, 0x65, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6593
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x65,
6594
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6595
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22,
6596
	0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6597
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
6598
	0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6599
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6600
	0x20, 0x20, 0x20, 0x22, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x22, 0x3a, 0x20,
6601
	0x22, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6602
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x76, 0x61, 0x6c, 0x75, 0x65,
6603
	0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6604
	0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x40, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x74,
6605
	0x79, 0x70, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
6606
	0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65,
6607
	0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6608
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22,
6609
	0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6610
	0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20,
6611
	0x20, 0x20, 0x20, 0x5d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a,
6612
	0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74,
6613
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x77,
6614
	0x72, 0x69, 0x74, 0x65, 0x12, 0xc6, 0x01, 0x0a, 0x12, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65,
6615
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x12, 0x21, 0x2e, 0x62, 0x61,
6616
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
6617
	0x69, 0x70, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
6618
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
6619
	0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
6620
	0x73, 0x65, 0x22, 0x69, 0x92, 0x41, 0x30, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x13, 0x77,
6621
	0x72, 0x69, 0x74, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69,
6622
	0x70, 0x73, 0x2a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70,
6623
	0x73, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a,
6624
	0x22, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74,
6625
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,
6626
	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xd1, 0x0c,
6627
	0x0a, 0x11, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
6628
	0x69, 0x70, 0x73, 0x12, 0x20, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
6629
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65,
6630
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
6631
	0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64,
6632
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x0b, 0x92, 0x41, 0xb8, 0x0b, 0x0a,
6633
	0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x72, 0x65, 0x61, 0x64, 0x20, 0x72, 0x65, 0x6c, 0x61,
6634
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x2e,
6635
	0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2e, 0x72, 0x65,
6636
	0x61, 0x64, 0x6a, 0x82, 0x0b, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d,
6637
	0x70, 0x6c, 0x65, 0x73, 0x12, 0xf0, 0x0a, 0x32, 0xed, 0x0a, 0x0a, 0xa6, 0x04, 0x2a, 0xa3, 0x04,
6638
	0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a,
6639
	0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x83, 0x04,
6640
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xf8, 0x03, 0x1a, 0xf5, 0x03, 0x72, 0x72,
6641
	0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
6642
	0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
6643
	0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42,
6644
	0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31,
6645
	0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
6646
	0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20,
6647
	0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31,
6648
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a,
6649
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
6650
	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
6651
	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6652
	0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22,
6653
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x46, 0x69, 0x6c, 0x74,
6654
	0x65, 0x72, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c,
6655
	0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74,
6656
	0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46,
6657
	0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6658
	0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
6659
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6660
	0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69,
6661
	0x6e, 0x67, 0x7b, 0x22, 0x31, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6662
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61,
6663
	0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x2c, 0x0a,
6664
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a,
6665
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74,
6666
	0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6667
	0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6668
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69,
6669
	0x6e, 0x67, 0x7b, 0x22, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6670
	0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22,
6671
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
6672
	0x0a, 0x7d, 0x29, 0x0a, 0x84, 0x03, 0x2a, 0x81, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62,
6673
	0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61,
6674
	0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
6675
	0x0a, 0xd7, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xcc, 0x02, 0x1a, 0xc9,
6676
	0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x72, 0x65, 0x61,
6677
	0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x28, 0x7b,
6678
	0x0a, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31,
6679
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b,
6680
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a,
6681
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x66, 0x69, 0x6c, 0x74,
6682
	0x65, 0x72, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
6683
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20,
6684
	0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a,
6685
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20,
6686
	0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d,
6687
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61,
6688
	0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x2c, 0x0a,
6689
	0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20,
6690
	0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20,
6691
	0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2c, 0x0a, 0x20, 0x20,
6692
	0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22,
6693
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68,
6694
	0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e,
6695
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72,
6696
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xba, 0x03, 0x2a, 0xb7, 0x03,
6697
	0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52,
6698
	0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72,
6699
	0x6c, 0x0a, 0x93, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x88, 0x03, 0x1a,
6700
	0x85, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
6701
	0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54,
6702
	0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36,
6703
	0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e,
6704
	0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x72, 0x65, 0x6c,
6705
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x27,
6706
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e,
6707
	0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69,
6708
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d,
6709
	0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x6d,
6710
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
6711
	0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20,
6712
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20, 0x7b, 0x0a,
6713
	0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20,
6714
	0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e,
6715
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6716
	0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6717
	0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
6718
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
6719
	0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75,
6720
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74,
6721
	0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69,
6722
	0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
6723
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
6724
	0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x3a, 0x01, 0x2a,
6725
	0x22, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74,
6726
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x72,
6727
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x72, 0x65, 0x61,
6728
	0x64, 0x12, 0xdc, 0x0a, 0x0a, 0x0e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
6729
	0x75, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
6730
	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75,
6731
	0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74,
6732
	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
6733
	0x6e, 0x73, 0x65, 0x22, 0x8a, 0x0a, 0x92, 0x41, 0xcf, 0x09, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61,
6734
	0x12, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
6735
	0x73, 0x2a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
6736
	0x65, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6a, 0x9f, 0x09, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f,
6737
	0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x8d, 0x09, 0x32, 0x8a, 0x09, 0x0a,
6738
	0xb5, 0x03, 0x2a, 0xb2, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04,
6739
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02,
6740
	0x67, 0x6f, 0x0a, 0x92, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x87, 0x03,
6741
	0x1a, 0x84, 0x03, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c,
6742
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x74,
6743
	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
6744
	0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26,
6745
	0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
6746
	0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20,
6747
	0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22,
6748
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20,
6749
	0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
6750
	0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74,
6751
	0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53,
6752
	0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6753
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a,
6754
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x46, 0x69,
6755
	0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e,
6756
	0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
6757
	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6758
	0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e,
6759
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6760
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72,
6761
	0x69, 0x6e, 0x67, 0x7b, 0x22, 0x31, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6762
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x74, 0x74,
6763
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e,
6764
	0x67, 0x7b, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
6765
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xcb, 0x02, 0x2a, 0xc8, 0x02, 0x0a, 0x0f, 0x0a,
6766
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14,
6767
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63,
6768
	0x72, 0x69, 0x70, 0x74, 0x0a, 0x9e, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
6769
	0x93, 0x02, 0x1a, 0x90, 0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61,
6770
	0x2e, 0x72, 0x65, 0x61, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x28,
6771
	0x7b, 0x0a, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74,
6772
	0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20,
6773
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
6774
	0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x66, 0x69, 0x6c,
6775
	0x74, 0x65, 0x72, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74,
6776
	0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a,
6777
	0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c,
6778
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20,
6779
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6780
	0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x74,
6781
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6782
	0x20, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5d,
6783
	0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72,
6784
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20,
6785
	0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
6786
	0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0x81, 0x03, 0x2a, 0xfe, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c,
6787
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04,
6788
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xda, 0x02, 0x0a,
6789
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xcf, 0x02, 0x1a, 0xcc, 0x02, 0x63, 0x75, 0x72,
6790
	0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72,
6791
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63,
6792
	0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74,
6793
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
6794
	0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
6795
	0x65, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61,
6796
	0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70,
6797
	0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a,
6798
	0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61,
6799
	0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a,
6800
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
6801
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x66, 0x69,
6802
	0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69,
6803
	0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65,
6804
	0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
6805
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20,
6806
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6807
	0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74,
6808
	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6809
	0x20, 0x20, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20,
6810
	0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x3a,
6811
	0x01, 0x2a, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
6812
	0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61,
6813
	0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x64,
6814
	0x12, 0xa9, 0x0c, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x62, 0x61,
6815
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
6816
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
6817
	0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
6818
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe5, 0x0b, 0x92, 0x41, 0xb3, 0x0b, 0x0a, 0x04, 0x44, 0x61, 0x74,
6819
	0x61, 0x12, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2a, 0x0b,
6820
	0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x6a, 0x90, 0x0b, 0x0a, 0x0d,
6821
	0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xfe, 0x0a,
6822
	0x32, 0xfb, 0x0a, 0x0a, 0x8f, 0x04, 0x2a, 0x8c, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62,
6823
	0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
6824
	0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xec, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
6825
	0x65, 0x12, 0xe1, 0x03, 0x1a, 0xde, 0x03, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a,
6826
	0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65,
6827
	0x6c, 0x65, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63,
6828
	0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44,
6829
	0x61, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
6830
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20,
6831
	0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
6832
	0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65,
6833
	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
6834
	0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54,
6835
	0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
6836
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
6837
	0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65,
6838
	0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74,
6839
	0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c,
6840
	0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6841
	0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
6842
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6843
	0x20, 0x20, 0x20, 0x49, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
6844
	0x7b, 0x22, 0x31, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
6845
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
6846
	0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6847
	0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26, 0x76,
6848
	0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b,
6849
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70,
6850
	0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6851
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72,
6852
	0x69, 0x6e, 0x67, 0x7b, 0x22, 0x31, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6853
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
6854
	0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20,
6855
	0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x0a, 0x94, 0x03, 0x2a, 0x91, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c,
6856
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04,
6857
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69,
6858
	0x70, 0x74, 0x0a, 0xe7, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xdc, 0x02,
6859
	0x1a, 0xd9, 0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64,
6860
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
6861
	0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61,
6862
	0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70,
6863
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c,
6864
	0x0a, 0x20, 0x20, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20,
6865
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a,
6866
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67,
6867
	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6868
	0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6869
	0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20,
6870
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6871
	0x3a, 0x20, 0x22, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
6872
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6873
	0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6874
	0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6875
	0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a,
6876
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
6877
	0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e,
6878
	0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20,
6879
	0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65,
6880
	0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xcf, 0x03, 0x2a,
6881
	0xcc, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63,
6882
	0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63,
6883
	0x75, 0x72, 0x6c, 0x0a, 0xa8, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x9d,
6884
	0x03, 0x1a, 0x9a, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74,
6885
	0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f,
6886
	0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34,
6887
	0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74,
6888
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x64,
6889
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65,
6890
	0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a,
6891
	0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f,
6892
	0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20,
6893
	0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74,
6894
	0x65, 0x72, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69,
6895
	0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79,
6896
	0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6897
	0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x73, 0x22,
6898
	0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a,
6899
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
6900
	0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22,
6901
	0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x75, 0x62,
6902
	0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6903
	0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20,
6904
	0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20,
6905
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6906
	0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,
6907
	0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20,
6908
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f,
6909
	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x3a, 0x20, 0x7b, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3,
6910
	0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e,
6911
	0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d,
6912
	0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xcc, 0x01, 0x0a,
6913
	0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
6914
	0x68, 0x69, 0x70, 0x73, 0x12, 0x22, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
6915
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x44, 0x65, 0x6c, 0x65, 0x74,
6916
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
6917
	0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x44,
6918
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x92,
6919
	0x41, 0x32, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
6920
	0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2a, 0x14,
6921
	0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2e, 0x64, 0x65,
6922
	0x6c, 0x65, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x3a, 0x01, 0x2a, 0x22, 0x2c, 0x2f,
6923
	0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61,
6924
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
6925
	0x68, 0x69, 0x70, 0x73, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xac, 0x08, 0x0a, 0x09,
6926
	0x52, 0x75, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65,
6927
	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71,
6928
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42,
6929
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
6930
	0x22, 0xe7, 0x07, 0x92, 0x41, 0xb1, 0x07, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0a, 0x72,
6931
	0x75, 0x6e, 0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2a, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c,
6932
	0x65, 0x2e, 0x72, 0x75, 0x6e, 0x6a, 0x90, 0x07, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65,
6933
	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xfe, 0x06, 0x32, 0xfb, 0x06, 0x0a, 0xa5, 0x02,
6934
	0x2a, 0xa2, 0x02, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02,
6935
	0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
6936
	0x0a, 0x82, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xf7, 0x01, 0x1a, 0xf4,
6937
	0x01, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65,
6938
	0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c,
6939
	0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72,
6940
	0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64,
6941
	0x6c, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20,
6942
	0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22,
6943
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20,
6944
	0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72,
6945
	0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x41, 0x72, 0x67, 0x75,
6946
	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x20, 0x6d, 0x61, 0x70, 0x5b, 0x73, 0x74, 0x72, 0x69, 0x6e,
6947
	0x67, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6948
	0x20, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0x3a, 0x20, 0x20,
6949
	0x20, 0x20, 0x20, 0x20, 0x22, 0x35, 0x36, 0x34, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6950
	0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6951
	0x49, 0x44, 0x22, 0x3a, 0x20, 0x22, 0x37, 0x38, 0x39, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6952
	0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x8a, 0x02, 0x2a, 0x87, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c,
6953
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04,
6954
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69,
6955
	0x70, 0x74, 0x0a, 0xdd, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xd2, 0x01,
6956
	0x1a, 0xcf, 0x01, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x72,
6957
	0x75, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74,
6958
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20,
6959
	0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
6960
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c,
6961
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x20,
6962
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f,
6963
	0x72, 0x49, 0x44, 0x3a, 0x20, 0x22, 0x35, 0x36, 0x34, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6964
	0x20, 0x20, 0x20, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6965
	0x49, 0x44, 0x3a, 0x20, 0x22, 0x37, 0x38, 0x39, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
6966
	0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
6967
	0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20,
6968
	0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a,
6969
	0x7d, 0x29, 0x0a, 0xc3, 0x02, 0x2a, 0xc0, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
6970
	0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
6971
	0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x9c, 0x02, 0x0a, 0x06, 0x73, 0x6f,
6972
	0x75, 0x72, 0x63, 0x65, 0x12, 0x91, 0x02, 0x1a, 0x8e, 0x02, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d,
6973
	0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75,
6974
	0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68,
6975
	0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61,
6976
	0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
6977
	0x64, 0x61, 0x74, 0x61, 0x2f, 0x72, 0x75, 0x6e, 0x2d, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x27,
6978
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e,
6979
	0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69,
6980
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d,
6981
	0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6982
	0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
6983
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c,
6984
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22,
6985
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x72, 0x65,
6986
	0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0x3a, 0x20, 0x22, 0x35, 0x36, 0x34, 0x22, 0x2c, 0x0a,
6987
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
6988
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x3a, 0x20, 0x22, 0x37, 0x38, 0x39, 0x22, 0x0a,
6989
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01,
6990
	0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
6991
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f,
6992
	0x72, 0x75, 0x6e, 0x2d, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x32, 0xc0, 0x21, 0x0a, 0x06, 0x42,
6993
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x80, 0x15, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12,
6994
	0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
6995
	0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62,
6996
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x57, 0x72, 0x69,
6997
	0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbb, 0x14, 0x92, 0x41, 0x88,
6998
	0x14, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65,
6999
	0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2a, 0x0c, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e,
7000
	0x77, 0x72, 0x69, 0x74, 0x65, 0x6a, 0xe1, 0x13, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65,
7001
	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xcf, 0x13, 0x32, 0xcc, 0x13, 0x0a, 0xd3, 0x06,
7002
	0x2a, 0xd0, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02,
7003
	0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
7004
	0x0a, 0xb0, 0x06, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xa5, 0x06, 0x1a, 0xa2,
7005
	0x06, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65,
7006
	0x6e, 0x74, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x28,
7007
	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75,
7008
	0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
7009
	0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20,
7010
	0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22,
7011
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x3a, 0x20, 0x5b,
7012
	0x5d, 0x2a, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x7b,
7013
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
7014
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72,
7015
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74,
7016
	0x65, 0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7017
	0x20, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74,
7018
	0x72, 0x69, 0x6e, 0x67, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7019
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44,
7020
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7021
	0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
7022
	0x49, 0x44, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7023
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7024
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2a, 0x76,
7025
	0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7b, 0x0a, 0x20, 0x20, 0x20,
7026
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20,
7027
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7028
	0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73,
7029
	0x57, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b,
7030
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7031
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
7032
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
7033
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x61, 0x64, 0x6d, 0x69, 0x6e,
7034
	0x40, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72,
7035
	0x49, 0x44, 0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7036
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
7037
	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e,
7038
	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d,
7039
	0x23, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x40, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b,
7040
	0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20,
7041
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7042
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7043
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
7044
	0x75, 0x74, 0x65, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72,
7045
	0x69, 0x6e, 0x67, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7046
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72,
7047
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72,
7048
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x24, 0x70,
7049
	0x75, 0x62, 0x6c, 0x69, 0x63, 0x7c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x3a, 0x66, 0x61,
7050
	0x6c, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7051
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
7052
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
7053
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
7054
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
7055
	0x0a, 0x7d, 0x29, 0x0a, 0x9b, 0x06, 0x2a, 0x98, 0x06, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62,
7056
	0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61,
7057
	0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
7058
	0x0a, 0xee, 0x05, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xe3, 0x05, 0x1a, 0xe0,
7059
	0x05, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x77,
7060
	0x72, 0x69, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
7061
	0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62,
7062
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7063
	0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7064
	0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
7065
	0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20,
7066
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65,
7067
	0x6e, 0x74, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7068
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49,
7069
	0x44, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7070
	0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
7071
	0x6e, 0x49, 0x44, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7072
	0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7073
	0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20,
7074
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b,
7075
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7076
	0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69,
7077
	0x70, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20,
7078
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7079
	0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
7080
	0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
7081
	0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x40, 0x75, 0x73, 0x65, 0x72,
7082
	0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d, 0x22,
7083
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7084
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e,
7085
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e,
7086
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x6d, 0x61, 0x6e, 0x61,
7087
	0x67, 0x65, 0x72, 0x40, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65, 0x61,
7088
	0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7089
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c,
7090
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7091
	0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5f,
7092
	0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7093
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7094
	0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b,
7095
	0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44,
7096
	0x7d, 0x7d, 0x24, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x7c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61,
7097
	0x6e, 0x3a, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7098
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a,
7099
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7100
	0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a,
7101
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a,
7102
	0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
7103
	0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68,
7104
	0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d,
7105
	0x29, 0x0a, 0xd5, 0x06, 0x2a, 0xd2, 0x06, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
7106
	0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
7107
	0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xae, 0x06, 0x0a, 0x06, 0x73, 0x6f, 0x75,
7108
	0x72, 0x63, 0x65, 0x12, 0xa3, 0x06, 0x1a, 0xa0, 0x06, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d,
7109
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65,
7110
	0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f,
7111
	0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e,
7112
	0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62,
7113
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d,
7114
	0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
7115
	0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
7116
	0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74,
7117
	0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x62, 0x75,
7118
	0x6e, 0x64, 0x6c, 0x65, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7119
	0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7120
	0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
7121
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a,
7122
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x61, 0x72, 0x67,
7123
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
7124
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61,
7125
	0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7126
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
7127
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7128
	0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7129
	0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,
7130
	0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7131
	0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7132
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74,
7133
	0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x3a,
7134
	0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7135
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61,
7136
	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61,
7137
	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x61, 0x64, 0x6d,
7138
	0x69, 0x6e, 0x40, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74,
7139
	0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7140
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7141
	0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b,
7142
	0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44,
7143
	0x7d, 0x7d, 0x23, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x40, 0x75, 0x73, 0x65, 0x72, 0x3a,
7144
	0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d, 0x22, 0x0a,
7145
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7146
	0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7147
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x61, 0x74, 0x74, 0x72,
7148
	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x3a, 0x20, 0x5b,
7149
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7150
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
7151
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
7152
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x24, 0x70, 0x75, 0x62, 0x6c, 0x69,
7153
	0x63, 0x7c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x3a, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22,
7154
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7155
	0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7156
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7157
	0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
7158
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a,
7159
	0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
7160
	0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e, 0x64,
7161
	0x6c, 0x65, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x8d, 0x06, 0x0a, 0x04, 0x52, 0x65, 0x61,
7162
	0x64, 0x12, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64,
7163
	0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e,
7164
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65,
7165
	0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcb, 0x05, 0x92, 0x41, 0x99,
7166
	0x05, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x20,
7167
	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2a, 0x0b, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x72,
7168
	0x65, 0x61, 0x64, 0x6a, 0xf4, 0x04, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61,
7169
	0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xe2, 0x04, 0x32, 0xdf, 0x04, 0x0a, 0xb8, 0x01, 0x2a, 0xb5,
7170
	0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
7171
	0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x95,
7172
	0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x8a, 0x01, 0x1a, 0x87, 0x01, 0x72,
7173
	0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
7174
	0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x28, 0x63, 0x6f, 0x6e,
7175
	0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28,
7176
	0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x61,
7177
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65,
7178
	0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20,
7179
	0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67,
7180
	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
7181
	0x64, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xb5, 0x01, 0x2a, 0xb2, 0x01, 0x0a, 0x0f, 0x0a, 0x05,
7182
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a,
7183
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72,
7184
	0x69, 0x70, 0x74, 0x0a, 0x88, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7e,
7185
	0x1a, 0x7c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e,
7186
	0x72, 0x65, 0x61, 0x64, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
7187
	0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6e,
7188
	0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
7189
	0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x2e,
7190
	0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20,
7191
	0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64,
7192
	0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xe9,
7193
	0x01, 0x2a, 0xe6, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a,
7194
	0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a,
7195
	0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xc2, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
7196
	0x12, 0xb7, 0x01, 0x1a, 0xb4, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63,
7197
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20,
7198
	0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a,
7199
	0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
7200
	0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e, 0x64,
7201
	0x6c, 0x65, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61,
7202
	0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70,
7203
	0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a,
7204
	0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61,
7205
	0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a,
7206
	0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63,
7207
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28,
7208
	0x3a, 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
7209
	0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e,
7210
	0x64, 0x6c, 0x65, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa2, 0x06, 0x0a, 0x06, 0x44, 0x65, 0x6c,
7211
	0x65, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75,
7212
	0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
7213
	0x74, 0x1a, 0x1d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64,
7214
	0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
7215
	0x22, 0xda, 0x05, 0x92, 0x41, 0xa6, 0x05, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12,
7216
	0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2a, 0x0d,
7217
	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x6a, 0xfd, 0x04,
7218
	0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12,
7219
	0xeb, 0x04, 0x32, 0xe8, 0x04, 0x0a, 0xbc, 0x01, 0x2a, 0xb9, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c,
7220
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61,
7221
	0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x99, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75,
7222
	0x72, 0x63, 0x65, 0x12, 0x8e, 0x01, 0x1a, 0x8b, 0x01, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72,
7223
	0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c,
7224
	0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
7225
	0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26,
7226
	0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
7227
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61,
7228
	0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
7229
	0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e,
7230
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22,
7231
	0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xb8, 0x01, 0x2a, 0xb5, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61,
7232
	0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c,
7233
	0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70,
7234
	0x74, 0x0a, 0x8b, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x80, 0x01, 0x1a,
7235
	0x7e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x64,
7236
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61,
7237
	0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
7238
	0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
7239
	0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x7d, 0x29,
7240
	0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29,
7241
	0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e,
7242
	0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a,
7243
	0xeb, 0x01, 0x2a, 0xe8, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06,
7244
	0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06,
7245
	0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xc4, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
7246
	0x65, 0x12, 0xb9, 0x01, 0x1a, 0xb6, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f,
7247
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
7248
	0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74,
7249
	0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
7250
	0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e,
7251
	0x64, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d,
7252
	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d,
7253
	0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
7254
	0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61,
7255
	0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6e, 0x61, 0x6d,
7256
	0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
7257
	0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4,
7258
	0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61,
7259
	0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
7260
	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x32, 0xc1, 0x0f,
7261
	0x0a, 0x07, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x12, 0xbe, 0x05, 0x0a, 0x06, 0x43, 0x72,
7262
	0x65, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54,
7263
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
7264
	0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e,
7265
	0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
7266
	0x65, 0x22, 0xf6, 0x04, 0x92, 0x41, 0xd5, 0x04, 0x0a, 0x07, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63,
7267
	0x79, 0x12, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
7268
	0x2a, 0x0e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
7269
	0x6a, 0xaa, 0x04, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c,
7270
	0x65, 0x73, 0x12, 0x98, 0x04, 0x32, 0x95, 0x04, 0x0a, 0x9b, 0x01, 0x2a, 0x98, 0x01, 0x0a, 0x0d,
7271
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a,
7272
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x79, 0x0a, 0x06, 0x73,
7273
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x6f, 0x1a, 0x6d, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72,
7274
	0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e,
7275
	0x63, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
7276
	0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20,
7277
	0x26, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
7278
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a,
7279
	0x20, 0x20, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x3a,
7280
	0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x0a, 0x98, 0x01, 0x2a, 0x95, 0x01, 0x0a, 0x0f, 0x0a, 0x05,
7281
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a,
7282
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72,
7283
	0x69, 0x70, 0x74, 0x0a, 0x6c, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x62, 0x1a,
7284
	0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e,
7285
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20,
7286
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x22, 0x0a,
7287
	0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
7288
	0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68,
7289
	0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d,
7290
	0x29, 0x0a, 0xd9, 0x01, 0x2a, 0xd6, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
7291
	0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
7292
	0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xb2, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75,
7293
	0x72, 0x63, 0x65, 0x12, 0xa7, 0x01, 0x1a, 0xa4, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d,
7294
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65,
7295
	0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
7296
	0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76,
7297
	0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
7298
	0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f,
7299
	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c,
7300
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a,
7301
	0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20,
7302
	0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
7303
	0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4,
7304
	0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61,
7305
	0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0xba, 0x04, 0x0a, 0x06, 0x44,
7306
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
7307
	0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
7308
	0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65,
7309
	0x6e, 0x61, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
7310
	0x73, 0x65, 0x22, 0xf2, 0x03, 0x92, 0x41, 0xd6, 0x03, 0x0a, 0x07, 0x54, 0x65, 0x6e, 0x61, 0x6e,
7311
	0x63, 0x79, 0x12, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
7312
	0x74, 0x2a, 0x0e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74,
7313
	0x65, 0x6a, 0xab, 0x03, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70,
7314
	0x6c, 0x65, 0x73, 0x12, 0x99, 0x03, 0x32, 0x96, 0x03, 0x0a, 0x8b, 0x01, 0x2a, 0x88, 0x01, 0x0a,
7315
	0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c,
7316
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x69, 0x0a, 0x06,
7317
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5f, 0x1a, 0x5d, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72,
7318
	0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x6e, 0x61,
7319
	0x6e, 0x63, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65,
7320
	0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c,
7321
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74,
7322
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64,
7323
	0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x0a, 0x8c, 0x01, 0x2a, 0x89, 0x01, 0x0a, 0x0f, 0x0a,
7324
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14,
7325
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63,
7326
	0x72, 0x69, 0x70, 0x74, 0x0a, 0x60, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x56,
7327
	0x1a, 0x54, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79,
7328
	0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a,
7329
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65,
7330
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
7331
	0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f,
7332
	0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0x77, 0x2a, 0x75, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61,
7333
	0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c,
7334
	0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x52, 0x0a, 0x06, 0x73,
7335
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x48, 0x1a, 0x46, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d,
7336
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65,
7337
	0x73, 0x74, 0x20, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x20, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a,
7338
	0x2f, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36,
7339
	0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x74, 0x31, 0x27, 0x82,
7340
	0xd3, 0xe4, 0x93, 0x02, 0x12, 0x2a, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e,
7341
	0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb7, 0x05, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74,
7342
	0x12, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e,
7343
	0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62,
7344
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73,
7345
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf5, 0x04, 0x92, 0x41, 0xd6, 0x04,
7346
	0x0a, 0x07, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x12, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x20,
7347
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2a, 0x0c, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
7348
	0x2e, 0x6c, 0x69, 0x73, 0x74, 0x6a, 0xae, 0x04, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65,
7349
	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x9c, 0x04, 0x32, 0x99, 0x04, 0x0a, 0xa8, 0x01,
7350
	0x2a, 0xa5, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02,
7351
	0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
7352
	0x0a, 0x85, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7b, 0x1a, 0x79, 0x63,
7353
	0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
7354
	0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x28, 0x63, 0x6f,
7355
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64,
7356
	0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69,
7357
	0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50,
7358
	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20,
7359
	0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
7360
	0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x85, 0x01, 0x2a, 0x82, 0x01, 0x0a, 0x0f,
7361
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a,
7362
	0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73,
7363
	0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x59, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
7364
	0x4f, 0x1a, 0x4d, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69,
7365
	0x65, 0x6e, 0x74, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e, 0x6c, 0x69, 0x73, 0x74,
7366
	0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a,
7367
	0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
7368
	0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29,
7369
	0x0a, 0xe3, 0x01, 0x2a, 0xe0, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
7370
	0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12,
7371
	0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xbc, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
7372
	0x63, 0x65, 0x12, 0xb1, 0x01, 0x1a, 0xae, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c,
7373
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
7374
	0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73,
7375
	0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
7376
	0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64,
7377
	0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65,
7378
	0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73,
7379
	0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77,
7380
	0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
7381
	0x7a, 0x65, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x6f,
7382
	0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a,
7383
	0x20, 0x22, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22,
7384
	0x10, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x6c, 0x69, 0x73,
7385
	0x74, 0x42, 0x8a, 0x01, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
7386
	0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
7387
	0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x65,
7388
	0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x6b,
7389
	0x67, 0x2f, 0x70, 0x62, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x62, 0x61, 0x73,
7390
	0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x42, 0x58, 0x58, 0xaa, 0x02, 0x07, 0x42, 0x61, 0x73, 0x65,
7391
	0x2e, 0x56, 0x31, 0xca, 0x02, 0x07, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x13,
7392
	0x42, 0x61, 0x73, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
7393
	0x61, 0x74, 0x61, 0xea, 0x02, 0x08, 0x42, 0x61, 0x73, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06,
7394
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
7395
}
7396
7397
var (
7398
	file_base_v1_service_proto_rawDescOnce sync.Once
7399
	file_base_v1_service_proto_rawDescData = file_base_v1_service_proto_rawDesc
7400
)
7401
7402
func file_base_v1_service_proto_rawDescGZIP() []byte {
7403
	file_base_v1_service_proto_rawDescOnce.Do(func() {
7404
		file_base_v1_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_base_v1_service_proto_rawDescData)
7405
	})
7406
	return file_base_v1_service_proto_rawDescData
7407
}
7408
7409
var file_base_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 73)
7410
var file_base_v1_service_proto_goTypes = []any{
7411
	(*PermissionCheckRequest)(nil),                     // 0: base.v1.PermissionCheckRequest
7412
	(*PermissionCheckRequestMetadata)(nil),             // 1: base.v1.PermissionCheckRequestMetadata
7413
	(*PermissionCheckResponse)(nil),                    // 2: base.v1.PermissionCheckResponse
7414
	(*PermissionCheckResponseMetadata)(nil),            // 3: base.v1.PermissionCheckResponseMetadata
7415
	(*PermissionExpandRequest)(nil),                    // 4: base.v1.PermissionExpandRequest
7416
	(*PermissionExpandRequestMetadata)(nil),            // 5: base.v1.PermissionExpandRequestMetadata
7417
	(*PermissionExpandResponse)(nil),                   // 6: base.v1.PermissionExpandResponse
7418
	(*PermissionLookupEntityRequest)(nil),              // 7: base.v1.PermissionLookupEntityRequest
7419
	(*PermissionsLookupEntityRequest)(nil),             // 8: base.v1.PermissionsLookupEntityRequest
7420
	(*PermissionLookupEntityRequestMetadata)(nil),      // 9: base.v1.PermissionLookupEntityRequestMetadata
7421
	(*PermissionLookupEntityResponse)(nil),             // 10: base.v1.PermissionLookupEntityResponse
7422
	(*PermissionsLookupEntityResponse)(nil),            // 11: base.v1.PermissionsLookupEntityResponse
7423
	(*EntityIds)(nil),                                  // 12: base.v1.EntityIds
7424
	(*PermissionLookupEntityStreamResponse)(nil),       // 13: base.v1.PermissionLookupEntityStreamResponse
7425
	(*PermissionsLookupEntityStreamResponse)(nil),      // 14: base.v1.PermissionsLookupEntityStreamResponse
7426
	(*PermissionEntityFilterRequest)(nil),              // 15: base.v1.PermissionEntityFilterRequest
7427
	(*PermissionEntityFilterRequestMetadata)(nil),      // 16: base.v1.PermissionEntityFilterRequestMetadata
7428
	(*PermissionLookupSubjectRequest)(nil),             // 17: base.v1.PermissionLookupSubjectRequest
7429
	(*PermissionLookupSubjectRequestMetadata)(nil),     // 18: base.v1.PermissionLookupSubjectRequestMetadata
7430
	(*PermissionLookupSubjectResponse)(nil),            // 19: base.v1.PermissionLookupSubjectResponse
7431
	(*PermissionSubjectPermissionRequest)(nil),         // 20: base.v1.PermissionSubjectPermissionRequest
7432
	(*PermissionSubjectPermissionRequestMetadata)(nil), // 21: base.v1.PermissionSubjectPermissionRequestMetadata
7433
	(*PermissionSubjectPermissionResponse)(nil),        // 22: base.v1.PermissionSubjectPermissionResponse
7434
	(*WatchRequest)(nil),                               // 23: base.v1.WatchRequest
7435
	(*WatchResponse)(nil),                              // 24: base.v1.WatchResponse
7436
	(*SchemaWriteRequest)(nil),                         // 25: base.v1.SchemaWriteRequest
7437
	(*SchemaWriteResponse)(nil),                        // 26: base.v1.SchemaWriteResponse
7438
	(*SchemaPartialWriteRequest)(nil),                  // 27: base.v1.SchemaPartialWriteRequest
7439
	(*SchemaPartialWriteRequestMetadata)(nil),          // 28: base.v1.SchemaPartialWriteRequestMetadata
7440
	(*SchemaPartialWriteResponse)(nil),                 // 29: base.v1.SchemaPartialWriteResponse
7441
	(*SchemaReadRequest)(nil),                          // 30: base.v1.SchemaReadRequest
7442
	(*SchemaReadRequestMetadata)(nil),                  // 31: base.v1.SchemaReadRequestMetadata
7443
	(*SchemaReadResponse)(nil),                         // 32: base.v1.SchemaReadResponse
7444
	(*SchemaListRequest)(nil),                          // 33: base.v1.SchemaListRequest
7445
	(*SchemaListResponse)(nil),                         // 34: base.v1.SchemaListResponse
7446
	(*SchemaList)(nil),                                 // 35: base.v1.SchemaList
7447
	(*DataWriteRequest)(nil),                           // 36: base.v1.DataWriteRequest
7448
	(*DataWriteRequestMetadata)(nil),                   // 37: base.v1.DataWriteRequestMetadata
7449
	(*DataWriteResponse)(nil),                          // 38: base.v1.DataWriteResponse
7450
	(*RelationshipWriteRequest)(nil),                   // 39: base.v1.RelationshipWriteRequest
7451
	(*RelationshipWriteRequestMetadata)(nil),           // 40: base.v1.RelationshipWriteRequestMetadata
7452
	(*RelationshipWriteResponse)(nil),                  // 41: base.v1.RelationshipWriteResponse
7453
	(*RelationshipReadRequest)(nil),                    // 42: base.v1.RelationshipReadRequest
7454
	(*RelationshipReadRequestMetadata)(nil),            // 43: base.v1.RelationshipReadRequestMetadata
7455
	(*RelationshipReadResponse)(nil),                   // 44: base.v1.RelationshipReadResponse
7456
	(*AttributeReadRequest)(nil),                       // 45: base.v1.AttributeReadRequest
7457
	(*AttributeReadRequestMetadata)(nil),               // 46: base.v1.AttributeReadRequestMetadata
7458
	(*AttributeReadResponse)(nil),                      // 47: base.v1.AttributeReadResponse
7459
	(*DataDeleteRequest)(nil),                          // 48: base.v1.DataDeleteRequest
7460
	(*DataDeleteResponse)(nil),                         // 49: base.v1.DataDeleteResponse
7461
	(*RelationshipDeleteRequest)(nil),                  // 50: base.v1.RelationshipDeleteRequest
7462
	(*RelationshipDeleteResponse)(nil),                 // 51: base.v1.RelationshipDeleteResponse
7463
	(*BundleRunRequest)(nil),                           // 52: base.v1.BundleRunRequest
7464
	(*BundleRunResponse)(nil),                          // 53: base.v1.BundleRunResponse
7465
	(*BundleWriteRequest)(nil),                         // 54: base.v1.BundleWriteRequest
7466
	(*BundleWriteResponse)(nil),                        // 55: base.v1.BundleWriteResponse
7467
	(*BundleReadRequest)(nil),                          // 56: base.v1.BundleReadRequest
7468
	(*BundleReadResponse)(nil),                         // 57: base.v1.BundleReadResponse
7469
	(*BundleDeleteRequest)(nil),                        // 58: base.v1.BundleDeleteRequest
7470
	(*BundleDeleteResponse)(nil),                       // 59: base.v1.BundleDeleteResponse
7471
	(*TenantCreateRequest)(nil),                        // 60: base.v1.TenantCreateRequest
7472
	(*TenantCreateResponse)(nil),                       // 61: base.v1.TenantCreateResponse
7473
	(*TenantDeleteRequest)(nil),                        // 62: base.v1.TenantDeleteRequest
7474
	(*TenantDeleteResponse)(nil),                       // 63: base.v1.TenantDeleteResponse
7475
	(*TenantListRequest)(nil),                          // 64: base.v1.TenantListRequest
7476
	(*TenantListResponse)(nil),                         // 65: base.v1.TenantListResponse
7477
	nil,                                                // 66: base.v1.PermissionLookupEntityRequest.ScopeEntry
7478
	nil,                                                // 67: base.v1.PermissionsLookupEntityRequest.ScopeEntry
7479
	nil,                                                // 68: base.v1.PermissionsLookupEntityResponse.EntityIdsEntry
7480
	nil,                                                // 69: base.v1.PermissionEntityFilterRequest.ScopeEntry
7481
	nil,                                                // 70: base.v1.PermissionSubjectPermissionResponse.ResultsEntry
7482
	nil,                                                // 71: base.v1.SchemaPartialWriteRequest.PartialsEntry
7483
	nil,                                                // 72: base.v1.BundleRunRequest.ArgumentsEntry
7484
	(*Entity)(nil),                                     // 73: base.v1.Entity
7485
	(*Subject)(nil),                                    // 74: base.v1.Subject
7486
	(*Context)(nil),                                    // 75: base.v1.Context
7487
	(*Argument)(nil),                                   // 76: base.v1.Argument
7488
	(CheckResult)(0),                                   // 77: base.v1.CheckResult
7489
	(*Expand)(nil),                                     // 78: base.v1.Expand
7490
	(*Entrance)(nil),                                   // 79: base.v1.Entrance
7491
	(*RelationReference)(nil),                          // 80: base.v1.RelationReference
7492
	(*DataChanges)(nil),                                // 81: base.v1.DataChanges
7493
	(*SchemaDefinition)(nil),                           // 82: base.v1.SchemaDefinition
7494
	(*Tuple)(nil),                                      // 83: base.v1.Tuple
7495
	(*Attribute)(nil),                                  // 84: base.v1.Attribute
7496
	(*TupleFilter)(nil),                                // 85: base.v1.TupleFilter
7497
	(*AttributeFilter)(nil),                            // 86: base.v1.AttributeFilter
7498
	(*DataBundle)(nil),                                 // 87: base.v1.DataBundle
7499
	(*Tenant)(nil),                                     // 88: base.v1.Tenant
7500
	(*StringArrayValue)(nil),                           // 89: base.v1.StringArrayValue
7501
	(*Partials)(nil),                                   // 90: base.v1.Partials
7502
}
7503
var file_base_v1_service_proto_depIdxs = []int32{
7504
	1,  // 0: base.v1.PermissionCheckRequest.metadata:type_name -> base.v1.PermissionCheckRequestMetadata
7505
	73, // 1: base.v1.PermissionCheckRequest.entity:type_name -> base.v1.Entity
7506
	74, // 2: base.v1.PermissionCheckRequest.subject:type_name -> base.v1.Subject
7507
	75, // 3: base.v1.PermissionCheckRequest.context:type_name -> base.v1.Context
7508
	76, // 4: base.v1.PermissionCheckRequest.arguments:type_name -> base.v1.Argument
7509
	77, // 5: base.v1.PermissionCheckResponse.can:type_name -> base.v1.CheckResult
7510
	3,  // 6: base.v1.PermissionCheckResponse.metadata:type_name -> base.v1.PermissionCheckResponseMetadata
7511
	5,  // 7: base.v1.PermissionExpandRequest.metadata:type_name -> base.v1.PermissionExpandRequestMetadata
7512
	73, // 8: base.v1.PermissionExpandRequest.entity:type_name -> base.v1.Entity
7513
	75, // 9: base.v1.PermissionExpandRequest.context:type_name -> base.v1.Context
7514
	76, // 10: base.v1.PermissionExpandRequest.arguments:type_name -> base.v1.Argument
7515
	78, // 11: base.v1.PermissionExpandResponse.tree:type_name -> base.v1.Expand
7516
	9,  // 12: base.v1.PermissionLookupEntityRequest.metadata:type_name -> base.v1.PermissionLookupEntityRequestMetadata
7517
	74, // 13: base.v1.PermissionLookupEntityRequest.subject:type_name -> base.v1.Subject
7518
	75, // 14: base.v1.PermissionLookupEntityRequest.context:type_name -> base.v1.Context
7519
	66, // 15: base.v1.PermissionLookupEntityRequest.scope:type_name -> base.v1.PermissionLookupEntityRequest.ScopeEntry
7520
	9,  // 16: base.v1.PermissionsLookupEntityRequest.metadata:type_name -> base.v1.PermissionLookupEntityRequestMetadata
7521
	74, // 17: base.v1.PermissionsLookupEntityRequest.subject:type_name -> base.v1.Subject
7522
	75, // 18: base.v1.PermissionsLookupEntityRequest.context:type_name -> base.v1.Context
7523
	67, // 19: base.v1.PermissionsLookupEntityRequest.scope:type_name -> base.v1.PermissionsLookupEntityRequest.ScopeEntry
7524
	68, // 20: base.v1.PermissionsLookupEntityResponse.entity_ids:type_name -> base.v1.PermissionsLookupEntityResponse.EntityIdsEntry
7525
	16, // 21: base.v1.PermissionEntityFilterRequest.metadata:type_name -> base.v1.PermissionEntityFilterRequestMetadata
7526
	79, // 22: base.v1.PermissionEntityFilterRequest.entrances:type_name -> base.v1.Entrance
7527
	74, // 23: base.v1.PermissionEntityFilterRequest.subject:type_name -> base.v1.Subject
7528
	75, // 24: base.v1.PermissionEntityFilterRequest.context:type_name -> base.v1.Context
7529
	69, // 25: base.v1.PermissionEntityFilterRequest.scope:type_name -> base.v1.PermissionEntityFilterRequest.ScopeEntry
7530
	18, // 26: base.v1.PermissionLookupSubjectRequest.metadata:type_name -> base.v1.PermissionLookupSubjectRequestMetadata
7531
	73, // 27: base.v1.PermissionLookupSubjectRequest.entity:type_name -> base.v1.Entity
7532
	80, // 28: base.v1.PermissionLookupSubjectRequest.subject_reference:type_name -> base.v1.RelationReference
7533
	75, // 29: base.v1.PermissionLookupSubjectRequest.context:type_name -> base.v1.Context
7534
	21, // 30: base.v1.PermissionSubjectPermissionRequest.metadata:type_name -> base.v1.PermissionSubjectPermissionRequestMetadata
7535
	73, // 31: base.v1.PermissionSubjectPermissionRequest.entity:type_name -> base.v1.Entity
7536
	74, // 32: base.v1.PermissionSubjectPermissionRequest.subject:type_name -> base.v1.Subject
7537
	75, // 33: base.v1.PermissionSubjectPermissionRequest.context:type_name -> base.v1.Context
7538
	70, // 34: base.v1.PermissionSubjectPermissionResponse.results:type_name -> base.v1.PermissionSubjectPermissionResponse.ResultsEntry
7539
	81, // 35: base.v1.WatchResponse.changes:type_name -> base.v1.DataChanges
7540
	28, // 36: base.v1.SchemaPartialWriteRequest.metadata:type_name -> base.v1.SchemaPartialWriteRequestMetadata
7541
	71, // 37: base.v1.SchemaPartialWriteRequest.partials:type_name -> base.v1.SchemaPartialWriteRequest.PartialsEntry
7542
	31, // 38: base.v1.SchemaReadRequest.metadata:type_name -> base.v1.SchemaReadRequestMetadata
7543
	82, // 39: base.v1.SchemaReadResponse.schema:type_name -> base.v1.SchemaDefinition
7544
	35, // 40: base.v1.SchemaListResponse.schemas:type_name -> base.v1.SchemaList
7545
	37, // 41: base.v1.DataWriteRequest.metadata:type_name -> base.v1.DataWriteRequestMetadata
7546
	83, // 42: base.v1.DataWriteRequest.tuples:type_name -> base.v1.Tuple
7547
	84, // 43: base.v1.DataWriteRequest.attributes:type_name -> base.v1.Attribute
7548
	40, // 44: base.v1.RelationshipWriteRequest.metadata:type_name -> base.v1.RelationshipWriteRequestMetadata
7549
	83, // 45: base.v1.RelationshipWriteRequest.tuples:type_name -> base.v1.Tuple
7550
	43, // 46: base.v1.RelationshipReadRequest.metadata:type_name -> base.v1.RelationshipReadRequestMetadata
7551
	85, // 47: base.v1.RelationshipReadRequest.filter:type_name -> base.v1.TupleFilter
7552
	83, // 48: base.v1.RelationshipReadResponse.tuples:type_name -> base.v1.Tuple
7553
	46, // 49: base.v1.AttributeReadRequest.metadata:type_name -> base.v1.AttributeReadRequestMetadata
7554
	86, // 50: base.v1.AttributeReadRequest.filter:type_name -> base.v1.AttributeFilter
7555
	84, // 51: base.v1.AttributeReadResponse.attributes:type_name -> base.v1.Attribute
7556
	85, // 52: base.v1.DataDeleteRequest.tuple_filter:type_name -> base.v1.TupleFilter
7557
	86, // 53: base.v1.DataDeleteRequest.attribute_filter:type_name -> base.v1.AttributeFilter
7558
	85, // 54: base.v1.RelationshipDeleteRequest.filter:type_name -> base.v1.TupleFilter
7559
	72, // 55: base.v1.BundleRunRequest.arguments:type_name -> base.v1.BundleRunRequest.ArgumentsEntry
7560
	87, // 56: base.v1.BundleWriteRequest.bundles:type_name -> base.v1.DataBundle
7561
	87, // 57: base.v1.BundleReadResponse.bundle:type_name -> base.v1.DataBundle
7562
	88, // 58: base.v1.TenantCreateResponse.tenant:type_name -> base.v1.Tenant
7563
	88, // 59: base.v1.TenantDeleteResponse.tenant:type_name -> base.v1.Tenant
7564
	88, // 60: base.v1.TenantListResponse.tenants:type_name -> base.v1.Tenant
7565
	89, // 61: base.v1.PermissionLookupEntityRequest.ScopeEntry.value:type_name -> base.v1.StringArrayValue
7566
	89, // 62: base.v1.PermissionsLookupEntityRequest.ScopeEntry.value:type_name -> base.v1.StringArrayValue
7567
	12, // 63: base.v1.PermissionsLookupEntityResponse.EntityIdsEntry.value:type_name -> base.v1.EntityIds
7568
	89, // 64: base.v1.PermissionEntityFilterRequest.ScopeEntry.value:type_name -> base.v1.StringArrayValue
7569
	77, // 65: base.v1.PermissionSubjectPermissionResponse.ResultsEntry.value:type_name -> base.v1.CheckResult
7570
	90, // 66: base.v1.SchemaPartialWriteRequest.PartialsEntry.value:type_name -> base.v1.Partials
7571
	0,  // 67: base.v1.Permission.Check:input_type -> base.v1.PermissionCheckRequest
7572
	4,  // 68: base.v1.Permission.Expand:input_type -> base.v1.PermissionExpandRequest
7573
	7,  // 69: base.v1.Permission.LookupEntity:input_type -> base.v1.PermissionLookupEntityRequest
7574
	8,  // 70: base.v1.Permission.LookupEntities:input_type -> base.v1.PermissionsLookupEntityRequest
7575
	8,  // 71: base.v1.Permission.LookupEntitiesStream:input_type -> base.v1.PermissionsLookupEntityRequest
7576
	7,  // 72: base.v1.Permission.LookupEntityStream:input_type -> base.v1.PermissionLookupEntityRequest
7577
	17, // 73: base.v1.Permission.LookupSubject:input_type -> base.v1.PermissionLookupSubjectRequest
7578
	20, // 74: base.v1.Permission.SubjectPermission:input_type -> base.v1.PermissionSubjectPermissionRequest
7579
	23, // 75: base.v1.Watch.Watch:input_type -> base.v1.WatchRequest
7580
	25, // 76: base.v1.Schema.Write:input_type -> base.v1.SchemaWriteRequest
7581
	27, // 77: base.v1.Schema.PartialWrite:input_type -> base.v1.SchemaPartialWriteRequest
7582
	30, // 78: base.v1.Schema.Read:input_type -> base.v1.SchemaReadRequest
7583
	33, // 79: base.v1.Schema.List:input_type -> base.v1.SchemaListRequest
7584
	36, // 80: base.v1.Data.Write:input_type -> base.v1.DataWriteRequest
7585
	39, // 81: base.v1.Data.WriteRelationships:input_type -> base.v1.RelationshipWriteRequest
7586
	42, // 82: base.v1.Data.ReadRelationships:input_type -> base.v1.RelationshipReadRequest
7587
	45, // 83: base.v1.Data.ReadAttributes:input_type -> base.v1.AttributeReadRequest
7588
	48, // 84: base.v1.Data.Delete:input_type -> base.v1.DataDeleteRequest
7589
	50, // 85: base.v1.Data.DeleteRelationships:input_type -> base.v1.RelationshipDeleteRequest
7590
	52, // 86: base.v1.Data.RunBundle:input_type -> base.v1.BundleRunRequest
7591
	54, // 87: base.v1.Bundle.Write:input_type -> base.v1.BundleWriteRequest
7592
	56, // 88: base.v1.Bundle.Read:input_type -> base.v1.BundleReadRequest
7593
	58, // 89: base.v1.Bundle.Delete:input_type -> base.v1.BundleDeleteRequest
7594
	60, // 90: base.v1.Tenancy.Create:input_type -> base.v1.TenantCreateRequest
7595
	62, // 91: base.v1.Tenancy.Delete:input_type -> base.v1.TenantDeleteRequest
7596
	64, // 92: base.v1.Tenancy.List:input_type -> base.v1.TenantListRequest
7597
	2,  // 93: base.v1.Permission.Check:output_type -> base.v1.PermissionCheckResponse
7598
	6,  // 94: base.v1.Permission.Expand:output_type -> base.v1.PermissionExpandResponse
7599
	10, // 95: base.v1.Permission.LookupEntity:output_type -> base.v1.PermissionLookupEntityResponse
7600
	11, // 96: base.v1.Permission.LookupEntities:output_type -> base.v1.PermissionsLookupEntityResponse
7601
	14, // 97: base.v1.Permission.LookupEntitiesStream:output_type -> base.v1.PermissionsLookupEntityStreamResponse
7602
	13, // 98: base.v1.Permission.LookupEntityStream:output_type -> base.v1.PermissionLookupEntityStreamResponse
7603
	19, // 99: base.v1.Permission.LookupSubject:output_type -> base.v1.PermissionLookupSubjectResponse
7604
	22, // 100: base.v1.Permission.SubjectPermission:output_type -> base.v1.PermissionSubjectPermissionResponse
7605
	24, // 101: base.v1.Watch.Watch:output_type -> base.v1.WatchResponse
7606
	26, // 102: base.v1.Schema.Write:output_type -> base.v1.SchemaWriteResponse
7607
	29, // 103: base.v1.Schema.PartialWrite:output_type -> base.v1.SchemaPartialWriteResponse
7608
	32, // 104: base.v1.Schema.Read:output_type -> base.v1.SchemaReadResponse
7609
	34, // 105: base.v1.Schema.List:output_type -> base.v1.SchemaListResponse
7610
	38, // 106: base.v1.Data.Write:output_type -> base.v1.DataWriteResponse
7611
	41, // 107: base.v1.Data.WriteRelationships:output_type -> base.v1.RelationshipWriteResponse
7612
	44, // 108: base.v1.Data.ReadRelationships:output_type -> base.v1.RelationshipReadResponse
7613
	47, // 109: base.v1.Data.ReadAttributes:output_type -> base.v1.AttributeReadResponse
7614
	49, // 110: base.v1.Data.Delete:output_type -> base.v1.DataDeleteResponse
7615
	51, // 111: base.v1.Data.DeleteRelationships:output_type -> base.v1.RelationshipDeleteResponse
7616
	53, // 112: base.v1.Data.RunBundle:output_type -> base.v1.BundleRunResponse
7617
	55, // 113: base.v1.Bundle.Write:output_type -> base.v1.BundleWriteResponse
7618
	57, // 114: base.v1.Bundle.Read:output_type -> base.v1.BundleReadResponse
7619
	59, // 115: base.v1.Bundle.Delete:output_type -> base.v1.BundleDeleteResponse
7620
	61, // 116: base.v1.Tenancy.Create:output_type -> base.v1.TenantCreateResponse
7621
	63, // 117: base.v1.Tenancy.Delete:output_type -> base.v1.TenantDeleteResponse
7622
	65, // 118: base.v1.Tenancy.List:output_type -> base.v1.TenantListResponse
7623
	93, // [93:119] is the sub-list for method output_type
7624
	67, // [67:93] is the sub-list for method input_type
7625
	67, // [67:67] is the sub-list for extension type_name
7626
	67, // [67:67] is the sub-list for extension extendee
7627
	0,  // [0:67] is the sub-list for field type_name
7628
}
7629
7630
func init() { file_base_v1_service_proto_init() }
7631
func file_base_v1_service_proto_init() {
7632
	if File_base_v1_service_proto != nil {
7633
		return
7634
	}
7635
	file_base_v1_base_proto_init()
7636
	if !protoimpl.UnsafeEnabled {
7637
		file_base_v1_service_proto_msgTypes[0].Exporter = func(v any, i int) any {
7638
			switch v := v.(*PermissionCheckRequest); i {
7639
			case 0:
7640
				return &v.state
7641
			case 1:
7642
				return &v.sizeCache
7643
			case 2:
7644
				return &v.unknownFields
7645
			default:
7646
				return nil
7647
			}
7648
		}
7649
		file_base_v1_service_proto_msgTypes[1].Exporter = func(v any, i int) any {
7650
			switch v := v.(*PermissionCheckRequestMetadata); i {
7651
			case 0:
7652
				return &v.state
7653
			case 1:
7654
				return &v.sizeCache
7655
			case 2:
7656
				return &v.unknownFields
7657
			default:
7658
				return nil
7659
			}
7660
		}
7661
		file_base_v1_service_proto_msgTypes[2].Exporter = func(v any, i int) any {
7662
			switch v := v.(*PermissionCheckResponse); i {
7663
			case 0:
7664
				return &v.state
7665
			case 1:
7666
				return &v.sizeCache
7667
			case 2:
7668
				return &v.unknownFields
7669
			default:
7670
				return nil
7671
			}
7672
		}
7673
		file_base_v1_service_proto_msgTypes[3].Exporter = func(v any, i int) any {
7674
			switch v := v.(*PermissionCheckResponseMetadata); i {
7675
			case 0:
7676
				return &v.state
7677
			case 1:
7678
				return &v.sizeCache
7679
			case 2:
7680
				return &v.unknownFields
7681
			default:
7682
				return nil
7683
			}
7684
		}
7685
		file_base_v1_service_proto_msgTypes[4].Exporter = func(v any, i int) any {
7686
			switch v := v.(*PermissionExpandRequest); i {
7687
			case 0:
7688
				return &v.state
7689
			case 1:
7690
				return &v.sizeCache
7691
			case 2:
7692
				return &v.unknownFields
7693
			default:
7694
				return nil
7695
			}
7696
		}
7697
		file_base_v1_service_proto_msgTypes[5].Exporter = func(v any, i int) any {
7698
			switch v := v.(*PermissionExpandRequestMetadata); i {
7699
			case 0:
7700
				return &v.state
7701
			case 1:
7702
				return &v.sizeCache
7703
			case 2:
7704
				return &v.unknownFields
7705
			default:
7706
				return nil
7707
			}
7708
		}
7709
		file_base_v1_service_proto_msgTypes[6].Exporter = func(v any, i int) any {
7710
			switch v := v.(*PermissionExpandResponse); i {
7711
			case 0:
7712
				return &v.state
7713
			case 1:
7714
				return &v.sizeCache
7715
			case 2:
7716
				return &v.unknownFields
7717
			default:
7718
				return nil
7719
			}
7720
		}
7721
		file_base_v1_service_proto_msgTypes[7].Exporter = func(v any, i int) any {
7722
			switch v := v.(*PermissionLookupEntityRequest); i {
7723
			case 0:
7724
				return &v.state
7725
			case 1:
7726
				return &v.sizeCache
7727
			case 2:
7728
				return &v.unknownFields
7729
			default:
7730
				return nil
7731
			}
7732
		}
7733
		file_base_v1_service_proto_msgTypes[8].Exporter = func(v any, i int) any {
7734
			switch v := v.(*PermissionsLookupEntityRequest); i {
7735
			case 0:
7736
				return &v.state
7737
			case 1:
7738
				return &v.sizeCache
7739
			case 2:
7740
				return &v.unknownFields
7741
			default:
7742
				return nil
7743
			}
7744
		}
7745
		file_base_v1_service_proto_msgTypes[9].Exporter = func(v any, i int) any {
7746
			switch v := v.(*PermissionLookupEntityRequestMetadata); i {
7747
			case 0:
7748
				return &v.state
7749
			case 1:
7750
				return &v.sizeCache
7751
			case 2:
7752
				return &v.unknownFields
7753
			default:
7754
				return nil
7755
			}
7756
		}
7757
		file_base_v1_service_proto_msgTypes[10].Exporter = func(v any, i int) any {
7758
			switch v := v.(*PermissionLookupEntityResponse); i {
7759
			case 0:
7760
				return &v.state
7761
			case 1:
7762
				return &v.sizeCache
7763
			case 2:
7764
				return &v.unknownFields
7765
			default:
7766
				return nil
7767
			}
7768
		}
7769
		file_base_v1_service_proto_msgTypes[11].Exporter = func(v any, i int) any {
7770
			switch v := v.(*PermissionsLookupEntityResponse); i {
7771
			case 0:
7772
				return &v.state
7773
			case 1:
7774
				return &v.sizeCache
7775
			case 2:
7776
				return &v.unknownFields
7777
			default:
7778
				return nil
7779
			}
7780
		}
7781
		file_base_v1_service_proto_msgTypes[12].Exporter = func(v any, i int) any {
7782
			switch v := v.(*EntityIds); i {
7783
			case 0:
7784
				return &v.state
7785
			case 1:
7786
				return &v.sizeCache
7787
			case 2:
7788
				return &v.unknownFields
7789
			default:
7790
				return nil
7791
			}
7792
		}
7793
		file_base_v1_service_proto_msgTypes[13].Exporter = func(v any, i int) any {
7794
			switch v := v.(*PermissionLookupEntityStreamResponse); i {
7795
			case 0:
7796
				return &v.state
7797
			case 1:
7798
				return &v.sizeCache
7799
			case 2:
7800
				return &v.unknownFields
7801
			default:
7802
				return nil
7803
			}
7804
		}
7805
		file_base_v1_service_proto_msgTypes[14].Exporter = func(v any, i int) any {
7806
			switch v := v.(*PermissionsLookupEntityStreamResponse); i {
7807
			case 0:
7808
				return &v.state
7809
			case 1:
7810
				return &v.sizeCache
7811
			case 2:
7812
				return &v.unknownFields
7813
			default:
7814
				return nil
7815
			}
7816
		}
7817
		file_base_v1_service_proto_msgTypes[15].Exporter = func(v any, i int) any {
7818
			switch v := v.(*PermissionEntityFilterRequest); i {
7819
			case 0:
7820
				return &v.state
7821
			case 1:
7822
				return &v.sizeCache
7823
			case 2:
7824
				return &v.unknownFields
7825
			default:
7826
				return nil
7827
			}
7828
		}
7829
		file_base_v1_service_proto_msgTypes[16].Exporter = func(v any, i int) any {
7830
			switch v := v.(*PermissionEntityFilterRequestMetadata); i {
7831
			case 0:
7832
				return &v.state
7833
			case 1:
7834
				return &v.sizeCache
7835
			case 2:
7836
				return &v.unknownFields
7837
			default:
7838
				return nil
7839
			}
7840
		}
7841
		file_base_v1_service_proto_msgTypes[17].Exporter = func(v any, i int) any {
7842
			switch v := v.(*PermissionLookupSubjectRequest); i {
7843
			case 0:
7844
				return &v.state
7845
			case 1:
7846
				return &v.sizeCache
7847
			case 2:
7848
				return &v.unknownFields
7849
			default:
7850
				return nil
7851
			}
7852
		}
7853
		file_base_v1_service_proto_msgTypes[18].Exporter = func(v any, i int) any {
7854
			switch v := v.(*PermissionLookupSubjectRequestMetadata); i {
7855
			case 0:
7856
				return &v.state
7857
			case 1:
7858
				return &v.sizeCache
7859
			case 2:
7860
				return &v.unknownFields
7861
			default:
7862
				return nil
7863
			}
7864
		}
7865
		file_base_v1_service_proto_msgTypes[19].Exporter = func(v any, i int) any {
7866
			switch v := v.(*PermissionLookupSubjectResponse); i {
7867
			case 0:
7868
				return &v.state
7869
			case 1:
7870
				return &v.sizeCache
7871
			case 2:
7872
				return &v.unknownFields
7873
			default:
7874
				return nil
7875
			}
7876
		}
7877
		file_base_v1_service_proto_msgTypes[20].Exporter = func(v any, i int) any {
7878
			switch v := v.(*PermissionSubjectPermissionRequest); i {
7879
			case 0:
7880
				return &v.state
7881
			case 1:
7882
				return &v.sizeCache
7883
			case 2:
7884
				return &v.unknownFields
7885
			default:
7886
				return nil
7887
			}
7888
		}
7889
		file_base_v1_service_proto_msgTypes[21].Exporter = func(v any, i int) any {
7890
			switch v := v.(*PermissionSubjectPermissionRequestMetadata); i {
7891
			case 0:
7892
				return &v.state
7893
			case 1:
7894
				return &v.sizeCache
7895
			case 2:
7896
				return &v.unknownFields
7897
			default:
7898
				return nil
7899
			}
7900
		}
7901
		file_base_v1_service_proto_msgTypes[22].Exporter = func(v any, i int) any {
7902
			switch v := v.(*PermissionSubjectPermissionResponse); i {
7903
			case 0:
7904
				return &v.state
7905
			case 1:
7906
				return &v.sizeCache
7907
			case 2:
7908
				return &v.unknownFields
7909
			default:
7910
				return nil
7911
			}
7912
		}
7913
		file_base_v1_service_proto_msgTypes[23].Exporter = func(v any, i int) any {
7914
			switch v := v.(*WatchRequest); i {
7915
			case 0:
7916
				return &v.state
7917
			case 1:
7918
				return &v.sizeCache
7919
			case 2:
7920
				return &v.unknownFields
7921
			default:
7922
				return nil
7923
			}
7924
		}
7925
		file_base_v1_service_proto_msgTypes[24].Exporter = func(v any, i int) any {
7926
			switch v := v.(*WatchResponse); i {
7927
			case 0:
7928
				return &v.state
7929
			case 1:
7930
				return &v.sizeCache
7931
			case 2:
7932
				return &v.unknownFields
7933
			default:
7934
				return nil
7935
			}
7936
		}
7937
		file_base_v1_service_proto_msgTypes[25].Exporter = func(v any, i int) any {
7938
			switch v := v.(*SchemaWriteRequest); i {
7939
			case 0:
7940
				return &v.state
7941
			case 1:
7942
				return &v.sizeCache
7943
			case 2:
7944
				return &v.unknownFields
7945
			default:
7946
				return nil
7947
			}
7948
		}
7949
		file_base_v1_service_proto_msgTypes[26].Exporter = func(v any, i int) any {
7950
			switch v := v.(*SchemaWriteResponse); i {
7951
			case 0:
7952
				return &v.state
7953
			case 1:
7954
				return &v.sizeCache
7955
			case 2:
7956
				return &v.unknownFields
7957
			default:
7958
				return nil
7959
			}
7960
		}
7961
		file_base_v1_service_proto_msgTypes[27].Exporter = func(v any, i int) any {
7962
			switch v := v.(*SchemaPartialWriteRequest); i {
7963
			case 0:
7964
				return &v.state
7965
			case 1:
7966
				return &v.sizeCache
7967
			case 2:
7968
				return &v.unknownFields
7969
			default:
7970
				return nil
7971
			}
7972
		}
7973
		file_base_v1_service_proto_msgTypes[28].Exporter = func(v any, i int) any {
7974
			switch v := v.(*SchemaPartialWriteRequestMetadata); i {
7975
			case 0:
7976
				return &v.state
7977
			case 1:
7978
				return &v.sizeCache
7979
			case 2:
7980
				return &v.unknownFields
7981
			default:
7982
				return nil
7983
			}
7984
		}
7985
		file_base_v1_service_proto_msgTypes[29].Exporter = func(v any, i int) any {
7986
			switch v := v.(*SchemaPartialWriteResponse); i {
7987
			case 0:
7988
				return &v.state
7989
			case 1:
7990
				return &v.sizeCache
7991
			case 2:
7992
				return &v.unknownFields
7993
			default:
7994
				return nil
7995
			}
7996
		}
7997
		file_base_v1_service_proto_msgTypes[30].Exporter = func(v any, i int) any {
7998
			switch v := v.(*SchemaReadRequest); i {
7999
			case 0:
8000
				return &v.state
8001
			case 1:
8002
				return &v.sizeCache
8003
			case 2:
8004
				return &v.unknownFields
8005
			default:
8006
				return nil
8007
			}
8008
		}
8009
		file_base_v1_service_proto_msgTypes[31].Exporter = func(v any, i int) any {
8010
			switch v := v.(*SchemaReadRequestMetadata); i {
8011
			case 0:
8012
				return &v.state
8013
			case 1:
8014
				return &v.sizeCache
8015
			case 2:
8016
				return &v.unknownFields
8017
			default:
8018
				return nil
8019
			}
8020
		}
8021
		file_base_v1_service_proto_msgTypes[32].Exporter = func(v any, i int) any {
8022
			switch v := v.(*SchemaReadResponse); i {
8023
			case 0:
8024
				return &v.state
8025
			case 1:
8026
				return &v.sizeCache
8027
			case 2:
8028
				return &v.unknownFields
8029
			default:
8030
				return nil
8031
			}
8032
		}
8033
		file_base_v1_service_proto_msgTypes[33].Exporter = func(v any, i int) any {
8034
			switch v := v.(*SchemaListRequest); i {
8035
			case 0:
8036
				return &v.state
8037
			case 1:
8038
				return &v.sizeCache
8039
			case 2:
8040
				return &v.unknownFields
8041
			default:
8042
				return nil
8043
			}
8044
		}
8045
		file_base_v1_service_proto_msgTypes[34].Exporter = func(v any, i int) any {
8046
			switch v := v.(*SchemaListResponse); i {
8047
			case 0:
8048
				return &v.state
8049
			case 1:
8050
				return &v.sizeCache
8051
			case 2:
8052
				return &v.unknownFields
8053
			default:
8054
				return nil
8055
			}
8056
		}
8057
		file_base_v1_service_proto_msgTypes[35].Exporter = func(v any, i int) any {
8058
			switch v := v.(*SchemaList); i {
8059
			case 0:
8060
				return &v.state
8061
			case 1:
8062
				return &v.sizeCache
8063
			case 2:
8064
				return &v.unknownFields
8065
			default:
8066
				return nil
8067
			}
8068
		}
8069
		file_base_v1_service_proto_msgTypes[36].Exporter = func(v any, i int) any {
8070
			switch v := v.(*DataWriteRequest); i {
8071
			case 0:
8072
				return &v.state
8073
			case 1:
8074
				return &v.sizeCache
8075
			case 2:
8076
				return &v.unknownFields
8077
			default:
8078
				return nil
8079
			}
8080
		}
8081
		file_base_v1_service_proto_msgTypes[37].Exporter = func(v any, i int) any {
8082
			switch v := v.(*DataWriteRequestMetadata); i {
8083
			case 0:
8084
				return &v.state
8085
			case 1:
8086
				return &v.sizeCache
8087
			case 2:
8088
				return &v.unknownFields
8089
			default:
8090
				return nil
8091
			}
8092
		}
8093
		file_base_v1_service_proto_msgTypes[38].Exporter = func(v any, i int) any {
8094
			switch v := v.(*DataWriteResponse); i {
8095
			case 0:
8096
				return &v.state
8097
			case 1:
8098
				return &v.sizeCache
8099
			case 2:
8100
				return &v.unknownFields
8101
			default:
8102
				return nil
8103
			}
8104
		}
8105
		file_base_v1_service_proto_msgTypes[39].Exporter = func(v any, i int) any {
8106
			switch v := v.(*RelationshipWriteRequest); i {
8107
			case 0:
8108
				return &v.state
8109
			case 1:
8110
				return &v.sizeCache
8111
			case 2:
8112
				return &v.unknownFields
8113
			default:
8114
				return nil
8115
			}
8116
		}
8117
		file_base_v1_service_proto_msgTypes[40].Exporter = func(v any, i int) any {
8118
			switch v := v.(*RelationshipWriteRequestMetadata); i {
8119
			case 0:
8120
				return &v.state
8121
			case 1:
8122
				return &v.sizeCache
8123
			case 2:
8124
				return &v.unknownFields
8125
			default:
8126
				return nil
8127
			}
8128
		}
8129
		file_base_v1_service_proto_msgTypes[41].Exporter = func(v any, i int) any {
8130
			switch v := v.(*RelationshipWriteResponse); i {
8131
			case 0:
8132
				return &v.state
8133
			case 1:
8134
				return &v.sizeCache
8135
			case 2:
8136
				return &v.unknownFields
8137
			default:
8138
				return nil
8139
			}
8140
		}
8141
		file_base_v1_service_proto_msgTypes[42].Exporter = func(v any, i int) any {
8142
			switch v := v.(*RelationshipReadRequest); i {
8143
			case 0:
8144
				return &v.state
8145
			case 1:
8146
				return &v.sizeCache
8147
			case 2:
8148
				return &v.unknownFields
8149
			default:
8150
				return nil
8151
			}
8152
		}
8153
		file_base_v1_service_proto_msgTypes[43].Exporter = func(v any, i int) any {
8154
			switch v := v.(*RelationshipReadRequestMetadata); i {
8155
			case 0:
8156
				return &v.state
8157
			case 1:
8158
				return &v.sizeCache
8159
			case 2:
8160
				return &v.unknownFields
8161
			default:
8162
				return nil
8163
			}
8164
		}
8165
		file_base_v1_service_proto_msgTypes[44].Exporter = func(v any, i int) any {
8166
			switch v := v.(*RelationshipReadResponse); i {
8167
			case 0:
8168
				return &v.state
8169
			case 1:
8170
				return &v.sizeCache
8171
			case 2:
8172
				return &v.unknownFields
8173
			default:
8174
				return nil
8175
			}
8176
		}
8177
		file_base_v1_service_proto_msgTypes[45].Exporter = func(v any, i int) any {
8178
			switch v := v.(*AttributeReadRequest); i {
8179
			case 0:
8180
				return &v.state
8181
			case 1:
8182
				return &v.sizeCache
8183
			case 2:
8184
				return &v.unknownFields
8185
			default:
8186
				return nil
8187
			}
8188
		}
8189
		file_base_v1_service_proto_msgTypes[46].Exporter = func(v any, i int) any {
8190
			switch v := v.(*AttributeReadRequestMetadata); i {
8191
			case 0:
8192
				return &v.state
8193
			case 1:
8194
				return &v.sizeCache
8195
			case 2:
8196
				return &v.unknownFields
8197
			default:
8198
				return nil
8199
			}
8200
		}
8201
		file_base_v1_service_proto_msgTypes[47].Exporter = func(v any, i int) any {
8202
			switch v := v.(*AttributeReadResponse); i {
8203
			case 0:
8204
				return &v.state
8205
			case 1:
8206
				return &v.sizeCache
8207
			case 2:
8208
				return &v.unknownFields
8209
			default:
8210
				return nil
8211
			}
8212
		}
8213
		file_base_v1_service_proto_msgTypes[48].Exporter = func(v any, i int) any {
8214
			switch v := v.(*DataDeleteRequest); i {
8215
			case 0:
8216
				return &v.state
8217
			case 1:
8218
				return &v.sizeCache
8219
			case 2:
8220
				return &v.unknownFields
8221
			default:
8222
				return nil
8223
			}
8224
		}
8225
		file_base_v1_service_proto_msgTypes[49].Exporter = func(v any, i int) any {
8226
			switch v := v.(*DataDeleteResponse); i {
8227
			case 0:
8228
				return &v.state
8229
			case 1:
8230
				return &v.sizeCache
8231
			case 2:
8232
				return &v.unknownFields
8233
			default:
8234
				return nil
8235
			}
8236
		}
8237
		file_base_v1_service_proto_msgTypes[50].Exporter = func(v any, i int) any {
8238
			switch v := v.(*RelationshipDeleteRequest); i {
8239
			case 0:
8240
				return &v.state
8241
			case 1:
8242
				return &v.sizeCache
8243
			case 2:
8244
				return &v.unknownFields
8245
			default:
8246
				return nil
8247
			}
8248
		}
8249
		file_base_v1_service_proto_msgTypes[51].Exporter = func(v any, i int) any {
8250
			switch v := v.(*RelationshipDeleteResponse); i {
8251
			case 0:
8252
				return &v.state
8253
			case 1:
8254
				return &v.sizeCache
8255
			case 2:
8256
				return &v.unknownFields
8257
			default:
8258
				return nil
8259
			}
8260
		}
8261
		file_base_v1_service_proto_msgTypes[52].Exporter = func(v any, i int) any {
8262
			switch v := v.(*BundleRunRequest); i {
8263
			case 0:
8264
				return &v.state
8265
			case 1:
8266
				return &v.sizeCache
8267
			case 2:
8268
				return &v.unknownFields
8269
			default:
8270
				return nil
8271
			}
8272
		}
8273
		file_base_v1_service_proto_msgTypes[53].Exporter = func(v any, i int) any {
8274
			switch v := v.(*BundleRunResponse); i {
8275
			case 0:
8276
				return &v.state
8277
			case 1:
8278
				return &v.sizeCache
8279
			case 2:
8280
				return &v.unknownFields
8281
			default:
8282
				return nil
8283
			}
8284
		}
8285
		file_base_v1_service_proto_msgTypes[54].Exporter = func(v any, i int) any {
8286
			switch v := v.(*BundleWriteRequest); i {
8287
			case 0:
8288
				return &v.state
8289
			case 1:
8290
				return &v.sizeCache
8291
			case 2:
8292
				return &v.unknownFields
8293
			default:
8294
				return nil
8295
			}
8296
		}
8297
		file_base_v1_service_proto_msgTypes[55].Exporter = func(v any, i int) any {
8298
			switch v := v.(*BundleWriteResponse); i {
8299
			case 0:
8300
				return &v.state
8301
			case 1:
8302
				return &v.sizeCache
8303
			case 2:
8304
				return &v.unknownFields
8305
			default:
8306
				return nil
8307
			}
8308
		}
8309
		file_base_v1_service_proto_msgTypes[56].Exporter = func(v any, i int) any {
8310
			switch v := v.(*BundleReadRequest); i {
8311
			case 0:
8312
				return &v.state
8313
			case 1:
8314
				return &v.sizeCache
8315
			case 2:
8316
				return &v.unknownFields
8317
			default:
8318
				return nil
8319
			}
8320
		}
8321
		file_base_v1_service_proto_msgTypes[57].Exporter = func(v any, i int) any {
8322
			switch v := v.(*BundleReadResponse); i {
8323
			case 0:
8324
				return &v.state
8325
			case 1:
8326
				return &v.sizeCache
8327
			case 2:
8328
				return &v.unknownFields
8329
			default:
8330
				return nil
8331
			}
8332
		}
8333
		file_base_v1_service_proto_msgTypes[58].Exporter = func(v any, i int) any {
8334
			switch v := v.(*BundleDeleteRequest); i {
8335
			case 0:
8336
				return &v.state
8337
			case 1:
8338
				return &v.sizeCache
8339
			case 2:
8340
				return &v.unknownFields
8341
			default:
8342
				return nil
8343
			}
8344
		}
8345
		file_base_v1_service_proto_msgTypes[59].Exporter = func(v any, i int) any {
8346
			switch v := v.(*BundleDeleteResponse); i {
8347
			case 0:
8348
				return &v.state
8349
			case 1:
8350
				return &v.sizeCache
8351
			case 2:
8352
				return &v.unknownFields
8353
			default:
8354
				return nil
8355
			}
8356
		}
8357
		file_base_v1_service_proto_msgTypes[60].Exporter = func(v any, i int) any {
8358
			switch v := v.(*TenantCreateRequest); i {
8359
			case 0:
8360
				return &v.state
8361
			case 1:
8362
				return &v.sizeCache
8363
			case 2:
8364
				return &v.unknownFields
8365
			default:
8366
				return nil
8367
			}
8368
		}
8369
		file_base_v1_service_proto_msgTypes[61].Exporter = func(v any, i int) any {
8370
			switch v := v.(*TenantCreateResponse); i {
8371
			case 0:
8372
				return &v.state
8373
			case 1:
8374
				return &v.sizeCache
8375
			case 2:
8376
				return &v.unknownFields
8377
			default:
8378
				return nil
8379
			}
8380
		}
8381
		file_base_v1_service_proto_msgTypes[62].Exporter = func(v any, i int) any {
8382
			switch v := v.(*TenantDeleteRequest); i {
8383
			case 0:
8384
				return &v.state
8385
			case 1:
8386
				return &v.sizeCache
8387
			case 2:
8388
				return &v.unknownFields
8389
			default:
8390
				return nil
8391
			}
8392
		}
8393
		file_base_v1_service_proto_msgTypes[63].Exporter = func(v any, i int) any {
8394
			switch v := v.(*TenantDeleteResponse); i {
8395
			case 0:
8396
				return &v.state
8397
			case 1:
8398
				return &v.sizeCache
8399
			case 2:
8400
				return &v.unknownFields
8401
			default:
8402
				return nil
8403
			}
8404
		}
8405
		file_base_v1_service_proto_msgTypes[64].Exporter = func(v any, i int) any {
8406
			switch v := v.(*TenantListRequest); i {
8407
			case 0:
8408
				return &v.state
8409
			case 1:
8410
				return &v.sizeCache
8411
			case 2:
8412
				return &v.unknownFields
8413
			default:
8414
				return nil
8415
			}
8416
		}
8417
		file_base_v1_service_proto_msgTypes[65].Exporter = func(v any, i int) any {
8418
			switch v := v.(*TenantListResponse); i {
8419
			case 0:
8420
				return &v.state
8421
			case 1:
8422
				return &v.sizeCache
8423
			case 2:
8424
				return &v.unknownFields
8425
			default:
8426
				return nil
8427
			}
8428
		}
8429
	}
8430
	type x struct{}
8431
	out := protoimpl.TypeBuilder{
8432
		File: protoimpl.DescBuilder{
8433
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
8434
			RawDescriptor: file_base_v1_service_proto_rawDesc,
8435
			NumEnums:      0,
8436
			NumMessages:   73,
8437
			NumExtensions: 0,
8438
			NumServices:   6,
8439
		},
8440
		GoTypes:           file_base_v1_service_proto_goTypes,
8441
		DependencyIndexes: file_base_v1_service_proto_depIdxs,
8442
		MessageInfos:      file_base_v1_service_proto_msgTypes,
8443
	}.Build()
8444
	File_base_v1_service_proto = out.File
8445
	file_base_v1_service_proto_rawDesc = nil
8446
	file_base_v1_service_proto_goTypes = nil
8447
	file_base_v1_service_proto_depIdxs = nil
8448
}
8449