Passed
Pull Request — master (#1681)
by
unknown
03:28
created

basev1.*PermissionExpandRequest.GetMetadata   A

Complexity

Conditions 2

Size

Total Lines 5
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 4
nop 0
dl 0
loc 5
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
// BulkPermissionCheckRequest is the request message for the BulkCheck method in the Permission service.
304
type BulkPermissionCheckRequest 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
	// A list of permission checks to perform, required.
312
	Checks []*SinglePermissionCheck `protobuf:"bytes,3,rep,name=checks,proto3" json:"checks,omitempty"`
313
}
314
315
func (x *BulkPermissionCheckRequest) Reset() {
316
	*x = BulkPermissionCheckRequest{}
317
	if protoimpl.UnsafeEnabled {
318
		mi := &file_base_v1_service_proto_msgTypes[4]
319
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
320
		ms.StoreMessageInfo(mi)
321
	}
322
}
323
324
func (x *BulkPermissionCheckRequest) String() string {
325
	return protoimpl.X.MessageStringOf(x)
326
}
327
328
func (*BulkPermissionCheckRequest) ProtoMessage() {}
329
330
func (x *BulkPermissionCheckRequest) ProtoReflect() protoreflect.Message {
331
	mi := &file_base_v1_service_proto_msgTypes[4]
332
	if protoimpl.UnsafeEnabled && x != nil {
333
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
334
		if ms.LoadMessageInfo() == nil {
335
			ms.StoreMessageInfo(mi)
336
		}
337
		return ms
338
	}
339
	return mi.MessageOf(x)
340
}
341
342
// Deprecated: Use BulkPermissionCheckRequest.ProtoReflect.Descriptor instead.
343
func (*BulkPermissionCheckRequest) Descriptor() ([]byte, []int) {
344
	return file_base_v1_service_proto_rawDescGZIP(), []int{4}
345
}
346
347
func (x *BulkPermissionCheckRequest) GetTenantId() string {
348
	if x != nil {
349
		return x.TenantId
350
	}
351
	return ""
352
}
353
354
func (x *BulkPermissionCheckRequest) GetChecks() []*SinglePermissionCheck {
355
	if x != nil {
356
		return x.Checks
357
	}
358
	return nil
359
}
360
361
// PermissionCheck defines a single permission check within a bulk request.
362
type SinglePermissionCheck struct {
363
	state         protoimpl.MessageState
364
	sizeCache     protoimpl.SizeCache
365
	unknownFields protoimpl.UnknownFields
366
367
	// The index of this permission check within a bulk request, required.
368
	Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
369
	// Metadata associated with this request, required.
370
	Metadata *PermissionCheckRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
371
	// Entity on which the permission needs to be checked, required.
372
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
373
	// Name of the permission or relation, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
374
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
375
	// Subject for which the permission needs to be checked, required.
376
	Subject *Subject `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`
377
	// Context associated with this request.
378
	Context *Context `protobuf:"bytes,6,opt,name=context,proto3" json:"context,omitempty"`
379
	// Additional arguments associated with this request.
380
	Arguments []*Argument `protobuf:"bytes,7,rep,name=arguments,proto3" json:"arguments,omitempty"`
381
}
382
383
func (x *SinglePermissionCheck) Reset() {
384
	*x = SinglePermissionCheck{}
385
	if protoimpl.UnsafeEnabled {
386
		mi := &file_base_v1_service_proto_msgTypes[5]
387
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
388
		ms.StoreMessageInfo(mi)
389
	}
390
}
391
392
func (x *SinglePermissionCheck) String() string {
393
	return protoimpl.X.MessageStringOf(x)
394
}
395
396
func (*SinglePermissionCheck) ProtoMessage() {}
397
398
func (x *SinglePermissionCheck) ProtoReflect() protoreflect.Message {
399
	mi := &file_base_v1_service_proto_msgTypes[5]
400
	if protoimpl.UnsafeEnabled && x != nil {
401
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
402
		if ms.LoadMessageInfo() == nil {
403
			ms.StoreMessageInfo(mi)
404
		}
405
		return ms
406
	}
407
	return mi.MessageOf(x)
408
}
409
410
// Deprecated: Use SinglePermissionCheck.ProtoReflect.Descriptor instead.
411
func (*SinglePermissionCheck) Descriptor() ([]byte, []int) {
412
	return file_base_v1_service_proto_rawDescGZIP(), []int{5}
413
}
414
415
func (x *SinglePermissionCheck) GetIndex() int32 {
416
	if x != nil {
417
		return x.Index
418
	}
419
	return 0
420
}
421
422
func (x *SinglePermissionCheck) GetMetadata() *PermissionCheckRequestMetadata {
423
	if x != nil {
424
		return x.Metadata
425
	}
426
	return nil
427
}
428
429
func (x *SinglePermissionCheck) GetEntity() *Entity {
430
	if x != nil {
431
		return x.Entity
432
	}
433
	return nil
434
}
435
436
func (x *SinglePermissionCheck) GetPermission() string {
437
	if x != nil {
438
		return x.Permission
439
	}
440
	return ""
441
}
442
443
func (x *SinglePermissionCheck) GetSubject() *Subject {
444
	if x != nil {
445
		return x.Subject
446
	}
447
	return nil
448
}
449
450
func (x *SinglePermissionCheck) GetContext() *Context {
451
	if x != nil {
452
		return x.Context
453
	}
454
	return nil
455
}
456
457
func (x *SinglePermissionCheck) GetArguments() []*Argument {
458
	if x != nil {
459
		return x.Arguments
460
	}
461
	return nil
462
}
463
464
// BulkPermissionCheckResponse is the response message for the BulkCheck method in the Permission service.
465
type BulkPermissionCheckResponse struct {
466
	state         protoimpl.MessageState
467
	sizeCache     protoimpl.SizeCache
468
	unknownFields protoimpl.UnknownFields
469
470
	// A list of results for each permission check performed.
471
	Results []*SinglePermissionCheckResponse `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
472
}
473
474
func (x *BulkPermissionCheckResponse) Reset() {
475
	*x = BulkPermissionCheckResponse{}
476
	if protoimpl.UnsafeEnabled {
477
		mi := &file_base_v1_service_proto_msgTypes[6]
478
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
479
		ms.StoreMessageInfo(mi)
480
	}
481
}
482
483
func (x *BulkPermissionCheckResponse) String() string {
484
	return protoimpl.X.MessageStringOf(x)
485
}
486
487
func (*BulkPermissionCheckResponse) ProtoMessage() {}
488
489
func (x *BulkPermissionCheckResponse) ProtoReflect() protoreflect.Message {
490
	mi := &file_base_v1_service_proto_msgTypes[6]
491
	if protoimpl.UnsafeEnabled && x != nil {
492
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
493
		if ms.LoadMessageInfo() == nil {
494
			ms.StoreMessageInfo(mi)
495
		}
496
		return ms
497
	}
498
	return mi.MessageOf(x)
499
}
500
501
// Deprecated: Use BulkPermissionCheckResponse.ProtoReflect.Descriptor instead.
502
func (*BulkPermissionCheckResponse) Descriptor() ([]byte, []int) {
503
	return file_base_v1_service_proto_rawDescGZIP(), []int{6}
504
}
505
506
func (x *BulkPermissionCheckResponse) GetResults() []*SinglePermissionCheckResponse {
507
	if x != nil {
508
		return x.Results
509
	}
510
	return nil
511
}
512
513
// SinglePermissionCheckResponse is the response message for the Check method in the Permission service.
514
type SinglePermissionCheckResponse struct {
515
	state         protoimpl.MessageState
516
	sizeCache     protoimpl.SizeCache
517
	unknownFields protoimpl.UnknownFields
518
519
	// The index of this permission check within a bulk response.
520
	Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
521
	// Result of the permission check.
522
	Can CheckResult `protobuf:"varint,2,opt,name=can,proto3,enum=base.v1.CheckResult" json:"can,omitempty"`
523
	// Metadata associated with this response.
524
	Metadata *PermissionCheckResponseMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
525
}
526
527
func (x *SinglePermissionCheckResponse) Reset() {
528
	*x = SinglePermissionCheckResponse{}
529
	if protoimpl.UnsafeEnabled {
530
		mi := &file_base_v1_service_proto_msgTypes[7]
531
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
532
		ms.StoreMessageInfo(mi)
533
	}
534
}
535
536
func (x *SinglePermissionCheckResponse) String() string {
537
	return protoimpl.X.MessageStringOf(x)
538
}
539
540
func (*SinglePermissionCheckResponse) ProtoMessage() {}
541
542
func (x *SinglePermissionCheckResponse) ProtoReflect() protoreflect.Message {
543
	mi := &file_base_v1_service_proto_msgTypes[7]
544
	if protoimpl.UnsafeEnabled && x != nil {
545
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
546
		if ms.LoadMessageInfo() == nil {
547
			ms.StoreMessageInfo(mi)
548
		}
549
		return ms
550
	}
551
	return mi.MessageOf(x)
552
}
553
554
// Deprecated: Use SinglePermissionCheckResponse.ProtoReflect.Descriptor instead.
555
func (*SinglePermissionCheckResponse) Descriptor() ([]byte, []int) {
556
	return file_base_v1_service_proto_rawDescGZIP(), []int{7}
557
}
558
559
func (x *SinglePermissionCheckResponse) GetIndex() int32 {
560
	if x != nil {
561
		return x.Index
562
	}
563
	return 0
564
}
565
566
func (x *SinglePermissionCheckResponse) GetCan() CheckResult {
567
	if x != nil {
568
		return x.Can
569
	}
570
	return CheckResult_CHECK_RESULT_UNSPECIFIED
571
}
572
573
func (x *SinglePermissionCheckResponse) GetMetadata() *PermissionCheckResponseMetadata {
574
	if x != nil {
575
		return x.Metadata
576
	}
577
	return nil
578
}
579
580
// PermissionExpandRequest is the request message for the Expand method in the Permission service.
581
type PermissionExpandRequest struct {
582
	state         protoimpl.MessageState
583
	sizeCache     protoimpl.SizeCache
584
	unknownFields protoimpl.UnknownFields
585
586
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
587
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
588
	// Metadata associated with this request, required.
589
	Metadata *PermissionExpandRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
590
	// Entity on which the permission needs to be expanded, required.
591
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
592
	// Name of the permission to be expanded, not required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
593
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
594
	// Context associated with this request.
595
	Context *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
596
	// Additional arguments associated with this request.
597
	Arguments []*Argument `protobuf:"bytes,6,rep,name=arguments,proto3" json:"arguments,omitempty"`
598
}
599
600
func (x *PermissionExpandRequest) Reset() {
601
	*x = PermissionExpandRequest{}
602
	if protoimpl.UnsafeEnabled {
603
		mi := &file_base_v1_service_proto_msgTypes[8]
604
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
605
		ms.StoreMessageInfo(mi)
606
	}
607
}
608
609
func (x *PermissionExpandRequest) String() string {
610
	return protoimpl.X.MessageStringOf(x)
611
}
612
613
func (*PermissionExpandRequest) ProtoMessage() {}
614
615
func (x *PermissionExpandRequest) ProtoReflect() protoreflect.Message {
616
	mi := &file_base_v1_service_proto_msgTypes[8]
617
	if protoimpl.UnsafeEnabled && x != nil {
618
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
619
		if ms.LoadMessageInfo() == nil {
620
			ms.StoreMessageInfo(mi)
621
		}
622
		return ms
623
	}
624
	return mi.MessageOf(x)
625
}
626
627
// Deprecated: Use PermissionExpandRequest.ProtoReflect.Descriptor instead.
628
func (*PermissionExpandRequest) Descriptor() ([]byte, []int) {
629
	return file_base_v1_service_proto_rawDescGZIP(), []int{8}
630
}
631
632
func (x *PermissionExpandRequest) GetTenantId() string {
633
	if x != nil {
634
		return x.TenantId
635
	}
636
	return ""
637
}
638
639
func (x *PermissionExpandRequest) GetMetadata() *PermissionExpandRequestMetadata {
640
	if x != nil {
641
		return x.Metadata
642
	}
643
	return nil
644
}
645
646
func (x *PermissionExpandRequest) GetEntity() *Entity {
647
	if x != nil {
648
		return x.Entity
649
	}
650
	return nil
651
}
652
653
func (x *PermissionExpandRequest) GetPermission() string {
654
	if x != nil {
655
		return x.Permission
656
	}
657
	return ""
658
}
659
660
func (x *PermissionExpandRequest) GetContext() *Context {
661
	if x != nil {
662
		return x.Context
663
	}
664
	return nil
665
}
666
667
func (x *PermissionExpandRequest) GetArguments() []*Argument {
668
	if x != nil {
669
		return x.Arguments
670
	}
671
	return nil
672
}
673
674
// PermissionExpandRequestMetadata metadata for the PermissionExpandRequest.
675
type PermissionExpandRequestMetadata struct {
676
	state         protoimpl.MessageState
677
	sizeCache     protoimpl.SizeCache
678
	unknownFields protoimpl.UnknownFields
679
680
	// Version of the schema.
681
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
682
	// Token associated with the snap.
683
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
684
}
685
686
func (x *PermissionExpandRequestMetadata) Reset() {
687
	*x = PermissionExpandRequestMetadata{}
688
	if protoimpl.UnsafeEnabled {
689
		mi := &file_base_v1_service_proto_msgTypes[9]
690
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
691
		ms.StoreMessageInfo(mi)
692
	}
693
}
694
695
func (x *PermissionExpandRequestMetadata) String() string {
696
	return protoimpl.X.MessageStringOf(x)
697
}
698
699
func (*PermissionExpandRequestMetadata) ProtoMessage() {}
700
701
func (x *PermissionExpandRequestMetadata) ProtoReflect() protoreflect.Message {
702
	mi := &file_base_v1_service_proto_msgTypes[9]
703
	if protoimpl.UnsafeEnabled && x != nil {
704
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
705
		if ms.LoadMessageInfo() == nil {
706
			ms.StoreMessageInfo(mi)
707
		}
708
		return ms
709
	}
710
	return mi.MessageOf(x)
711
}
712
713
// Deprecated: Use PermissionExpandRequestMetadata.ProtoReflect.Descriptor instead.
714
func (*PermissionExpandRequestMetadata) Descriptor() ([]byte, []int) {
715
	return file_base_v1_service_proto_rawDescGZIP(), []int{9}
716
}
717
718
func (x *PermissionExpandRequestMetadata) GetSchemaVersion() string {
719
	if x != nil {
720
		return x.SchemaVersion
721
	}
722
	return ""
723
}
724
725
func (x *PermissionExpandRequestMetadata) GetSnapToken() string {
726
	if x != nil {
727
		return x.SnapToken
728
	}
729
	return ""
730
}
731
732
// PermissionExpandResponse is the response message for the Expand method in the Permission service.
733
type PermissionExpandResponse struct {
734
	state         protoimpl.MessageState
735
	sizeCache     protoimpl.SizeCache
736
	unknownFields protoimpl.UnknownFields
737
738
	// Expansion tree.
739
	Tree *Expand `protobuf:"bytes,1,opt,name=tree,proto3" json:"tree,omitempty"`
740
}
741
742
func (x *PermissionExpandResponse) Reset() {
743
	*x = PermissionExpandResponse{}
744
	if protoimpl.UnsafeEnabled {
745
		mi := &file_base_v1_service_proto_msgTypes[10]
746
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
747
		ms.StoreMessageInfo(mi)
748
	}
749
}
750
751
func (x *PermissionExpandResponse) String() string {
752
	return protoimpl.X.MessageStringOf(x)
753
}
754
755
func (*PermissionExpandResponse) ProtoMessage() {}
756
757
func (x *PermissionExpandResponse) ProtoReflect() protoreflect.Message {
758
	mi := &file_base_v1_service_proto_msgTypes[10]
759
	if protoimpl.UnsafeEnabled && x != nil {
760
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
761
		if ms.LoadMessageInfo() == nil {
762
			ms.StoreMessageInfo(mi)
763
		}
764
		return ms
765
	}
766
	return mi.MessageOf(x)
767
}
768
769
// Deprecated: Use PermissionExpandResponse.ProtoReflect.Descriptor instead.
770
func (*PermissionExpandResponse) Descriptor() ([]byte, []int) {
771
	return file_base_v1_service_proto_rawDescGZIP(), []int{10}
772
}
773
774
func (x *PermissionExpandResponse) GetTree() *Expand {
775
	if x != nil {
776
		return x.Tree
777
	}
778
	return nil
779
}
780
781
// PermissionLookupEntityRequest is the request message for the LookupEntity method in the Permission service.
782
type PermissionLookupEntityRequest struct {
783
	state         protoimpl.MessageState
784
	sizeCache     protoimpl.SizeCache
785
	unknownFields protoimpl.UnknownFields
786
787
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
788
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
789
	// Metadata associated with this request, required.
790
	Metadata *PermissionLookupEntityRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
791
	// Type of the entity to lookup, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
792
	EntityType string `protobuf:"bytes,3,opt,name=entity_type,proto3" json:"entity_type,omitempty"`
793
	// Name of the permission to check, required, must start with a letter and can include alphanumeric and underscore, max 64 bytes.
794
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
795
	// Subject for which to check the permission, required.
796
	Subject *Subject `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`
797
	// Context associated with this request.
798
	Context *Context `protobuf:"bytes,6,opt,name=context,proto3" json:"context,omitempty"`
799
	// Scope: A map that associates entity types with lists of identifiers. Each entry
800
	// helps filter requests by specifying which entities are relevant to the operation.
801
	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"`
802
	// page_size is the number of entities to be returned in the response.
803
	// The value should be between 1 and 100.
804
	PageSize uint32 `protobuf:"varint,8,opt,name=page_size,proto3" json:"page_size,omitempty"`
805
	// continuous_token is an optional parameter used for pagination.
806
	// It should be the value received in the previous response.
807
	ContinuousToken string `protobuf:"bytes,9,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
808
}
809
810
func (x *PermissionLookupEntityRequest) Reset() {
811
	*x = PermissionLookupEntityRequest{}
812
	if protoimpl.UnsafeEnabled {
813
		mi := &file_base_v1_service_proto_msgTypes[11]
814
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
815
		ms.StoreMessageInfo(mi)
816
	}
817
}
818
819
func (x *PermissionLookupEntityRequest) String() string {
820
	return protoimpl.X.MessageStringOf(x)
821
}
822
823
func (*PermissionLookupEntityRequest) ProtoMessage() {}
824
825
func (x *PermissionLookupEntityRequest) ProtoReflect() protoreflect.Message {
826
	mi := &file_base_v1_service_proto_msgTypes[11]
827
	if protoimpl.UnsafeEnabled && x != nil {
828
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
829
		if ms.LoadMessageInfo() == nil {
830
			ms.StoreMessageInfo(mi)
831
		}
832
		return ms
833
	}
834
	return mi.MessageOf(x)
835
}
836
837
// Deprecated: Use PermissionLookupEntityRequest.ProtoReflect.Descriptor instead.
838
func (*PermissionLookupEntityRequest) Descriptor() ([]byte, []int) {
839
	return file_base_v1_service_proto_rawDescGZIP(), []int{11}
840
}
841
842
func (x *PermissionLookupEntityRequest) GetTenantId() string {
843
	if x != nil {
844
		return x.TenantId
845
	}
846
	return ""
847
}
848
849
func (x *PermissionLookupEntityRequest) GetMetadata() *PermissionLookupEntityRequestMetadata {
850
	if x != nil {
851
		return x.Metadata
852
	}
853
	return nil
854
}
855
856
func (x *PermissionLookupEntityRequest) GetEntityType() string {
857
	if x != nil {
858
		return x.EntityType
859
	}
860
	return ""
861
}
862
863
func (x *PermissionLookupEntityRequest) GetPermission() string {
864
	if x != nil {
865
		return x.Permission
866
	}
867
	return ""
868
}
869
870
func (x *PermissionLookupEntityRequest) GetSubject() *Subject {
871
	if x != nil {
872
		return x.Subject
873
	}
874
	return nil
875
}
876
877
func (x *PermissionLookupEntityRequest) GetContext() *Context {
878
	if x != nil {
879
		return x.Context
880
	}
881
	return nil
882
}
883
884
func (x *PermissionLookupEntityRequest) GetScope() map[string]*StringArrayValue {
885
	if x != nil {
886
		return x.Scope
887
	}
888
	return nil
889
}
890
891
func (x *PermissionLookupEntityRequest) GetPageSize() uint32 {
892
	if x != nil {
893
		return x.PageSize
894
	}
895
	return 0
896
}
897
898
func (x *PermissionLookupEntityRequest) GetContinuousToken() string {
899
	if x != nil {
900
		return x.ContinuousToken
901
	}
902
	return ""
903
}
904
905
// PermissionLookupEntityRequestMetadata metadata for the PermissionLookupEntityRequest.
906
type PermissionLookupEntityRequestMetadata struct {
907
	state         protoimpl.MessageState
908
	sizeCache     protoimpl.SizeCache
909
	unknownFields protoimpl.UnknownFields
910
911
	// Version of the schema.
912
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
913
	// Token associated with the snap.
914
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
915
	// Depth of lookup, required, must be greater or equal to 3.
916
	Depth int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
917
}
918
919
func (x *PermissionLookupEntityRequestMetadata) Reset() {
920
	*x = PermissionLookupEntityRequestMetadata{}
921
	if protoimpl.UnsafeEnabled {
922
		mi := &file_base_v1_service_proto_msgTypes[12]
923
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
924
		ms.StoreMessageInfo(mi)
925
	}
926
}
927
928
func (x *PermissionLookupEntityRequestMetadata) String() string {
929
	return protoimpl.X.MessageStringOf(x)
930
}
931
932
func (*PermissionLookupEntityRequestMetadata) ProtoMessage() {}
933
934
func (x *PermissionLookupEntityRequestMetadata) ProtoReflect() protoreflect.Message {
935
	mi := &file_base_v1_service_proto_msgTypes[12]
936
	if protoimpl.UnsafeEnabled && x != nil {
937
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
938
		if ms.LoadMessageInfo() == nil {
939
			ms.StoreMessageInfo(mi)
940
		}
941
		return ms
942
	}
943
	return mi.MessageOf(x)
944
}
945
946
// Deprecated: Use PermissionLookupEntityRequestMetadata.ProtoReflect.Descriptor instead.
947
func (*PermissionLookupEntityRequestMetadata) Descriptor() ([]byte, []int) {
948
	return file_base_v1_service_proto_rawDescGZIP(), []int{12}
949
}
950
951
func (x *PermissionLookupEntityRequestMetadata) GetSchemaVersion() string {
952
	if x != nil {
953
		return x.SchemaVersion
954
	}
955
	return ""
956
}
957
958
func (x *PermissionLookupEntityRequestMetadata) GetSnapToken() string {
959
	if x != nil {
960
		return x.SnapToken
961
	}
962
	return ""
963
}
964
965
func (x *PermissionLookupEntityRequestMetadata) GetDepth() int32 {
966
	if x != nil {
967
		return x.Depth
968
	}
969
	return 0
970
}
971
972
// PermissionLookupEntityResponse is the response message for the LookupEntity method in the Permission service.
973
type PermissionLookupEntityResponse struct {
974
	state         protoimpl.MessageState
975
	sizeCache     protoimpl.SizeCache
976
	unknownFields protoimpl.UnknownFields
977
978
	// List of identifiers for entities that match the lookup.
979
	EntityIds []string `protobuf:"bytes,1,rep,name=entity_ids,proto3" json:"entity_ids,omitempty"`
980
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
981
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
982
}
983
984
func (x *PermissionLookupEntityResponse) Reset() {
985
	*x = PermissionLookupEntityResponse{}
986
	if protoimpl.UnsafeEnabled {
987
		mi := &file_base_v1_service_proto_msgTypes[13]
988
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
989
		ms.StoreMessageInfo(mi)
990
	}
991
}
992
993
func (x *PermissionLookupEntityResponse) String() string {
994
	return protoimpl.X.MessageStringOf(x)
995
}
996
997
func (*PermissionLookupEntityResponse) ProtoMessage() {}
998
999
func (x *PermissionLookupEntityResponse) ProtoReflect() protoreflect.Message {
1000
	mi := &file_base_v1_service_proto_msgTypes[13]
1001
	if protoimpl.UnsafeEnabled && x != nil {
1002
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1003
		if ms.LoadMessageInfo() == nil {
1004
			ms.StoreMessageInfo(mi)
1005
		}
1006
		return ms
1007
	}
1008
	return mi.MessageOf(x)
1009
}
1010
1011
// Deprecated: Use PermissionLookupEntityResponse.ProtoReflect.Descriptor instead.
1012
func (*PermissionLookupEntityResponse) Descriptor() ([]byte, []int) {
1013
	return file_base_v1_service_proto_rawDescGZIP(), []int{13}
1014
}
1015
1016
func (x *PermissionLookupEntityResponse) GetEntityIds() []string {
1017
	if x != nil {
1018
		return x.EntityIds
1019
	}
1020
	return nil
1021
}
1022
1023
func (x *PermissionLookupEntityResponse) GetContinuousToken() string {
1024
	if x != nil {
1025
		return x.ContinuousToken
1026
	}
1027
	return ""
1028
}
1029
1030
// PermissionLookupEntityStreamResponse is the response message for the LookupEntityStream method in the Permission service.
1031
type PermissionLookupEntityStreamResponse struct {
1032
	state         protoimpl.MessageState
1033
	sizeCache     protoimpl.SizeCache
1034
	unknownFields protoimpl.UnknownFields
1035
1036
	// Identifier for an entity that matches the lookup.
1037
	EntityId string `protobuf:"bytes,1,opt,name=entity_id,proto3" json:"entity_id,omitempty"`
1038
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
1039
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
1040
}
1041
1042
func (x *PermissionLookupEntityStreamResponse) Reset() {
1043
	*x = PermissionLookupEntityStreamResponse{}
1044
	if protoimpl.UnsafeEnabled {
1045
		mi := &file_base_v1_service_proto_msgTypes[14]
1046
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1047
		ms.StoreMessageInfo(mi)
1048
	}
1049
}
1050
1051
func (x *PermissionLookupEntityStreamResponse) String() string {
1052
	return protoimpl.X.MessageStringOf(x)
1053
}
1054
1055
func (*PermissionLookupEntityStreamResponse) ProtoMessage() {}
1056
1057
func (x *PermissionLookupEntityStreamResponse) ProtoReflect() protoreflect.Message {
1058
	mi := &file_base_v1_service_proto_msgTypes[14]
1059
	if protoimpl.UnsafeEnabled && x != nil {
1060
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1061
		if ms.LoadMessageInfo() == nil {
1062
			ms.StoreMessageInfo(mi)
1063
		}
1064
		return ms
1065
	}
1066
	return mi.MessageOf(x)
1067
}
1068
1069
// Deprecated: Use PermissionLookupEntityStreamResponse.ProtoReflect.Descriptor instead.
1070
func (*PermissionLookupEntityStreamResponse) Descriptor() ([]byte, []int) {
1071
	return file_base_v1_service_proto_rawDescGZIP(), []int{14}
1072
}
1073
1074
func (x *PermissionLookupEntityStreamResponse) GetEntityId() string {
1075
	if x != nil {
1076
		return x.EntityId
1077
	}
1078
	return ""
1079
}
1080
1081
func (x *PermissionLookupEntityStreamResponse) GetContinuousToken() string {
1082
	if x != nil {
1083
		return x.ContinuousToken
1084
	}
1085
	return ""
1086
}
1087
1088
// PermissionEntityFilterRequest is the request message for the LookupEntityStream method in the Permission service.
1089
type PermissionEntityFilterRequest struct {
1090
	state         protoimpl.MessageState
1091
	sizeCache     protoimpl.SizeCache
1092
	unknownFields protoimpl.UnknownFields
1093
1094
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1095
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1096
	// Metadata associated with this request, required.
1097
	Metadata *PermissionEntityFilterRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1098
	// Reference to the entity to filter.
1099
	Entrance *Entrance `protobuf:"bytes,3,opt,name=entrance,proto3" json:"entrance,omitempty"`
1100
	// Subject for which to check the permission.
1101
	Subject *Subject `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
1102
	// Context associated with this request.
1103
	Context *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
1104
	// Scope: A map that associates entity types with lists of identifiers. Each entry
1105
	// helps filter requests by specifying which entities are relevant to the operation.
1106
	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"`
1107
	// cursor is an optional parameter used for pagination.
1108
	// It should be the value received in the previous response.
1109
	Cursor string `protobuf:"bytes,7,opt,name=cursor,proto3" json:"cursor,omitempty"`
1110
}
1111
1112
func (x *PermissionEntityFilterRequest) Reset() {
1113
	*x = PermissionEntityFilterRequest{}
1114
	if protoimpl.UnsafeEnabled {
1115
		mi := &file_base_v1_service_proto_msgTypes[15]
1116
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1117
		ms.StoreMessageInfo(mi)
1118
	}
1119
}
1120
1121
func (x *PermissionEntityFilterRequest) String() string {
1122
	return protoimpl.X.MessageStringOf(x)
1123
}
1124
1125
func (*PermissionEntityFilterRequest) ProtoMessage() {}
1126
1127
func (x *PermissionEntityFilterRequest) ProtoReflect() protoreflect.Message {
1128
	mi := &file_base_v1_service_proto_msgTypes[15]
1129
	if protoimpl.UnsafeEnabled && x != nil {
1130
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1131
		if ms.LoadMessageInfo() == nil {
1132
			ms.StoreMessageInfo(mi)
1133
		}
1134
		return ms
1135
	}
1136
	return mi.MessageOf(x)
1137
}
1138
1139
// Deprecated: Use PermissionEntityFilterRequest.ProtoReflect.Descriptor instead.
1140
func (*PermissionEntityFilterRequest) Descriptor() ([]byte, []int) {
1141
	return file_base_v1_service_proto_rawDescGZIP(), []int{15}
1142
}
1143
1144
func (x *PermissionEntityFilterRequest) GetTenantId() string {
1145
	if x != nil {
1146
		return x.TenantId
1147
	}
1148
	return ""
1149
}
1150
1151
func (x *PermissionEntityFilterRequest) GetMetadata() *PermissionEntityFilterRequestMetadata {
1152
	if x != nil {
1153
		return x.Metadata
1154
	}
1155
	return nil
1156
}
1157
1158
func (x *PermissionEntityFilterRequest) GetEntrance() *Entrance {
1159
	if x != nil {
1160
		return x.Entrance
1161
	}
1162
	return nil
1163
}
1164
1165
func (x *PermissionEntityFilterRequest) GetSubject() *Subject {
1166
	if x != nil {
1167
		return x.Subject
1168
	}
1169
	return nil
1170
}
1171
1172
func (x *PermissionEntityFilterRequest) GetContext() *Context {
1173
	if x != nil {
1174
		return x.Context
1175
	}
1176
	return nil
1177
}
1178
1179
func (x *PermissionEntityFilterRequest) GetScope() map[string]*StringArrayValue {
1180
	if x != nil {
1181
		return x.Scope
1182
	}
1183
	return nil
1184
}
1185
1186
func (x *PermissionEntityFilterRequest) GetCursor() string {
1187
	if x != nil {
1188
		return x.Cursor
1189
	}
1190
	return ""
1191
}
1192
1193
// PermissionEntityFilterRequestMetadata metadata for the PermissionEntityFilterRequest.
1194
type PermissionEntityFilterRequestMetadata struct {
1195
	state         protoimpl.MessageState
1196
	sizeCache     protoimpl.SizeCache
1197
	unknownFields protoimpl.UnknownFields
1198
1199
	// Version of the schema.
1200
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1201
	// Token associated with the snap.
1202
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1203
	// Depth of lookup, required, must be greater or equal to 3.
1204
	Depth int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
1205
}
1206
1207
func (x *PermissionEntityFilterRequestMetadata) Reset() {
1208
	*x = PermissionEntityFilterRequestMetadata{}
1209
	if protoimpl.UnsafeEnabled {
1210
		mi := &file_base_v1_service_proto_msgTypes[16]
1211
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1212
		ms.StoreMessageInfo(mi)
1213
	}
1214
}
1215
1216
func (x *PermissionEntityFilterRequestMetadata) String() string {
1217
	return protoimpl.X.MessageStringOf(x)
1218
}
1219
1220
func (*PermissionEntityFilterRequestMetadata) ProtoMessage() {}
1221
1222
func (x *PermissionEntityFilterRequestMetadata) ProtoReflect() protoreflect.Message {
1223
	mi := &file_base_v1_service_proto_msgTypes[16]
1224
	if protoimpl.UnsafeEnabled && x != nil {
1225
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1226
		if ms.LoadMessageInfo() == nil {
1227
			ms.StoreMessageInfo(mi)
1228
		}
1229
		return ms
1230
	}
1231
	return mi.MessageOf(x)
1232
}
1233
1234
// Deprecated: Use PermissionEntityFilterRequestMetadata.ProtoReflect.Descriptor instead.
1235
func (*PermissionEntityFilterRequestMetadata) Descriptor() ([]byte, []int) {
1236
	return file_base_v1_service_proto_rawDescGZIP(), []int{16}
1237
}
1238
1239
func (x *PermissionEntityFilterRequestMetadata) GetSchemaVersion() string {
1240
	if x != nil {
1241
		return x.SchemaVersion
1242
	}
1243
	return ""
1244
}
1245
1246
func (x *PermissionEntityFilterRequestMetadata) GetSnapToken() string {
1247
	if x != nil {
1248
		return x.SnapToken
1249
	}
1250
	return ""
1251
}
1252
1253
func (x *PermissionEntityFilterRequestMetadata) GetDepth() int32 {
1254
	if x != nil {
1255
		return x.Depth
1256
	}
1257
	return 0
1258
}
1259
1260
// PermissionLookupSubjectRequest is the request message for the LookupSubject method in the Permission service.
1261
type PermissionLookupSubjectRequest struct {
1262
	state         protoimpl.MessageState
1263
	sizeCache     protoimpl.SizeCache
1264
	unknownFields protoimpl.UnknownFields
1265
1266
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1267
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1268
	// Metadata associated with this request, required.
1269
	Metadata *PermissionLookupSubjectRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1270
	// Entity for which to check the permission, required.
1271
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
1272
	// 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.
1273
	Permission string `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"`
1274
	// Reference to the subject to lookup.
1275
	SubjectReference *RelationReference `protobuf:"bytes,5,opt,name=subject_reference,proto3" json:"subject_reference,omitempty"`
1276
	// Context associated with this request.
1277
	Context *Context `protobuf:"bytes,6,opt,name=context,proto3" json:"context,omitempty"`
1278
	// page_size is the number of subjects to be returned in the response.
1279
	// The value should be between 1 and 100.
1280
	PageSize uint32 `protobuf:"varint,7,opt,name=page_size,proto3" json:"page_size,omitempty"`
1281
	// continuous_token is an optional parameter used for pagination.
1282
	// It should be the value received in the previous response.
1283
	ContinuousToken string `protobuf:"bytes,8,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
1284
}
1285
1286
func (x *PermissionLookupSubjectRequest) Reset() {
1287
	*x = PermissionLookupSubjectRequest{}
1288
	if protoimpl.UnsafeEnabled {
1289
		mi := &file_base_v1_service_proto_msgTypes[17]
1290
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1291
		ms.StoreMessageInfo(mi)
1292
	}
1293
}
1294
1295
func (x *PermissionLookupSubjectRequest) String() string {
1296
	return protoimpl.X.MessageStringOf(x)
1297
}
1298
1299
func (*PermissionLookupSubjectRequest) ProtoMessage() {}
1300
1301
func (x *PermissionLookupSubjectRequest) ProtoReflect() protoreflect.Message {
1302
	mi := &file_base_v1_service_proto_msgTypes[17]
1303
	if protoimpl.UnsafeEnabled && x != nil {
1304
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1305
		if ms.LoadMessageInfo() == nil {
1306
			ms.StoreMessageInfo(mi)
1307
		}
1308
		return ms
1309
	}
1310
	return mi.MessageOf(x)
1311
}
1312
1313
// Deprecated: Use PermissionLookupSubjectRequest.ProtoReflect.Descriptor instead.
1314
func (*PermissionLookupSubjectRequest) Descriptor() ([]byte, []int) {
1315
	return file_base_v1_service_proto_rawDescGZIP(), []int{17}
1316
}
1317
1318
func (x *PermissionLookupSubjectRequest) GetTenantId() string {
1319
	if x != nil {
1320
		return x.TenantId
1321
	}
1322
	return ""
1323
}
1324
1325
func (x *PermissionLookupSubjectRequest) GetMetadata() *PermissionLookupSubjectRequestMetadata {
1326
	if x != nil {
1327
		return x.Metadata
1328
	}
1329
	return nil
1330
}
1331
1332
func (x *PermissionLookupSubjectRequest) GetEntity() *Entity {
1333
	if x != nil {
1334
		return x.Entity
1335
	}
1336
	return nil
1337
}
1338
1339
func (x *PermissionLookupSubjectRequest) GetPermission() string {
1340
	if x != nil {
1341
		return x.Permission
1342
	}
1343
	return ""
1344
}
1345
1346
func (x *PermissionLookupSubjectRequest) GetSubjectReference() *RelationReference {
1347
	if x != nil {
1348
		return x.SubjectReference
1349
	}
1350
	return nil
1351
}
1352
1353
func (x *PermissionLookupSubjectRequest) GetContext() *Context {
1354
	if x != nil {
1355
		return x.Context
1356
	}
1357
	return nil
1358
}
1359
1360
func (x *PermissionLookupSubjectRequest) GetPageSize() uint32 {
1361
	if x != nil {
1362
		return x.PageSize
1363
	}
1364
	return 0
1365
}
1366
1367
func (x *PermissionLookupSubjectRequest) GetContinuousToken() string {
1368
	if x != nil {
1369
		return x.ContinuousToken
1370
	}
1371
	return ""
1372
}
1373
1374
// PermissionLookupSubjectRequestMetadata metadata for the PermissionLookupSubjectRequest.
1375
type PermissionLookupSubjectRequestMetadata struct {
1376
	state         protoimpl.MessageState
1377
	sizeCache     protoimpl.SizeCache
1378
	unknownFields protoimpl.UnknownFields
1379
1380
	// Version of the schema.
1381
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1382
	// Token associated with the snap.
1383
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1384
	// Depth of the check, must be greater than or equal to 3.
1385
	Depth int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"`
1386
}
1387
1388
func (x *PermissionLookupSubjectRequestMetadata) Reset() {
1389
	*x = PermissionLookupSubjectRequestMetadata{}
1390
	if protoimpl.UnsafeEnabled {
1391
		mi := &file_base_v1_service_proto_msgTypes[18]
1392
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1393
		ms.StoreMessageInfo(mi)
1394
	}
1395
}
1396
1397
func (x *PermissionLookupSubjectRequestMetadata) String() string {
1398
	return protoimpl.X.MessageStringOf(x)
1399
}
1400
1401
func (*PermissionLookupSubjectRequestMetadata) ProtoMessage() {}
1402
1403
func (x *PermissionLookupSubjectRequestMetadata) ProtoReflect() protoreflect.Message {
1404
	mi := &file_base_v1_service_proto_msgTypes[18]
1405
	if protoimpl.UnsafeEnabled && x != nil {
1406
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1407
		if ms.LoadMessageInfo() == nil {
1408
			ms.StoreMessageInfo(mi)
1409
		}
1410
		return ms
1411
	}
1412
	return mi.MessageOf(x)
1413
}
1414
1415
// Deprecated: Use PermissionLookupSubjectRequestMetadata.ProtoReflect.Descriptor instead.
1416
func (*PermissionLookupSubjectRequestMetadata) Descriptor() ([]byte, []int) {
1417
	return file_base_v1_service_proto_rawDescGZIP(), []int{18}
1418
}
1419
1420
func (x *PermissionLookupSubjectRequestMetadata) GetSchemaVersion() string {
1421
	if x != nil {
1422
		return x.SchemaVersion
1423
	}
1424
	return ""
1425
}
1426
1427
func (x *PermissionLookupSubjectRequestMetadata) GetSnapToken() string {
1428
	if x != nil {
1429
		return x.SnapToken
1430
	}
1431
	return ""
1432
}
1433
1434
func (x *PermissionLookupSubjectRequestMetadata) GetDepth() int32 {
1435
	if x != nil {
1436
		return x.Depth
1437
	}
1438
	return 0
1439
}
1440
1441
// PermissionLookupSubjectResponse is the response message for the LookupSubject method in the Permission service.
1442
type PermissionLookupSubjectResponse struct {
1443
	state         protoimpl.MessageState
1444
	sizeCache     protoimpl.SizeCache
1445
	unknownFields protoimpl.UnknownFields
1446
1447
	// List of identifiers for subjects that match the lookup.
1448
	SubjectIds []string `protobuf:"bytes,1,rep,name=subject_ids,proto3" json:"subject_ids,omitempty"`
1449
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
1450
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
1451
}
1452
1453
func (x *PermissionLookupSubjectResponse) Reset() {
1454
	*x = PermissionLookupSubjectResponse{}
1455
	if protoimpl.UnsafeEnabled {
1456
		mi := &file_base_v1_service_proto_msgTypes[19]
1457
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1458
		ms.StoreMessageInfo(mi)
1459
	}
1460
}
1461
1462
func (x *PermissionLookupSubjectResponse) String() string {
1463
	return protoimpl.X.MessageStringOf(x)
1464
}
1465
1466
func (*PermissionLookupSubjectResponse) ProtoMessage() {}
1467
1468
func (x *PermissionLookupSubjectResponse) ProtoReflect() protoreflect.Message {
1469
	mi := &file_base_v1_service_proto_msgTypes[19]
1470
	if protoimpl.UnsafeEnabled && x != nil {
1471
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1472
		if ms.LoadMessageInfo() == nil {
1473
			ms.StoreMessageInfo(mi)
1474
		}
1475
		return ms
1476
	}
1477
	return mi.MessageOf(x)
1478
}
1479
1480
// Deprecated: Use PermissionLookupSubjectResponse.ProtoReflect.Descriptor instead.
1481
func (*PermissionLookupSubjectResponse) Descriptor() ([]byte, []int) {
1482
	return file_base_v1_service_proto_rawDescGZIP(), []int{19}
1483
}
1484
1485
func (x *PermissionLookupSubjectResponse) GetSubjectIds() []string {
1486
	if x != nil {
1487
		return x.SubjectIds
1488
	}
1489
	return nil
1490
}
1491
1492
func (x *PermissionLookupSubjectResponse) GetContinuousToken() string {
1493
	if x != nil {
1494
		return x.ContinuousToken
1495
	}
1496
	return ""
1497
}
1498
1499
// PermissionSubjectPermissionRequest is the request message for the SubjectPermission method in the Permission service.
1500
type PermissionSubjectPermissionRequest struct {
1501
	state         protoimpl.MessageState
1502
	sizeCache     protoimpl.SizeCache
1503
	unknownFields protoimpl.UnknownFields
1504
1505
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1506
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1507
	// Metadata associated with this request, required.
1508
	Metadata *PermissionSubjectPermissionRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1509
	// Entity for which to check the permission, required.
1510
	Entity *Entity `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
1511
	// Subject for which to check the permission, required.
1512
	Subject *Subject `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
1513
	// Context associated with this request.
1514
	Context *Context `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
1515
}
1516
1517
func (x *PermissionSubjectPermissionRequest) Reset() {
1518
	*x = PermissionSubjectPermissionRequest{}
1519
	if protoimpl.UnsafeEnabled {
1520
		mi := &file_base_v1_service_proto_msgTypes[20]
1521
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1522
		ms.StoreMessageInfo(mi)
1523
	}
1524
}
1525
1526
func (x *PermissionSubjectPermissionRequest) String() string {
1527
	return protoimpl.X.MessageStringOf(x)
1528
}
1529
1530
func (*PermissionSubjectPermissionRequest) ProtoMessage() {}
1531
1532
func (x *PermissionSubjectPermissionRequest) ProtoReflect() protoreflect.Message {
1533
	mi := &file_base_v1_service_proto_msgTypes[20]
1534
	if protoimpl.UnsafeEnabled && x != nil {
1535
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1536
		if ms.LoadMessageInfo() == nil {
1537
			ms.StoreMessageInfo(mi)
1538
		}
1539
		return ms
1540
	}
1541
	return mi.MessageOf(x)
1542
}
1543
1544
// Deprecated: Use PermissionSubjectPermissionRequest.ProtoReflect.Descriptor instead.
1545
func (*PermissionSubjectPermissionRequest) Descriptor() ([]byte, []int) {
1546
	return file_base_v1_service_proto_rawDescGZIP(), []int{20}
1547
}
1548
1549
func (x *PermissionSubjectPermissionRequest) GetTenantId() string {
1550
	if x != nil {
1551
		return x.TenantId
1552
	}
1553
	return ""
1554
}
1555
1556
func (x *PermissionSubjectPermissionRequest) GetMetadata() *PermissionSubjectPermissionRequestMetadata {
1557
	if x != nil {
1558
		return x.Metadata
1559
	}
1560
	return nil
1561
}
1562
1563
func (x *PermissionSubjectPermissionRequest) GetEntity() *Entity {
1564
	if x != nil {
1565
		return x.Entity
1566
	}
1567
	return nil
1568
}
1569
1570
func (x *PermissionSubjectPermissionRequest) GetSubject() *Subject {
1571
	if x != nil {
1572
		return x.Subject
1573
	}
1574
	return nil
1575
}
1576
1577
func (x *PermissionSubjectPermissionRequest) GetContext() *Context {
1578
	if x != nil {
1579
		return x.Context
1580
	}
1581
	return nil
1582
}
1583
1584
// PermissionSubjectPermissionRequestMetadata metadata for the PermissionSubjectPermissionRequest.
1585
type PermissionSubjectPermissionRequestMetadata struct {
1586
	state         protoimpl.MessageState
1587
	sizeCache     protoimpl.SizeCache
1588
	unknownFields protoimpl.UnknownFields
1589
1590
	// Version of the schema.
1591
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1592
	// Token associated with the snap.
1593
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1594
	// Whether to only check permissions.
1595
	OnlyPermission bool `protobuf:"varint,3,opt,name=only_permission,proto3" json:"only_permission,omitempty"`
1596
	// Depth of the check, must be greater than or equal to 3.
1597
	Depth int32 `protobuf:"varint,4,opt,name=depth,proto3" json:"depth,omitempty"`
1598
}
1599
1600
func (x *PermissionSubjectPermissionRequestMetadata) Reset() {
1601
	*x = PermissionSubjectPermissionRequestMetadata{}
1602
	if protoimpl.UnsafeEnabled {
1603
		mi := &file_base_v1_service_proto_msgTypes[21]
1604
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1605
		ms.StoreMessageInfo(mi)
1606
	}
1607
}
1608
1609
func (x *PermissionSubjectPermissionRequestMetadata) String() string {
1610
	return protoimpl.X.MessageStringOf(x)
1611
}
1612
1613
func (*PermissionSubjectPermissionRequestMetadata) ProtoMessage() {}
1614
1615
func (x *PermissionSubjectPermissionRequestMetadata) ProtoReflect() protoreflect.Message {
1616
	mi := &file_base_v1_service_proto_msgTypes[21]
1617
	if protoimpl.UnsafeEnabled && x != nil {
1618
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1619
		if ms.LoadMessageInfo() == nil {
1620
			ms.StoreMessageInfo(mi)
1621
		}
1622
		return ms
1623
	}
1624
	return mi.MessageOf(x)
1625
}
1626
1627
// Deprecated: Use PermissionSubjectPermissionRequestMetadata.ProtoReflect.Descriptor instead.
1628
func (*PermissionSubjectPermissionRequestMetadata) Descriptor() ([]byte, []int) {
1629
	return file_base_v1_service_proto_rawDescGZIP(), []int{21}
1630
}
1631
1632
func (x *PermissionSubjectPermissionRequestMetadata) GetSchemaVersion() string {
1633
	if x != nil {
1634
		return x.SchemaVersion
1635
	}
1636
	return ""
1637
}
1638
1639
func (x *PermissionSubjectPermissionRequestMetadata) GetSnapToken() string {
1640
	if x != nil {
1641
		return x.SnapToken
1642
	}
1643
	return ""
1644
}
1645
1646
func (x *PermissionSubjectPermissionRequestMetadata) GetOnlyPermission() bool {
1647
	if x != nil {
1648
		return x.OnlyPermission
1649
	}
1650
	return false
1651
}
1652
1653
func (x *PermissionSubjectPermissionRequestMetadata) GetDepth() int32 {
1654
	if x != nil {
1655
		return x.Depth
1656
	}
1657
	return 0
1658
}
1659
1660
// PermissionSubjectPermissionResponse is the response message for the SubjectPermission method in the Permission service.
1661
type PermissionSubjectPermissionResponse struct {
1662
	state         protoimpl.MessageState
1663
	sizeCache     protoimpl.SizeCache
1664
	unknownFields protoimpl.UnknownFields
1665
1666
	// Map of results for each permission check.
1667
	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"`
1668
}
1669
1670
func (x *PermissionSubjectPermissionResponse) Reset() {
1671
	*x = PermissionSubjectPermissionResponse{}
1672
	if protoimpl.UnsafeEnabled {
1673
		mi := &file_base_v1_service_proto_msgTypes[22]
1674
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1675
		ms.StoreMessageInfo(mi)
1676
	}
1677
}
1678
1679
func (x *PermissionSubjectPermissionResponse) String() string {
1680
	return protoimpl.X.MessageStringOf(x)
1681
}
1682
1683
func (*PermissionSubjectPermissionResponse) ProtoMessage() {}
1684
1685
func (x *PermissionSubjectPermissionResponse) ProtoReflect() protoreflect.Message {
1686
	mi := &file_base_v1_service_proto_msgTypes[22]
1687
	if protoimpl.UnsafeEnabled && x != nil {
1688
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1689
		if ms.LoadMessageInfo() == nil {
1690
			ms.StoreMessageInfo(mi)
1691
		}
1692
		return ms
1693
	}
1694
	return mi.MessageOf(x)
1695
}
1696
1697
// Deprecated: Use PermissionSubjectPermissionResponse.ProtoReflect.Descriptor instead.
1698
func (*PermissionSubjectPermissionResponse) Descriptor() ([]byte, []int) {
1699
	return file_base_v1_service_proto_rawDescGZIP(), []int{22}
1700
}
1701
1702
func (x *PermissionSubjectPermissionResponse) GetResults() map[string]CheckResult {
1703
	if x != nil {
1704
		return x.Results
1705
	}
1706
	return nil
1707
}
1708
1709
// WatchRequest is the request message for the Watch RPC. It contains the
1710
// details needed to establish a watch stream.
1711
type WatchRequest struct {
1712
	state         protoimpl.MessageState
1713
	sizeCache     protoimpl.SizeCache
1714
	unknownFields protoimpl.UnknownFields
1715
1716
	// Identifier of the tenant, required, and must match the pattern "[a-zA-Z0-9-,]+", max 64 bytes.
1717
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1718
	// Snap token to be used for watching.
1719
	SnapToken string `protobuf:"bytes,2,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
1720
}
1721
1722
func (x *WatchRequest) Reset() {
1723
	*x = WatchRequest{}
1724
	if protoimpl.UnsafeEnabled {
1725
		mi := &file_base_v1_service_proto_msgTypes[23]
1726
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1727
		ms.StoreMessageInfo(mi)
1728
	}
1729
}
1730
1731
func (x *WatchRequest) String() string {
1732
	return protoimpl.X.MessageStringOf(x)
1733
}
1734
1735
func (*WatchRequest) ProtoMessage() {}
1736
1737
func (x *WatchRequest) ProtoReflect() protoreflect.Message {
1738
	mi := &file_base_v1_service_proto_msgTypes[23]
1739
	if protoimpl.UnsafeEnabled && x != nil {
1740
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1741
		if ms.LoadMessageInfo() == nil {
1742
			ms.StoreMessageInfo(mi)
1743
		}
1744
		return ms
1745
	}
1746
	return mi.MessageOf(x)
1747
}
1748
1749
// Deprecated: Use WatchRequest.ProtoReflect.Descriptor instead.
1750
func (*WatchRequest) Descriptor() ([]byte, []int) {
1751
	return file_base_v1_service_proto_rawDescGZIP(), []int{23}
1752
}
1753
1754
func (x *WatchRequest) GetTenantId() string {
1755
	if x != nil {
1756
		return x.TenantId
1757
	}
1758
	return ""
1759
}
1760
1761
func (x *WatchRequest) GetSnapToken() string {
1762
	if x != nil {
1763
		return x.SnapToken
1764
	}
1765
	return ""
1766
}
1767
1768
// WatchResponse is the response message for the Watch RPC. It contains the
1769
// changes in the data that are being watched.
1770
type WatchResponse struct {
1771
	state         protoimpl.MessageState
1772
	sizeCache     protoimpl.SizeCache
1773
	unknownFields protoimpl.UnknownFields
1774
1775
	// Changes in the data.
1776
	Changes *DataChanges `protobuf:"bytes,1,opt,name=changes,proto3" json:"changes,omitempty"`
1777
}
1778
1779
func (x *WatchResponse) Reset() {
1780
	*x = WatchResponse{}
1781
	if protoimpl.UnsafeEnabled {
1782
		mi := &file_base_v1_service_proto_msgTypes[24]
1783
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1784
		ms.StoreMessageInfo(mi)
1785
	}
1786
}
1787
1788
func (x *WatchResponse) String() string {
1789
	return protoimpl.X.MessageStringOf(x)
1790
}
1791
1792
func (*WatchResponse) ProtoMessage() {}
1793
1794
func (x *WatchResponse) ProtoReflect() protoreflect.Message {
1795
	mi := &file_base_v1_service_proto_msgTypes[24]
1796
	if protoimpl.UnsafeEnabled && x != nil {
1797
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1798
		if ms.LoadMessageInfo() == nil {
1799
			ms.StoreMessageInfo(mi)
1800
		}
1801
		return ms
1802
	}
1803
	return mi.MessageOf(x)
1804
}
1805
1806
// Deprecated: Use WatchResponse.ProtoReflect.Descriptor instead.
1807
func (*WatchResponse) Descriptor() ([]byte, []int) {
1808
	return file_base_v1_service_proto_rawDescGZIP(), []int{24}
1809
}
1810
1811
func (x *WatchResponse) GetChanges() *DataChanges {
1812
	if x != nil {
1813
		return x.Changes
1814
	}
1815
	return nil
1816
}
1817
1818
// SchemaWriteRequest is the request message for the Write method in the Schema service.
1819
// It contains tenant_id and the schema to be written.
1820
type SchemaWriteRequest struct {
1821
	state         protoimpl.MessageState
1822
	sizeCache     protoimpl.SizeCache
1823
	unknownFields protoimpl.UnknownFields
1824
1825
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
1826
	// be a maximum of 64 bytes, and must not be empty.
1827
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1828
	// schema is the string representation of the schema to be written.
1829
	Schema string `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"`
1830
}
1831
1832
func (x *SchemaWriteRequest) Reset() {
1833
	*x = SchemaWriteRequest{}
1834
	if protoimpl.UnsafeEnabled {
1835
		mi := &file_base_v1_service_proto_msgTypes[25]
1836
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1837
		ms.StoreMessageInfo(mi)
1838
	}
1839
}
1840
1841
func (x *SchemaWriteRequest) String() string {
1842
	return protoimpl.X.MessageStringOf(x)
1843
}
1844
1845
func (*SchemaWriteRequest) ProtoMessage() {}
1846
1847
func (x *SchemaWriteRequest) ProtoReflect() protoreflect.Message {
1848
	mi := &file_base_v1_service_proto_msgTypes[25]
1849
	if protoimpl.UnsafeEnabled && x != nil {
1850
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1851
		if ms.LoadMessageInfo() == nil {
1852
			ms.StoreMessageInfo(mi)
1853
		}
1854
		return ms
1855
	}
1856
	return mi.MessageOf(x)
1857
}
1858
1859
// Deprecated: Use SchemaWriteRequest.ProtoReflect.Descriptor instead.
1860
func (*SchemaWriteRequest) Descriptor() ([]byte, []int) {
1861
	return file_base_v1_service_proto_rawDescGZIP(), []int{25}
1862
}
1863
1864
func (x *SchemaWriteRequest) GetTenantId() string {
1865
	if x != nil {
1866
		return x.TenantId
1867
	}
1868
	return ""
1869
}
1870
1871
func (x *SchemaWriteRequest) GetSchema() string {
1872
	if x != nil {
1873
		return x.Schema
1874
	}
1875
	return ""
1876
}
1877
1878
// SchemaWriteResponse is the response message for the Write method in the Schema service.
1879
// It returns the version of the written schema.
1880
type SchemaWriteResponse struct {
1881
	state         protoimpl.MessageState
1882
	sizeCache     protoimpl.SizeCache
1883
	unknownFields protoimpl.UnknownFields
1884
1885
	// schema_version is the string that identifies the version of the written schema.
1886
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
1887
}
1888
1889
func (x *SchemaWriteResponse) Reset() {
1890
	*x = SchemaWriteResponse{}
1891
	if protoimpl.UnsafeEnabled {
1892
		mi := &file_base_v1_service_proto_msgTypes[26]
1893
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1894
		ms.StoreMessageInfo(mi)
1895
	}
1896
}
1897
1898
func (x *SchemaWriteResponse) String() string {
1899
	return protoimpl.X.MessageStringOf(x)
1900
}
1901
1902
func (*SchemaWriteResponse) ProtoMessage() {}
1903
1904
func (x *SchemaWriteResponse) ProtoReflect() protoreflect.Message {
1905
	mi := &file_base_v1_service_proto_msgTypes[26]
1906
	if protoimpl.UnsafeEnabled && x != nil {
1907
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1908
		if ms.LoadMessageInfo() == nil {
1909
			ms.StoreMessageInfo(mi)
1910
		}
1911
		return ms
1912
	}
1913
	return mi.MessageOf(x)
1914
}
1915
1916
// Deprecated: Use SchemaWriteResponse.ProtoReflect.Descriptor instead.
1917
func (*SchemaWriteResponse) Descriptor() ([]byte, []int) {
1918
	return file_base_v1_service_proto_rawDescGZIP(), []int{26}
1919
}
1920
1921
func (x *SchemaWriteResponse) GetSchemaVersion() string {
1922
	if x != nil {
1923
		return x.SchemaVersion
1924
	}
1925
	return ""
1926
}
1927
1928
// It contains the tenant_id to identify the tenant and metadata of the schema to be edited,
1929
// with the corresponding edits to various entities
1930
type SchemaPartialWriteRequest struct {
1931
	state         protoimpl.MessageState
1932
	sizeCache     protoimpl.SizeCache
1933
	unknownFields protoimpl.UnknownFields
1934
1935
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
1936
	// be a maximum of 64 bytes, and must not be empty.
1937
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
1938
	// metadata is the additional information needed for the Partial Write request.
1939
	Metadata *SchemaPartialWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
1940
	// Map of entity name with the values needed to be updated
1941
	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"`
1942
}
1943
1944
func (x *SchemaPartialWriteRequest) Reset() {
1945
	*x = SchemaPartialWriteRequest{}
1946
	if protoimpl.UnsafeEnabled {
1947
		mi := &file_base_v1_service_proto_msgTypes[27]
1948
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1949
		ms.StoreMessageInfo(mi)
1950
	}
1951
}
1952
1953
func (x *SchemaPartialWriteRequest) String() string {
1954
	return protoimpl.X.MessageStringOf(x)
1955
}
1956
1957
func (*SchemaPartialWriteRequest) ProtoMessage() {}
1958
1959
func (x *SchemaPartialWriteRequest) ProtoReflect() protoreflect.Message {
1960
	mi := &file_base_v1_service_proto_msgTypes[27]
1961
	if protoimpl.UnsafeEnabled && x != nil {
1962
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1963
		if ms.LoadMessageInfo() == nil {
1964
			ms.StoreMessageInfo(mi)
1965
		}
1966
		return ms
1967
	}
1968
	return mi.MessageOf(x)
1969
}
1970
1971
// Deprecated: Use SchemaPartialWriteRequest.ProtoReflect.Descriptor instead.
1972
func (*SchemaPartialWriteRequest) Descriptor() ([]byte, []int) {
1973
	return file_base_v1_service_proto_rawDescGZIP(), []int{27}
1974
}
1975
1976
func (x *SchemaPartialWriteRequest) GetTenantId() string {
1977
	if x != nil {
1978
		return x.TenantId
1979
	}
1980
	return ""
1981
}
1982
1983
func (x *SchemaPartialWriteRequest) GetMetadata() *SchemaPartialWriteRequestMetadata {
1984
	if x != nil {
1985
		return x.Metadata
1986
	}
1987
	return nil
1988
}
1989
1990
func (x *SchemaPartialWriteRequest) GetPartials() map[string]*Partials {
1991
	if x != nil {
1992
		return x.Partials
1993
	}
1994
	return nil
1995
}
1996
1997
// SchemaPartialWriteRequestMetadata provides additional information for the Schema Partial Write request.
1998
// It contains schema_version to specify which version of the schema should be read.
1999
type SchemaPartialWriteRequestMetadata struct {
2000
	state         protoimpl.MessageState
2001
	sizeCache     protoimpl.SizeCache
2002
	unknownFields protoimpl.UnknownFields
2003
2004
	// schema_version is the string that identifies the version of the schema to be read.
2005
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2006
}
2007
2008
func (x *SchemaPartialWriteRequestMetadata) Reset() {
2009
	*x = SchemaPartialWriteRequestMetadata{}
2010
	if protoimpl.UnsafeEnabled {
2011
		mi := &file_base_v1_service_proto_msgTypes[28]
2012
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2013
		ms.StoreMessageInfo(mi)
2014
	}
2015
}
2016
2017
func (x *SchemaPartialWriteRequestMetadata) String() string {
2018
	return protoimpl.X.MessageStringOf(x)
2019
}
2020
2021
func (*SchemaPartialWriteRequestMetadata) ProtoMessage() {}
2022
2023
func (x *SchemaPartialWriteRequestMetadata) ProtoReflect() protoreflect.Message {
2024
	mi := &file_base_v1_service_proto_msgTypes[28]
2025
	if protoimpl.UnsafeEnabled && x != nil {
2026
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2027
		if ms.LoadMessageInfo() == nil {
2028
			ms.StoreMessageInfo(mi)
2029
		}
2030
		return ms
2031
	}
2032
	return mi.MessageOf(x)
2033
}
2034
2035
// Deprecated: Use SchemaPartialWriteRequestMetadata.ProtoReflect.Descriptor instead.
2036
func (*SchemaPartialWriteRequestMetadata) Descriptor() ([]byte, []int) {
2037
	return file_base_v1_service_proto_rawDescGZIP(), []int{28}
2038
}
2039
2040
func (x *SchemaPartialWriteRequestMetadata) GetSchemaVersion() string {
2041
	if x != nil {
2042
		return x.SchemaVersion
2043
	}
2044
	return ""
2045
}
2046
2047
// SchemaPartialWriteResponse is the response message for the Parietal Write method in the Schema service.
2048
// It returns the requested schema.
2049
type SchemaPartialWriteResponse struct {
2050
	state         protoimpl.MessageState
2051
	sizeCache     protoimpl.SizeCache
2052
	unknownFields protoimpl.UnknownFields
2053
2054
	// schema_version is the string that identifies the version of the written schema.
2055
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2056
}
2057
2058
func (x *SchemaPartialWriteResponse) Reset() {
2059
	*x = SchemaPartialWriteResponse{}
2060
	if protoimpl.UnsafeEnabled {
2061
		mi := &file_base_v1_service_proto_msgTypes[29]
2062
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2063
		ms.StoreMessageInfo(mi)
2064
	}
2065
}
2066
2067
func (x *SchemaPartialWriteResponse) String() string {
2068
	return protoimpl.X.MessageStringOf(x)
2069
}
2070
2071
func (*SchemaPartialWriteResponse) ProtoMessage() {}
2072
2073
func (x *SchemaPartialWriteResponse) ProtoReflect() protoreflect.Message {
2074
	mi := &file_base_v1_service_proto_msgTypes[29]
2075
	if protoimpl.UnsafeEnabled && x != nil {
2076
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2077
		if ms.LoadMessageInfo() == nil {
2078
			ms.StoreMessageInfo(mi)
2079
		}
2080
		return ms
2081
	}
2082
	return mi.MessageOf(x)
2083
}
2084
2085
// Deprecated: Use SchemaPartialWriteResponse.ProtoReflect.Descriptor instead.
2086
func (*SchemaPartialWriteResponse) Descriptor() ([]byte, []int) {
2087
	return file_base_v1_service_proto_rawDescGZIP(), []int{29}
2088
}
2089
2090
func (x *SchemaPartialWriteResponse) GetSchemaVersion() string {
2091
	if x != nil {
2092
		return x.SchemaVersion
2093
	}
2094
	return ""
2095
}
2096
2097
// SchemaReadRequest is the request message for the Read method in the Schema service.
2098
// It contains tenant_id and metadata about the schema to be read.
2099
type SchemaReadRequest struct {
2100
	state         protoimpl.MessageState
2101
	sizeCache     protoimpl.SizeCache
2102
	unknownFields protoimpl.UnknownFields
2103
2104
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
2105
	// be a maximum of 64 bytes, and must not be empty.
2106
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2107
	// metadata is the additional information needed for the Read request.
2108
	Metadata *SchemaReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2109
}
2110
2111
func (x *SchemaReadRequest) Reset() {
2112
	*x = SchemaReadRequest{}
2113
	if protoimpl.UnsafeEnabled {
2114
		mi := &file_base_v1_service_proto_msgTypes[30]
2115
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2116
		ms.StoreMessageInfo(mi)
2117
	}
2118
}
2119
2120
func (x *SchemaReadRequest) String() string {
2121
	return protoimpl.X.MessageStringOf(x)
2122
}
2123
2124
func (*SchemaReadRequest) ProtoMessage() {}
2125
2126
func (x *SchemaReadRequest) ProtoReflect() protoreflect.Message {
2127
	mi := &file_base_v1_service_proto_msgTypes[30]
2128
	if protoimpl.UnsafeEnabled && x != nil {
2129
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2130
		if ms.LoadMessageInfo() == nil {
2131
			ms.StoreMessageInfo(mi)
2132
		}
2133
		return ms
2134
	}
2135
	return mi.MessageOf(x)
2136
}
2137
2138
// Deprecated: Use SchemaReadRequest.ProtoReflect.Descriptor instead.
2139
func (*SchemaReadRequest) Descriptor() ([]byte, []int) {
2140
	return file_base_v1_service_proto_rawDescGZIP(), []int{30}
2141
}
2142
2143
func (x *SchemaReadRequest) GetTenantId() string {
2144
	if x != nil {
2145
		return x.TenantId
2146
	}
2147
	return ""
2148
}
2149
2150
func (x *SchemaReadRequest) GetMetadata() *SchemaReadRequestMetadata {
2151
	if x != nil {
2152
		return x.Metadata
2153
	}
2154
	return nil
2155
}
2156
2157
// SchemaReadRequestMetadata provides additional information for the Schema Read request.
2158
// It contains schema_version to specify which version of the schema should be read.
2159
type SchemaReadRequestMetadata struct {
2160
	state         protoimpl.MessageState
2161
	sizeCache     protoimpl.SizeCache
2162
	unknownFields protoimpl.UnknownFields
2163
2164
	// schema_version is the string that identifies the version of the schema to be read.
2165
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2166
}
2167
2168
func (x *SchemaReadRequestMetadata) Reset() {
2169
	*x = SchemaReadRequestMetadata{}
2170
	if protoimpl.UnsafeEnabled {
2171
		mi := &file_base_v1_service_proto_msgTypes[31]
2172
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2173
		ms.StoreMessageInfo(mi)
2174
	}
2175
}
2176
2177
func (x *SchemaReadRequestMetadata) String() string {
2178
	return protoimpl.X.MessageStringOf(x)
2179
}
2180
2181
func (*SchemaReadRequestMetadata) ProtoMessage() {}
2182
2183
func (x *SchemaReadRequestMetadata) ProtoReflect() protoreflect.Message {
2184
	mi := &file_base_v1_service_proto_msgTypes[31]
2185
	if protoimpl.UnsafeEnabled && x != nil {
2186
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2187
		if ms.LoadMessageInfo() == nil {
2188
			ms.StoreMessageInfo(mi)
2189
		}
2190
		return ms
2191
	}
2192
	return mi.MessageOf(x)
2193
}
2194
2195
// Deprecated: Use SchemaReadRequestMetadata.ProtoReflect.Descriptor instead.
2196
func (*SchemaReadRequestMetadata) Descriptor() ([]byte, []int) {
2197
	return file_base_v1_service_proto_rawDescGZIP(), []int{31}
2198
}
2199
2200
func (x *SchemaReadRequestMetadata) GetSchemaVersion() string {
2201
	if x != nil {
2202
		return x.SchemaVersion
2203
	}
2204
	return ""
2205
}
2206
2207
// SchemaReadResponse is the response message for the Read method in the Schema service.
2208
// It returns the requested schema.
2209
type SchemaReadResponse struct {
2210
	state         protoimpl.MessageState
2211
	sizeCache     protoimpl.SizeCache
2212
	unknownFields protoimpl.UnknownFields
2213
2214
	// schema is the SchemaDefinition that represents the read schema.
2215
	Schema *SchemaDefinition `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"`
2216
}
2217
2218
func (x *SchemaReadResponse) Reset() {
2219
	*x = SchemaReadResponse{}
2220
	if protoimpl.UnsafeEnabled {
2221
		mi := &file_base_v1_service_proto_msgTypes[32]
2222
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2223
		ms.StoreMessageInfo(mi)
2224
	}
2225
}
2226
2227
func (x *SchemaReadResponse) String() string {
2228
	return protoimpl.X.MessageStringOf(x)
2229
}
2230
2231
func (*SchemaReadResponse) ProtoMessage() {}
2232
2233
func (x *SchemaReadResponse) ProtoReflect() protoreflect.Message {
2234
	mi := &file_base_v1_service_proto_msgTypes[32]
2235
	if protoimpl.UnsafeEnabled && x != nil {
2236
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2237
		if ms.LoadMessageInfo() == nil {
2238
			ms.StoreMessageInfo(mi)
2239
		}
2240
		return ms
2241
	}
2242
	return mi.MessageOf(x)
2243
}
2244
2245
// Deprecated: Use SchemaReadResponse.ProtoReflect.Descriptor instead.
2246
func (*SchemaReadResponse) Descriptor() ([]byte, []int) {
2247
	return file_base_v1_service_proto_rawDescGZIP(), []int{32}
2248
}
2249
2250
func (x *SchemaReadResponse) GetSchema() *SchemaDefinition {
2251
	if x != nil {
2252
		return x.Schema
2253
	}
2254
	return nil
2255
}
2256
2257
// SchemaListRequest is the request message for the List method in the Schema service.
2258
// It contains tenant_id for which the schemas are to be listed.
2259
type SchemaListRequest struct {
2260
	state         protoimpl.MessageState
2261
	sizeCache     protoimpl.SizeCache
2262
	unknownFields protoimpl.UnknownFields
2263
2264
	// tenant_id is a string that identifies the tenant. It must match the pattern "[a-zA-Z0-9-,]+",
2265
	// be a maximum of 64 bytes, and must not be empty.
2266
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2267
	// page_size is the number of schemas to be returned in the response.
2268
	// The value should be between 1 and 100.
2269
	PageSize uint32 `protobuf:"varint,2,opt,name=page_size,proto3" json:"page_size,omitempty"`
2270
	// continuous_token is an optional parameter used for pagination.
2271
	// It should be the value received in the previous response.
2272
	ContinuousToken string `protobuf:"bytes,3,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2273
}
2274
2275
func (x *SchemaListRequest) Reset() {
2276
	*x = SchemaListRequest{}
2277
	if protoimpl.UnsafeEnabled {
2278
		mi := &file_base_v1_service_proto_msgTypes[33]
2279
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2280
		ms.StoreMessageInfo(mi)
2281
	}
2282
}
2283
2284
func (x *SchemaListRequest) String() string {
2285
	return protoimpl.X.MessageStringOf(x)
2286
}
2287
2288
func (*SchemaListRequest) ProtoMessage() {}
2289
2290
func (x *SchemaListRequest) ProtoReflect() protoreflect.Message {
2291
	mi := &file_base_v1_service_proto_msgTypes[33]
2292
	if protoimpl.UnsafeEnabled && x != nil {
2293
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2294
		if ms.LoadMessageInfo() == nil {
2295
			ms.StoreMessageInfo(mi)
2296
		}
2297
		return ms
2298
	}
2299
	return mi.MessageOf(x)
2300
}
2301
2302
// Deprecated: Use SchemaListRequest.ProtoReflect.Descriptor instead.
2303
func (*SchemaListRequest) Descriptor() ([]byte, []int) {
2304
	return file_base_v1_service_proto_rawDescGZIP(), []int{33}
2305
}
2306
2307
func (x *SchemaListRequest) GetTenantId() string {
2308
	if x != nil {
2309
		return x.TenantId
2310
	}
2311
	return ""
2312
}
2313
2314
func (x *SchemaListRequest) GetPageSize() uint32 {
2315
	if x != nil {
2316
		return x.PageSize
2317
	}
2318
	return 0
2319
}
2320
2321
func (x *SchemaListRequest) GetContinuousToken() string {
2322
	if x != nil {
2323
		return x.ContinuousToken
2324
	}
2325
	return ""
2326
}
2327
2328
// SchemaListResponse is the response message for the List method in the Schema service.
2329
// It returns a paginated list of schemas
2330
type SchemaListResponse struct {
2331
	state         protoimpl.MessageState
2332
	sizeCache     protoimpl.SizeCache
2333
	unknownFields protoimpl.UnknownFields
2334
2335
	// head of the schemas is the latest version available for the tenant
2336
	Head string `protobuf:"bytes,1,opt,name=head,proto3" json:"head,omitempty"`
2337
	// list of schema versions with creation timestamps
2338
	Schemas []*SchemaList `protobuf:"bytes,2,rep,name=schemas,proto3" json:"schemas,omitempty"`
2339
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
2340
	ContinuousToken string `protobuf:"bytes,3,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2341
}
2342
2343
func (x *SchemaListResponse) Reset() {
2344
	*x = SchemaListResponse{}
2345
	if protoimpl.UnsafeEnabled {
2346
		mi := &file_base_v1_service_proto_msgTypes[34]
2347
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2348
		ms.StoreMessageInfo(mi)
2349
	}
2350
}
2351
2352
func (x *SchemaListResponse) String() string {
2353
	return protoimpl.X.MessageStringOf(x)
2354
}
2355
2356
func (*SchemaListResponse) ProtoMessage() {}
2357
2358
func (x *SchemaListResponse) ProtoReflect() protoreflect.Message {
2359
	mi := &file_base_v1_service_proto_msgTypes[34]
2360
	if protoimpl.UnsafeEnabled && x != nil {
2361
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2362
		if ms.LoadMessageInfo() == nil {
2363
			ms.StoreMessageInfo(mi)
2364
		}
2365
		return ms
2366
	}
2367
	return mi.MessageOf(x)
2368
}
2369
2370
// Deprecated: Use SchemaListResponse.ProtoReflect.Descriptor instead.
2371
func (*SchemaListResponse) Descriptor() ([]byte, []int) {
2372
	return file_base_v1_service_proto_rawDescGZIP(), []int{34}
2373
}
2374
2375
func (x *SchemaListResponse) GetHead() string {
2376
	if x != nil {
2377
		return x.Head
2378
	}
2379
	return ""
2380
}
2381
2382
func (x *SchemaListResponse) GetSchemas() []*SchemaList {
2383
	if x != nil {
2384
		return x.Schemas
2385
	}
2386
	return nil
2387
}
2388
2389
func (x *SchemaListResponse) GetContinuousToken() string {
2390
	if x != nil {
2391
		return x.ContinuousToken
2392
	}
2393
	return ""
2394
}
2395
2396
// SchemaList provides a list of schema versions with their corresponding creation timestamps
2397
type SchemaList struct {
2398
	state         protoimpl.MessageState
2399
	sizeCache     protoimpl.SizeCache
2400
	unknownFields protoimpl.UnknownFields
2401
2402
	Version   string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
2403
	CreatedAt string `protobuf:"bytes,2,opt,name=created_at,proto3" json:"created_at,omitempty"`
2404
}
2405
2406
func (x *SchemaList) Reset() {
2407
	*x = SchemaList{}
2408
	if protoimpl.UnsafeEnabled {
2409
		mi := &file_base_v1_service_proto_msgTypes[35]
2410
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2411
		ms.StoreMessageInfo(mi)
2412
	}
2413
}
2414
2415
func (x *SchemaList) String() string {
2416
	return protoimpl.X.MessageStringOf(x)
2417
}
2418
2419
func (*SchemaList) ProtoMessage() {}
2420
2421
func (x *SchemaList) ProtoReflect() protoreflect.Message {
2422
	mi := &file_base_v1_service_proto_msgTypes[35]
2423
	if protoimpl.UnsafeEnabled && x != nil {
2424
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2425
		if ms.LoadMessageInfo() == nil {
2426
			ms.StoreMessageInfo(mi)
2427
		}
2428
		return ms
2429
	}
2430
	return mi.MessageOf(x)
2431
}
2432
2433
// Deprecated: Use SchemaList.ProtoReflect.Descriptor instead.
2434
func (*SchemaList) Descriptor() ([]byte, []int) {
2435
	return file_base_v1_service_proto_rawDescGZIP(), []int{35}
2436
}
2437
2438
func (x *SchemaList) GetVersion() string {
2439
	if x != nil {
2440
		return x.Version
2441
	}
2442
	return ""
2443
}
2444
2445
func (x *SchemaList) GetCreatedAt() string {
2446
	if x != nil {
2447
		return x.CreatedAt
2448
	}
2449
	return ""
2450
}
2451
2452
// DataWriteRequest defines the structure of a request for writing data.
2453
// It contains the necessary information such as tenant_id, metadata,
2454
// tuples and attributes for the write operation.
2455
type DataWriteRequest struct {
2456
	state         protoimpl.MessageState
2457
	sizeCache     protoimpl.SizeCache
2458
	unknownFields protoimpl.UnknownFields
2459
2460
	// tenant_id represents the unique identifier of the tenant for which data is written.
2461
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2462
	// metadata holds additional data related to the request.
2463
	Metadata *DataWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2464
	// tuples contains the list of tuples (entity-relation-entity triples) that need to be written.
2465
	Tuples []*Tuple `protobuf:"bytes,3,rep,name=tuples,proto3" json:"tuples,omitempty"`
2466
	// attributes contains the list of attributes (entity-attribute-value triples) that need to be written.
2467
	Attributes []*Attribute `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"`
2468
}
2469
2470
func (x *DataWriteRequest) Reset() {
2471
	*x = DataWriteRequest{}
2472
	if protoimpl.UnsafeEnabled {
2473
		mi := &file_base_v1_service_proto_msgTypes[36]
2474
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2475
		ms.StoreMessageInfo(mi)
2476
	}
2477
}
2478
2479
func (x *DataWriteRequest) String() string {
2480
	return protoimpl.X.MessageStringOf(x)
2481
}
2482
2483
func (*DataWriteRequest) ProtoMessage() {}
2484
2485
func (x *DataWriteRequest) ProtoReflect() protoreflect.Message {
2486
	mi := &file_base_v1_service_proto_msgTypes[36]
2487
	if protoimpl.UnsafeEnabled && x != nil {
2488
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2489
		if ms.LoadMessageInfo() == nil {
2490
			ms.StoreMessageInfo(mi)
2491
		}
2492
		return ms
2493
	}
2494
	return mi.MessageOf(x)
2495
}
2496
2497
// Deprecated: Use DataWriteRequest.ProtoReflect.Descriptor instead.
2498
func (*DataWriteRequest) Descriptor() ([]byte, []int) {
2499
	return file_base_v1_service_proto_rawDescGZIP(), []int{36}
2500
}
2501
2502
func (x *DataWriteRequest) GetTenantId() string {
2503
	if x != nil {
2504
		return x.TenantId
2505
	}
2506
	return ""
2507
}
2508
2509
func (x *DataWriteRequest) GetMetadata() *DataWriteRequestMetadata {
2510
	if x != nil {
2511
		return x.Metadata
2512
	}
2513
	return nil
2514
}
2515
2516
func (x *DataWriteRequest) GetTuples() []*Tuple {
2517
	if x != nil {
2518
		return x.Tuples
2519
	}
2520
	return nil
2521
}
2522
2523
func (x *DataWriteRequest) GetAttributes() []*Attribute {
2524
	if x != nil {
2525
		return x.Attributes
2526
	}
2527
	return nil
2528
}
2529
2530
// DataWriteRequestMetadata defines the structure of metadata for a write request.
2531
// It includes the schema version of the data to be written.
2532
type DataWriteRequestMetadata struct {
2533
	state         protoimpl.MessageState
2534
	sizeCache     protoimpl.SizeCache
2535
	unknownFields protoimpl.UnknownFields
2536
2537
	// schema_version represents the version of the schema for the data being written.
2538
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2539
}
2540
2541
func (x *DataWriteRequestMetadata) Reset() {
2542
	*x = DataWriteRequestMetadata{}
2543
	if protoimpl.UnsafeEnabled {
2544
		mi := &file_base_v1_service_proto_msgTypes[37]
2545
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2546
		ms.StoreMessageInfo(mi)
2547
	}
2548
}
2549
2550
func (x *DataWriteRequestMetadata) String() string {
2551
	return protoimpl.X.MessageStringOf(x)
2552
}
2553
2554
func (*DataWriteRequestMetadata) ProtoMessage() {}
2555
2556
func (x *DataWriteRequestMetadata) ProtoReflect() protoreflect.Message {
2557
	mi := &file_base_v1_service_proto_msgTypes[37]
2558
	if protoimpl.UnsafeEnabled && x != nil {
2559
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2560
		if ms.LoadMessageInfo() == nil {
2561
			ms.StoreMessageInfo(mi)
2562
		}
2563
		return ms
2564
	}
2565
	return mi.MessageOf(x)
2566
}
2567
2568
// Deprecated: Use DataWriteRequestMetadata.ProtoReflect.Descriptor instead.
2569
func (*DataWriteRequestMetadata) Descriptor() ([]byte, []int) {
2570
	return file_base_v1_service_proto_rawDescGZIP(), []int{37}
2571
}
2572
2573
func (x *DataWriteRequestMetadata) GetSchemaVersion() string {
2574
	if x != nil {
2575
		return x.SchemaVersion
2576
	}
2577
	return ""
2578
}
2579
2580
// DataWriteResponse defines the structure of the response after writing data.
2581
// It contains the snap_token generated after the write operation.
2582
type DataWriteResponse struct {
2583
	state         protoimpl.MessageState
2584
	sizeCache     protoimpl.SizeCache
2585
	unknownFields protoimpl.UnknownFields
2586
2587
	// snap_token is the token generated after the data write operation, representing a snapshot of the data.
2588
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2589
}
2590
2591
func (x *DataWriteResponse) Reset() {
2592
	*x = DataWriteResponse{}
2593
	if protoimpl.UnsafeEnabled {
2594
		mi := &file_base_v1_service_proto_msgTypes[38]
2595
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2596
		ms.StoreMessageInfo(mi)
2597
	}
2598
}
2599
2600
func (x *DataWriteResponse) String() string {
2601
	return protoimpl.X.MessageStringOf(x)
2602
}
2603
2604
func (*DataWriteResponse) ProtoMessage() {}
2605
2606
func (x *DataWriteResponse) ProtoReflect() protoreflect.Message {
2607
	mi := &file_base_v1_service_proto_msgTypes[38]
2608
	if protoimpl.UnsafeEnabled && x != nil {
2609
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2610
		if ms.LoadMessageInfo() == nil {
2611
			ms.StoreMessageInfo(mi)
2612
		}
2613
		return ms
2614
	}
2615
	return mi.MessageOf(x)
2616
}
2617
2618
// Deprecated: Use DataWriteResponse.ProtoReflect.Descriptor instead.
2619
func (*DataWriteResponse) Descriptor() ([]byte, []int) {
2620
	return file_base_v1_service_proto_rawDescGZIP(), []int{38}
2621
}
2622
2623
func (x *DataWriteResponse) GetSnapToken() string {
2624
	if x != nil {
2625
		return x.SnapToken
2626
	}
2627
	return ""
2628
}
2629
2630
// Represents a request to write relationship data.
2631
type RelationshipWriteRequest struct {
2632
	state         protoimpl.MessageState
2633
	sizeCache     protoimpl.SizeCache
2634
	unknownFields protoimpl.UnknownFields
2635
2636
	// Unique identifier for the tenant with specific constraints.
2637
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2638
	// Metadata for the request. It's required.
2639
	Metadata *RelationshipWriteRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2640
	// List of tuples for the request. Must have between 1 and 100 items.
2641
	Tuples []*Tuple `protobuf:"bytes,3,rep,name=tuples,proto3" json:"tuples,omitempty"`
2642
}
2643
2644
func (x *RelationshipWriteRequest) Reset() {
2645
	*x = RelationshipWriteRequest{}
2646
	if protoimpl.UnsafeEnabled {
2647
		mi := &file_base_v1_service_proto_msgTypes[39]
2648
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2649
		ms.StoreMessageInfo(mi)
2650
	}
2651
}
2652
2653
func (x *RelationshipWriteRequest) String() string {
2654
	return protoimpl.X.MessageStringOf(x)
2655
}
2656
2657
func (*RelationshipWriteRequest) ProtoMessage() {}
2658
2659
func (x *RelationshipWriteRequest) ProtoReflect() protoreflect.Message {
2660
	mi := &file_base_v1_service_proto_msgTypes[39]
2661
	if protoimpl.UnsafeEnabled && x != nil {
2662
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2663
		if ms.LoadMessageInfo() == nil {
2664
			ms.StoreMessageInfo(mi)
2665
		}
2666
		return ms
2667
	}
2668
	return mi.MessageOf(x)
2669
}
2670
2671
// Deprecated: Use RelationshipWriteRequest.ProtoReflect.Descriptor instead.
2672
func (*RelationshipWriteRequest) Descriptor() ([]byte, []int) {
2673
	return file_base_v1_service_proto_rawDescGZIP(), []int{39}
2674
}
2675
2676
func (x *RelationshipWriteRequest) GetTenantId() string {
2677
	if x != nil {
2678
		return x.TenantId
2679
	}
2680
	return ""
2681
}
2682
2683
func (x *RelationshipWriteRequest) GetMetadata() *RelationshipWriteRequestMetadata {
2684
	if x != nil {
2685
		return x.Metadata
2686
	}
2687
	return nil
2688
}
2689
2690
func (x *RelationshipWriteRequest) GetTuples() []*Tuple {
2691
	if x != nil {
2692
		return x.Tuples
2693
	}
2694
	return nil
2695
}
2696
2697
// RelationshipWriteRequestMetadata
2698
type RelationshipWriteRequestMetadata struct {
2699
	state         protoimpl.MessageState
2700
	sizeCache     protoimpl.SizeCache
2701
	unknownFields protoimpl.UnknownFields
2702
2703
	SchemaVersion string `protobuf:"bytes,1,opt,name=schema_version,proto3" json:"schema_version,omitempty"`
2704
}
2705
2706
func (x *RelationshipWriteRequestMetadata) Reset() {
2707
	*x = RelationshipWriteRequestMetadata{}
2708
	if protoimpl.UnsafeEnabled {
2709
		mi := &file_base_v1_service_proto_msgTypes[40]
2710
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2711
		ms.StoreMessageInfo(mi)
2712
	}
2713
}
2714
2715
func (x *RelationshipWriteRequestMetadata) String() string {
2716
	return protoimpl.X.MessageStringOf(x)
2717
}
2718
2719
func (*RelationshipWriteRequestMetadata) ProtoMessage() {}
2720
2721
func (x *RelationshipWriteRequestMetadata) ProtoReflect() protoreflect.Message {
2722
	mi := &file_base_v1_service_proto_msgTypes[40]
2723
	if protoimpl.UnsafeEnabled && x != nil {
2724
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2725
		if ms.LoadMessageInfo() == nil {
2726
			ms.StoreMessageInfo(mi)
2727
		}
2728
		return ms
2729
	}
2730
	return mi.MessageOf(x)
2731
}
2732
2733
// Deprecated: Use RelationshipWriteRequestMetadata.ProtoReflect.Descriptor instead.
2734
func (*RelationshipWriteRequestMetadata) Descriptor() ([]byte, []int) {
2735
	return file_base_v1_service_proto_rawDescGZIP(), []int{40}
2736
}
2737
2738
func (x *RelationshipWriteRequestMetadata) GetSchemaVersion() string {
2739
	if x != nil {
2740
		return x.SchemaVersion
2741
	}
2742
	return ""
2743
}
2744
2745
// RelationshipWriteResponse
2746
type RelationshipWriteResponse struct {
2747
	state         protoimpl.MessageState
2748
	sizeCache     protoimpl.SizeCache
2749
	unknownFields protoimpl.UnknownFields
2750
2751
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2752
}
2753
2754
func (x *RelationshipWriteResponse) Reset() {
2755
	*x = RelationshipWriteResponse{}
2756
	if protoimpl.UnsafeEnabled {
2757
		mi := &file_base_v1_service_proto_msgTypes[41]
2758
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2759
		ms.StoreMessageInfo(mi)
2760
	}
2761
}
2762
2763
func (x *RelationshipWriteResponse) String() string {
2764
	return protoimpl.X.MessageStringOf(x)
2765
}
2766
2767
func (*RelationshipWriteResponse) ProtoMessage() {}
2768
2769
func (x *RelationshipWriteResponse) ProtoReflect() protoreflect.Message {
2770
	mi := &file_base_v1_service_proto_msgTypes[41]
2771
	if protoimpl.UnsafeEnabled && x != nil {
2772
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2773
		if ms.LoadMessageInfo() == nil {
2774
			ms.StoreMessageInfo(mi)
2775
		}
2776
		return ms
2777
	}
2778
	return mi.MessageOf(x)
2779
}
2780
2781
// Deprecated: Use RelationshipWriteResponse.ProtoReflect.Descriptor instead.
2782
func (*RelationshipWriteResponse) Descriptor() ([]byte, []int) {
2783
	return file_base_v1_service_proto_rawDescGZIP(), []int{41}
2784
}
2785
2786
func (x *RelationshipWriteResponse) GetSnapToken() string {
2787
	if x != nil {
2788
		return x.SnapToken
2789
	}
2790
	return ""
2791
}
2792
2793
// RelationshipReadRequest defines the structure of a request for reading relationships.
2794
// It contains the necessary information such as tenant_id, metadata, and filter for the read operation.
2795
type RelationshipReadRequest struct {
2796
	state         protoimpl.MessageState
2797
	sizeCache     protoimpl.SizeCache
2798
	unknownFields protoimpl.UnknownFields
2799
2800
	// tenant_id represents the unique identifier of the tenant for which relationships are read.
2801
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2802
	// metadata holds additional data related to the request.
2803
	Metadata *RelationshipReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
2804
	// filter is used to specify criteria for the data that needs to be read.
2805
	Filter *TupleFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
2806
	// page_size specifies the number of results to return in a single page.
2807
	// If more results are available, a continuous_token is included in the response.
2808
	PageSize uint32 `protobuf:"varint,4,opt,name=page_size,proto3" json:"page_size,omitempty"`
2809
	// continuous_token is used in case of paginated reads to get the next page of results.
2810
	ContinuousToken string `protobuf:"bytes,5,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2811
}
2812
2813
func (x *RelationshipReadRequest) Reset() {
2814
	*x = RelationshipReadRequest{}
2815
	if protoimpl.UnsafeEnabled {
2816
		mi := &file_base_v1_service_proto_msgTypes[42]
2817
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2818
		ms.StoreMessageInfo(mi)
2819
	}
2820
}
2821
2822
func (x *RelationshipReadRequest) String() string {
2823
	return protoimpl.X.MessageStringOf(x)
2824
}
2825
2826
func (*RelationshipReadRequest) ProtoMessage() {}
2827
2828
func (x *RelationshipReadRequest) ProtoReflect() protoreflect.Message {
2829
	mi := &file_base_v1_service_proto_msgTypes[42]
2830
	if protoimpl.UnsafeEnabled && x != nil {
2831
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2832
		if ms.LoadMessageInfo() == nil {
2833
			ms.StoreMessageInfo(mi)
2834
		}
2835
		return ms
2836
	}
2837
	return mi.MessageOf(x)
2838
}
2839
2840
// Deprecated: Use RelationshipReadRequest.ProtoReflect.Descriptor instead.
2841
func (*RelationshipReadRequest) Descriptor() ([]byte, []int) {
2842
	return file_base_v1_service_proto_rawDescGZIP(), []int{42}
2843
}
2844
2845
func (x *RelationshipReadRequest) GetTenantId() string {
2846
	if x != nil {
2847
		return x.TenantId
2848
	}
2849
	return ""
2850
}
2851
2852
func (x *RelationshipReadRequest) GetMetadata() *RelationshipReadRequestMetadata {
2853
	if x != nil {
2854
		return x.Metadata
2855
	}
2856
	return nil
2857
}
2858
2859
func (x *RelationshipReadRequest) GetFilter() *TupleFilter {
2860
	if x != nil {
2861
		return x.Filter
2862
	}
2863
	return nil
2864
}
2865
2866
func (x *RelationshipReadRequest) GetPageSize() uint32 {
2867
	if x != nil {
2868
		return x.PageSize
2869
	}
2870
	return 0
2871
}
2872
2873
func (x *RelationshipReadRequest) GetContinuousToken() string {
2874
	if x != nil {
2875
		return x.ContinuousToken
2876
	}
2877
	return ""
2878
}
2879
2880
// RelationshipReadRequestMetadata defines the structure of the metadata for a read request focused on relationships.
2881
// It includes the snap_token associated with a particular state of the database.
2882
type RelationshipReadRequestMetadata struct {
2883
	state         protoimpl.MessageState
2884
	sizeCache     protoimpl.SizeCache
2885
	unknownFields protoimpl.UnknownFields
2886
2887
	// snap_token represents a specific state or "snapshot" of the database.
2888
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
2889
}
2890
2891
func (x *RelationshipReadRequestMetadata) Reset() {
2892
	*x = RelationshipReadRequestMetadata{}
2893
	if protoimpl.UnsafeEnabled {
2894
		mi := &file_base_v1_service_proto_msgTypes[43]
2895
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2896
		ms.StoreMessageInfo(mi)
2897
	}
2898
}
2899
2900
func (x *RelationshipReadRequestMetadata) String() string {
2901
	return protoimpl.X.MessageStringOf(x)
2902
}
2903
2904
func (*RelationshipReadRequestMetadata) ProtoMessage() {}
2905
2906
func (x *RelationshipReadRequestMetadata) ProtoReflect() protoreflect.Message {
2907
	mi := &file_base_v1_service_proto_msgTypes[43]
2908
	if protoimpl.UnsafeEnabled && x != nil {
2909
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2910
		if ms.LoadMessageInfo() == nil {
2911
			ms.StoreMessageInfo(mi)
2912
		}
2913
		return ms
2914
	}
2915
	return mi.MessageOf(x)
2916
}
2917
2918
// Deprecated: Use RelationshipReadRequestMetadata.ProtoReflect.Descriptor instead.
2919
func (*RelationshipReadRequestMetadata) Descriptor() ([]byte, []int) {
2920
	return file_base_v1_service_proto_rawDescGZIP(), []int{43}
2921
}
2922
2923
func (x *RelationshipReadRequestMetadata) GetSnapToken() string {
2924
	if x != nil {
2925
		return x.SnapToken
2926
	}
2927
	return ""
2928
}
2929
2930
// RelationshipReadResponse defines the structure of the response after reading relationships.
2931
// It includes the tuples representing the relationships and a continuous token for handling result pagination.
2932
type RelationshipReadResponse struct {
2933
	state         protoimpl.MessageState
2934
	sizeCache     protoimpl.SizeCache
2935
	unknownFields protoimpl.UnknownFields
2936
2937
	// tuples is a list of the relationships retrieved in the read operation, represented as entity-relation-entity triples.
2938
	Tuples []*Tuple `protobuf:"bytes,1,rep,name=tuples,proto3" json:"tuples,omitempty"`
2939
	// continuous_token is used in the case of paginated reads to retrieve the next page of results.
2940
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
2941
}
2942
2943
func (x *RelationshipReadResponse) Reset() {
2944
	*x = RelationshipReadResponse{}
2945
	if protoimpl.UnsafeEnabled {
2946
		mi := &file_base_v1_service_proto_msgTypes[44]
2947
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2948
		ms.StoreMessageInfo(mi)
2949
	}
2950
}
2951
2952
func (x *RelationshipReadResponse) String() string {
2953
	return protoimpl.X.MessageStringOf(x)
2954
}
2955
2956
func (*RelationshipReadResponse) ProtoMessage() {}
2957
2958
func (x *RelationshipReadResponse) ProtoReflect() protoreflect.Message {
2959
	mi := &file_base_v1_service_proto_msgTypes[44]
2960
	if protoimpl.UnsafeEnabled && x != nil {
2961
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2962
		if ms.LoadMessageInfo() == nil {
2963
			ms.StoreMessageInfo(mi)
2964
		}
2965
		return ms
2966
	}
2967
	return mi.MessageOf(x)
2968
}
2969
2970
// Deprecated: Use RelationshipReadResponse.ProtoReflect.Descriptor instead.
2971
func (*RelationshipReadResponse) Descriptor() ([]byte, []int) {
2972
	return file_base_v1_service_proto_rawDescGZIP(), []int{44}
2973
}
2974
2975
func (x *RelationshipReadResponse) GetTuples() []*Tuple {
2976
	if x != nil {
2977
		return x.Tuples
2978
	}
2979
	return nil
2980
}
2981
2982
func (x *RelationshipReadResponse) GetContinuousToken() string {
2983
	if x != nil {
2984
		return x.ContinuousToken
2985
	}
2986
	return ""
2987
}
2988
2989
// AttributeReadRequest defines the structure of a request for reading attributes.
2990
// It includes the tenant_id, metadata, attribute filter, page size for pagination, and a continuous token for multi-page results.
2991
type AttributeReadRequest struct {
2992
	state         protoimpl.MessageState
2993
	sizeCache     protoimpl.SizeCache
2994
	unknownFields protoimpl.UnknownFields
2995
2996
	// tenant_id represents the unique identifier of the tenant from which the attributes are being read.
2997
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
2998
	// metadata holds additional information related to the request.
2999
	Metadata *AttributeReadRequestMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
3000
	// filter specifies the criteria used to select the attributes that should be returned.
3001
	Filter *AttributeFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
3002
	// page_size specifies the number of results to return in a single page.
3003
	// If more results are available, a continuous_token is included in the response.
3004
	PageSize uint32 `protobuf:"varint,4,opt,name=page_size,proto3" json:"page_size,omitempty"`
3005
	// continuous_token is used in case of paginated reads to get the next page of results.
3006
	ContinuousToken string `protobuf:"bytes,5,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
3007
}
3008
3009
func (x *AttributeReadRequest) Reset() {
3010
	*x = AttributeReadRequest{}
3011
	if protoimpl.UnsafeEnabled {
3012
		mi := &file_base_v1_service_proto_msgTypes[45]
3013
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3014
		ms.StoreMessageInfo(mi)
3015
	}
3016
}
3017
3018
func (x *AttributeReadRequest) String() string {
3019
	return protoimpl.X.MessageStringOf(x)
3020
}
3021
3022
func (*AttributeReadRequest) ProtoMessage() {}
3023
3024
func (x *AttributeReadRequest) ProtoReflect() protoreflect.Message {
3025
	mi := &file_base_v1_service_proto_msgTypes[45]
3026
	if protoimpl.UnsafeEnabled && x != nil {
3027
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3028
		if ms.LoadMessageInfo() == nil {
3029
			ms.StoreMessageInfo(mi)
3030
		}
3031
		return ms
3032
	}
3033
	return mi.MessageOf(x)
3034
}
3035
3036
// Deprecated: Use AttributeReadRequest.ProtoReflect.Descriptor instead.
3037
func (*AttributeReadRequest) Descriptor() ([]byte, []int) {
3038
	return file_base_v1_service_proto_rawDescGZIP(), []int{45}
3039
}
3040
3041
func (x *AttributeReadRequest) GetTenantId() string {
3042
	if x != nil {
3043
		return x.TenantId
3044
	}
3045
	return ""
3046
}
3047
3048
func (x *AttributeReadRequest) GetMetadata() *AttributeReadRequestMetadata {
3049
	if x != nil {
3050
		return x.Metadata
3051
	}
3052
	return nil
3053
}
3054
3055
func (x *AttributeReadRequest) GetFilter() *AttributeFilter {
3056
	if x != nil {
3057
		return x.Filter
3058
	}
3059
	return nil
3060
}
3061
3062
func (x *AttributeReadRequest) GetPageSize() uint32 {
3063
	if x != nil {
3064
		return x.PageSize
3065
	}
3066
	return 0
3067
}
3068
3069
func (x *AttributeReadRequest) GetContinuousToken() string {
3070
	if x != nil {
3071
		return x.ContinuousToken
3072
	}
3073
	return ""
3074
}
3075
3076
// AttributeReadRequestMetadata defines the structure for the metadata of an attribute read request.
3077
// It includes the snap_token associated with a particular state of the database.
3078
type AttributeReadRequestMetadata struct {
3079
	state         protoimpl.MessageState
3080
	sizeCache     protoimpl.SizeCache
3081
	unknownFields protoimpl.UnknownFields
3082
3083
	// snap_token represents a specific state or "snapshot" of the database.
3084
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3085
}
3086
3087
func (x *AttributeReadRequestMetadata) Reset() {
3088
	*x = AttributeReadRequestMetadata{}
3089
	if protoimpl.UnsafeEnabled {
3090
		mi := &file_base_v1_service_proto_msgTypes[46]
3091
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3092
		ms.StoreMessageInfo(mi)
3093
	}
3094
}
3095
3096
func (x *AttributeReadRequestMetadata) String() string {
3097
	return protoimpl.X.MessageStringOf(x)
3098
}
3099
3100
func (*AttributeReadRequestMetadata) ProtoMessage() {}
3101
3102
func (x *AttributeReadRequestMetadata) ProtoReflect() protoreflect.Message {
3103
	mi := &file_base_v1_service_proto_msgTypes[46]
3104
	if protoimpl.UnsafeEnabled && x != nil {
3105
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3106
		if ms.LoadMessageInfo() == nil {
3107
			ms.StoreMessageInfo(mi)
3108
		}
3109
		return ms
3110
	}
3111
	return mi.MessageOf(x)
3112
}
3113
3114
// Deprecated: Use AttributeReadRequestMetadata.ProtoReflect.Descriptor instead.
3115
func (*AttributeReadRequestMetadata) Descriptor() ([]byte, []int) {
3116
	return file_base_v1_service_proto_rawDescGZIP(), []int{46}
3117
}
3118
3119
func (x *AttributeReadRequestMetadata) GetSnapToken() string {
3120
	if x != nil {
3121
		return x.SnapToken
3122
	}
3123
	return ""
3124
}
3125
3126
// AttributeReadResponse defines the structure of the response to an attribute read request.
3127
// It includes the attributes retrieved and a continuous token for handling result pagination.
3128
type AttributeReadResponse struct {
3129
	state         protoimpl.MessageState
3130
	sizeCache     protoimpl.SizeCache
3131
	unknownFields protoimpl.UnknownFields
3132
3133
	// attributes is a list of the attributes retrieved in the read operation.
3134
	Attributes []*Attribute `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"`
3135
	// continuous_token is used in the case of paginated reads to retrieve the next page of results.
3136
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
3137
}
3138
3139
func (x *AttributeReadResponse) Reset() {
3140
	*x = AttributeReadResponse{}
3141
	if protoimpl.UnsafeEnabled {
3142
		mi := &file_base_v1_service_proto_msgTypes[47]
3143
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3144
		ms.StoreMessageInfo(mi)
3145
	}
3146
}
3147
3148
func (x *AttributeReadResponse) String() string {
3149
	return protoimpl.X.MessageStringOf(x)
3150
}
3151
3152
func (*AttributeReadResponse) ProtoMessage() {}
3153
3154
func (x *AttributeReadResponse) ProtoReflect() protoreflect.Message {
3155
	mi := &file_base_v1_service_proto_msgTypes[47]
3156
	if protoimpl.UnsafeEnabled && x != nil {
3157
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3158
		if ms.LoadMessageInfo() == nil {
3159
			ms.StoreMessageInfo(mi)
3160
		}
3161
		return ms
3162
	}
3163
	return mi.MessageOf(x)
3164
}
3165
3166
// Deprecated: Use AttributeReadResponse.ProtoReflect.Descriptor instead.
3167
func (*AttributeReadResponse) Descriptor() ([]byte, []int) {
3168
	return file_base_v1_service_proto_rawDescGZIP(), []int{47}
3169
}
3170
3171
func (x *AttributeReadResponse) GetAttributes() []*Attribute {
3172
	if x != nil {
3173
		return x.Attributes
3174
	}
3175
	return nil
3176
}
3177
3178
func (x *AttributeReadResponse) GetContinuousToken() string {
3179
	if x != nil {
3180
		return x.ContinuousToken
3181
	}
3182
	return ""
3183
}
3184
3185
// DataDeleteRequest defines the structure of a request to delete data.
3186
// It includes the tenant_id and filters for selecting tuples and attributes to be deleted.
3187
type DataDeleteRequest struct {
3188
	state         protoimpl.MessageState
3189
	sizeCache     protoimpl.SizeCache
3190
	unknownFields protoimpl.UnknownFields
3191
3192
	// tenant_id represents the unique identifier of the tenant from which the data will be deleted.
3193
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3194
	// tuple_filter specifies the criteria used to select the tuples that should be deleted.
3195
	TupleFilter *TupleFilter `protobuf:"bytes,2,opt,name=tuple_filter,proto3" json:"tuple_filter,omitempty"`
3196
	// attribute_filter specifies the criteria used to select the attributes that should be deleted.
3197
	AttributeFilter *AttributeFilter `protobuf:"bytes,3,opt,name=attribute_filter,proto3" json:"attribute_filter,omitempty"`
3198
}
3199
3200
func (x *DataDeleteRequest) Reset() {
3201
	*x = DataDeleteRequest{}
3202
	if protoimpl.UnsafeEnabled {
3203
		mi := &file_base_v1_service_proto_msgTypes[48]
3204
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3205
		ms.StoreMessageInfo(mi)
3206
	}
3207
}
3208
3209
func (x *DataDeleteRequest) String() string {
3210
	return protoimpl.X.MessageStringOf(x)
3211
}
3212
3213
func (*DataDeleteRequest) ProtoMessage() {}
3214
3215
func (x *DataDeleteRequest) ProtoReflect() protoreflect.Message {
3216
	mi := &file_base_v1_service_proto_msgTypes[48]
3217
	if protoimpl.UnsafeEnabled && x != nil {
3218
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3219
		if ms.LoadMessageInfo() == nil {
3220
			ms.StoreMessageInfo(mi)
3221
		}
3222
		return ms
3223
	}
3224
	return mi.MessageOf(x)
3225
}
3226
3227
// Deprecated: Use DataDeleteRequest.ProtoReflect.Descriptor instead.
3228
func (*DataDeleteRequest) Descriptor() ([]byte, []int) {
3229
	return file_base_v1_service_proto_rawDescGZIP(), []int{48}
3230
}
3231
3232
func (x *DataDeleteRequest) GetTenantId() string {
3233
	if x != nil {
3234
		return x.TenantId
3235
	}
3236
	return ""
3237
}
3238
3239
func (x *DataDeleteRequest) GetTupleFilter() *TupleFilter {
3240
	if x != nil {
3241
		return x.TupleFilter
3242
	}
3243
	return nil
3244
}
3245
3246
func (x *DataDeleteRequest) GetAttributeFilter() *AttributeFilter {
3247
	if x != nil {
3248
		return x.AttributeFilter
3249
	}
3250
	return nil
3251
}
3252
3253
// DataDeleteResponse defines the structure of the response to a data delete request.
3254
// It includes a snap_token representing the state of the database after the deletion.
3255
type DataDeleteResponse struct {
3256
	state         protoimpl.MessageState
3257
	sizeCache     protoimpl.SizeCache
3258
	unknownFields protoimpl.UnknownFields
3259
3260
	// snap_token represents the state of the database after the requested deletions.
3261
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3262
}
3263
3264
func (x *DataDeleteResponse) Reset() {
3265
	*x = DataDeleteResponse{}
3266
	if protoimpl.UnsafeEnabled {
3267
		mi := &file_base_v1_service_proto_msgTypes[49]
3268
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3269
		ms.StoreMessageInfo(mi)
3270
	}
3271
}
3272
3273
func (x *DataDeleteResponse) String() string {
3274
	return protoimpl.X.MessageStringOf(x)
3275
}
3276
3277
func (*DataDeleteResponse) ProtoMessage() {}
3278
3279
func (x *DataDeleteResponse) ProtoReflect() protoreflect.Message {
3280
	mi := &file_base_v1_service_proto_msgTypes[49]
3281
	if protoimpl.UnsafeEnabled && x != nil {
3282
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3283
		if ms.LoadMessageInfo() == nil {
3284
			ms.StoreMessageInfo(mi)
3285
		}
3286
		return ms
3287
	}
3288
	return mi.MessageOf(x)
3289
}
3290
3291
// Deprecated: Use DataDeleteResponse.ProtoReflect.Descriptor instead.
3292
func (*DataDeleteResponse) Descriptor() ([]byte, []int) {
3293
	return file_base_v1_service_proto_rawDescGZIP(), []int{49}
3294
}
3295
3296
func (x *DataDeleteResponse) GetSnapToken() string {
3297
	if x != nil {
3298
		return x.SnapToken
3299
	}
3300
	return ""
3301
}
3302
3303
// RelationshipDeleteRequest
3304
type RelationshipDeleteRequest struct {
3305
	state         protoimpl.MessageState
3306
	sizeCache     protoimpl.SizeCache
3307
	unknownFields protoimpl.UnknownFields
3308
3309
	TenantId string       `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3310
	Filter   *TupleFilter `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
3311
}
3312
3313
func (x *RelationshipDeleteRequest) Reset() {
3314
	*x = RelationshipDeleteRequest{}
3315
	if protoimpl.UnsafeEnabled {
3316
		mi := &file_base_v1_service_proto_msgTypes[50]
3317
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3318
		ms.StoreMessageInfo(mi)
3319
	}
3320
}
3321
3322
func (x *RelationshipDeleteRequest) String() string {
3323
	return protoimpl.X.MessageStringOf(x)
3324
}
3325
3326
func (*RelationshipDeleteRequest) ProtoMessage() {}
3327
3328
func (x *RelationshipDeleteRequest) ProtoReflect() protoreflect.Message {
3329
	mi := &file_base_v1_service_proto_msgTypes[50]
3330
	if protoimpl.UnsafeEnabled && x != nil {
3331
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3332
		if ms.LoadMessageInfo() == nil {
3333
			ms.StoreMessageInfo(mi)
3334
		}
3335
		return ms
3336
	}
3337
	return mi.MessageOf(x)
3338
}
3339
3340
// Deprecated: Use RelationshipDeleteRequest.ProtoReflect.Descriptor instead.
3341
func (*RelationshipDeleteRequest) Descriptor() ([]byte, []int) {
3342
	return file_base_v1_service_proto_rawDescGZIP(), []int{50}
3343
}
3344
3345
func (x *RelationshipDeleteRequest) GetTenantId() string {
3346
	if x != nil {
3347
		return x.TenantId
3348
	}
3349
	return ""
3350
}
3351
3352
func (x *RelationshipDeleteRequest) GetFilter() *TupleFilter {
3353
	if x != nil {
3354
		return x.Filter
3355
	}
3356
	return nil
3357
}
3358
3359
// RelationshipDeleteResponse
3360
type RelationshipDeleteResponse struct {
3361
	state         protoimpl.MessageState
3362
	sizeCache     protoimpl.SizeCache
3363
	unknownFields protoimpl.UnknownFields
3364
3365
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3366
}
3367
3368
func (x *RelationshipDeleteResponse) Reset() {
3369
	*x = RelationshipDeleteResponse{}
3370
	if protoimpl.UnsafeEnabled {
3371
		mi := &file_base_v1_service_proto_msgTypes[51]
3372
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3373
		ms.StoreMessageInfo(mi)
3374
	}
3375
}
3376
3377
func (x *RelationshipDeleteResponse) String() string {
3378
	return protoimpl.X.MessageStringOf(x)
3379
}
3380
3381
func (*RelationshipDeleteResponse) ProtoMessage() {}
3382
3383
func (x *RelationshipDeleteResponse) ProtoReflect() protoreflect.Message {
3384
	mi := &file_base_v1_service_proto_msgTypes[51]
3385
	if protoimpl.UnsafeEnabled && x != nil {
3386
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3387
		if ms.LoadMessageInfo() == nil {
3388
			ms.StoreMessageInfo(mi)
3389
		}
3390
		return ms
3391
	}
3392
	return mi.MessageOf(x)
3393
}
3394
3395
// Deprecated: Use RelationshipDeleteResponse.ProtoReflect.Descriptor instead.
3396
func (*RelationshipDeleteResponse) Descriptor() ([]byte, []int) {
3397
	return file_base_v1_service_proto_rawDescGZIP(), []int{51}
3398
}
3399
3400
func (x *RelationshipDeleteResponse) GetSnapToken() string {
3401
	if x != nil {
3402
		return x.SnapToken
3403
	}
3404
	return ""
3405
}
3406
3407
// BundleRunRequest is used to request the execution of a bundle.
3408
// It includes tenant_id, the name of the bundle, and additional arguments for execution.
3409
type BundleRunRequest struct {
3410
	state         protoimpl.MessageState
3411
	sizeCache     protoimpl.SizeCache
3412
	unknownFields protoimpl.UnknownFields
3413
3414
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3415
	// Name of the bundle to be executed.
3416
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3417
	// Additional key-value pairs for execution arguments.
3418
	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"`
3419
}
3420
3421
func (x *BundleRunRequest) Reset() {
3422
	*x = BundleRunRequest{}
3423
	if protoimpl.UnsafeEnabled {
3424
		mi := &file_base_v1_service_proto_msgTypes[52]
3425
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3426
		ms.StoreMessageInfo(mi)
3427
	}
3428
}
3429
3430
func (x *BundleRunRequest) String() string {
3431
	return protoimpl.X.MessageStringOf(x)
3432
}
3433
3434
func (*BundleRunRequest) ProtoMessage() {}
3435
3436
func (x *BundleRunRequest) ProtoReflect() protoreflect.Message {
3437
	mi := &file_base_v1_service_proto_msgTypes[52]
3438
	if protoimpl.UnsafeEnabled && x != nil {
3439
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3440
		if ms.LoadMessageInfo() == nil {
3441
			ms.StoreMessageInfo(mi)
3442
		}
3443
		return ms
3444
	}
3445
	return mi.MessageOf(x)
3446
}
3447
3448
// Deprecated: Use BundleRunRequest.ProtoReflect.Descriptor instead.
3449
func (*BundleRunRequest) Descriptor() ([]byte, []int) {
3450
	return file_base_v1_service_proto_rawDescGZIP(), []int{52}
3451
}
3452
3453
func (x *BundleRunRequest) GetTenantId() string {
3454
	if x != nil {
3455
		return x.TenantId
3456
	}
3457
	return ""
3458
}
3459
3460
func (x *BundleRunRequest) GetName() string {
3461
	if x != nil {
3462
		return x.Name
3463
	}
3464
	return ""
3465
}
3466
3467
func (x *BundleRunRequest) GetArguments() map[string]string {
3468
	if x != nil {
3469
		return x.Arguments
3470
	}
3471
	return nil
3472
}
3473
3474
// BundleRunResponse is the response for a BundleRunRequest.
3475
// It includes a snap_token, which may be used for tracking the execution or its results.
3476
type BundleRunResponse struct {
3477
	state         protoimpl.MessageState
3478
	sizeCache     protoimpl.SizeCache
3479
	unknownFields protoimpl.UnknownFields
3480
3481
	SnapToken string `protobuf:"bytes,1,opt,name=snap_token,proto3" json:"snap_token,omitempty"`
3482
}
3483
3484
func (x *BundleRunResponse) Reset() {
3485
	*x = BundleRunResponse{}
3486
	if protoimpl.UnsafeEnabled {
3487
		mi := &file_base_v1_service_proto_msgTypes[53]
3488
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3489
		ms.StoreMessageInfo(mi)
3490
	}
3491
}
3492
3493
func (x *BundleRunResponse) String() string {
3494
	return protoimpl.X.MessageStringOf(x)
3495
}
3496
3497
func (*BundleRunResponse) ProtoMessage() {}
3498
3499
func (x *BundleRunResponse) ProtoReflect() protoreflect.Message {
3500
	mi := &file_base_v1_service_proto_msgTypes[53]
3501
	if protoimpl.UnsafeEnabled && x != nil {
3502
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3503
		if ms.LoadMessageInfo() == nil {
3504
			ms.StoreMessageInfo(mi)
3505
		}
3506
		return ms
3507
	}
3508
	return mi.MessageOf(x)
3509
}
3510
3511
// Deprecated: Use BundleRunResponse.ProtoReflect.Descriptor instead.
3512
func (*BundleRunResponse) Descriptor() ([]byte, []int) {
3513
	return file_base_v1_service_proto_rawDescGZIP(), []int{53}
3514
}
3515
3516
func (x *BundleRunResponse) GetSnapToken() string {
3517
	if x != nil {
3518
		return x.SnapToken
3519
	}
3520
	return ""
3521
}
3522
3523
// BundleWriteRequest is used to request the writing of a bundle.
3524
// It contains the tenant_id to identify the tenant and the Bundles object.
3525
type BundleWriteRequest struct {
3526
	state         protoimpl.MessageState
3527
	sizeCache     protoimpl.SizeCache
3528
	unknownFields protoimpl.UnknownFields
3529
3530
	TenantId string        `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3531
	Bundles  []*DataBundle `protobuf:"bytes,2,rep,name=bundles,proto3" json:"bundles,omitempty"` // Contains the bundle data to be written.
3532
}
3533
3534
func (x *BundleWriteRequest) Reset() {
3535
	*x = BundleWriteRequest{}
3536
	if protoimpl.UnsafeEnabled {
3537
		mi := &file_base_v1_service_proto_msgTypes[54]
3538
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3539
		ms.StoreMessageInfo(mi)
3540
	}
3541
}
3542
3543
func (x *BundleWriteRequest) String() string {
3544
	return protoimpl.X.MessageStringOf(x)
3545
}
3546
3547
func (*BundleWriteRequest) ProtoMessage() {}
3548
3549
func (x *BundleWriteRequest) ProtoReflect() protoreflect.Message {
3550
	mi := &file_base_v1_service_proto_msgTypes[54]
3551
	if protoimpl.UnsafeEnabled && x != nil {
3552
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3553
		if ms.LoadMessageInfo() == nil {
3554
			ms.StoreMessageInfo(mi)
3555
		}
3556
		return ms
3557
	}
3558
	return mi.MessageOf(x)
3559
}
3560
3561
// Deprecated: Use BundleWriteRequest.ProtoReflect.Descriptor instead.
3562
func (*BundleWriteRequest) Descriptor() ([]byte, []int) {
3563
	return file_base_v1_service_proto_rawDescGZIP(), []int{54}
3564
}
3565
3566
func (x *BundleWriteRequest) GetTenantId() string {
3567
	if x != nil {
3568
		return x.TenantId
3569
	}
3570
	return ""
3571
}
3572
3573
func (x *BundleWriteRequest) GetBundles() []*DataBundle {
3574
	if x != nil {
3575
		return x.Bundles
3576
	}
3577
	return nil
3578
}
3579
3580
// BundleWriteResponse is the response for a BundleWriteRequest.
3581
// It includes a name which could be used as an identifier or acknowledgment.
3582
type BundleWriteResponse struct {
3583
	state         protoimpl.MessageState
3584
	sizeCache     protoimpl.SizeCache
3585
	unknownFields protoimpl.UnknownFields
3586
3587
	Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` // Identifier or acknowledgment of the written bundle.
3588
}
3589
3590
func (x *BundleWriteResponse) Reset() {
3591
	*x = BundleWriteResponse{}
3592
	if protoimpl.UnsafeEnabled {
3593
		mi := &file_base_v1_service_proto_msgTypes[55]
3594
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3595
		ms.StoreMessageInfo(mi)
3596
	}
3597
}
3598
3599
func (x *BundleWriteResponse) String() string {
3600
	return protoimpl.X.MessageStringOf(x)
3601
}
3602
3603
func (*BundleWriteResponse) ProtoMessage() {}
3604
3605
func (x *BundleWriteResponse) ProtoReflect() protoreflect.Message {
3606
	mi := &file_base_v1_service_proto_msgTypes[55]
3607
	if protoimpl.UnsafeEnabled && x != nil {
3608
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3609
		if ms.LoadMessageInfo() == nil {
3610
			ms.StoreMessageInfo(mi)
3611
		}
3612
		return ms
3613
	}
3614
	return mi.MessageOf(x)
3615
}
3616
3617
// Deprecated: Use BundleWriteResponse.ProtoReflect.Descriptor instead.
3618
func (*BundleWriteResponse) Descriptor() ([]byte, []int) {
3619
	return file_base_v1_service_proto_rawDescGZIP(), []int{55}
3620
}
3621
3622
func (x *BundleWriteResponse) GetNames() []string {
3623
	if x != nil {
3624
		return x.Names
3625
	}
3626
	return nil
3627
}
3628
3629
type BundleReadRequest struct {
3630
	state         protoimpl.MessageState
3631
	sizeCache     protoimpl.SizeCache
3632
	unknownFields protoimpl.UnknownFields
3633
3634
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3635
	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3636
}
3637
3638
func (x *BundleReadRequest) Reset() {
3639
	*x = BundleReadRequest{}
3640
	if protoimpl.UnsafeEnabled {
3641
		mi := &file_base_v1_service_proto_msgTypes[56]
3642
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3643
		ms.StoreMessageInfo(mi)
3644
	}
3645
}
3646
3647
func (x *BundleReadRequest) String() string {
3648
	return protoimpl.X.MessageStringOf(x)
3649
}
3650
3651
func (*BundleReadRequest) ProtoMessage() {}
3652
3653
func (x *BundleReadRequest) ProtoReflect() protoreflect.Message {
3654
	mi := &file_base_v1_service_proto_msgTypes[56]
3655
	if protoimpl.UnsafeEnabled && x != nil {
3656
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3657
		if ms.LoadMessageInfo() == nil {
3658
			ms.StoreMessageInfo(mi)
3659
		}
3660
		return ms
3661
	}
3662
	return mi.MessageOf(x)
3663
}
3664
3665
// Deprecated: Use BundleReadRequest.ProtoReflect.Descriptor instead.
3666
func (*BundleReadRequest) Descriptor() ([]byte, []int) {
3667
	return file_base_v1_service_proto_rawDescGZIP(), []int{56}
3668
}
3669
3670
func (x *BundleReadRequest) GetTenantId() string {
3671
	if x != nil {
3672
		return x.TenantId
3673
	}
3674
	return ""
3675
}
3676
3677
func (x *BundleReadRequest) GetName() string {
3678
	if x != nil {
3679
		return x.Name
3680
	}
3681
	return ""
3682
}
3683
3684
type BundleReadResponse struct {
3685
	state         protoimpl.MessageState
3686
	sizeCache     protoimpl.SizeCache
3687
	unknownFields protoimpl.UnknownFields
3688
3689
	Bundle *DataBundle `protobuf:"bytes,1,opt,name=bundle,proto3" json:"bundle,omitempty"`
3690
}
3691
3692
func (x *BundleReadResponse) Reset() {
3693
	*x = BundleReadResponse{}
3694
	if protoimpl.UnsafeEnabled {
3695
		mi := &file_base_v1_service_proto_msgTypes[57]
3696
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3697
		ms.StoreMessageInfo(mi)
3698
	}
3699
}
3700
3701
func (x *BundleReadResponse) String() string {
3702
	return protoimpl.X.MessageStringOf(x)
3703
}
3704
3705
func (*BundleReadResponse) ProtoMessage() {}
3706
3707
func (x *BundleReadResponse) ProtoReflect() protoreflect.Message {
3708
	mi := &file_base_v1_service_proto_msgTypes[57]
3709
	if protoimpl.UnsafeEnabled && x != nil {
3710
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3711
		if ms.LoadMessageInfo() == nil {
3712
			ms.StoreMessageInfo(mi)
3713
		}
3714
		return ms
3715
	}
3716
	return mi.MessageOf(x)
3717
}
3718
3719
// Deprecated: Use BundleReadResponse.ProtoReflect.Descriptor instead.
3720
func (*BundleReadResponse) Descriptor() ([]byte, []int) {
3721
	return file_base_v1_service_proto_rawDescGZIP(), []int{57}
3722
}
3723
3724
func (x *BundleReadResponse) GetBundle() *DataBundle {
3725
	if x != nil {
3726
		return x.Bundle
3727
	}
3728
	return nil
3729
}
3730
3731
// BundleDeleteRequest is used to request the deletion of a bundle.
3732
// It contains the tenant_id to specify the tenant and the name of the bundle to be deleted.
3733
type BundleDeleteRequest struct {
3734
	state         protoimpl.MessageState
3735
	sizeCache     protoimpl.SizeCache
3736
	unknownFields protoimpl.UnknownFields
3737
3738
	TenantId string `protobuf:"bytes,1,opt,name=tenant_id,proto3" json:"tenant_id,omitempty"`
3739
	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Name of the bundle to be deleted.
3740
}
3741
3742
func (x *BundleDeleteRequest) Reset() {
3743
	*x = BundleDeleteRequest{}
3744
	if protoimpl.UnsafeEnabled {
3745
		mi := &file_base_v1_service_proto_msgTypes[58]
3746
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3747
		ms.StoreMessageInfo(mi)
3748
	}
3749
}
3750
3751
func (x *BundleDeleteRequest) String() string {
3752
	return protoimpl.X.MessageStringOf(x)
3753
}
3754
3755
func (*BundleDeleteRequest) ProtoMessage() {}
3756
3757
func (x *BundleDeleteRequest) ProtoReflect() protoreflect.Message {
3758
	mi := &file_base_v1_service_proto_msgTypes[58]
3759
	if protoimpl.UnsafeEnabled && x != nil {
3760
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3761
		if ms.LoadMessageInfo() == nil {
3762
			ms.StoreMessageInfo(mi)
3763
		}
3764
		return ms
3765
	}
3766
	return mi.MessageOf(x)
3767
}
3768
3769
// Deprecated: Use BundleDeleteRequest.ProtoReflect.Descriptor instead.
3770
func (*BundleDeleteRequest) Descriptor() ([]byte, []int) {
3771
	return file_base_v1_service_proto_rawDescGZIP(), []int{58}
3772
}
3773
3774
func (x *BundleDeleteRequest) GetTenantId() string {
3775
	if x != nil {
3776
		return x.TenantId
3777
	}
3778
	return ""
3779
}
3780
3781
func (x *BundleDeleteRequest) GetName() string {
3782
	if x != nil {
3783
		return x.Name
3784
	}
3785
	return ""
3786
}
3787
3788
type BundleDeleteResponse struct {
3789
	state         protoimpl.MessageState
3790
	sizeCache     protoimpl.SizeCache
3791
	unknownFields protoimpl.UnknownFields
3792
3793
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3794
}
3795
3796
func (x *BundleDeleteResponse) Reset() {
3797
	*x = BundleDeleteResponse{}
3798
	if protoimpl.UnsafeEnabled {
3799
		mi := &file_base_v1_service_proto_msgTypes[59]
3800
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3801
		ms.StoreMessageInfo(mi)
3802
	}
3803
}
3804
3805
func (x *BundleDeleteResponse) String() string {
3806
	return protoimpl.X.MessageStringOf(x)
3807
}
3808
3809
func (*BundleDeleteResponse) ProtoMessage() {}
3810
3811
func (x *BundleDeleteResponse) ProtoReflect() protoreflect.Message {
3812
	mi := &file_base_v1_service_proto_msgTypes[59]
3813
	if protoimpl.UnsafeEnabled && x != nil {
3814
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3815
		if ms.LoadMessageInfo() == nil {
3816
			ms.StoreMessageInfo(mi)
3817
		}
3818
		return ms
3819
	}
3820
	return mi.MessageOf(x)
3821
}
3822
3823
// Deprecated: Use BundleDeleteResponse.ProtoReflect.Descriptor instead.
3824
func (*BundleDeleteResponse) Descriptor() ([]byte, []int) {
3825
	return file_base_v1_service_proto_rawDescGZIP(), []int{59}
3826
}
3827
3828
func (x *BundleDeleteResponse) GetName() string {
3829
	if x != nil {
3830
		return x.Name
3831
	}
3832
	return ""
3833
}
3834
3835
// TenantCreateRequest is the message used for the request to create a tenant.
3836
type TenantCreateRequest struct {
3837
	state         protoimpl.MessageState
3838
	sizeCache     protoimpl.SizeCache
3839
	unknownFields protoimpl.UnknownFields
3840
3841
	// id is a unique identifier for the tenant.
3842
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
3843
	// name is the name of the tenant.
3844
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
3845
}
3846
3847
func (x *TenantCreateRequest) Reset() {
3848
	*x = TenantCreateRequest{}
3849
	if protoimpl.UnsafeEnabled {
3850
		mi := &file_base_v1_service_proto_msgTypes[60]
3851
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3852
		ms.StoreMessageInfo(mi)
3853
	}
3854
}
3855
3856
func (x *TenantCreateRequest) String() string {
3857
	return protoimpl.X.MessageStringOf(x)
3858
}
3859
3860
func (*TenantCreateRequest) ProtoMessage() {}
3861
3862
func (x *TenantCreateRequest) ProtoReflect() protoreflect.Message {
3863
	mi := &file_base_v1_service_proto_msgTypes[60]
3864
	if protoimpl.UnsafeEnabled && x != nil {
3865
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3866
		if ms.LoadMessageInfo() == nil {
3867
			ms.StoreMessageInfo(mi)
3868
		}
3869
		return ms
3870
	}
3871
	return mi.MessageOf(x)
3872
}
3873
3874
// Deprecated: Use TenantCreateRequest.ProtoReflect.Descriptor instead.
3875
func (*TenantCreateRequest) Descriptor() ([]byte, []int) {
3876
	return file_base_v1_service_proto_rawDescGZIP(), []int{60}
3877
}
3878
3879
func (x *TenantCreateRequest) GetId() string {
3880
	if x != nil {
3881
		return x.Id
3882
	}
3883
	return ""
3884
}
3885
3886
func (x *TenantCreateRequest) GetName() string {
3887
	if x != nil {
3888
		return x.Name
3889
	}
3890
	return ""
3891
}
3892
3893
// TenantCreateResponse is the message returned from the request to create a tenant.
3894
type TenantCreateResponse struct {
3895
	state         protoimpl.MessageState
3896
	sizeCache     protoimpl.SizeCache
3897
	unknownFields protoimpl.UnknownFields
3898
3899
	// tenant is the created tenant information.
3900
	Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
3901
}
3902
3903
func (x *TenantCreateResponse) Reset() {
3904
	*x = TenantCreateResponse{}
3905
	if protoimpl.UnsafeEnabled {
3906
		mi := &file_base_v1_service_proto_msgTypes[61]
3907
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3908
		ms.StoreMessageInfo(mi)
3909
	}
3910
}
3911
3912
func (x *TenantCreateResponse) String() string {
3913
	return protoimpl.X.MessageStringOf(x)
3914
}
3915
3916
func (*TenantCreateResponse) ProtoMessage() {}
3917
3918
func (x *TenantCreateResponse) ProtoReflect() protoreflect.Message {
3919
	mi := &file_base_v1_service_proto_msgTypes[61]
3920
	if protoimpl.UnsafeEnabled && x != nil {
3921
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3922
		if ms.LoadMessageInfo() == nil {
3923
			ms.StoreMessageInfo(mi)
3924
		}
3925
		return ms
3926
	}
3927
	return mi.MessageOf(x)
3928
}
3929
3930
// Deprecated: Use TenantCreateResponse.ProtoReflect.Descriptor instead.
3931
func (*TenantCreateResponse) Descriptor() ([]byte, []int) {
3932
	return file_base_v1_service_proto_rawDescGZIP(), []int{61}
3933
}
3934
3935
func (x *TenantCreateResponse) GetTenant() *Tenant {
3936
	if x != nil {
3937
		return x.Tenant
3938
	}
3939
	return nil
3940
}
3941
3942
// TenantDeleteRequest is the message used for the request to delete a tenant.
3943
type TenantDeleteRequest struct {
3944
	state         protoimpl.MessageState
3945
	sizeCache     protoimpl.SizeCache
3946
	unknownFields protoimpl.UnknownFields
3947
3948
	// id is the unique identifier of the tenant to be deleted.
3949
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
3950
}
3951
3952
func (x *TenantDeleteRequest) Reset() {
3953
	*x = TenantDeleteRequest{}
3954
	if protoimpl.UnsafeEnabled {
3955
		mi := &file_base_v1_service_proto_msgTypes[62]
3956
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3957
		ms.StoreMessageInfo(mi)
3958
	}
3959
}
3960
3961
func (x *TenantDeleteRequest) String() string {
3962
	return protoimpl.X.MessageStringOf(x)
3963
}
3964
3965
func (*TenantDeleteRequest) ProtoMessage() {}
3966
3967
func (x *TenantDeleteRequest) ProtoReflect() protoreflect.Message {
3968
	mi := &file_base_v1_service_proto_msgTypes[62]
3969
	if protoimpl.UnsafeEnabled && x != nil {
3970
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3971
		if ms.LoadMessageInfo() == nil {
3972
			ms.StoreMessageInfo(mi)
3973
		}
3974
		return ms
3975
	}
3976
	return mi.MessageOf(x)
3977
}
3978
3979
// Deprecated: Use TenantDeleteRequest.ProtoReflect.Descriptor instead.
3980
func (*TenantDeleteRequest) Descriptor() ([]byte, []int) {
3981
	return file_base_v1_service_proto_rawDescGZIP(), []int{62}
3982
}
3983
3984
func (x *TenantDeleteRequest) GetId() string {
3985
	if x != nil {
3986
		return x.Id
3987
	}
3988
	return ""
3989
}
3990
3991
// TenantDeleteResponse is the message returned from the request to delete a tenant.
3992
type TenantDeleteResponse struct {
3993
	state         protoimpl.MessageState
3994
	sizeCache     protoimpl.SizeCache
3995
	unknownFields protoimpl.UnknownFields
3996
3997
	// tenant is the tenant information that was deleted.
3998
	Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
3999
}
4000
4001
func (x *TenantDeleteResponse) Reset() {
4002
	*x = TenantDeleteResponse{}
4003
	if protoimpl.UnsafeEnabled {
4004
		mi := &file_base_v1_service_proto_msgTypes[63]
4005
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4006
		ms.StoreMessageInfo(mi)
4007
	}
4008
}
4009
4010
func (x *TenantDeleteResponse) String() string {
4011
	return protoimpl.X.MessageStringOf(x)
4012
}
4013
4014
func (*TenantDeleteResponse) ProtoMessage() {}
4015
4016
func (x *TenantDeleteResponse) ProtoReflect() protoreflect.Message {
4017
	mi := &file_base_v1_service_proto_msgTypes[63]
4018
	if protoimpl.UnsafeEnabled && x != nil {
4019
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4020
		if ms.LoadMessageInfo() == nil {
4021
			ms.StoreMessageInfo(mi)
4022
		}
4023
		return ms
4024
	}
4025
	return mi.MessageOf(x)
4026
}
4027
4028
// Deprecated: Use TenantDeleteResponse.ProtoReflect.Descriptor instead.
4029
func (*TenantDeleteResponse) Descriptor() ([]byte, []int) {
4030
	return file_base_v1_service_proto_rawDescGZIP(), []int{63}
4031
}
4032
4033
func (x *TenantDeleteResponse) GetTenant() *Tenant {
4034
	if x != nil {
4035
		return x.Tenant
4036
	}
4037
	return nil
4038
}
4039
4040
// TenantListRequest is the message used for the request to list all tenants.
4041
type TenantListRequest struct {
4042
	state         protoimpl.MessageState
4043
	sizeCache     protoimpl.SizeCache
4044
	unknownFields protoimpl.UnknownFields
4045
4046
	// page_size is the number of tenants to be returned in the response.
4047
	// The value should be between 1 and 100.
4048
	PageSize uint32 `protobuf:"varint,1,opt,name=page_size,proto3" json:"page_size,omitempty"`
4049
	// continuous_token is an optional parameter used for pagination.
4050
	// It should be the value received in the previous response.
4051
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
4052
}
4053
4054
func (x *TenantListRequest) Reset() {
4055
	*x = TenantListRequest{}
4056
	if protoimpl.UnsafeEnabled {
4057
		mi := &file_base_v1_service_proto_msgTypes[64]
4058
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4059
		ms.StoreMessageInfo(mi)
4060
	}
4061
}
4062
4063
func (x *TenantListRequest) String() string {
4064
	return protoimpl.X.MessageStringOf(x)
4065
}
4066
4067
func (*TenantListRequest) ProtoMessage() {}
4068
4069
func (x *TenantListRequest) ProtoReflect() protoreflect.Message {
4070
	mi := &file_base_v1_service_proto_msgTypes[64]
4071
	if protoimpl.UnsafeEnabled && x != nil {
4072
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4073
		if ms.LoadMessageInfo() == nil {
4074
			ms.StoreMessageInfo(mi)
4075
		}
4076
		return ms
4077
	}
4078
	return mi.MessageOf(x)
4079
}
4080
4081
// Deprecated: Use TenantListRequest.ProtoReflect.Descriptor instead.
4082
func (*TenantListRequest) Descriptor() ([]byte, []int) {
4083
	return file_base_v1_service_proto_rawDescGZIP(), []int{64}
4084
}
4085
4086
func (x *TenantListRequest) GetPageSize() uint32 {
4087
	if x != nil {
4088
		return x.PageSize
4089
	}
4090
	return 0
4091
}
4092
4093
func (x *TenantListRequest) GetContinuousToken() string {
4094
	if x != nil {
4095
		return x.ContinuousToken
4096
	}
4097
	return ""
4098
}
4099
4100
// TenantListResponse is the message returned from the request to list all tenants.
4101
type TenantListResponse struct {
4102
	state         protoimpl.MessageState
4103
	sizeCache     protoimpl.SizeCache
4104
	unknownFields protoimpl.UnknownFields
4105
4106
	// tenants is a list of tenants.
4107
	Tenants []*Tenant `protobuf:"bytes,1,rep,name=tenants,proto3" json:"tenants,omitempty"`
4108
	// continuous_token is a string that can be used to paginate and retrieve the next set of results.
4109
	ContinuousToken string `protobuf:"bytes,2,opt,name=continuous_token,proto3" json:"continuous_token,omitempty"`
4110
}
4111
4112
func (x *TenantListResponse) Reset() {
4113
	*x = TenantListResponse{}
4114
	if protoimpl.UnsafeEnabled {
4115
		mi := &file_base_v1_service_proto_msgTypes[65]
4116
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4117
		ms.StoreMessageInfo(mi)
4118
	}
4119
}
4120
4121
func (x *TenantListResponse) String() string {
4122
	return protoimpl.X.MessageStringOf(x)
4123
}
4124
4125
func (*TenantListResponse) ProtoMessage() {}
4126
4127
func (x *TenantListResponse) ProtoReflect() protoreflect.Message {
4128
	mi := &file_base_v1_service_proto_msgTypes[65]
4129
	if protoimpl.UnsafeEnabled && x != nil {
4130
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4131
		if ms.LoadMessageInfo() == nil {
4132
			ms.StoreMessageInfo(mi)
4133
		}
4134
		return ms
4135
	}
4136
	return mi.MessageOf(x)
4137
}
4138
4139
// Deprecated: Use TenantListResponse.ProtoReflect.Descriptor instead.
4140
func (*TenantListResponse) Descriptor() ([]byte, []int) {
4141
	return file_base_v1_service_proto_rawDescGZIP(), []int{65}
4142
}
4143
4144
func (x *TenantListResponse) GetTenants() []*Tenant {
4145
	if x != nil {
4146
		return x.Tenants
4147
	}
4148
	return nil
4149
}
4150
4151
func (x *TenantListResponse) GetContinuousToken() string {
4152
	if x != nil {
4153
		return x.ContinuousToken
4154
	}
4155
	return ""
4156
}
4157
4158
var File_base_v1_service_proto protoreflect.FileDescriptor
4159
4160
var file_base_v1_service_proto_rawDesc = []byte{
4161
	0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
4162
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
4163
	0x1a, 0x12, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70,
4164
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
4165
	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
4166
	0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f,
4167
	0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
4168
	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
4169
	0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c,
4170
	0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x07, 0x0a, 0x16,
4171
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
4172
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4173
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9,
4174
	0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f,
4175
	0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66,
4176
	0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69,
4177
	0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79,
4178
	0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
4179
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d,
4180
	0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20,
4181
	0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20,
4182
	0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20,
4183
	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75,
4184
	0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74,
4185
	0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a,
4186
	0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78,
4187
	0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28,
4188
	0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
4189
	0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d,
4190
	0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4191
	0x5f, 0x69, 0x64, 0x12, 0x4d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
4192
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4193
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
4194
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08,
4195
	0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
4196
	0x74, 0x61, 0x12, 0x44, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01,
4197
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74,
4198
	0x69, 0x74, 0x79, 0x42, 0x1b, 0x92, 0x41, 0x10, 0x4a, 0x0e, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73,
4199
	0x69, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x31, 0x22, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
4200
	0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x76, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d,
4201
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0x92, 0x41,
4202
	0x36, 0x32, 0x34, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68,
4203
	0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20,
4204
	0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72,
4205
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11,
4206
	0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d,
4207
	0x24, 0xd0, 0x01, 0x00, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4208
	0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
4209
	0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a,
4210
	0x65, 0x63, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73,
4211
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0xc4, 0x01, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
4212
	0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4213
	0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x97, 0x01, 0x92, 0x41, 0x93,
4214
	0x01, 0x32, 0x90, 0x01, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x64,
4215
	0x61, 0x74, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20,
4216
	0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, 0x64, 0x64, 0x65,
4217
	0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20,
4218
	0x63, 0x68, 0x65, 0x63, 0x6b, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x20,
4219
	0x53, 0x65, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b,
4220
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x44, 0x61, 0x74, 0x61, 0x5d,
4221
	0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4222
	0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x2d, 0x74, 0x75, 0x70,
4223
	0x6c, 0x65, 0x73, 0x29, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2f, 0x0a,
4224
	0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
4225
	0x32, 0x11, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d,
4226
	0x65, 0x6e, 0x74, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xb2,
4227
	0x02, 0x0a, 0x1e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65,
4228
	0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
4229
	0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73,
4230
	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d,
4231
	0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e,
4232
	0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69,
4233
	0x92, 0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f,
4234
	0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61,
4235
	0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f,
4236
	0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53,
4237
	0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e,
4238
	0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61,
4239
	0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f,
4240
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5c, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03,
4241
	0x20, 0x01, 0x28, 0x05, 0x42, 0x46, 0x92, 0x41, 0x3c, 0x32, 0x3a, 0x51, 0x75, 0x65, 0x72, 0x79,
4242
	0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x72,
4243
	0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
4244
	0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x69, 0x6e,
4245
	0x20, 0x6c, 0x6f, 0x6f, 0x70, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x03, 0x52, 0x05, 0x64, 0x65,
4246
	0x70, 0x74, 0x68, 0x22, 0x87, 0x01, 0x0a, 0x17, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4247
	0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
4248
	0x26, 0x0a, 0x03, 0x63, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x62,
4249
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75,
4250
	0x6c, 0x74, 0x52, 0x03, 0x63, 0x61, 0x6e, 0x12, 0x44, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
4251
	0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x61, 0x73, 0x65,
4252
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68,
4253
	0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64,
4254
	0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x43, 0x0a,
4255
	0x1f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b,
4256
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
4257
	0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
4258
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75,
4259
	0x6e, 0x74, 0x22, 0x94, 0x03, 0x0a, 0x1a, 0x42, 0x75, 0x6c, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69,
4260
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4261
	0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
4262
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49,
4263
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,
4264
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20,
4265
	0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75,
4266
	0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76,
4267
	0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4268
	0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72,
4269
	0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65,
4270
	0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74,
4271
	0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69,
4272
	0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61,
4273
	0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20,
4274
	0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c,
4275
	0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62,
4276
	0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e,
4277
	0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c,
4278
	0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24,
4279
	0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x49,
4280
	0x0a, 0x06, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
4281
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50,
4282
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x11,
4283
	0xfa, 0x42, 0x0e, 0x92, 0x01, 0x0b, 0x08, 0x00, 0x10, 0x64, 0x22, 0x05, 0x8a, 0x01, 0x02, 0x10,
4284
	0x01, 0x52, 0x06, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x22, 0xb7, 0x05, 0x0a, 0x15, 0x53, 0x69,
4285
	0x6e, 0x67, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68,
4286
	0x65, 0x63, 0x6b, 0x12, 0x63, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01,
4287
	0x28, 0x05, 0x42, 0x4d, 0x92, 0x41, 0x43, 0x32, 0x41, 0x54, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x64,
4288
	0x65, 0x78, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69,
4289
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x20, 0x69, 0x6e, 0x20, 0x74,
4290
	0x68, 0x65, 0x20, 0x62, 0x75, 0x6c, 0x6b, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
4291
	0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28,
4292
	0x00, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
4293
	0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x61, 0x73,
4294
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43,
4295
	0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
4296
	0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d,
4297
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74,
4298
	0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
4299
	0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x1b, 0x92, 0x41, 0x10, 0x4a, 0x0e, 0x22,
4300
	0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x31, 0x22, 0xfa, 0x42, 0x05,
4301
	0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x76, 0x0a,
4302
	0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
4303
	0x09, 0x42, 0x56, 0x92, 0x41, 0x36, 0x32, 0x34, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69,
4304
	0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x77, 0x61, 0x6e, 0x74,
4305
	0x73, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x6e, 0x20,
4306
	0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xfa, 0x42, 0x1a, 0x72,
4307
	0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5f, 0x5d, 0x7b,
4308
	0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69,
4309
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
4310
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
4311
	0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
4312
	0x10, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0xc4, 0x01, 0x0a, 0x07,
4313
	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
4314
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42,
4315
	0x97, 0x01, 0x92, 0x41, 0x93, 0x01, 0x32, 0x90, 0x01, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
4316
	0x75, 0x61, 0x6c, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61,
4317
	0x6e, 0x20, 0x62, 0x65, 0x20, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79,
4318
	0x20, 0x61, 0x64, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
4319
	0x73, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65,
4320
	0x73, 0x74, 0x73, 0x2e, 0x20, 0x53, 0x65, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
4321
	0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x20,
4322
	0x44, 0x61, 0x74, 0x61, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72,
4323
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61,
4324
	0x6c, 0x2d, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x29, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
4325
	0x78, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
4326
	0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4327
	0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65,
4328
	0x6e, 0x74, 0x73, 0x22, 0x72, 0x0a, 0x1b, 0x42, 0x75, 0x6c, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69,
4329
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4330
	0x73, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20,
4331
	0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69,
4332
	0x6e, 0x67, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68,
4333
	0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x11, 0xfa, 0x42, 0x0e,
4334
	0x92, 0x01, 0x0b, 0x08, 0x00, 0x10, 0x64, 0x22, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07,
4335
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xe9, 0x01, 0x0a, 0x1d, 0x53, 0x69, 0x6e, 0x67,
4336
	0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63,
4337
	0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x05, 0x69, 0x6e, 0x64,
4338
	0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x44, 0x92, 0x41, 0x3a, 0x32, 0x38, 0x54,
4339
	0x68, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73,
4340
	0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x68, 0x65, 0x63,
4341
	0x6b, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x75, 0x6c, 0x6b, 0x20, 0x72, 0x65,
4342
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x05,
4343
	0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01,
4344
	0x28, 0x0e, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65,
4345
	0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x03, 0x63, 0x61, 0x6e, 0x12, 0x44, 0x0a,
4346
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
4347
	0x28, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
4348
	0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
4349
	0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
4350
	0x61, 0x74, 0x61, 0x22, 0xe5, 0x04, 0x0a, 0x17, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4351
	0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
4352
	0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
4353
	0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65,
4354
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74,
4355
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72,
4356
	0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74,
4357
	0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20,
4358
	0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29,
4359
	0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65,
4360
	0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74,
4361
	0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69,
4362
	0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
4363
	0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63,
4364
	0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2,
4365
	0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b,
4366
	0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74,
4367
	0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b,
4368
	0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a,
4369
	0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01,
4370
	0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x4e, 0x0a, 0x08,
4371
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
4372
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
4373
	0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4374
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
4375
	0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x06,
4376
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62,
4377
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa,
4378
	0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12,
4379
	0x3d, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
4380
	0x01, 0x28, 0x09, 0x42, 0x1d, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b,
4381
	0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0,
4382
	0x01, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a,
4383
	0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
4384
	0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
4385
	0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x61, 0x72,
4386
	0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e,
4387
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
4388
	0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd6, 0x01, 0x0a, 0x1f,
4389
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64,
4390
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
4391
	0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
4392
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f,
4393
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70,
4394
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41,
4395
	0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65,
4396
	0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65,
4397
	0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65,
4398
	0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61,
4399
	0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f,
4400
	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d,
4401
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
4402
	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3f, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4403
	0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
4404
	0x12, 0x23, 0x0a, 0x04, 0x74, 0x72, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
4405
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52,
4406
	0x04, 0x74, 0x72, 0x65, 0x65, 0x22, 0x81, 0x07, 0x0a, 0x1d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
4407
	0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
4408
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61,
4409
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41,
4410
	0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20,
4411
	0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69,
4412
	0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73,
4413
	0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63,
4414
	0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65,
4415
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65,
4416
	0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4417
	0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e,
4418
	0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e,
4419
	0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d,
4420
	0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61,
4421
	0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4422
	0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61,
4423
	0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29,
4424
	0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d,
4425
	0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38,
4426
	0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4427
	0x74, 0x5f, 0x69, 0x64, 0x12, 0x54, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
4428
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
4429
	0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
4430
	0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
4431
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
4432
	0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0b, 0x65, 0x6e,
4433
	0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
4434
	0x1d, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
4435
	0x2d, 0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x0b,
4436
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x70,
4437
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42,
4438
	0x1d, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
4439
	0x2d, 0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x0a,
4440
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x75,
4441
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61,
4442
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x08, 0xfa,
4443
	0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
4444
	0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
4445
	0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
4446
	0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05,
4447
	0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x62, 0x61,
4448
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4449
	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75,
4450
	0x65, 0x73, 0x74, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05,
4451
	0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
4452
	0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28,
4453
	0x01, 0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34,
4454
	0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b,
4455
	0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0,
4456
	0x01, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74,
4457
	0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x53, 0x0a, 0x0a, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74,
4458
	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
4459
	0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
4460
	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74,
4461
	0x72, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
4462
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbb, 0x02, 0x0a, 0x25, 0x50, 0x65,
4463
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e,
4464
	0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
4465
	0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65,
4466
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68,
4467
	0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a,
4468
	0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
4469
	0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20,
4470
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73,
4471
	0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20,
4472
	0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20,
4473
	0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e,
4474
	0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73,
4475
	0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e,
4476
	0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74,
4477
	0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x47, 0x92, 0x41, 0x3d, 0x32, 0x3b, 0x51, 0x75,
4478
	0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69,
4479
	0x66, 0x20, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61,
4480
	0x62, 0x61, 0x73, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f, 0x74,
4481
	0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x03,
4482
	0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x6c, 0x0a, 0x1e, 0x50, 0x65, 0x72, 0x6d, 0x69,
4483
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74,
4484
	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x74,
4485
	0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65,
4486
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e,
4487
	0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
4488
	0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f,
4489
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x70, 0x0a, 0x24, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
4490
	0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53,
4491
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a,
4492
	0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4493
	0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63,
4494
	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
4495
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75,
4496
	0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xe9, 0x05, 0x0a, 0x1d, 0x50, 0x65, 0x72, 0x6d,
4497
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74,
4498
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65,
4499
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02,
4500
	0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65,
4501
	0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c,
4502
	0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20,
4503
	0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61,
4504
	0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f,
4505
	0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70,
4506
	0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61,
4507
	0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64,
4508
	0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c,
4509
	0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64,
4510
	0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20,
4511
	0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a,
4512
	0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20,
4513
	0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b,
4514
	0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a,
4515
	0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31,
4516
	0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e,
4517
	0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x54, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
4518
	0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4519
	0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
4520
	0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4521
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
4522
	0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x08,
4523
	0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
4524
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63,
4525
	0x65, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x73,
4526
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62,
4527
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07,
4528
	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
4529
	0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4530
	0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74,
4531
	0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x03,
4532
	0x28, 0x0b, 0x32, 0x31, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72,
4533
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c,
4534
	0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65,
4535
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x06,
4536
	0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42,
4537
	0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x1a, 0x53,
4538
	0x0a, 0x0a, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
4539
	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f,
4540
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
4541
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x72,
4542
	0x72, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
4543
	0x02, 0x38, 0x01, 0x22, 0xbb, 0x02, 0x0a, 0x25, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4544
	0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65,
4545
	0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a,
4546
	0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
4547
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65,
4548
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
4549
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32,
4550
	0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20,
4551
	0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63,
4552
	0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64,
4553
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20,
4554
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70,
4555
	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f,
4556
	0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b,
4557
	0x65, 0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28,
4558
	0x05, 0x42, 0x47, 0x92, 0x41, 0x3d, 0x32, 0x3b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69,
4559
	0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x72, 0x65, 0x63, 0x75,
4560
	0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x20, 0x71,
4561
	0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f,
4562
	0x6f, 0x70, 0x2e, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x03, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74,
4563
	0x68, 0x22, 0xf5, 0x05, 0x0a, 0x1e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4564
	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71,
4565
	0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
4566
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32,
4567
	0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20,
4568
	0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79,
4569
	0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67,
4570
	0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28,
4571
	0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65,
4572
	0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e,
4573
	0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63,
4574
	0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f,
4575
	0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65,
4576
	0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74,
4577
	0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65,
4578
	0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d,
4579
	0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36,
4580
	0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01,
4581
	0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c,
4582
	0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c,
4583
	0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
4584
	0x64, 0x12, 0x55, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20,
4585
	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65,
4586
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75,
4587
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
4588
	0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08,
4589
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69,
4590
	0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4591
	0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
4592
	0x02, 0x10, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x0a, 0x70,
4593
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42,
4594
	0x1d, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x28, 0x40, 0x32, 0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
4595
	0x2d, 0x5a, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x34, 0x7d, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x0a,
4596
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x11, 0x73, 0x75,
4597
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18,
4598
	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4599
	0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
4600
	0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x11, 0x73, 0x75, 0x62,
4601
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a,
4602
	0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
4603
	0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
4604
	0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61,
4605
	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa,
4606
	0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
4607
	0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75,
4608
	0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa,
4609
	0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
4610
	0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xbc, 0x02, 0x0a, 0x26, 0x50, 0x65,
4611
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75,
4612
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
4613
	0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76,
4614
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63,
4615
	0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a,
4616
	0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
4617
	0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70,
4618
	0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20,
4619
	0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65,
4620
	0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e,
4621
	0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e,
4622
	0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
4623
	0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73,
4624
	0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x64, 0x65, 0x70,
4625
	0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x47, 0x92, 0x41, 0x3d, 0x32, 0x3b, 0x51,
4626
	0x75, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20,
4627
	0x69, 0x66, 0x20, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74,
4628
	0x61, 0x62, 0x61, 0x73, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x67, 0x6f,
4629
	0x74, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28,
4630
	0x03, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x6f, 0x0a, 0x1f, 0x50, 0x65, 0x72, 0x6d,
4631
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a,
4632
	0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73,
4633
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
4634
	0x52, 0x0b, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x2a, 0x0a,
4635
	0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4636
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
4637
	0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc1, 0x04, 0x0a, 0x22, 0x50, 0x65,
4638
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
4639
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4640
	0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
4641
	0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64,
4642
	0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
4643
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61,
4644
	0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c,
4645
	0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65,
4646
	0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4647
	0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74,
4648
	0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e,
4649
	0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68,
4650
	0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
4651
	0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74,
4652
	0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c,
4653
	0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d,
4654
	0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79,
4655
	0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28,
4656
	0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e,
4657
	0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0,
4658
	0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x59, 0x0a,
4659
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
4660
	0x33, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
4661
	0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69,
4662
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
4663
	0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08,
4664
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69,
4665
	0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4666
	0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
4667
	0x02, 0x10, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x07, 0x73,
4668
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62,
4669
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x08,
4670
	0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
4671
	0x74, 0x12, 0x2a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01,
4672
	0x28, 0x0b, 0x32, 0x10, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e,
4673
	0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xea, 0x02,
4674
	0x0a, 0x2a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a,
4675
	0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
4676
	0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e,
4677
	0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
4678
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72,
4679
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f,
4680
	0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65,
4681
	0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74,
4682
	0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61,
4683
	0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65,
4684
	0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54,
4685
	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65,
4686
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b,
4687
	0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4688
	0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
4689
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6e, 0x6c, 0x79,
4690
	0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x64,
4691
	0x65, 0x70, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x47, 0x92, 0x41, 0x3d, 0x32,
4692
	0x3b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x77, 0x68, 0x65,
4693
	0x6e, 0x20, 0x69, 0x66, 0x20, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x20, 0x64,
4694
	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20,
4695
	0x67, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x6f, 0x70, 0x2e, 0xfa, 0x42, 0x04, 0x1a,
4696
	0x02, 0x28, 0x03, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0xcc, 0x01, 0x0a, 0x23, 0x50,
4697
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
4698
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4699
	0x73, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20,
4700
	0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65,
4701
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50,
4702
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
4703
	0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07,
4704
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x50, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x75, 0x6c,
4705
	0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
4706
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c,
4707
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4708
	0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05,
4709
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc8, 0x03, 0x0a, 0x0c, 0x57, 0x61,
4710
	0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74,
4711
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b,
4712
	0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
4713
	0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4714
	0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74,
4715
	0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e,
4716
	0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20,
4717
	0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20,
4718
	0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e,
4719
	0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f,
4720
	0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65,
4721
	0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e,
4722
	0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65,
4723
	0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d,
4724
	0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c,
4725
	0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42,
4726
	0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d,
4727
	0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c,
4728
	0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65,
4729
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70,
4730
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41,
4731
	0x67, 0x32, 0x65, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65,
4732
	0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65,
4733
	0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65,
4734
	0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61,
4735
	0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f,
4736
	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d,
4737
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74,
4738
	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3f, 0x0a, 0x0d, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73,
4739
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73,
4740
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
4741
	0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x07, 0x63, 0x68,
4742
	0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xd9, 0x02, 0x0a, 0x12, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
4743
	0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a,
4744
	0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4745
	0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
4746
	0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61,
4747
	0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e,
4748
	0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74,
4749
	0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c,
4750
	0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73,
4751
	0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74,
4752
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f,
4753
	0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66,
4754
	0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20,
4755
	0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74,
4756
	0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b,
4757
	0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80,
4758
	0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e,
4759
	0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a,
4760
	0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b,
4761
	0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09,
4762
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68,
4763
	0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
4764
	0x61, 0x22, 0x3d, 0x0a, 0x13, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65,
4765
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65,
4766
	0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4767
	0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
4768
	0x22, 0xd9, 0x02, 0x0a, 0x19, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69,
4769
	0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c,
4770
	0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
4771
	0x09, 0x42, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b,
4772
	0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a,
4773
	0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01,
4774
	0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x50, 0x0a, 0x08,
4775
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
4776
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50,
4777
	0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
4778
	0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a,
4779
	0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4c,
4780
	0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
4781
	0x32, 0x30, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d,
4782
	0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71,
4783
	0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74,
4784
	0x72, 0x79, 0x52, 0x08, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x4e, 0x0a, 0x0d,
4785
	0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
4786
	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
4787
	0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
4788
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
4789
	0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4b, 0x0a, 0x21,
4790
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69,
4791
	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
4792
	0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73,
4793
	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d,
4794
	0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x1a, 0x53, 0x63, 0x68,
4795
	0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52,
4796
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d,
4797
	0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
4798
	0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22,
4799
	0x8a, 0x03, 0x0a, 0x11, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65,
4800
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4801
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01,
4802
	0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66,
4803
	0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20,
4804
	0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e,
4805
	0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20,
4806
	0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74,
4807
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69,
4808
	0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c,
4809
	0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66,
4810
	0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52,
4811
	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73,
4812
	0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74,
4813
	0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30,
4814
	0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20,
4815
	0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80,
4816
	0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f,
4817
	0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c,
4818
	0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
4819
	0x69, 0x64, 0x12, 0x48, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02,
4820
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53,
4821
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4822
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
4823
	0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x43, 0x0a, 0x19,
4824
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4825
	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68,
4826
	0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
4827
	0x09, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
4828
	0x6e, 0x22, 0x47, 0x0a, 0x12, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52,
4829
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
4830
	0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
4831
	0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69,
4832
	0x6f, 0x6e, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x9f, 0x03, 0x0a, 0x11, 0x53,
4833
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4834
	0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
4835
	0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64,
4836
	0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
4837
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61,
4838
	0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c,
4839
	0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65,
4840
	0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4841
	0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74,
4842
	0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e,
4843
	0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68,
4844
	0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
4845
	0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74,
4846
	0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c,
4847
	0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d,
4848
	0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79,
4849
	0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28,
4850
	0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e,
4851
	0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0,
4852
	0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x27, 0x0a,
4853
	0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
4854
	0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67,
4855
	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
4856
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
4857
	0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74,
4858
	0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x83, 0x01, 0x0a,
4859
	0x12, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
4860
	0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
4861
	0x09, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d,
4862
	0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
4863
	0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x73,
4864
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
4865
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
4866
	0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b,
4867
	0x65, 0x6e, 0x22, 0x46, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74,
4868
	0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
4869
	0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72,
4870
	0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
4871
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, 0x8a, 0x04, 0x0a, 0x10, 0x44,
4872
	0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
4873
	0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
4874
	0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65,
4875
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74,
4876
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72,
4877
	0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74,
4878
	0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20,
4879
	0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29,
4880
	0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65,
4881
	0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74,
4882
	0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69,
4883
	0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
4884
	0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63,
4885
	0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2,
4886
	0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b,
4887
	0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74,
4888
	0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b,
4889
	0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a,
4890
	0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01,
4891
	0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x08,
4892
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
4893
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69,
4894
	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
4895
	0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74,
4896
	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18,
4897
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4898
	0x54, 0x75, 0x70, 0x6c, 0x65, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0x92, 0x01, 0x0b, 0x08, 0x00, 0x10,
4899
	0x64, 0x22, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73,
4900
	0x12, 0x45, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04,
4901
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
4902
	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0x92, 0x01, 0x0b,
4903
	0x08, 0x00, 0x10, 0x64, 0x22, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x61, 0x74, 0x74,
4904
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x42, 0x0a, 0x18, 0x44, 0x61, 0x74, 0x61, 0x57,
4905
	0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
4906
	0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65,
4907
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x63, 0x68,
4908
	0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x11,
4909
	0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
4910
	0x65, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4911
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6a, 0x92, 0x41, 0x67, 0x32, 0x65, 0x54, 0x68, 0x65,
4912
	0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61,
4913
	0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65,
4914
	0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69,
4915
	0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65,
4916
	0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
4917
	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73,
4918
	0x29, 0x2e, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd3,
4919
	0x03, 0x0a, 0x18, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57,
4920
	0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09,
4921
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
4922
	0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
4923
	0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4924
	0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f,
4925
	0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65,
4926
	0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79,
4927
	0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65,
4928
	0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65,
4929
	0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63,
4930
	0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69,
4931
	0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61,
4932
	0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68,
4933
	0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61,
4934
	0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c,
4935
	0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa,
4936
	0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41,
4937
	0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31,
4938
	0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74,
4939
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x4f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
4940
	0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x62, 0x61, 0x73,
4941
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69,
4942
	0x70, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74,
4943
	0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52,
4944
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x75, 0x70,
4945
	0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65,
4946
	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0x92, 0x01,
4947
	0x0b, 0x08, 0x01, 0x10, 0x64, 0x22, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x75,
4948
	0x70, 0x6c, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4949
	0x73, 0x68, 0x69, 0x70, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4950
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65,
4951
	0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4952
	0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
4953
	0x22, 0xa7, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69,
4954
	0x70, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89,
4955
	0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20,
4956
	0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e,
4957
	0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69,
4958
	0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73,
4959
	0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20,
4960
	0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d,
4961
	0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4962
	0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a,
4963
	0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xad, 0x04, 0x0a, 0x17, 0x52,
4964
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52,
4965
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
4966
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9,
4967
	0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f,
4968
	0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66,
4969
	0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69,
4970
	0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79,
4971
	0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
4972
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d,
4973
	0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20,
4974
	0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20,
4975
	0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20,
4976
	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75,
4977
	0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74,
4978
	0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a,
4979
	0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78,
4980
	0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28,
4981
	0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
4982
	0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d,
4983
	0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
4984
	0x5f, 0x69, 0x64, 0x12, 0x4e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
4985
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
4986
	0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64,
4987
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42,
4988
	0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
4989
	0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20,
4990
	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75,
4991
	0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
4992
	0x02, 0x10, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x09, 0x70,
4993
	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09,
4994
	0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f,
4995
	0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f,
4996
	0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08,
4997
	0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
4998
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x1f, 0x52,
4999
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52,
5000
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x89,
5001
	0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20,
5002
	0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e,
5003
	0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69,
5004
	0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73,
5005
	0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20,
5006
	0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d,
5007
	0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
5008
	0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a,
5009
	0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6e, 0x0a, 0x18, 0x52, 0x65,
5010
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65,
5011
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73,
5012
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
5013
	0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x2a,
5014
	0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b,
5015
	0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
5016
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xab, 0x04, 0x0a, 0x14, 0x41,
5017
	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75,
5018
	0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
5019
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6,
5020
	0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74,
5021
	0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f,
5022
	0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20,
5023
	0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68,
5024
	0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e,
5025
	0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73,
5026
	0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f,
5027
	0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72,
5028
	0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71,
5029
	0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20,
5030
	0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72,
5031
	0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
5032
	0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34,
5033
	0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32,
5034
	0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d,
5035
	0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a,
5036
	0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64,
5037
	0x12, 0x4b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01,
5038
	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74,
5039
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
5040
	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
5041
	0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a,
5042
	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
5043
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
5044
	0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
5045
	0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67,
5046
	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42,
5047
	0x06, 0x2a, 0x04, 0x28, 0x01, 0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
5048
	0x7a, 0x65, 0x12, 0x34, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
5049
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42,
5050
	0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f,
5051
	0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x1c, 0x41, 0x74, 0x74,
5052
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
5053
	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e,
5054
	0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69,
5055
	0x92, 0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f,
5056
	0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61,
5057
	0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f,
5058
	0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53,
5059
	0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e,
5060
	0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61,
5061
	0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f,
5062
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x77, 0x0a, 0x15, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
5063
	0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32,
5064
	0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
5065
	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74,
5066
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
5067
	0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
5068
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f,
5069
	0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd4,
5070
	0x03, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
5071
	0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
5072
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32,
5073
	0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20,
5074
	0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79,
5075
	0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67,
5076
	0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28,
5077
	0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65,
5078
	0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e,
5079
	0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63,
5080
	0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f,
5081
	0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65,
5082
	0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74,
5083
	0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65,
5084
	0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d,
5085
	0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36,
5086
	0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01,
5087
	0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c,
5088
	0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c,
5089
	0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
5090
	0x64, 0x12, 0x42, 0x0a, 0x0c, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65,
5091
	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
5092
	0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa,
5093
	0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x66,
5094
	0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
5095
	0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
5096
	0x18, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
5097
	0x75, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
5098
	0x02, 0x10, 0x01, 0x52, 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x66,
5099
	0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa0, 0x01, 0x0a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65,
5100
	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a,
5101
	0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
5102
	0x09, 0x42, 0x69, 0x92, 0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x61, 0x70,
5103
	0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20,
5104
	0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65,
5105
	0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x6e,
5106
	0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d, 0x28, 0x2e,
5107
	0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
5108
	0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a, 0x73, 0x6e,
5109
	0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf6, 0x02, 0x0a, 0x19, 0x52, 0x65, 0x6c,
5110
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
5111
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5112
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9,
5113
	0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f,
5114
	0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66,
5115
	0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69,
5116
	0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79,
5117
	0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
5118
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d,
5119
	0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20,
5120
	0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20,
5121
	0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20,
5122
	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75,
5123
	0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74,
5124
	0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a,
5125
	0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78,
5126
	0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28,
5127
	0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
5128
	0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d,
5129
	0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5130
	0x5f, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20,
5131
	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x75,
5132
	0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
5133
	0x72, 0x22, 0xa8, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
5134
	0x69, 0x70, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
5135
	0x12, 0x89, 0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
5136
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20,
5137
	0x73, 0x6e, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76,
5138
	0x6f, 0x69, 0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c,
5139
	0x20, 0x73, 0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
5140
	0x73, 0x20, 0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
5141
	0x73, 0x5d, 0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
5142
	0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29,
5143
	0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd9, 0x03, 0x0a,
5144
	0x10, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
5145
	0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
5146
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49,
5147
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,
5148
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20,
5149
	0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75,
5150
	0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76,
5151
	0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5152
	0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72,
5153
	0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65,
5154
	0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74,
5155
	0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69,
5156
	0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61,
5157
	0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20,
5158
	0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c,
5159
	0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62,
5160
	0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e,
5161
	0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c,
5162
	0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24,
5163
	0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x12,
5164
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
5165
	0x6d, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
5166
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
5167
	0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
5168
	0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
5169
	0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x41, 0x72,
5170
	0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
5171
	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
5172
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
5173
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x11, 0x42, 0x75, 0x6e,
5174
	0x64, 0x6c, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89,
5175
	0x01, 0x0a, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20,
5176
	0x01, 0x28, 0x09, 0x42, 0x69, 0x92, 0x41, 0x66, 0x32, 0x64, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6e,
5177
	0x61, 0x70, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69,
5178
	0x64, 0x20, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2c, 0x20, 0x73,
5179
	0x65, 0x65, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20,
5180
	0x6f, 0x6e, 0x20, 0x5b, 0x53, 0x6e, 0x61, 0x70, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5d,
5181
	0x28, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
5182
	0x73, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x29, 0x52, 0x0a,
5183
	0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf0, 0x02, 0x0a, 0x12, 0x42,
5184
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
5185
	0x74, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
5186
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49,
5187
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,
5188
	0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20,
5189
	0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75,
5190
	0x6c, 0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76,
5191
	0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5192
	0x74, 0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72,
5193
	0x74, 0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65,
5194
	0x3e, 0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74,
5195
	0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69,
5196
	0x72, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61,
5197
	0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20,
5198
	0x5c, 0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c,
5199
	0x5d, 0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62,
5200
	0x79, 0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e,
5201
	0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c,
5202
	0x2e, 0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24,
5203
	0xd0, 0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x2d,
5204
	0x0a, 0x07, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
5205
	0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75,
5206
	0x6e, 0x64, 0x6c, 0x65, 0x52, 0x07, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x22, 0x2b, 0x0a,
5207
	0x13, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
5208
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20,
5209
	0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xd4, 0x02, 0x0a, 0x11, 0x42,
5210
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
5211
	0x12, 0xaa, 0x02, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
5212
	0x20, 0x01, 0x28, 0x09, 0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64,
5213
	0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
5214
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61,
5215
	0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c,
5216
	0x74, 0x69, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65,
5217
	0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5218
	0x29, 0x20, 0x75, 0x73, 0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74,
5219
	0x65, 0x64, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e,
5220
	0x74, 0x31, 0x3c, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68,
5221
	0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
5222
	0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74,
5223
	0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c,
5224
	0xe2, 0x80, 0x9c, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d,
5225
	0x2b, 0x5c, 0xe2, 0x80, 0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79,
5226
	0x74, 0x65, 0x73, 0x2e, 0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28,
5227
	0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e,
5228
	0x3a, 0x2b, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0,
5229
	0x01, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a,
5230
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
5231
	0x65, 0x22, 0x41, 0x0a, 0x12, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52,
5232
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c,
5233
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
5234
	0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x75,
5235
	0x6e, 0x64, 0x6c, 0x65, 0x22, 0xd6, 0x02, 0x0a, 0x13, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44,
5236
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaa, 0x02, 0x0a,
5237
	0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
5238
	0x42, 0x8b, 0x02, 0x92, 0x41, 0xd9, 0x01, 0x32, 0xd6, 0x01, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
5239
	0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61,
5240
	0x6e, 0x74, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e,
5241
	0x6f, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x74,
5242
	0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x28, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x6c,
5243
	0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x29, 0x20, 0x75, 0x73,
5244
	0x65, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74,
5245
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x20, 0x3c, 0x63, 0x6f, 0x64, 0x65, 0x3e, 0x74, 0x31, 0x3c, 0x2f,
5246
	0x63, 0x6f, 0x64, 0x65, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66,
5247
	0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20,
5248
	0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74,
5249
	0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x5c, 0xe2, 0x80, 0x9c, 0x5b,
5250
	0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0x5c, 0xe2, 0x80,
5251
	0x9c, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x36, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e,
5252
	0xfa, 0x42, 0x2b, 0x72, 0x29, 0x28, 0x80, 0x01, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a,
5253
	0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x5c, 0x2d, 0x40, 0x5c, 0x2e, 0x3a, 0x2b, 0x5d, 0x7b,
5254
	0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x5c, 0x2a, 0x29, 0x24, 0xd0, 0x01, 0x00, 0x52, 0x09,
5255
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
5256
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a,
5257
	0x14, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73,
5258
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
5259
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x61, 0x0a, 0x13, 0x54, 0x65, 0x6e,
5260
	0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
5261
	0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xfa, 0x42,
5262
	0x17, 0x72, 0x15, 0x28, 0x40, 0x32, 0x0e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d,
5263
	0x39, 0x2d, 0x2c, 0x5d, 0x2b, 0xd0, 0x01, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04,
5264
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72,
5265
	0x05, 0x28, 0x40, 0xd0, 0x01, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3f, 0x0a, 0x14,
5266
	0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
5267
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x01,
5268
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54,
5269
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x22, 0x2f, 0x0a,
5270
	0x13, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
5271
	0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
5272
	0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x00, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3f,
5273
	0x0a, 0x14, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
5274
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5275
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
5276
	0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x22,
5277
	0x72, 0x0a, 0x11, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
5278
	0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
5279
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x01,
5280
	0x40, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a,
5281
	0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
5282
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01,
5283
	0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f,
5284
	0x6b, 0x65, 0x6e, 0x22, 0x6b, 0x0a, 0x12, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73,
5285
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x74, 0x65, 0x6e,
5286
	0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x61, 0x73,
5287
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x65, 0x6e,
5288
	0x61, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f,
5289
	0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
5290
	0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
5291
	0x32, 0xe5, 0x4f, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
5292
	0xe8, 0x0d, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1f, 0x2e, 0x62, 0x61, 0x73, 0x65,
5293
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68,
5294
	0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x62, 0x61, 0x73,
5295
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43,
5296
	0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x0d, 0x92,
5297
	0x41, 0xe3, 0x0c, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
5298
	0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x20, 0x61, 0x70, 0x69, 0x2a, 0x11, 0x70, 0x65, 0x72, 0x6d,
5299
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6a, 0xb6, 0x0c,
5300
	0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12,
5301
	0xa4, 0x0c, 0x32, 0xa1, 0x0c, 0x0a, 0xc0, 0x04, 0x2a, 0xbd, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c,
5302
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61,
5303
	0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x9d, 0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75,
5304
	0x72, 0x63, 0x65, 0x12, 0x92, 0x04, 0x1a, 0x8f, 0x04, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72,
5305
	0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69,
5306
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x28, 0x63, 0x6f, 0x6e, 0x74,
5307
	0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29,
5308
	0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5309
	0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20,
5310
	0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31,
5311
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a,
5312
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43,
5313
	0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
5314
	0x61, 0x74, 0x61, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e,
5315
	0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5316
	0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69,
5317
	0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5318
	0x44, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
5319
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76,
5320
	0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5321
	0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
5322
	0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49,
5323
	0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
5324
	0x20, 0x20, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22,
5325
	0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65,
5326
	0x63, 0x74, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20,
5327
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20,
5328
	0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5329
	0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
5330
	0x7d, 0x29, 0x0a, 0x69, 0x66, 0x20, 0x63, 0x72, 0x2e, 0x43, 0x61, 0x6e, 0x20, 0x3d, 0x3d, 0x20,
5331
	0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65,
5332
	0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c,
5333
	0x74, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44,
5334
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54,
5335
	0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x0a, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20,
5336
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f,
5337
	0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x0a, 0x7d, 0x0a, 0x9b, 0x04, 0x2a, 0x98, 0x04, 0x0a, 0x0f,
5338
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a,
5339
	0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73,
5340
	0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xee, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
5341
	0x12, 0xe3, 0x03, 0x1a, 0xe0, 0x03, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72,
5342
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x28, 0x7b, 0x0a,
5343
	0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74,
5344
	0x31, 0x22, 0x2c, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
5345
	0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61,
5346
	0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5347
	0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
5348
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64,
5349
	0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
5350
	0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20,
5351
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70,
5352
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5353
	0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
5354
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
5355
	0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62,
5356
	0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5357
	0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5358
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20,
5359
	0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73,
5360
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5361
	0x69, 0x66, 0x20, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x63, 0x61, 0x6e,
5362
	0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43,
5363
	0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x52, 0x65, 0x73,
5364
	0x75, 0x6c, 0x74, 0x2e, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57,
5365
	0x45, 0x44, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f,
5366
	0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x22, 0x52, 0x45, 0x53, 0x55, 0x4c,
5367
	0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x22, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20,
5368
	0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5369
	0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x22, 0x52, 0x45,
5370
	0x53, 0x55, 0x4c, 0x54, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x22, 0x29, 0x0a, 0x20, 0x20,
5371
	0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x0a, 0xbd, 0x03, 0x2a, 0xba, 0x03, 0x0a, 0x0f, 0x0a, 0x05,
5372
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a,
5373
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x96, 0x03,
5374
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x8b, 0x03, 0x1a, 0x88, 0x03, 0x63, 0x75,
5375
	0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d,
5376
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f,
5377
	0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f,
5378
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
5379
	0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
5380
	0x63, 0x68, 0x65, 0x63, 0x6b, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65,
5381
	0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a,
5382
	0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f,
5383
	0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20,
5384
	0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a,
5385
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b,
5386
	0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63,
5387
	0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22,
5388
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x3a, 0x20,
5389
	0x32, 0x30, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74,
5390
	0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22,
5391
	0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a,
5392
	0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20,
5393
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5394
	0x22, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x73, 0x75,
5395
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74,
5396
	0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5397
	0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5398
	0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a,
5399
	0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22,
5400
	0x29, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65,
5401
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5402
	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x12, 0xcf, 0x03, 0x0a, 0x09, 0x42,
5403
	0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x23, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
5404
	0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5405
	0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e,
5406
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x50, 0x65, 0x72, 0x6d,
5407
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
5408
	0x6e, 0x73, 0x65, 0x22, 0xf6, 0x02, 0x92, 0x41, 0xb9, 0x02, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d,
5409
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x42, 0x75, 0x6c, 0x6b, 0x20, 0x63, 0x68, 0x65,
5410
	0x63, 0x6b, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x49,
5411
	0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20,
5412
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20,
5413
	0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
5414
	0x74, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20,
5415
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x2a, 0x15, 0x70, 0x65, 0x72, 0x6d, 0x69,
5416
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x62, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b,
5417
	0x6a, 0xb0, 0x01, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c,
5418
	0x65, 0x73, 0x12, 0x9e, 0x01, 0x32, 0x9b, 0x01, 0x0a, 0x2d, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05,
5419
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c,
5420
	0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x06, 0x73, 0x6f, 0x75,
5421
	0x72, 0x63, 0x65, 0x12, 0x02, 0x1a, 0x00, 0x0a, 0x37, 0x2a, 0x35, 0x0a, 0x0f, 0x0a, 0x05, 0x6c,
5422
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04,
5423
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69,
5424
	0x70, 0x74, 0x0a, 0x0c, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x02, 0x1a, 0x00,
5425
	0x0a, 0x31, 0x2a, 0x2f, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a,
5426
	0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a,
5427
	0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x0c, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
5428
	0x02, 0x1a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x3a, 0x01, 0x2a, 0x22, 0x2e, 0x2f, 0x76,
5429
	0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5430
	0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5431
	0x73, 0x2f, 0x62, 0x75, 0x6c, 0x6b, 0x2d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x12, 0xb4, 0x09, 0x0a,
5432
	0x06, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x12, 0x20, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
5433
	0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61,
5434
	0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x62, 0x61, 0x73, 0x65,
5435
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78,
5436
	0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe4, 0x08, 0x92,
5437
	0x41, 0xab, 0x08, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
5438
	0x0a, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x70, 0x69, 0x2a, 0x12, 0x70, 0x65, 0x72,
5439
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x6a,
5440
	0xfc, 0x07, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65,
5441
	0x73, 0x12, 0xea, 0x07, 0x32, 0xe7, 0x07, 0x0a, 0xee, 0x02, 0x2a, 0xeb, 0x02, 0x0a, 0x0d, 0x0a,
5442
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04,
5443
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xcb, 0x02, 0x0a, 0x06, 0x73,
5444
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc0, 0x02, 0x1a, 0xbd, 0x02, 0x63, 0x72, 0x2c, 0x20, 0x65,
5445
	0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72,
5446
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x28, 0x63,
5447
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e,
5448
	0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5449
	0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
5450
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20,
5451
	0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
5452
	0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
5453
	0x6f, 0x6e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d,
5454
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5455
	0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
5456
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65,
5457
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
5458
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76,
5459
	0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5460
	0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
5461
	0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64,
5462
	0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
5463
	0x20, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x70,
5464
	0x75, 0x73, 0x68, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x8d, 0x02, 0x2a, 0x8a, 0x02, 0x0a, 0x0f,
5465
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a,
5466
	0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73,
5467
	0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xe0, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
5468
	0x12, 0xd5, 0x01, 0x1a, 0xd2, 0x01, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72,
5469
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x28, 0x7b,
5470
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22,
5471
	0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
5472
	0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61,
5473
	0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5474
	0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
5475
	0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5476
	0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5477
	0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
5478
	0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69,
5479
	0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
5480
	0x20, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x70,
5481
	0x75, 0x73, 0x68, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xe3, 0x02, 0x2a, 0xe0, 0x02, 0x0a, 0x0f,
5482
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a,
5483
	0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a,
5484
	0xbc, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xb1, 0x02, 0x1a, 0xae, 0x02,
5485
	0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
5486
	0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27,
5487
	0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 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, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65,
5491
	0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79,
5492
	0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f,
5493
	0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72,
5494
	0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
5495
	0x61, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d,
5496
	0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
5497
	0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
5498
	0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74,
5499
	0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70,
5500
	0x65, 0x22, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22,
5501
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a,
5502
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
5503
	0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x70, 0x75, 0x73, 0x68, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3,
5504
	0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e,
5505
	0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d,
5506
	0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x65, 0x78, 0x70,
5507
	0x61, 0x6e, 0x64, 0x12, 0xb2, 0x0c, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e,
5508
	0x74, 0x69, 0x74, 0x79, 0x12, 0x26, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50,
5509
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45,
5510
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x62,
5511
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5512
	0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73,
5513
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd0, 0x0b, 0x92, 0x41, 0x90, 0x0b, 0x0a, 0x0a, 0x50, 0x65,
5514
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
5515
	0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2a, 0x18, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5516
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74,
5517
	0x79, 0x6a, 0xd8, 0x0a, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70,
5518
	0x6c, 0x65, 0x73, 0x12, 0xc6, 0x0a, 0x32, 0xc3, 0x0a, 0x0a, 0xd5, 0x03, 0x2a, 0xd2, 0x03, 0x0a,
5519
	0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c,
5520
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xb2, 0x03, 0x0a,
5521
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xa7, 0x03, 0x1a, 0xa4, 0x03, 0x63, 0x72, 0x2c,
5522
	0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50,
5523
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
5524
	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42,
5525
	0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31,
5526
	0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
5527
	0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a,
5528
	0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74,
5529
	0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5530
	0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5531
	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75,
5532
	0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5533
	0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20,
5534
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65,
5535
	0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20,
5536
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30,
5537
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74,
5538
	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
5539
	0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5540
	0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5541
	0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x75,
5542
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54,
5543
	0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5544
	0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5545
	0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
5546
	0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
5547
	0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d,
5548
	0x29, 0x0a, 0xa7, 0x03, 0x2a, 0xa4, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
5549
	0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
5550
	0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xfa,
5551
	0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xef, 0x02, 0x1a, 0xec, 0x02, 0x63,
5552
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5553
	0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x28, 0x7b, 0x0a,
5554
	0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74,
5555
	0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5556
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70,
5557
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5558
	0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
5559
	0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65,
5560
	0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
5561
	0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20,
5562
	0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5563
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69,
5564
	0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a,
5565
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a,
5566
	0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5567
	0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
5568
	0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32,
5569
	0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75,
5570
	0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x2e, 0x74,
5571
	0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d,
5572
	0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e,
5573
	0x6c, 0x6f, 0x67, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x65, 0x6e, 0x74,
5574
	0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x29, 0x0a, 0x7d, 0x29, 0x0a, 0xbe, 0x03, 0x2a, 0xbb,
5575
	0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55,
5576
	0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75,
5577
	0x72, 0x6c, 0x0a, 0x97, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x8c, 0x03,
5578
	0x1a, 0x89, 0x03, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
5579
	0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53,
5580
	0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37,
5581
	0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65,
5582
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5583
	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d, 0x65, 0x6e, 0x74, 0x69,
5584
	0x74, 0x79, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27,
5585
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70,
5586
	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20,
5587
	0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a,
5588
	0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x7b, 0x0a, 0x20,
5589
	0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a,
5590
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
5591
	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20,
5592
	0x20, 0x20, 0x20, 0x22, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20,
5593
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79,
5594
	0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c,
5595
	0x0a, 0x20, 0x20, 0x22, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a,
5596
	0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a,
5597
	0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70,
5598
	0x65, 0x22, 0x3a, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22,
5599
	0x69, 0x64, 0x22, 0x3a, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22,
5600
	0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a,
5601
	0x20, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f,
5602
	0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93,
5603
	0x02, 0x36, 0x3a, 0x01, 0x2a, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5604
	0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70,
5605
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75,
5606
	0x70, 0x2d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0xd0, 0x0d, 0x0a, 0x12, 0x4c, 0x6f, 0x6f,
5607
	0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12,
5608
	0x26, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5609
	0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
5610
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
5611
	0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b,
5612
	0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65,
5613
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe0, 0x0c, 0x92, 0x41, 0x99, 0x0c, 0x0a, 0x0a, 0x50,
5614
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x6c, 0x6f, 0x6f, 0x6b, 0x75,
5615
	0x70, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2a,
5616
	0x1e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6c, 0x6f, 0x6f,
5617
	0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x6a,
5618
	0xd4, 0x0b, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65,
5619
	0x73, 0x12, 0xc2, 0x0b, 0x32, 0xbf, 0x0b, 0x0a, 0xc8, 0x04, 0x2a, 0xc5, 0x04, 0x0a, 0x0d, 0x0a,
5620
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04,
5621
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xa5, 0x04, 0x0a, 0x06, 0x73,
5622
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x9a, 0x04, 0x1a, 0x97, 0x04, 0x73, 0x74, 0x72, 0x2c, 0x20,
5623
	0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65,
5624
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45,
5625
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x28, 0x63, 0x6f, 0x6e, 0x74,
5626
	0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29,
5627
	0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5628
	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75,
5629
	0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
5630
	0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5631
	0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71,
5632
	0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20,
5633
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a,
5634
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68,
5635
	0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
5636
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x35,
5637
	0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e,
5638
	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d,
5639
	0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5640
	0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x76, 0x69, 0x65, 0x77, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5641
	0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53,
5642
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5643
	0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5644
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20,
5645
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69,
5646
	0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e, 0x74,
5647
	0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c,
5648
	0x0a, 0x7d, 0x29, 0x0a, 0x0a, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x73,
5649
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x66,
5650
	0x6f, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x65, 0x72,
5651
	0x72, 0x20, 0x3a, 0x3d, 0x20, 0x73, 0x74, 0x72, 0x2e, 0x52, 0x65, 0x63, 0x76, 0x28, 0x29, 0x0a,
5652
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3d, 0x3d, 0x20, 0x69,
5653
	0x6f, 0x2e, 0x45, 0x4f, 0x46, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5654
	0x62, 0x72, 0x65, 0x61, 0x6b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20,
5655
	0x20, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
5656
	0x0a, 0x7d, 0x0a, 0xf1, 0x06, 0x2a, 0xee, 0x06, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
5657
	0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
5658
	0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a,
5659
	0xc4, 0x06, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xb9, 0x06, 0x1a, 0xb6, 0x06,
5660
	0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x20, 0x3d, 0x20,
5661
	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x22, 0x40, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66,
5662
	0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x29,
5663
	0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x7b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5664
	0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53,
5665
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x7d, 0x20, 0x3d,
5666
	0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x22, 0x40, 0x70, 0x65, 0x72, 0x6d, 0x69,
5667
	0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f,
5668
	0x64, 0x69, 0x73, 0x74, 0x2f, 0x73, 0x72, 0x63, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x65,
5669
	0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x2f,
5670
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x29, 0x3b, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63,
5671
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20,
5672
	0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x3d,
5673
	0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2e, 0x67, 0x72, 0x70,
5674
	0x63, 0x2e, 0x6e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x28, 0x7b, 0x0a, 0x20, 0x20,
5675
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3a, 0x20,
5676
	0x22, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x38, 0x22,
5677
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c,
5678
	0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
5679
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75,
5680
	0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x28, 0x7b, 0x0a,
5681
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
5682
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5683
	0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20,
5684
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d,
5685
	0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5686
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a,
5687
	0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
5688
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70,
5689
	0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20,
5690
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5691
	0x6e, 0x3a, 0x20, 0x22, 0x76, 0x69, 0x65, 0x77, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5692
	0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20,
5693
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20,
5694
	0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5695
	0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20,
5696
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70,
5697
	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20,
5698
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
5699
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
5700
	0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x72,
5701
	0x65, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x66, 0x75,
5702
	0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x72, 0x65,
5703
	0x73, 0x3a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x49, 0x74, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65,
5704
	0x3c, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
5705
	0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73,
5706
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f,
5707
	0x72, 0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x72,
5708
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x29, 0x20,
5709
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x73,
5710
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x0a, 0x20,
5711
	0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, 0x2a, 0x22,
5712
	0x38, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65,
5713
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5714
	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d, 0x65, 0x6e, 0x74, 0x69,
5715
	0x74, 0x79, 0x2d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, 0x01, 0x12, 0xe3, 0x0d, 0x0a, 0x0d,
5716
	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e,
5717
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
5718
	0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
5719
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
5720
	0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
5721
	0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
5722
	0x22, 0xfe, 0x0c, 0x92, 0x41, 0xbd, 0x0c, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5723
	0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d, 0x73, 0x75, 0x62, 0x6a,
5724
	0x65, 0x63, 0x74, 0x2a, 0x19, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
5725
	0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x6a, 0x83,
5726
	0x0c, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73,
5727
	0x12, 0xf1, 0x0b, 0x32, 0xee, 0x0b, 0x0a, 0x9f, 0x04, 0x2a, 0x9c, 0x04, 0x0a, 0x0d, 0x0a, 0x05,
5728
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c,
5729
	0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xfc, 0x03, 0x0a, 0x06, 0x73, 0x6f,
5730
	0x75, 0x72, 0x63, 0x65, 0x12, 0xf1, 0x03, 0x1a, 0xee, 0x03, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72,
5731
	0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d,
5732
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62,
5733
	0x6a, 0x65, 0x63, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63,
5734
	0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50,
5735
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53,
5736
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20,
5737
	0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31,
5738
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a,
5739
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
5740
	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
5741
	0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20,
5742
	0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20,
5743
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65,
5744
	0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20,
5745
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30,
5746
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74,
5747
	0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7b,
5748
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22,
5749
	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5750
	0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5751
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5752
	0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53,
5753
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x3a,
5754
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66,
5755
	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5756
	0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5757
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
5758
	0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50,
5759
	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20,
5760
	0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
5761
	0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xdc, 0x03, 0x2a, 0xd9, 0x03, 0x0a, 0x0f,
5762
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a,
5763
	0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73,
5764
	0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xaf, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
5765
	0x12, 0xa4, 0x03, 0x1a, 0xa1, 0x03, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72,
5766
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75,
5767
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61,
5768
	0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5769
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5770
	0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22,
5771
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d,
5772
	0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5773
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x2c,
5774
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69,
5775
	0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79,
5776
	0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a,
5777
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c,
5778
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70, 0x65, 0x72, 0x6d,
5779
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x22, 0x2c, 0x0a,
5780
	0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65,
5781
	0x72, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5782
	0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20,
5783
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a,
5784
	0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x70,
5785
	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x0a, 0x20, 0x20,
5786
	0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b,
5787
	0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28,
5788
	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20,
5789
	0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x72,
5790
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f,
5791
	0x69, 0x64, 0x73, 0x29, 0x0a, 0x7d, 0x29, 0x0a, 0xea, 0x03, 0x2a, 0xe7, 0x03, 0x0a, 0x0f, 0x0a,
5792
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e,
5793
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xc3,
5794
	0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xb8, 0x03, 0x1a, 0xb5, 0x03, 0x63,
5795
	0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d,
5796
	0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c,
5797
	0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31,
5798
	0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
5799
	0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
5800
	0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x27,
5801
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e,
5802
	0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69,
5803
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d,
5804
	0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x22,
5805
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5806
	0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22,
5807
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65,
5808
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5809
	0x22, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x7d,
5810
	0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a,
5811
	0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63,
5812
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22,
5813
	0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x70, 0x65,
5814
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74,
5815
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65,
5816
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5817
	0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a,
5818
	0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20,
5819
	0x22, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f,
5820
	0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e,
5821
	0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22,
5822
	0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x22, 0x32, 0x2f,
5823
	0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61,
5824
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5825
	0x6e, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x2d, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
5826
	0x74, 0x12, 0xf4, 0x0c, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72,
5827
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
5828
	0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a,
5829
	0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
5830
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50,
5831
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
5832
	0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
5833
	0x73, 0x65, 0x22, 0x83, 0x0c, 0x92, 0x41, 0xbe, 0x0b, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69,
5834
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x70,
5835
	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2a, 0x1d, 0x70, 0x65, 0x72, 0x6d, 0x69,
5836
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65,
5837
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x6a, 0xfc, 0x0a, 0x0a, 0x0d, 0x78, 0x2d, 0x63,
5838
	0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xea, 0x0a, 0x32, 0xe7, 0x0a,
5839
	0x0a, 0xf1, 0x03, 0x2a, 0xee, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
5840
	0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a,
5841
	0x02, 0x67, 0x6f, 0x0a, 0xce, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc3,
5842
	0x03, 0x1a, 0xc0, 0x03, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63,
5843
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
5844
	0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
5845
	0x6f, 0x6e, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67,
5846
	0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72,
5847
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65,
5848
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b,
5849
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22,
5850
	0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
5851
	0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
5852
	0x6e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
5853
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
5854
	0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54,
5855
	0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5856
	0x20, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
5857
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4f, 0x6e, 0x6c,
5858
	0x79, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x66, 0x61, 0x6c,
5859
	0x73, 0x65, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x65, 0x70, 0x74,
5860
	0x68, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
5861
	0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e,
5862
	0x74, 0x69, 0x74, 0x79, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79,
5863
	0x70, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22,
5864
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31,
5865
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x75,
5866
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65,
5867
	0x63, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65,
5868
	0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
5869
	0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
5870
	0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x9f, 0x03, 0x2a, 0x9c, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61,
5871
	0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c,
5872
	0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70,
5873
	0x74, 0x0a, 0xf2, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xe7, 0x02, 0x1a,
5874
	0xe4, 0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5875
	0x69, 0x6f, 0x6e, 0x2e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69,
5876
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61,
5877
	0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5878
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
5879
	0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22,
5880
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d,
5881
	0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5882
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
5883
	0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5884
	0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x70, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20,
5885
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a,
5886
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a,
5887
	0x20, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20,
5888
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20,
5889
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
5890
	0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70,
5891
	0x65, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5892
	0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
5893
	0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
5894
	0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e,
5895
	0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
5896
	0x65, 0x29, 0x3b, 0x0a, 0x7d, 0x29, 0x0a, 0xce, 0x03, 0x2a, 0xcb, 0x03, 0x0a, 0x0f, 0x0a, 0x05,
5897
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a,
5898
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xa7, 0x03,
5899
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x9c, 0x03, 0x1a, 0x99, 0x03, 0x63, 0x75,
5900
	0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d,
5901
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f,
5902
	0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f,
5903
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
5904
	0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
5905
	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2d, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
5906
	0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27,
5907
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70,
5908
	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20,
5909
	0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a,
5910
	0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x7b, 0x0a, 0x20,
5911
	0x20, 0x20, 0x20, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a,
5912
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
5913
	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20,
5914
	0x20, 0x20, 0x20, 0x22, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
5915
	0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5916
	0x22, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x7d, 0x2c,
5917
	0x0a, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20,
5918
	0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x70, 0x6f,
5919
	0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64,
5920
	0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x73,
5921
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22,
5922
	0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20,
5923
	0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20,
5924
	0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22,
5925
	0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, 0x2a,
5926
	0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74,
5927
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
5928
	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2d, 0x70, 0x65,
5929
	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x84, 0x08, 0x0a, 0x05, 0x57, 0x61, 0x74,
5930
	0x63, 0x68, 0x12, 0xfa, 0x07, 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x15, 0x2e, 0x62,
5931
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75,
5932
	0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61,
5933
	0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x07, 0x92, 0x41,
5934
	0x93, 0x07, 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x0d, 0x77, 0x61, 0x74, 0x63, 0x68,
5935
	0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x2a, 0x0b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x2e,
5936
	0x77, 0x61, 0x74, 0x63, 0x68, 0x6a, 0xed, 0x06, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65,
5937
	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xdb, 0x06, 0x32, 0xd8, 0x06, 0x0a, 0x9e, 0x02,
5938
	0x2a, 0x9b, 0x02, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02,
5939
	0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
5940
	0x0a, 0xfb, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xf0, 0x01, 0x1a, 0xed,
5941
	0x01, 0x63, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65,
5942
	0x6e, 0x74, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x28, 0x63,
5943
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e,
5944
	0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
5945
	0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e,
5946
	0x74, 0x49, 0x64, 0x3a, 0x20, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
5947
	0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d,
5948
	0x29, 0x0a, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x73, 0x74, 0x72, 0x65,
5949
	0x61, 0x6d, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x66, 0x6f, 0x72, 0x20,
5950
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a,
5951
	0x3d, 0x20, 0x63, 0x72, 0x2e, 0x52, 0x65, 0x63, 0x76, 0x28, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20,
5952
	0x20, 0x69, 0x66, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3d, 0x3d, 0x20, 0x69, 0x6f, 0x2e, 0x45, 0x4f,
5953
	0x46, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x72, 0x65, 0x61,
5954
	0x6b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20,
5955
	0x72, 0x65, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x0a, 0x7d, 0x0a, 0x0a, 0xb4,
5956
	0x04, 0x2a, 0xb1, 0x04, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a,
5957
	0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a,
5958
	0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x87, 0x04, 0x0a, 0x06,
5959
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xfc, 0x03, 0x1a, 0xf9, 0x03, 0x63, 0x6f, 0x6e, 0x73,
5960
	0x74, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x71, 0x75,
5961
	0x69, 0x72, 0x65, 0x28, 0x22, 0x40, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65,
5962
	0x72, 0x6d, 0x69, 0x66, 0x79, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x29, 0x3b, 0x0a, 0x63, 0x6f,
5963
	0x6e, 0x73, 0x74, 0x20, 0x7b, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
5964
	0x73, 0x65, 0x7d, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x28, 0x22, 0x40,
5965
	0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2d,
5966
	0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x2f, 0x73, 0x72, 0x63, 0x2f, 0x67, 0x72,
5967
	0x70, 0x63, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x62, 0x61, 0x73,
5968
	0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x29, 0x3b, 0x0a,
5969
	0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29,
5970
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x6c, 0x69,
5971
	0x65, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66,
5972
	0x79, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
5973
	0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f,
5974
	0x69, 0x6e, 0x74, 0x3a, 0x20, 0x22, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a,
5975
	0x33, 0x34, 0x37, 0x38, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a,
5976
	0x20, 0x20, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c,
5977
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x77, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x77, 0x61, 0x74, 0x63, 0x68,
5978
	0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
5979
	0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
5980
	0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22,
5981
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x68, 0x61,
5982
	0x6e, 0x64, 0x6c, 0x65, 0x28, 0x72, 0x65, 0x73, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x61, 0x73,
5983
	0x79, 0x6e, 0x63, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x61, 0x6e,
5984
	0x64, 0x6c, 0x65, 0x28, 0x72, 0x65, 0x73, 0x3a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x49, 0x74,
5985
	0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x3c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70,
5986
	0x6f, 0x6e, 0x73, 0x65, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72,
5987
	0x20, 0x61, 0x77, 0x61, 0x69, 0x74, 0x20, 0x28, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x72, 0x65,
5988
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x29, 0x20, 0x7b,
5989
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x72, 0x65, 0x73, 0x70,
5990
	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20,
5991
	0x20, 0x7d, 0x0a, 0x7d, 0x0a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d,
5992
	0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e,
5993
	0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x30, 0x01, 0x32,
5994
	0xac, 0x1f, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0xd3, 0x10, 0x0a, 0x05, 0x57,
5995
	0x72, 0x69, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53,
5996
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
5997
	0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65,
5998
	0x6d, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
5999
	0x8e, 0x10, 0x92, 0x41, 0xda, 0x0f, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x0c,
6000
	0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2a, 0x0d, 0x73, 0x63,
6001
	0x68, 0x65, 0x6d, 0x61, 0x73, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6a, 0xb2, 0x0f, 0x0a, 0x0d,
6002
	0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xa0, 0x0f,
6003
	0x32, 0x9d, 0x0f, 0x0a, 0xf2, 0x04, 0x2a, 0xef, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62,
6004
	0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
6005
	0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xcf, 0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
6006
	0x65, 0x12, 0xc4, 0x04, 0x1a, 0xc1, 0x04, 0x73, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a,
6007
	0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e,
6008
	0x57, 0x72, 0x69, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61,
6009
	0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e,
6010
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
6011
	0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64,
6012
	0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65,
6013
	0x6d, 0x61, 0x3a, 0x20, 0x60, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
6014
	0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x7b, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
6015
	0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
6016
	0x6e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61,
6017
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72,
6018
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
6019
	0x6e, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x0a,
6020
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63,
6021
	0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
6022
	0x20, 0x3d, 0x20, 0x28, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x6d,
6023
	0x62, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74,
6024
	0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x64, 0x6d,
6025
	0x69, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e,
6026
	0x74, 0x69, 0x74, 0x79, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20,
6027
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,
6028
	0x6f, 0x6e, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x20,
6029
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
6030
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x40, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
6031
	0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63,
6032
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x75, 0x73, 0x68, 0x20, 0x3d, 0x20, 0x6f, 0x77, 0x6e, 0x65,
6033
	0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
6034
	0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x3d, 0x20, 0x28, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x61,
6035
	0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
6036
	0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62,
6037
	0x65, 0x72, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74,
6038
	0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x61,
6039
	0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20,
6040
	0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72,
6041
	0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20,
6042
	0x20, 0x20, 0x20, 0x60, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xf3, 0x04, 0x2a, 0xf0, 0x04, 0x0a, 0x0f,
6043
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a,
6044
	0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73,
6045
	0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xc6, 0x04, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
6046
	0x12, 0xbb, 0x04, 0x1a, 0xb8, 0x04, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x63, 0x68,
6047
	0x65, 0x6d, 0x61, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6048
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a,
6049
	0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x3a, 0x20, 0x60, 0x0a, 0x20, 0x20,
6050
	0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x7b, 0x7d,
6051
	0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x72, 0x67,
6052
	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6053
	0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x64, 0x6d,
6054
	0x69, 0x6e, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6055
	0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
6056
	0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6057
	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65,
6058
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x28, 0x61, 0x64, 0x6d, 0x69,
6059
	0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20,
6060
	0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65,
6061
	0x74, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
6062
	0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x72, 0x65, 0x70,
6063
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6064
	0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72,
6065
	0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72,
6066
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x40,
6067
	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x20, 0x20,
6068
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x75, 0x73,
6069
	0x68, 0x20, 0x3d, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6070
	0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x3d, 0x20,
6071
	0x28, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65,
6072
	0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x61, 0x72,
6073
	0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20,
6074
	0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65,
6075
	0x74, 0x65, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d,
6076
	0x62, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e,
6077
	0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x29, 0x29,
6078
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x60, 0x0a, 0x7d, 0x29, 0x2e,
6079
	0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20,
6080
	0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64,
6081
	0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xaf,
6082
	0x05, 0x2a, 0xac, 0x05, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a,
6083
	0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a,
6084
	0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x88, 0x05, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
6085
	0x12, 0xfd, 0x04, 0x1a, 0xfa, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63,
6086
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20,
6087
	0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a,
6088
	0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
6089
	0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65,
6090
	0x6d, 0x61, 0x73, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68,
6091
	0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54,
6092
	0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6093
	0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d,
6094
	0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65,
6095
	0x6d, 0x61, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x75, 0x73, 0x65,
6096
	0x72, 0x20, 0x7b, 0x7d, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69,
6097
	0x74, 0x79, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
6098
	0x7b, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c,
6099
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x40, 0x75, 0x73, 0x65,
6100
	0x72, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74,
6101
	0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72,
6102
	0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69,
6103
	0x6f, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
6104
	0x74, 0x6f, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x28, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72,
6105
	0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x29, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6106
	0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20,
6107
	0x3d, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x5c, 0x6e,
6108
	0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x72, 0x65, 0x70,
6109
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x7b, 0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20,
6110
	0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x77,
6111
	0x6e, 0x65, 0x72, 0x20, 0x40, 0x75, 0x73, 0x65, 0x72, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20,
6112
	0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x65,
6113
	0x6e, 0x74, 0x20, 0x40, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6114
	0x5c, 0x6e, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69,
6115
	0x6f, 0x6e, 0x20, 0x70, 0x75, 0x73, 0x68, 0x20, 0x3d, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5c,
6116
	0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
6117
	0x72, 0x65, 0x61, 0x64, 0x20, 0x3d, 0x20, 0x28, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x61, 0x6e,
6118
	0x64, 0x20, 0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20,
6119
	0x61, 0x6e, 0x64, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65,
6120
	0x72, 0x29, 0x29, 0x5c, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x63, 0x74,
6121
	0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x61,
6122
	0x72, 0x65, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20,
6123
	0x28, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x72,
6124
	0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x29, 0x29, 0x5c, 0x6e, 0x20, 0x7d, 0x22, 0x0a, 0x7d, 0x27,
6125
	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x74,
6126
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
6127
	0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65,
6128
	0x12, 0xdf, 0x01, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74,
6129
	0x65, 0x12, 0x22, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65,
6130
	0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65,
6131
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
6132
	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x57, 0x72, 0x69,
6133
	0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x01, 0x92, 0x41, 0x4a,
6134
	0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x29, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61,
6135
	0x6c, 0x6c, 0x79, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20,
6136
	0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x6f,
6137
	0x64, 0x65, 0x6c, 0x2a, 0x15, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2e, 0x70, 0x61, 0x72,
6138
	0x74, 0x69, 0x61, 0x6c, 0x2d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32,
6139
	0x3a, 0x01, 0x2a, 0x32, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
6140
	0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68,
6141
	0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x2d, 0x77, 0x72, 0x69,
6142
	0x74, 0x65, 0x12, 0xf4, 0x06, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1a, 0x2e, 0x62, 0x61,
6143
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64,
6144
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
6145
	0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70,
6146
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x06, 0x92, 0x41, 0xff, 0x05, 0x0a, 0x06, 0x53, 0x63, 0x68,
6147
	0x65, 0x6d, 0x61, 0x12, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
6148
	0x2a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6a, 0xd9,
6149
	0x05, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73,
6150
	0x12, 0xc7, 0x05, 0x32, 0xc4, 0x05, 0x0a, 0xf5, 0x01, 0x2a, 0xf2, 0x01, 0x0a, 0x0d, 0x0a, 0x05,
6151
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c,
6152
	0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xd2, 0x01, 0x0a, 0x06, 0x73, 0x6f,
6153
	0x75, 0x72, 0x63, 0x65, 0x12, 0xc7, 0x01, 0x1a, 0xc4, 0x01, 0x73, 0x72, 0x2c, 0x20, 0x65, 0x72,
6154
	0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65,
6155
	0x6d, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e,
6156
	0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76,
6157
	0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75,
6158
	0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
6159
	0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74,
6160
	0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d,
6161
	0x61, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
6162
	0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63,
6163
	0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x63, 0x6e,
6164
	0x62, 0x65, 0x36, 0x73, 0x65, 0x35, 0x66, 0x6d, 0x61, 0x6c, 0x31, 0x38, 0x67, 0x70, 0x63, 0x36,
6165
	0x36, 0x67, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xb6,
6166
	0x01, 0x2a, 0xb3, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a,
6167
	0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a,
6168
	0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x89, 0x01, 0x0a, 0x06,
6169
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7f, 0x1a, 0x7d, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65,
6170
	0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d,
6171
	0x61, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e,
6172
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6173
	0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6174
	0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69,
6175
	0x6f, 0x6e, 0x3a, 0x20, 0x73, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x73,
6176
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x0a, 0x20, 0x20,
6177
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x90, 0x02, 0x2a, 0x8d, 0x02, 0x0a, 0x0f, 0x0a,
6178
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e,
6179
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xe9,
6180
	0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xde, 0x01, 0x1a, 0xdb, 0x01, 0x63,
6181
	0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d,
6182
	0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c,
6183
	0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31,
6184
	0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
6185
	0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x72, 0x65, 0x61,
6186
	0x64, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43,
6187
	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70,
6188
	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c,
6189
	0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20,
6190
	0x20, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x20, 0x7b,
6191
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
6192
	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x63, 0x6e, 0x62, 0x65,
6193
	0x36, 0x73, 0x65, 0x35, 0x66, 0x6d, 0x61, 0x6c, 0x31, 0x38, 0x67, 0x70, 0x63, 0x36, 0x36, 0x67,
6194
	0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29,
6195
	0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
6196
	0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68,
6197
	0x65, 0x6d, 0x61, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x12, 0xf2, 0x05, 0x0a, 0x04, 0x4c, 0x69,
6198
	0x73, 0x74, 0x12, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68,
6199
	0x65, 0x6d, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b,
6200
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c,
6201
	0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb0, 0x05, 0x92, 0x41,
6202
	0xfd, 0x04, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x0b, 0x6c, 0x69, 0x73, 0x74,
6203
	0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73,
6204
	0x2e, 0x6c, 0x69, 0x73, 0x74, 0x6a, 0xd7, 0x04, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65,
6205
	0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xc5, 0x04, 0x32, 0xc2, 0x04, 0x0a, 0xbd, 0x01,
6206
	0x2a, 0xba, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02,
6207
	0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
6208
	0x0a, 0x9a, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x8f, 0x01, 0x1a, 0x8c,
6209
	0x01, 0x73, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65,
6210
	0x6e, 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x28, 0x63,
6211
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e,
6212
	0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4c,
6213
	0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6214
	0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a,
6215
	0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30,
6216
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
6217
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x85, 0x01,
6218
	0x2a, 0x82, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04,
6219
	0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a,
6220
	0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x59, 0x0a, 0x06, 0x73, 0x6f,
6221
	0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x1a, 0x4d, 0x6c, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20,
6222
	0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e,
6223
	0x6c, 0x69, 0x73, 0x74, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
6224
	0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63,
6225
	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20,
6226
	0x22, 0x22, 0x0a, 0x7d, 0x29, 0x0a, 0xf7, 0x01, 0x2a, 0xf4, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c,
6227
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04,
6228
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xd0, 0x01, 0x0a,
6229
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc5, 0x01, 0x1a, 0xc2, 0x01, 0x63, 0x75, 0x72,
6230
	0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72,
6231
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63,
6232
	0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74,
6233
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
6234
	0x64, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x27,
6235
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e,
6236
	0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69,
6237
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d,
6238
	0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6239
	0x20, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x20, 0x32, 0x30,
6240
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75,
6241
	0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x27, 0x82,
6242
	0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65,
6243
	0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64,
6244
	0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x32, 0xe5,
6245
	0x44, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0xb6, 0x15, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74,
6246
	0x65, 0x12, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61,
6247
	0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62,
6248
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65,
6249
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf5, 0x14, 0x92, 0x41, 0xc4, 0x14, 0x0a,
6250
	0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x64, 0x61, 0x74,
6251
	0x61, 0x2a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x6a, 0xa3, 0x14,
6252
	0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12,
6253
	0x91, 0x14, 0x32, 0x8e, 0x14, 0x0a, 0xb6, 0x07, 0x2a, 0xb3, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x6c,
6254
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61,
6255
	0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x93, 0x07, 0x0a, 0x06, 0x73, 0x6f, 0x75,
6256
	0x72, 0x63, 0x65, 0x12, 0x88, 0x07, 0x1a, 0x85, 0x07, 0x2f, 0x2f, 0x20, 0x43, 0x6f, 0x6e, 0x76,
6257
	0x65, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20,
6258
	0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20,
6259
	0x69, 0x6e, 0x74, 0x6f, 0x20, 0x41, 0x6e, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x20, 0x6d,
6260
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x65, 0x72,
6261
	0x72, 0x20, 0x3a, 0x3d, 0x20, 0x61, 0x6e, 0x79, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x77, 0x28, 0x26,
6262
	0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x7b,
6263
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x44, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c,
6264
	0x0a, 0x7d, 0x29, 0x0a, 0x69, 0x66, 0x20, 0x65, 0x72, 0x72, 0x20, 0x21, 0x3d, 0x20, 0x6e, 0x69,
6265
	0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x48, 0x61, 0x6e, 0x64, 0x6c,
6266
	0x65, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x7d, 0x0a, 0x0a, 0x63, 0x72, 0x2c, 0x20, 0x65,
6267
	0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74,
6268
	0x61, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e,
6269
	0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76,
6270
	0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
6271
	0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64,
6272
	0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61,
6273
	0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x57, 0x72,
6274
	0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
6275
	0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x63, 0x68, 0x65,
6276
	0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20,
6277
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x73,
6278
	0x3a, 0x20, 0x5b, 0x5d, 0x2a, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x7b, 0x0a, 0x20,
6279
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6280
	0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26, 0x76, 0x31,
6281
	0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6282
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22,
6283
	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6284
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x20,
6285
	0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6286
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6287
	0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74,
6288
	0x6f, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6289
	0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53,
6290
	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6291
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x75,
6292
	0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6293
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x2c,
6294
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6295
	0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20,
6296
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
6297
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
6298
	0x20, 0x20, 0x20, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x20,
6299
	0x5b, 0x5d, 0x2a, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x7b,
6300
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6301
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26,
6302
	0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6303
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a,
6304
	0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6305
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a,
6306
	0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6307
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6308
	0x20, 0x20, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x3a, 0x20, 0x22, 0x69,
6309
	0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6310
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x20,
6311
	0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6312
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x80,
6313
	0x06, 0x2a, 0xfd, 0x05, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a,
6314
	0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a,
6315
	0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xd3, 0x05, 0x0a, 0x06,
6316
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xc8, 0x05, 0x1a, 0xc5, 0x05, 0x63, 0x6f, 0x6e, 0x73,
6317
	0x74, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d,
6318
	0x20, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x66, 0x72,
6319
	0x6f, 0x6d, 0x4a, 0x53, 0x4f, 0x4e, 0x28, 0x7b, 0x20, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x74,
6320
	0x72, 0x75, 0x65, 0x20, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x76,
6321
	0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x41, 0x6e, 0x79, 0x2e, 0x66, 0x72, 0x6f, 0x6d, 0x4a,
6322
	0x53, 0x4f, 0x4e, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72,
6323
	0x6c, 0x3a, 0x20, 0x27, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
6324
	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
6325
	0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x27, 0x2c, 0x0a, 0x20,
6326
	0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61,
6327
	0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x28, 0x62, 0x6f,
6328
	0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x66, 0x69, 0x6e, 0x69,
6329
	0x73, 0x68, 0x28, 0x29, 0x0a, 0x7d, 0x29, 0x3b, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
6330
	0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20,
6331
	0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22,
6332
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20,
6333
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
6334
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20,
6335
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x3a, 0x20, 0x5b,
6336
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
6337
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6338
	0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22,
6339
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64,
6340
	0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
6341
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
6342
	0x6e, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6343
	0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a,
6344
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65,
6345
	0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6346
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20,
6347
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x2c, 0x0a,
6348
	0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x20,
6349
	0x5b, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74,
6350
	0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6351
	0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
6352
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69,
6353
	0x64, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
6354
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
6355
	0x75, 0x74, 0x65, 0x3a, 0x20, 0x22, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
6356
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65,
6357
	0x3a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x0a,
6358
	0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
6359
	0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68,
6360
	0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d,
6361
	0x29, 0x0a, 0xcf, 0x06, 0x2a, 0xcc, 0x06, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
6362
	0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
6363
	0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xa8, 0x06, 0x0a, 0x06, 0x73, 0x6f, 0x75,
6364
	0x72, 0x63, 0x65, 0x12, 0x9d, 0x06, 0x1a, 0x9a, 0x06, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d,
6365
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65,
6366
	0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f,
6367
	0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e,
6368
	0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64,
6369
	0x61, 0x74, 0x61, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68,
6370
	0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54,
6371
	0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6372
	0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d,
6373
	0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x74, 0x61,
6374
	0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6375
	0x20, 0x22, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
6376
	0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6377
	0x20, 0x22, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20,
6378
	0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6379
	0x20, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20,
6380
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6381
	0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
6382
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6383
	0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20,
6384
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6385
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
6386
	0x6e, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6387
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a, 0x65,
6388
	0x63, 0x74, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6389
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22,
6390
	0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6391
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22,
6392
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20,
6393
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a,
6394
	0x20, 0x20, 0x20, 0x20, 0x22, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22,
6395
	0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20,
6396
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74,
6397
	0x79, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6398
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x64,
6399
	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6400
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20,
6401
	0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6402
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6403
	0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x73, 0x5f,
6404
	0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6405
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3a, 0x20, 0x7b,
6406
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6407
	0x20, 0x22, 0x40, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x2e,
6408
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62,
6409
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61,
6410
	0x6c, 0x75, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6411
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x20, 0x74, 0x72,
6412
	0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
6413
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5d,
6414
	0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x76,
6415
	0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e,
6416
	0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65,
6417
	0x12, 0xc6, 0x01, 0x0a, 0x12, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
6418
	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x12, 0x21, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
6419
	0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x57, 0x72,
6420
	0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x62, 0x61, 0x73,
6421
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69,
6422
	0x70, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69,
6423
	0x92, 0x41, 0x30, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x13, 0x77, 0x72, 0x69, 0x74, 0x65,
6424
	0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2a, 0x13,
6425
	0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2e, 0x77, 0x72,
6426
	0x69, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, 0x22, 0x2b, 0x2f, 0x76,
6427
	0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e,
6428
	0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
6429
	0x69, 0x70, 0x73, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xd1, 0x0c, 0x0a, 0x11, 0x52, 0x65,
6430
	0x61, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x12,
6431
	0x20, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
6432
	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
6433
	0x74, 0x1a, 0x21, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61,
6434
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70,
6435
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x0b, 0x92, 0x41, 0xb8, 0x0b, 0x0a, 0x04, 0x44, 0x61, 0x74,
6436
	0x61, 0x12, 0x12, 0x72, 0x65, 0x61, 0x64, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6437
	0x73, 0x68, 0x69, 0x70, 0x73, 0x2a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x72, 0x65, 0x6c, 0x61,
6438
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6a, 0x82,
6439
	0x0b, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73,
6440
	0x12, 0xf0, 0x0a, 0x32, 0xed, 0x0a, 0x0a, 0xa6, 0x04, 0x2a, 0xa3, 0x04, 0x0a, 0x0d, 0x0a, 0x05,
6441
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c,
6442
	0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x83, 0x04, 0x0a, 0x06, 0x73, 0x6f,
6443
	0x75, 0x72, 0x63, 0x65, 0x12, 0xf8, 0x03, 0x1a, 0xf5, 0x03, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72,
6444
	0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61,
6445
	0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69,
6446
	0x70, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67,
6447
	0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74,
6448
	0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65,
6449
	0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54,
6450
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20,
6451
	0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31,
6452
	0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
6453
	0x69, 0x70, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74,
6454
	0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53,
6455
	0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20,
6456
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20,
6457
	0x26, 0x76, 0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b,
6458
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a,
6459
	0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65,
6460
	0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54,
6461
	0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6462
	0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6463
	0x20, 0x49, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x22,
6464
	0x31, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
6465
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6466
	0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6467
	0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26, 0x76, 0x31,
6468
	0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a,
6469
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65,
6470
	0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6471
	0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x22,
6472
	0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6473
	0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20,
6474
	0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x0a,
6475
	0x84, 0x03, 0x2a, 0x81, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06,
6476
	0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c,
6477
	0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xd7, 0x02, 0x0a,
6478
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xcc, 0x02, 0x1a, 0xc9, 0x02, 0x63, 0x6c, 0x69,
6479
	0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x52, 0x65, 0x6c,
6480
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x74,
6481
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20,
6482
	0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6483
	0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c,
6484
	0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20,
6485
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a,
6486
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67,
6487
	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6488
	0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6489
	0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20,
6490
	0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6491
	0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6492
	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6493
	0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6494
	0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6495
	0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20,
6496
	0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28,
6497
	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20,
6498
	0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f,
6499
	0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xba, 0x03, 0x2a, 0xb7, 0x03, 0x0a, 0x0f, 0x0a, 0x05,
6500
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a,
6501
	0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x93, 0x03,
6502
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x88, 0x03, 0x1a, 0x85, 0x03, 0x63, 0x75,
6503
	0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d,
6504
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f,
6505
	0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f,
6506
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
6507
	0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
6508
	0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x27, 0x20, 0x5c, 0x0a, 0x2d,
6509
	0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
6510
	0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
6511
	0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74,
6512
	0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64,
6513
	0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f,
6514
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
6515
	0x20, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6516
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6517
	0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
6518
	0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a,
6519
	0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20,
6520
	0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
6521
	0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x6d,
6522
	0x62, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
6523
	0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a,
6524
	0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20,
6525
	0x5b, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,
6526
	0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d,
6527
	0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x3a, 0x01, 0x2a, 0x22, 0x2f, 0x2f, 0x76,
6528
	0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e,
6529
	0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74,
6530
	0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x12, 0xdc, 0x0a,
6531
	0x0a, 0x0e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
6532
	0x12, 0x1d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69,
6533
	0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
6534
	0x1e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
6535
	0x75, 0x74, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
6536
	0x8a, 0x0a, 0x92, 0x41, 0xcf, 0x09, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0f, 0x72, 0x65,
6537
	0x61, 0x64, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2a, 0x14, 0x64,
6538
	0x61, 0x74, 0x61, 0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x72,
6539
	0x65, 0x61, 0x64, 0x6a, 0x9f, 0x09, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61,
6540
	0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x8d, 0x09, 0x32, 0x8a, 0x09, 0x0a, 0xb5, 0x03, 0x2a, 0xb2,
6541
	0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f,
6542
	0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x92,
6543
	0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x87, 0x03, 0x1a, 0x84, 0x03, 0x72,
6544
	0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
6545
	0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
6546
	0x75, 0x74, 0x65, 0x73, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63,
6547
	0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44,
6548
	0x61, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x61,
6549
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65,
6550
	0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6551
	0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e,
6552
	0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65,
6553
	0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
6554
	0x61, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54,
6555
	0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
6556
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20, 0x26, 0x76, 0x31,
6557
	0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
6558
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
6559
	0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74,
6560
	0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6561
	0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
6562
	0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6563
	0x20, 0x20, 0x49, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b,
6564
	0x22, 0x31, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
6565
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
6566
	0x74, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x22, 0x70,
6567
	0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c,
6568
	0x0a, 0x7d, 0x29, 0x0a, 0xcb, 0x02, 0x2a, 0xc8, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62,
6569
	0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61,
6570
	0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
6571
	0x0a, 0x9e, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x93, 0x02, 0x1a, 0x90,
6572
	0x02, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x72, 0x65, 0x61,
6573
	0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x28, 0x7b, 0x0a, 0x20, 0x20,
6574
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a,
6575
	0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20,
6576
	0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22,
6577
	0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a,
6578
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b,
6579
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72,
6580
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6581
	0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6582
	0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20,
6583
	0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
6584
	0x74, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x72,
6585
	0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20,
6586
	0x7d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f,
6587
	0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68,
6588
	0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d,
6589
	0x29, 0x0a, 0x81, 0x03, 0x2a, 0xfe, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
6590
	0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
6591
	0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0xda, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75,
6592
	0x72, 0x63, 0x65, 0x12, 0xcf, 0x02, 0x1a, 0xcc, 0x02, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d,
6593
	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65,
6594
	0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f,
6595
	0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e,
6596
	0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64,
6597
	0x61, 0x74, 0x61, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x72,
6598
	0x65, 0x61, 0x64, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20,
6599
	0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61,
6600
	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27,
6601
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b,
6602
	0x0a, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20,
6603
	0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22,
6604
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
6605
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20,
6606
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f,
6607
	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6608
	0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6609
	0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20,
6610
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
6611
	0x75, 0x74, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x70,
6612
	0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20,
6613
	0x20, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x3a, 0x01, 0x2a, 0x22, 0x2c,
6614
	0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e,
6615
	0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x61, 0x74, 0x74,
6616
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa9, 0x0c, 0x0a,
6617
	0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76,
6618
	0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
6619
	0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61,
6620
	0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
6621
	0x22, 0xe5, 0x0b, 0x92, 0x41, 0xb3, 0x0b, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0b, 0x64,
6622
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2a, 0x0b, 0x64, 0x61, 0x74, 0x61,
6623
	0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x6a, 0x90, 0x0b, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f,
6624
	0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xfe, 0x0a, 0x32, 0xfb, 0x0a, 0x0a,
6625
	0x8f, 0x04, 0x2a, 0x8c, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04,
6626
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02,
6627
	0x67, 0x6f, 0x0a, 0xec, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xe1, 0x03,
6628
	0x1a, 0xde, 0x03, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c,
6629
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
6630
	0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f,
6631
	0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44,
6632
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20,
6633
	0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22,
6634
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20,
6635
	0x26, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
6636
	0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x7b, 0x0a, 0x20,
6637
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6e, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
6638
	0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6639
	0x20, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20, 0x26, 0x76,
6640
	0x31, 0x2e, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20,
6641
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x26,
6642
	0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b,
6643
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70,
6644
	0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
6645
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49,
6646
	0x64, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x22, 0x31, 0x22,
6647
	0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20,
6648
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20,
6649
	0x22, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6650
	0x20, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x53, 0x75,
6651
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6652
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22,
6653
	0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6654
	0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b,
6655
	0x22, 0x31, 0x22, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6656
	0x20, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20,
6657
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d,
6658
	0x29, 0x0a, 0x94, 0x03, 0x2a, 0x91, 0x03, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
6659
	0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
6660
	0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xe7,
6661
	0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xdc, 0x02, 0x1a, 0xd9, 0x02, 0x63,
6662
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74,
6663
	0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20,
6664
	0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
6665
	0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b,
6666
	0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x74,
6667
	0x75, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20,
6668
	0x20, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20,
6669
	0x20, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
6670
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64,
6671
	0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22,
6672
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
6673
	0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x61,
6674
	0x64, 0x6d, 0x69, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65,
6675
	0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70, 0x65,
6676
	0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6677
	0x69, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6678
	0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6679
	0x20, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x20,
6680
	0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e,
6681
	0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b,
6682
	0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73,
6683
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xcf, 0x03, 0x2a, 0xcc, 0x03, 0x0a, 0x0f,
6684
	0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a,
6685
	0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a,
6686
	0xa8, 0x03, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x9d, 0x03, 0x1a, 0x9a, 0x03,
6687
	0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
6688
	0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x27,
6689
	0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76,
6690
	0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e,
6691
	0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74,
6692
	0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43,
6693
	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70,
6694
	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c,
6695
	0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20,
6696
	0x20, 0x22, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x3a,
6697
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x3a,
6698
	0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a,
6699
	0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c,
6700
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x64, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a,
6701
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20,
6702
	0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22,
6703
	0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x61, 0x64, 0x6d, 0x69,
6704
	0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
6705
	0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65,
6706
	0x22, 0x3a, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6707
	0x20, 0x22, 0x69, 0x64, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6708
	0x20, 0x20, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20,
6709
	0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a,
6710
	0x20, 0x22, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20,
6711
	0x20, 0x22, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74,
6712
	0x65, 0x72, 0x22, 0x3a, 0x20, 0x7b, 0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28,
6713
	0x3a, 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
6714
	0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74,
6715
	0x61, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xcc, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c,
6716
	0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73,
6717
	0x12, 0x22, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74,
6718
	0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
6719
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
6720
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x44, 0x65, 0x6c, 0x65, 0x74,
6721
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x92, 0x41, 0x32, 0x0a, 0x04,
6722
	0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x72, 0x65, 0x6c,
6723
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2a, 0x14, 0x72, 0x65, 0x6c, 0x61,
6724
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
6725
	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x3a, 0x01, 0x2a, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x74,
6726
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
6727
	0x64, 0x7d, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73,
6728
	0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xac, 0x08, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x42,
6729
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e,
6730
	0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
6731
	0x1a, 0x1a, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c,
6732
	0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe7, 0x07, 0x92,
6733
	0x41, 0xb1, 0x07, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0a, 0x72, 0x75, 0x6e, 0x20, 0x62,
6734
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2a, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x72, 0x75,
6735
	0x6e, 0x6a, 0x90, 0x07, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70,
6736
	0x6c, 0x65, 0x73, 0x12, 0xfe, 0x06, 0x32, 0xfb, 0x06, 0x0a, 0xa5, 0x02, 0x2a, 0xa2, 0x02, 0x0a,
6737
	0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c,
6738
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x82, 0x02, 0x0a,
6739
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xf7, 0x01, 0x1a, 0xf4, 0x01, 0x72, 0x72, 0x2c,
6740
	0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x44,
6741
	0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x28, 0x63, 0x6f,
6742
	0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64,
6743
	0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x75,
6744
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65,
6745
	0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6746
	0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67,
6747
	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
6748
	0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
6749
	0x73, 0x3a, 0x20, 0x6d, 0x61, 0x70, 0x5b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5d, 0x73, 0x74,
6750
	0x72, 0x69, 0x6e, 0x67, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63,
6751
	0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6752
	0x22, 0x35, 0x36, 0x34, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6753
	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x3a,
6754
	0x20, 0x22, 0x37, 0x38, 0x39, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d,
6755
	0x29, 0x0a, 0x8a, 0x02, 0x2a, 0x87, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
6756
	0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67,
6757
	0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xdd,
6758
	0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xd2, 0x01, 0x1a, 0xcf, 0x01, 0x63,
6759
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x72, 0x75, 0x6e, 0x42, 0x75,
6760
	0x6e, 0x64, 0x6c, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e,
6761
	0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6e,
6762
	0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6763
	0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6764
	0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20,
6765
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x3a,
6766
	0x20, 0x22, 0x35, 0x36, 0x34, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6767
	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x3a, 0x20,
6768
	0x22, 0x37, 0x38, 0x39, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x7d, 0x29, 0x2e,
6769
	0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20,
6770
	0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64,
6771
	0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xc3,
6772
	0x02, 0x2a, 0xc0, 0x02, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a,
6773
	0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a,
6774
	0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x9c, 0x02, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
6775
	0x12, 0x91, 0x02, 0x1a, 0x8e, 0x02, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63,
6776
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20,
6777
	0x50, 0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a,
6778
	0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
6779
	0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61,
6780
	0x2f, 0x72, 0x75, 0x6e, 0x2d, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d,
6781
	0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
6782
	0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
6783
	0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74,
6784
	0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6e, 0x61,
6785
	0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6786
	0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6787
	0x20, 0x22, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3a, 0x20, 0x7b, 0x0a,
6788
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72,
6789
	0x49, 0x44, 0x22, 0x3a, 0x20, 0x22, 0x35, 0x36, 0x34, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6790
	0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
6791
	0x6e, 0x49, 0x44, 0x22, 0x3a, 0x20, 0x22, 0x37, 0x38, 0x39, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20,
6792
	0x7d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f,
6793
	0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61,
6794
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x72, 0x75, 0x6e, 0x2d,
6795
	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x32, 0xc0, 0x21, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c,
6796
	0x65, 0x12, 0x80, 0x15, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x62, 0x61,
6797
	0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74,
6798
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
6799
	0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65,
6800
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbb, 0x14, 0x92, 0x41, 0x88, 0x14, 0x0a, 0x06, 0x42,
6801
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x20, 0x62, 0x75, 0x6e,
6802
	0x64, 0x6c, 0x65, 0x2a, 0x0c, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x77, 0x72, 0x69, 0x74,
6803
	0x65, 0x6a, 0xe1, 0x13, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70,
6804
	0x6c, 0x65, 0x73, 0x12, 0xcf, 0x13, 0x32, 0xcc, 0x13, 0x0a, 0xd3, 0x06, 0x2a, 0xd0, 0x06, 0x0a,
6805
	0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c,
6806
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0xb0, 0x06, 0x0a,
6807
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xa5, 0x06, 0x1a, 0xa2, 0x06, 0x72, 0x72, 0x2c,
6808
	0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x42,
6809
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74,
6810
	0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29,
6811
	0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74,
6812
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65,
6813
	0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6814
	0x20, 0x20, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2a, 0x76, 0x31,
6815
	0x2e, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6816
	0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6817
	0x20, 0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
6818
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c,
6819
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x72, 0x67,
6820
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
6821
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6822
	0x20, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0x2c, 0x0a, 0x20,
6823
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22,
6824
	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x2c,
6825
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a,
6826
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4f, 0x70, 0x65, 0x72,
6827
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x5b, 0x5d, 0x2a, 0x76, 0x31, 0x2e, 0x4f, 0x70,
6828
	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6829
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6830
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52,
6831
	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x57, 0x72, 0x69, 0x74,
6832
	0x65, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6833
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6834
	0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6835
	0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6836
	0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x40, 0x75, 0x73, 0x65,
6837
	0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d,
6838
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6839
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61,
6840
	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61,
6841
	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x6d, 0x61, 0x6e,
6842
	0x61, 0x67, 0x65, 0x72, 0x40, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65,
6843
	0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6844
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d,
6845
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6846
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
6847
	0x57, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x20, 0x5b, 0x5d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x7b,
6848
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6849
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
6850
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
6851
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x24, 0x70, 0x75, 0x62, 0x6c, 0x69,
6852
	0x63, 0x7c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x3a, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22,
6853
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6854
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6855
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6856
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6857
	0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x7d, 0x29, 0x0a,
6858
	0x9b, 0x06, 0x2a, 0x98, 0x06, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06,
6859
	0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x0c,
6860
	0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0xee, 0x05, 0x0a,
6861
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xe3, 0x05, 0x1a, 0xe0, 0x05, 0x63, 0x6c, 0x69,
6862
	0x65, 0x6e, 0x74, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65,
6863
	0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a,
6864
	0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c,
6865
	0x65, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a,
6866
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65,
6867
	0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
6868
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6869
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a,
6870
	0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6871
	0x20, 0x20, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0x2c, 0x0a,
6872
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6873
	0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22,
6874
	0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c,
6875
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x65,
6876
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
6877
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
6878
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6879
	0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x5f, 0x77,
6880
	0x72, 0x69, 0x74, 0x65, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6881
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6882
	0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b,
6883
	0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d,
6884
	0x7d, 0x23, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x40, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e,
6885
	0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20, 0x20,
6886
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6887
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
6888
	0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
6889
	0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x40,
6890
	0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49,
6891
	0x44, 0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6892
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20,
6893
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6894
	0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74,
6895
	0x65, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6896
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72,
6897
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72,
6898
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x24, 0x70,
6899
	0x75, 0x62, 0x6c, 0x69, 0x63, 0x7c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x3a, 0x66, 0x61,
6900
	0x6c, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6901
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20,
6902
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20,
6903
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20,
6904
	0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x7d, 0x29, 0x2e, 0x74,
6905
	0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d,
6906
	0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c,
6907
	0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xd5, 0x06,
6908
	0x2a, 0xd2, 0x06, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04,
6909
	0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04,
6910
	0x63, 0x75, 0x72, 0x6c, 0x0a, 0xae, 0x06, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
6911
	0xa3, 0x06, 0x1a, 0xa0, 0x06, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61,
6912
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50,
6913
	0x4f, 0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33,
6914
	0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
6915
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e, 0x64, 0x6c,
6916
	0x65, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61,
6917
	0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70,
6918
	0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a,
6919
	0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61,
6920
	0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65,
6921
	0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a,
6922
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6e, 0x61, 0x6d,
6923
	0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
6924
	0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20,
6925
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e,
6926
	0x74, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6927
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49,
6928
	0x44, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6929
	0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
6930
	0x6e, 0x49, 0x44, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6931
	0x20, 0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6932
	0x22, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a,
6933
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6934
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6935
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
6936
	0x68, 0x69, 0x70, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20,
6937
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6938
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
6939
	0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
6940
	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x40, 0x75,
6941
	0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44,
6942
	0x7d, 0x7d, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6943
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72,
6944
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72,
6945
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x23, 0x6d,
6946
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x40, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x7b, 0x7b, 0x2e, 0x63,
6947
	0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x7d, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20,
6948
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6949
	0x5d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6950
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
6951
	0x65, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20,
6952
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6953
	0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6954
	0x6f, 0x6e, 0x3a, 0x7b, 0x7b, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
6955
	0x6f, 0x6e, 0x49, 0x44, 0x7d, 0x7d, 0x24, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x7c, 0x62, 0x6f,
6956
	0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x3a, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20,
6957
	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6958
	0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6959
	0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6960
	0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20,
6961
	0x20, 0x5d, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24,
6962
	0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e,
6963
	0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f, 0x77,
6964
	0x72, 0x69, 0x74, 0x65, 0x12, 0x8d, 0x06, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1a, 0x2e,
6965
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65,
6966
	0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65,
6967
	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65,
6968
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcb, 0x05, 0x92, 0x41, 0x99, 0x05, 0x0a, 0x06, 0x42,
6969
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x20, 0x62, 0x75, 0x6e, 0x64,
6970
	0x6c, 0x65, 0x2a, 0x0b, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6a,
6971
	0xf4, 0x04, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65,
6972
	0x73, 0x12, 0xe2, 0x04, 0x32, 0xdf, 0x04, 0x0a, 0xb8, 0x01, 0x2a, 0xb5, 0x01, 0x0a, 0x0d, 0x0a,
6973
	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04,
6974
	0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x95, 0x01, 0x0a, 0x06, 0x73,
6975
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x8a, 0x01, 0x1a, 0x87, 0x01, 0x72, 0x72, 0x2c, 0x20, 0x65,
6976
	0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x6e,
6977
	0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
6978
	0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26,
6979
	0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71,
6980
	0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
6981
	0x49, 0x64, 0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x61,
6982
	0x6d, 0x65, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
6983
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a,
6984
	0x7d, 0x29, 0x0a, 0xb5, 0x01, 0x2a, 0xb2, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
6985
	0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
6986
	0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a,
6987
	0x88, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7e, 0x1a, 0x7c, 0x63, 0x6c,
6988
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64,
6989
	0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x3a,
6990
	0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a,
6991
	0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63,
6992
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e,
6993
	0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b,
6994
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72,
6995
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xe9, 0x01, 0x2a, 0xe6, 0x01,
6996
	0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55, 0x52,
6997
	0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75, 0x72,
6998
	0x6c, 0x0a, 0xc2, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xb7, 0x01, 0x1a,
6999
	0xb4, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
7000
	0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53, 0x54,
7001
	0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36,
7002
	0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e,
7003
	0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f, 0x72,
7004
	0x65, 0x61, 0x64, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20,
7005
	0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61,
7006
	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27,
7007
	0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b,
7008
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6f, 0x72,
7009
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74,
7010
	0x65, 0x64, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22,
7011
	0x23, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65,
7012
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f,
7013
	0x72, 0x65, 0x61, 0x64, 0x12, 0xa2, 0x06, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12,
7014
	0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
7015
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
7016
	0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65,
7017
	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xda, 0x05, 0x92,
7018
	0x41, 0xa6, 0x05, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x0d, 0x64, 0x65, 0x6c,
7019
	0x65, 0x74, 0x65, 0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2a, 0x0d, 0x62, 0x75, 0x6e, 0x64,
7020
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x6a, 0xfd, 0x04, 0x0a, 0x0d, 0x78, 0x2d,
7021
	0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xeb, 0x04, 0x32, 0xe8,
7022
	0x04, 0x0a, 0xbc, 0x01, 0x2a, 0xb9, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
7023
	0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04,
7024
	0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x99, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
7025
	0x8e, 0x01, 0x1a, 0x8b, 0x01, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20,
7026
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x44, 0x65,
7027
	0x6c, 0x65, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61, 0x63,
7028
	0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e, 0x42,
7029
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
7030
	0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64,
7031
	0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65,
7032
	0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
7033
	0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x7d, 0x29,
7034
	0x0a, 0xb8, 0x01, 0x2a, 0xb5, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
7035
	0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12,
7036
	0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a, 0x8b, 0x01,
7037
	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x80, 0x01, 0x1a, 0x7e, 0x63, 0x6c, 0x69,
7038
	0x65, 0x6e, 0x74, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74,
7039
	0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64,
7040
	0x3a, 0x20, 0x22, 0x74, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65,
7041
	0x3a, 0x20, 0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
7042
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65,
7043
	0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20,
7044
	0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20,
7045
	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xeb, 0x01, 0x2a, 0xe8,
7046
	0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x55,
7047
	0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63, 0x75,
7048
	0x72, 0x6c, 0x0a, 0xc4, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xb9, 0x01,
7049
	0x1a, 0xb6, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
7050
	0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f, 0x53,
7051
	0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37,
7052
	0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65,
7053
	0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2f,
7054
	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64,
7055
	0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65,
7056
	0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73,
7057
	0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77,
7058
	0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20,
7059
	0x22, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72,
7060
	0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a,
7061
	0x01, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
7062
	0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x6e, 0x64,
7063
	0x6c, 0x65, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x32, 0xc1, 0x0f, 0x0a, 0x07, 0x54, 0x65,
7064
	0x6e, 0x61, 0x6e, 0x63, 0x79, 0x12, 0xbe, 0x05, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
7065
	0x12, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e,
7066
	0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
7067
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43,
7068
	0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x04,
7069
	0x92, 0x41, 0xd5, 0x04, 0x0a, 0x07, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x12, 0x0d, 0x63,
7070
	0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2a, 0x0e, 0x74, 0x65,
7071
	0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x6a, 0xaa, 0x04, 0x0a,
7072
	0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x98,
7073
	0x04, 0x32, 0x95, 0x04, 0x0a, 0x9b, 0x01, 0x2a, 0x98, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c, 0x61,
7074
	0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
7075
	0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x79, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
7076
	0x65, 0x12, 0x6f, 0x1a, 0x6d, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20,
7077
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e, 0x43,
7078
	0x72, 0x65, 0x61, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42, 0x61,
7079
	0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31, 0x2e,
7080
	0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
7081
	0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x20, 0x20, 0x22,
7082
	0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x22, 0x0a,
7083
	0x7d, 0x29, 0x0a, 0x98, 0x01, 0x2a, 0x95, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
7084
	0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61, 0x6e,
7085
	0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x0a,
7086
	0x6c, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x62, 0x1a, 0x60, 0x63, 0x6c, 0x69,
7087
	0x65, 0x6e, 0x74, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e, 0x63, 0x72, 0x65, 0x61,
7088
	0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a,
7089
	0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x29, 0x2e, 0x74,
7090
	0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x29, 0x20, 0x3d,
7091
	0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c,
7092
	0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x7d, 0x29, 0x0a, 0xd9, 0x01,
7093
	0x2a, 0xd6, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04,
7094
	0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04,
7095
	0x63, 0x75, 0x72, 0x6c, 0x0a, 0xb2, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
7096
	0xa7, 0x01, 0x1a, 0xa4, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61,
7097
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50,
7098
	0x4f, 0x53, 0x54, 0x20, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
7099
	0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65,
7100
	0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x27, 0x20, 0x5c, 0x0a,
7101
	0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
7102
	0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
7103
	0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61,
7104
	0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69,
7105
	0x64, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x6e, 0x61, 0x6d,
7106
	0x65, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a, 0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a,
7107
	0x01, 0x2a, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
7108
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0xba, 0x04, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74,
7109
	0x65, 0x12, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61,
7110
	0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
7111
	0x1d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
7112
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf2,
7113
	0x03, 0x92, 0x41, 0xd6, 0x03, 0x0a, 0x07, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x12, 0x0d,
7114
	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2a, 0x0e, 0x74,
7115
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x6a, 0xab, 0x03,
7116
	0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12,
7117
	0x99, 0x03, 0x32, 0x96, 0x03, 0x0a, 0x8b, 0x01, 0x2a, 0x88, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x6c,
7118
	0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c, 0x0a, 0x04, 0x6c, 0x61,
7119
	0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x69, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
7120
	0x63, 0x65, 0x12, 0x5f, 0x1a, 0x5d, 0x72, 0x72, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d,
7121
	0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e,
7122
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x42,
7123
	0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20, 0x26, 0x76, 0x31,
7124
	0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
7125
	0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x49, 0x64, 0x3a, 0x20, 0x22, 0x22,
7126
	0x0a, 0x7d, 0x29, 0x0a, 0x8c, 0x01, 0x2a, 0x89, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62,
7127
	0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c, 0x61,
7128
	0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
7129
	0x0a, 0x60, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x56, 0x1a, 0x54, 0x63, 0x6c,
7130
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e, 0x64, 0x65, 0x6c,
7131
	0x65, 0x74, 0x65, 0x28, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x22, 0x2c,
7132
	0x0a, 0x7d, 0x29, 0x2e, 0x74, 0x68, 0x65, 0x6e, 0x28, 0x28, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
7133
	0x73, 0x65, 0x29, 0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20,
7134
	0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a,
7135
	0x7d, 0x29, 0x0a, 0x77, 0x2a, 0x75, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
7136
	0x06, 0x1a, 0x04, 0x63, 0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12,
7137
	0x06, 0x1a, 0x04, 0x63, 0x75, 0x72, 0x6c, 0x0a, 0x52, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
7138
	0x65, 0x12, 0x48, 0x1a, 0x46, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61,
7139
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x44,
7140
	0x45, 0x4c, 0x45, 0x54, 0x45, 0x20, 0x27, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c, 0x6f,
7141
	0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34, 0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f,
7142
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x74, 0x31, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02,
7143
	0x12, 0x2a, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
7144
	0x69, 0x64, 0x7d, 0x12, 0xb7, 0x05, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x62,
7145
	0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73,
7146
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
7147
	0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
7148
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf5, 0x04, 0x92, 0x41, 0xd6, 0x04, 0x0a, 0x07, 0x54, 0x65,
7149
	0x6e, 0x61, 0x6e, 0x63, 0x79, 0x12, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x74, 0x65, 0x6e, 0x61,
7150
	0x6e, 0x74, 0x73, 0x2a, 0x0c, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x6c, 0x69, 0x73,
7151
	0x74, 0x6a, 0xae, 0x04, 0x0a, 0x0d, 0x78, 0x2d, 0x63, 0x6f, 0x64, 0x65, 0x53, 0x61, 0x6d, 0x70,
7152
	0x6c, 0x65, 0x73, 0x12, 0x9c, 0x04, 0x32, 0x99, 0x04, 0x0a, 0xa8, 0x01, 0x2a, 0xa5, 0x01, 0x0a,
7153
	0x0d, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x0c,
7154
	0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x04, 0x1a, 0x02, 0x67, 0x6f, 0x0a, 0x85, 0x01, 0x0a,
7155
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7b, 0x1a, 0x79, 0x63, 0x72, 0x2c, 0x20, 0x65,
7156
	0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x65, 0x6e,
7157
	0x61, 0x6e, 0x63, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x28, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
7158
	0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x28, 0x29, 0x2c, 0x20,
7159
	0x26, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
7160
	0x71, 0x75, 0x65, 0x73, 0x74, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x67, 0x65, 0x53,
7161
	0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6e,
7162
	0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22,
7163
	0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0x85, 0x01, 0x2a, 0x82, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61,
7164
	0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x0a, 0x14, 0x0a, 0x04, 0x6c,
7165
	0x61, 0x6e, 0x67, 0x12, 0x0c, 0x1a, 0x0a, 0x6a, 0x61, 0x76, 0x61, 0x73, 0x63, 0x72, 0x69, 0x70,
7166
	0x74, 0x0a, 0x59, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x1a, 0x4d, 0x6c,
7167
	0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
7168
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x79, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x28, 0x7b, 0x0a, 0x20,
7169
	0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x32, 0x30, 0x2c,
7170
	0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x54,
7171
	0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x0a, 0x7d, 0x29, 0x0a, 0xe3, 0x01, 0x2a,
7172
	0xe0, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x06, 0x1a, 0x04, 0x63,
7173
	0x55, 0x52, 0x4c, 0x0a, 0x0e, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x06, 0x1a, 0x04, 0x63,
7174
	0x75, 0x72, 0x6c, 0x0a, 0xbc, 0x01, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xb1,
7175
	0x01, 0x1a, 0xae, 0x01, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x2d, 0x6c, 0x6f, 0x63, 0x61, 0x74,
7176
	0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x50, 0x4f,
7177
	0x53, 0x54, 0x20, 0x27, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x33, 0x34,
7178
	0x37, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x6c, 0x69,
7179
	0x73, 0x74, 0x27, 0x20, 0x5c, 0x0a, 0x2d, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x27,
7180
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x61, 0x70,
7181
	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x27, 0x20,
7182
	0x5c, 0x0a, 0x2d, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x72, 0x61, 0x77, 0x20, 0x27, 0x7b, 0x0a,
7183
	0x20, 0x20, 0x20, 0x20, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a,
7184
	0x20, 0x32, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e,
7185
	0x75, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x0a,
7186
	0x7d, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x76, 0x31,
7187
	0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x8a, 0x01,
7188
	0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x53,
7189
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67,
7190
	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x66,
7191
	0x79, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x66, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x62,
7192
	0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x62, 0x61, 0x73, 0x65, 0x76, 0x31, 0xa2,
7193
	0x02, 0x03, 0x42, 0x58, 0x58, 0xaa, 0x02, 0x07, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x56, 0x31, 0xca,
7194
	0x02, 0x07, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x13, 0x42, 0x61, 0x73, 0x65,
7195
	0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea,
7196
	0x02, 0x08, 0x42, 0x61, 0x73, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
7197
	0x6f, 0x33,
7198
}
7199
7200
var (
7201
	file_base_v1_service_proto_rawDescOnce sync.Once
7202
	file_base_v1_service_proto_rawDescData = file_base_v1_service_proto_rawDesc
7203
)
7204
7205
func file_base_v1_service_proto_rawDescGZIP() []byte {
7206
	file_base_v1_service_proto_rawDescOnce.Do(func() {
7207
		file_base_v1_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_base_v1_service_proto_rawDescData)
7208
	})
7209
	return file_base_v1_service_proto_rawDescData
7210
}
7211
7212
var file_base_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 71)
7213
var file_base_v1_service_proto_goTypes = []any{
7214
	(*PermissionCheckRequest)(nil),                     // 0: base.v1.PermissionCheckRequest
7215
	(*PermissionCheckRequestMetadata)(nil),             // 1: base.v1.PermissionCheckRequestMetadata
7216
	(*PermissionCheckResponse)(nil),                    // 2: base.v1.PermissionCheckResponse
7217
	(*PermissionCheckResponseMetadata)(nil),            // 3: base.v1.PermissionCheckResponseMetadata
7218
	(*BulkPermissionCheckRequest)(nil),                 // 4: base.v1.BulkPermissionCheckRequest
7219
	(*SinglePermissionCheck)(nil),                      // 5: base.v1.SinglePermissionCheck
7220
	(*BulkPermissionCheckResponse)(nil),                // 6: base.v1.BulkPermissionCheckResponse
7221
	(*SinglePermissionCheckResponse)(nil),              // 7: base.v1.SinglePermissionCheckResponse
7222
	(*PermissionExpandRequest)(nil),                    // 8: base.v1.PermissionExpandRequest
7223
	(*PermissionExpandRequestMetadata)(nil),            // 9: base.v1.PermissionExpandRequestMetadata
7224
	(*PermissionExpandResponse)(nil),                   // 10: base.v1.PermissionExpandResponse
7225
	(*PermissionLookupEntityRequest)(nil),              // 11: base.v1.PermissionLookupEntityRequest
7226
	(*PermissionLookupEntityRequestMetadata)(nil),      // 12: base.v1.PermissionLookupEntityRequestMetadata
7227
	(*PermissionLookupEntityResponse)(nil),             // 13: base.v1.PermissionLookupEntityResponse
7228
	(*PermissionLookupEntityStreamResponse)(nil),       // 14: base.v1.PermissionLookupEntityStreamResponse
7229
	(*PermissionEntityFilterRequest)(nil),              // 15: base.v1.PermissionEntityFilterRequest
7230
	(*PermissionEntityFilterRequestMetadata)(nil),      // 16: base.v1.PermissionEntityFilterRequestMetadata
7231
	(*PermissionLookupSubjectRequest)(nil),             // 17: base.v1.PermissionLookupSubjectRequest
7232
	(*PermissionLookupSubjectRequestMetadata)(nil),     // 18: base.v1.PermissionLookupSubjectRequestMetadata
7233
	(*PermissionLookupSubjectResponse)(nil),            // 19: base.v1.PermissionLookupSubjectResponse
7234
	(*PermissionSubjectPermissionRequest)(nil),         // 20: base.v1.PermissionSubjectPermissionRequest
7235
	(*PermissionSubjectPermissionRequestMetadata)(nil), // 21: base.v1.PermissionSubjectPermissionRequestMetadata
7236
	(*PermissionSubjectPermissionResponse)(nil),        // 22: base.v1.PermissionSubjectPermissionResponse
7237
	(*WatchRequest)(nil),                               // 23: base.v1.WatchRequest
7238
	(*WatchResponse)(nil),                              // 24: base.v1.WatchResponse
7239
	(*SchemaWriteRequest)(nil),                         // 25: base.v1.SchemaWriteRequest
7240
	(*SchemaWriteResponse)(nil),                        // 26: base.v1.SchemaWriteResponse
7241
	(*SchemaPartialWriteRequest)(nil),                  // 27: base.v1.SchemaPartialWriteRequest
7242
	(*SchemaPartialWriteRequestMetadata)(nil),          // 28: base.v1.SchemaPartialWriteRequestMetadata
7243
	(*SchemaPartialWriteResponse)(nil),                 // 29: base.v1.SchemaPartialWriteResponse
7244
	(*SchemaReadRequest)(nil),                          // 30: base.v1.SchemaReadRequest
7245
	(*SchemaReadRequestMetadata)(nil),                  // 31: base.v1.SchemaReadRequestMetadata
7246
	(*SchemaReadResponse)(nil),                         // 32: base.v1.SchemaReadResponse
7247
	(*SchemaListRequest)(nil),                          // 33: base.v1.SchemaListRequest
7248
	(*SchemaListResponse)(nil),                         // 34: base.v1.SchemaListResponse
7249
	(*SchemaList)(nil),                                 // 35: base.v1.SchemaList
7250
	(*DataWriteRequest)(nil),                           // 36: base.v1.DataWriteRequest
7251
	(*DataWriteRequestMetadata)(nil),                   // 37: base.v1.DataWriteRequestMetadata
7252
	(*DataWriteResponse)(nil),                          // 38: base.v1.DataWriteResponse
7253
	(*RelationshipWriteRequest)(nil),                   // 39: base.v1.RelationshipWriteRequest
7254
	(*RelationshipWriteRequestMetadata)(nil),           // 40: base.v1.RelationshipWriteRequestMetadata
7255
	(*RelationshipWriteResponse)(nil),                  // 41: base.v1.RelationshipWriteResponse
7256
	(*RelationshipReadRequest)(nil),                    // 42: base.v1.RelationshipReadRequest
7257
	(*RelationshipReadRequestMetadata)(nil),            // 43: base.v1.RelationshipReadRequestMetadata
7258
	(*RelationshipReadResponse)(nil),                   // 44: base.v1.RelationshipReadResponse
7259
	(*AttributeReadRequest)(nil),                       // 45: base.v1.AttributeReadRequest
7260
	(*AttributeReadRequestMetadata)(nil),               // 46: base.v1.AttributeReadRequestMetadata
7261
	(*AttributeReadResponse)(nil),                      // 47: base.v1.AttributeReadResponse
7262
	(*DataDeleteRequest)(nil),                          // 48: base.v1.DataDeleteRequest
7263
	(*DataDeleteResponse)(nil),                         // 49: base.v1.DataDeleteResponse
7264
	(*RelationshipDeleteRequest)(nil),                  // 50: base.v1.RelationshipDeleteRequest
7265
	(*RelationshipDeleteResponse)(nil),                 // 51: base.v1.RelationshipDeleteResponse
7266
	(*BundleRunRequest)(nil),                           // 52: base.v1.BundleRunRequest
7267
	(*BundleRunResponse)(nil),                          // 53: base.v1.BundleRunResponse
7268
	(*BundleWriteRequest)(nil),                         // 54: base.v1.BundleWriteRequest
7269
	(*BundleWriteResponse)(nil),                        // 55: base.v1.BundleWriteResponse
7270
	(*BundleReadRequest)(nil),                          // 56: base.v1.BundleReadRequest
7271
	(*BundleReadResponse)(nil),                         // 57: base.v1.BundleReadResponse
7272
	(*BundleDeleteRequest)(nil),                        // 58: base.v1.BundleDeleteRequest
7273
	(*BundleDeleteResponse)(nil),                       // 59: base.v1.BundleDeleteResponse
7274
	(*TenantCreateRequest)(nil),                        // 60: base.v1.TenantCreateRequest
7275
	(*TenantCreateResponse)(nil),                       // 61: base.v1.TenantCreateResponse
7276
	(*TenantDeleteRequest)(nil),                        // 62: base.v1.TenantDeleteRequest
7277
	(*TenantDeleteResponse)(nil),                       // 63: base.v1.TenantDeleteResponse
7278
	(*TenantListRequest)(nil),                          // 64: base.v1.TenantListRequest
7279
	(*TenantListResponse)(nil),                         // 65: base.v1.TenantListResponse
7280
	nil,                                                // 66: base.v1.PermissionLookupEntityRequest.ScopeEntry
7281
	nil,                                                // 67: base.v1.PermissionEntityFilterRequest.ScopeEntry
7282
	nil,                                                // 68: base.v1.PermissionSubjectPermissionResponse.ResultsEntry
7283
	nil,                                                // 69: base.v1.SchemaPartialWriteRequest.PartialsEntry
7284
	nil,                                                // 70: base.v1.BundleRunRequest.ArgumentsEntry
7285
	(*Entity)(nil),                                     // 71: base.v1.Entity
7286
	(*Subject)(nil),                                    // 72: base.v1.Subject
7287
	(*Context)(nil),                                    // 73: base.v1.Context
7288
	(*Argument)(nil),                                   // 74: base.v1.Argument
7289
	(CheckResult)(0),                                   // 75: base.v1.CheckResult
7290
	(*Expand)(nil),                                     // 76: base.v1.Expand
7291
	(*Entrance)(nil),                                   // 77: base.v1.Entrance
7292
	(*RelationReference)(nil),                          // 78: base.v1.RelationReference
7293
	(*DataChanges)(nil),                                // 79: base.v1.DataChanges
7294
	(*SchemaDefinition)(nil),                           // 80: base.v1.SchemaDefinition
7295
	(*Tuple)(nil),                                      // 81: base.v1.Tuple
7296
	(*Attribute)(nil),                                  // 82: base.v1.Attribute
7297
	(*TupleFilter)(nil),                                // 83: base.v1.TupleFilter
7298
	(*AttributeFilter)(nil),                            // 84: base.v1.AttributeFilter
7299
	(*DataBundle)(nil),                                 // 85: base.v1.DataBundle
7300
	(*Tenant)(nil),                                     // 86: base.v1.Tenant
7301
	(*StringArrayValue)(nil),                           // 87: base.v1.StringArrayValue
7302
	(*Partials)(nil),                                   // 88: base.v1.Partials
7303
}
7304
var file_base_v1_service_proto_depIdxs = []int32{
7305
	1,  // 0: base.v1.PermissionCheckRequest.metadata:type_name -> base.v1.PermissionCheckRequestMetadata
7306
	71, // 1: base.v1.PermissionCheckRequest.entity:type_name -> base.v1.Entity
7307
	72, // 2: base.v1.PermissionCheckRequest.subject:type_name -> base.v1.Subject
7308
	73, // 3: base.v1.PermissionCheckRequest.context:type_name -> base.v1.Context
7309
	74, // 4: base.v1.PermissionCheckRequest.arguments:type_name -> base.v1.Argument
7310
	75, // 5: base.v1.PermissionCheckResponse.can:type_name -> base.v1.CheckResult
7311
	3,  // 6: base.v1.PermissionCheckResponse.metadata:type_name -> base.v1.PermissionCheckResponseMetadata
7312
	5,  // 7: base.v1.BulkPermissionCheckRequest.checks:type_name -> base.v1.SinglePermissionCheck
7313
	1,  // 8: base.v1.SinglePermissionCheck.metadata:type_name -> base.v1.PermissionCheckRequestMetadata
7314
	71, // 9: base.v1.SinglePermissionCheck.entity:type_name -> base.v1.Entity
7315
	72, // 10: base.v1.SinglePermissionCheck.subject:type_name -> base.v1.Subject
7316
	73, // 11: base.v1.SinglePermissionCheck.context:type_name -> base.v1.Context
7317
	74, // 12: base.v1.SinglePermissionCheck.arguments:type_name -> base.v1.Argument
7318
	7,  // 13: base.v1.BulkPermissionCheckResponse.results:type_name -> base.v1.SinglePermissionCheckResponse
7319
	75, // 14: base.v1.SinglePermissionCheckResponse.can:type_name -> base.v1.CheckResult
7320
	3,  // 15: base.v1.SinglePermissionCheckResponse.metadata:type_name -> base.v1.PermissionCheckResponseMetadata
7321
	9,  // 16: base.v1.PermissionExpandRequest.metadata:type_name -> base.v1.PermissionExpandRequestMetadata
7322
	71, // 17: base.v1.PermissionExpandRequest.entity:type_name -> base.v1.Entity
7323
	73, // 18: base.v1.PermissionExpandRequest.context:type_name -> base.v1.Context
7324
	74, // 19: base.v1.PermissionExpandRequest.arguments:type_name -> base.v1.Argument
7325
	76, // 20: base.v1.PermissionExpandResponse.tree:type_name -> base.v1.Expand
7326
	12, // 21: base.v1.PermissionLookupEntityRequest.metadata:type_name -> base.v1.PermissionLookupEntityRequestMetadata
7327
	72, // 22: base.v1.PermissionLookupEntityRequest.subject:type_name -> base.v1.Subject
7328
	73, // 23: base.v1.PermissionLookupEntityRequest.context:type_name -> base.v1.Context
7329
	66, // 24: base.v1.PermissionLookupEntityRequest.scope:type_name -> base.v1.PermissionLookupEntityRequest.ScopeEntry
7330
	16, // 25: base.v1.PermissionEntityFilterRequest.metadata:type_name -> base.v1.PermissionEntityFilterRequestMetadata
7331
	77, // 26: base.v1.PermissionEntityFilterRequest.entrance:type_name -> base.v1.Entrance
7332
	72, // 27: base.v1.PermissionEntityFilterRequest.subject:type_name -> base.v1.Subject
7333
	73, // 28: base.v1.PermissionEntityFilterRequest.context:type_name -> base.v1.Context
7334
	67, // 29: base.v1.PermissionEntityFilterRequest.scope:type_name -> base.v1.PermissionEntityFilterRequest.ScopeEntry
7335
	18, // 30: base.v1.PermissionLookupSubjectRequest.metadata:type_name -> base.v1.PermissionLookupSubjectRequestMetadata
7336
	71, // 31: base.v1.PermissionLookupSubjectRequest.entity:type_name -> base.v1.Entity
7337
	78, // 32: base.v1.PermissionLookupSubjectRequest.subject_reference:type_name -> base.v1.RelationReference
7338
	73, // 33: base.v1.PermissionLookupSubjectRequest.context:type_name -> base.v1.Context
7339
	21, // 34: base.v1.PermissionSubjectPermissionRequest.metadata:type_name -> base.v1.PermissionSubjectPermissionRequestMetadata
7340
	71, // 35: base.v1.PermissionSubjectPermissionRequest.entity:type_name -> base.v1.Entity
7341
	72, // 36: base.v1.PermissionSubjectPermissionRequest.subject:type_name -> base.v1.Subject
7342
	73, // 37: base.v1.PermissionSubjectPermissionRequest.context:type_name -> base.v1.Context
7343
	68, // 38: base.v1.PermissionSubjectPermissionResponse.results:type_name -> base.v1.PermissionSubjectPermissionResponse.ResultsEntry
7344
	79, // 39: base.v1.WatchResponse.changes:type_name -> base.v1.DataChanges
7345
	28, // 40: base.v1.SchemaPartialWriteRequest.metadata:type_name -> base.v1.SchemaPartialWriteRequestMetadata
7346
	69, // 41: base.v1.SchemaPartialWriteRequest.partials:type_name -> base.v1.SchemaPartialWriteRequest.PartialsEntry
7347
	31, // 42: base.v1.SchemaReadRequest.metadata:type_name -> base.v1.SchemaReadRequestMetadata
7348
	80, // 43: base.v1.SchemaReadResponse.schema:type_name -> base.v1.SchemaDefinition
7349
	35, // 44: base.v1.SchemaListResponse.schemas:type_name -> base.v1.SchemaList
7350
	37, // 45: base.v1.DataWriteRequest.metadata:type_name -> base.v1.DataWriteRequestMetadata
7351
	81, // 46: base.v1.DataWriteRequest.tuples:type_name -> base.v1.Tuple
7352
	82, // 47: base.v1.DataWriteRequest.attributes:type_name -> base.v1.Attribute
7353
	40, // 48: base.v1.RelationshipWriteRequest.metadata:type_name -> base.v1.RelationshipWriteRequestMetadata
7354
	81, // 49: base.v1.RelationshipWriteRequest.tuples:type_name -> base.v1.Tuple
7355
	43, // 50: base.v1.RelationshipReadRequest.metadata:type_name -> base.v1.RelationshipReadRequestMetadata
7356
	83, // 51: base.v1.RelationshipReadRequest.filter:type_name -> base.v1.TupleFilter
7357
	81, // 52: base.v1.RelationshipReadResponse.tuples:type_name -> base.v1.Tuple
7358
	46, // 53: base.v1.AttributeReadRequest.metadata:type_name -> base.v1.AttributeReadRequestMetadata
7359
	84, // 54: base.v1.AttributeReadRequest.filter:type_name -> base.v1.AttributeFilter
7360
	82, // 55: base.v1.AttributeReadResponse.attributes:type_name -> base.v1.Attribute
7361
	83, // 56: base.v1.DataDeleteRequest.tuple_filter:type_name -> base.v1.TupleFilter
7362
	84, // 57: base.v1.DataDeleteRequest.attribute_filter:type_name -> base.v1.AttributeFilter
7363
	83, // 58: base.v1.RelationshipDeleteRequest.filter:type_name -> base.v1.TupleFilter
7364
	70, // 59: base.v1.BundleRunRequest.arguments:type_name -> base.v1.BundleRunRequest.ArgumentsEntry
7365
	85, // 60: base.v1.BundleWriteRequest.bundles:type_name -> base.v1.DataBundle
7366
	85, // 61: base.v1.BundleReadResponse.bundle:type_name -> base.v1.DataBundle
7367
	86, // 62: base.v1.TenantCreateResponse.tenant:type_name -> base.v1.Tenant
7368
	86, // 63: base.v1.TenantDeleteResponse.tenant:type_name -> base.v1.Tenant
7369
	86, // 64: base.v1.TenantListResponse.tenants:type_name -> base.v1.Tenant
7370
	87, // 65: base.v1.PermissionLookupEntityRequest.ScopeEntry.value:type_name -> base.v1.StringArrayValue
7371
	87, // 66: base.v1.PermissionEntityFilterRequest.ScopeEntry.value:type_name -> base.v1.StringArrayValue
7372
	75, // 67: base.v1.PermissionSubjectPermissionResponse.ResultsEntry.value:type_name -> base.v1.CheckResult
7373
	88, // 68: base.v1.SchemaPartialWriteRequest.PartialsEntry.value:type_name -> base.v1.Partials
7374
	0,  // 69: base.v1.Permission.Check:input_type -> base.v1.PermissionCheckRequest
7375
	4,  // 70: base.v1.Permission.BulkCheck:input_type -> base.v1.BulkPermissionCheckRequest
7376
	8,  // 71: base.v1.Permission.Expand:input_type -> base.v1.PermissionExpandRequest
7377
	11, // 72: base.v1.Permission.LookupEntity:input_type -> base.v1.PermissionLookupEntityRequest
7378
	11, // 73: base.v1.Permission.LookupEntityStream:input_type -> base.v1.PermissionLookupEntityRequest
7379
	17, // 74: base.v1.Permission.LookupSubject:input_type -> base.v1.PermissionLookupSubjectRequest
7380
	20, // 75: base.v1.Permission.SubjectPermission:input_type -> base.v1.PermissionSubjectPermissionRequest
7381
	23, // 76: base.v1.Watch.Watch:input_type -> base.v1.WatchRequest
7382
	25, // 77: base.v1.Schema.Write:input_type -> base.v1.SchemaWriteRequest
7383
	27, // 78: base.v1.Schema.PartialWrite:input_type -> base.v1.SchemaPartialWriteRequest
7384
	30, // 79: base.v1.Schema.Read:input_type -> base.v1.SchemaReadRequest
7385
	33, // 80: base.v1.Schema.List:input_type -> base.v1.SchemaListRequest
7386
	36, // 81: base.v1.Data.Write:input_type -> base.v1.DataWriteRequest
7387
	39, // 82: base.v1.Data.WriteRelationships:input_type -> base.v1.RelationshipWriteRequest
7388
	42, // 83: base.v1.Data.ReadRelationships:input_type -> base.v1.RelationshipReadRequest
7389
	45, // 84: base.v1.Data.ReadAttributes:input_type -> base.v1.AttributeReadRequest
7390
	48, // 85: base.v1.Data.Delete:input_type -> base.v1.DataDeleteRequest
7391
	50, // 86: base.v1.Data.DeleteRelationships:input_type -> base.v1.RelationshipDeleteRequest
7392
	52, // 87: base.v1.Data.RunBundle:input_type -> base.v1.BundleRunRequest
7393
	54, // 88: base.v1.Bundle.Write:input_type -> base.v1.BundleWriteRequest
7394
	56, // 89: base.v1.Bundle.Read:input_type -> base.v1.BundleReadRequest
7395
	58, // 90: base.v1.Bundle.Delete:input_type -> base.v1.BundleDeleteRequest
7396
	60, // 91: base.v1.Tenancy.Create:input_type -> base.v1.TenantCreateRequest
7397
	62, // 92: base.v1.Tenancy.Delete:input_type -> base.v1.TenantDeleteRequest
7398
	64, // 93: base.v1.Tenancy.List:input_type -> base.v1.TenantListRequest
7399
	2,  // 94: base.v1.Permission.Check:output_type -> base.v1.PermissionCheckResponse
7400
	6,  // 95: base.v1.Permission.BulkCheck:output_type -> base.v1.BulkPermissionCheckResponse
7401
	10, // 96: base.v1.Permission.Expand:output_type -> base.v1.PermissionExpandResponse
7402
	13, // 97: base.v1.Permission.LookupEntity:output_type -> base.v1.PermissionLookupEntityResponse
7403
	14, // 98: base.v1.Permission.LookupEntityStream:output_type -> base.v1.PermissionLookupEntityStreamResponse
7404
	19, // 99: base.v1.Permission.LookupSubject:output_type -> base.v1.PermissionLookupSubjectResponse
7405
	22, // 100: base.v1.Permission.SubjectPermission:output_type -> base.v1.PermissionSubjectPermissionResponse
7406
	24, // 101: base.v1.Watch.Watch:output_type -> base.v1.WatchResponse
7407
	26, // 102: base.v1.Schema.Write:output_type -> base.v1.SchemaWriteResponse
7408
	29, // 103: base.v1.Schema.PartialWrite:output_type -> base.v1.SchemaPartialWriteResponse
7409
	32, // 104: base.v1.Schema.Read:output_type -> base.v1.SchemaReadResponse
7410
	34, // 105: base.v1.Schema.List:output_type -> base.v1.SchemaListResponse
7411
	38, // 106: base.v1.Data.Write:output_type -> base.v1.DataWriteResponse
7412
	41, // 107: base.v1.Data.WriteRelationships:output_type -> base.v1.RelationshipWriteResponse
7413
	44, // 108: base.v1.Data.ReadRelationships:output_type -> base.v1.RelationshipReadResponse
7414
	47, // 109: base.v1.Data.ReadAttributes:output_type -> base.v1.AttributeReadResponse
7415
	49, // 110: base.v1.Data.Delete:output_type -> base.v1.DataDeleteResponse
7416
	51, // 111: base.v1.Data.DeleteRelationships:output_type -> base.v1.RelationshipDeleteResponse
7417
	53, // 112: base.v1.Data.RunBundle:output_type -> base.v1.BundleRunResponse
7418
	55, // 113: base.v1.Bundle.Write:output_type -> base.v1.BundleWriteResponse
7419
	57, // 114: base.v1.Bundle.Read:output_type -> base.v1.BundleReadResponse
7420
	59, // 115: base.v1.Bundle.Delete:output_type -> base.v1.BundleDeleteResponse
7421
	61, // 116: base.v1.Tenancy.Create:output_type -> base.v1.TenantCreateResponse
7422
	63, // 117: base.v1.Tenancy.Delete:output_type -> base.v1.TenantDeleteResponse
7423
	65, // 118: base.v1.Tenancy.List:output_type -> base.v1.TenantListResponse
7424
	94, // [94:119] is the sub-list for method output_type
7425
	69, // [69:94] is the sub-list for method input_type
7426
	69, // [69:69] is the sub-list for extension type_name
7427
	69, // [69:69] is the sub-list for extension extendee
7428
	0,  // [0:69] is the sub-list for field type_name
7429
}
7430
7431
func init() { file_base_v1_service_proto_init() }
7432
func file_base_v1_service_proto_init() {
7433
	if File_base_v1_service_proto != nil {
7434
		return
7435
	}
7436
	file_base_v1_base_proto_init()
7437
	if !protoimpl.UnsafeEnabled {
7438
		file_base_v1_service_proto_msgTypes[0].Exporter = func(v any, i int) any {
7439
			switch v := v.(*PermissionCheckRequest); i {
7440
			case 0:
7441
				return &v.state
7442
			case 1:
7443
				return &v.sizeCache
7444
			case 2:
7445
				return &v.unknownFields
7446
			default:
7447
				return nil
7448
			}
7449
		}
7450
		file_base_v1_service_proto_msgTypes[1].Exporter = func(v any, i int) any {
7451
			switch v := v.(*PermissionCheckRequestMetadata); i {
7452
			case 0:
7453
				return &v.state
7454
			case 1:
7455
				return &v.sizeCache
7456
			case 2:
7457
				return &v.unknownFields
7458
			default:
7459
				return nil
7460
			}
7461
		}
7462
		file_base_v1_service_proto_msgTypes[2].Exporter = func(v any, i int) any {
7463
			switch v := v.(*PermissionCheckResponse); i {
7464
			case 0:
7465
				return &v.state
7466
			case 1:
7467
				return &v.sizeCache
7468
			case 2:
7469
				return &v.unknownFields
7470
			default:
7471
				return nil
7472
			}
7473
		}
7474
		file_base_v1_service_proto_msgTypes[3].Exporter = func(v any, i int) any {
7475
			switch v := v.(*PermissionCheckResponseMetadata); i {
7476
			case 0:
7477
				return &v.state
7478
			case 1:
7479
				return &v.sizeCache
7480
			case 2:
7481
				return &v.unknownFields
7482
			default:
7483
				return nil
7484
			}
7485
		}
7486
		file_base_v1_service_proto_msgTypes[4].Exporter = func(v any, i int) any {
7487
			switch v := v.(*BulkPermissionCheckRequest); i {
7488
			case 0:
7489
				return &v.state
7490
			case 1:
7491
				return &v.sizeCache
7492
			case 2:
7493
				return &v.unknownFields
7494
			default:
7495
				return nil
7496
			}
7497
		}
7498
		file_base_v1_service_proto_msgTypes[5].Exporter = func(v any, i int) any {
7499
			switch v := v.(*SinglePermissionCheck); i {
7500
			case 0:
7501
				return &v.state
7502
			case 1:
7503
				return &v.sizeCache
7504
			case 2:
7505
				return &v.unknownFields
7506
			default:
7507
				return nil
7508
			}
7509
		}
7510
		file_base_v1_service_proto_msgTypes[6].Exporter = func(v any, i int) any {
7511
			switch v := v.(*BulkPermissionCheckResponse); i {
7512
			case 0:
7513
				return &v.state
7514
			case 1:
7515
				return &v.sizeCache
7516
			case 2:
7517
				return &v.unknownFields
7518
			default:
7519
				return nil
7520
			}
7521
		}
7522
		file_base_v1_service_proto_msgTypes[7].Exporter = func(v any, i int) any {
7523
			switch v := v.(*SinglePermissionCheckResponse); i {
7524
			case 0:
7525
				return &v.state
7526
			case 1:
7527
				return &v.sizeCache
7528
			case 2:
7529
				return &v.unknownFields
7530
			default:
7531
				return nil
7532
			}
7533
		}
7534
		file_base_v1_service_proto_msgTypes[8].Exporter = func(v any, i int) any {
7535
			switch v := v.(*PermissionExpandRequest); i {
7536
			case 0:
7537
				return &v.state
7538
			case 1:
7539
				return &v.sizeCache
7540
			case 2:
7541
				return &v.unknownFields
7542
			default:
7543
				return nil
7544
			}
7545
		}
7546
		file_base_v1_service_proto_msgTypes[9].Exporter = func(v any, i int) any {
7547
			switch v := v.(*PermissionExpandRequestMetadata); i {
7548
			case 0:
7549
				return &v.state
7550
			case 1:
7551
				return &v.sizeCache
7552
			case 2:
7553
				return &v.unknownFields
7554
			default:
7555
				return nil
7556
			}
7557
		}
7558
		file_base_v1_service_proto_msgTypes[10].Exporter = func(v any, i int) any {
7559
			switch v := v.(*PermissionExpandResponse); i {
7560
			case 0:
7561
				return &v.state
7562
			case 1:
7563
				return &v.sizeCache
7564
			case 2:
7565
				return &v.unknownFields
7566
			default:
7567
				return nil
7568
			}
7569
		}
7570
		file_base_v1_service_proto_msgTypes[11].Exporter = func(v any, i int) any {
7571
			switch v := v.(*PermissionLookupEntityRequest); i {
7572
			case 0:
7573
				return &v.state
7574
			case 1:
7575
				return &v.sizeCache
7576
			case 2:
7577
				return &v.unknownFields
7578
			default:
7579
				return nil
7580
			}
7581
		}
7582
		file_base_v1_service_proto_msgTypes[12].Exporter = func(v any, i int) any {
7583
			switch v := v.(*PermissionLookupEntityRequestMetadata); i {
7584
			case 0:
7585
				return &v.state
7586
			case 1:
7587
				return &v.sizeCache
7588
			case 2:
7589
				return &v.unknownFields
7590
			default:
7591
				return nil
7592
			}
7593
		}
7594
		file_base_v1_service_proto_msgTypes[13].Exporter = func(v any, i int) any {
7595
			switch v := v.(*PermissionLookupEntityResponse); i {
7596
			case 0:
7597
				return &v.state
7598
			case 1:
7599
				return &v.sizeCache
7600
			case 2:
7601
				return &v.unknownFields
7602
			default:
7603
				return nil
7604
			}
7605
		}
7606
		file_base_v1_service_proto_msgTypes[14].Exporter = func(v any, i int) any {
7607
			switch v := v.(*PermissionLookupEntityStreamResponse); i {
7608
			case 0:
7609
				return &v.state
7610
			case 1:
7611
				return &v.sizeCache
7612
			case 2:
7613
				return &v.unknownFields
7614
			default:
7615
				return nil
7616
			}
7617
		}
7618
		file_base_v1_service_proto_msgTypes[15].Exporter = func(v any, i int) any {
7619
			switch v := v.(*PermissionEntityFilterRequest); i {
7620
			case 0:
7621
				return &v.state
7622
			case 1:
7623
				return &v.sizeCache
7624
			case 2:
7625
				return &v.unknownFields
7626
			default:
7627
				return nil
7628
			}
7629
		}
7630
		file_base_v1_service_proto_msgTypes[16].Exporter = func(v any, i int) any {
7631
			switch v := v.(*PermissionEntityFilterRequestMetadata); i {
7632
			case 0:
7633
				return &v.state
7634
			case 1:
7635
				return &v.sizeCache
7636
			case 2:
7637
				return &v.unknownFields
7638
			default:
7639
				return nil
7640
			}
7641
		}
7642
		file_base_v1_service_proto_msgTypes[17].Exporter = func(v any, i int) any {
7643
			switch v := v.(*PermissionLookupSubjectRequest); i {
7644
			case 0:
7645
				return &v.state
7646
			case 1:
7647
				return &v.sizeCache
7648
			case 2:
7649
				return &v.unknownFields
7650
			default:
7651
				return nil
7652
			}
7653
		}
7654
		file_base_v1_service_proto_msgTypes[18].Exporter = func(v any, i int) any {
7655
			switch v := v.(*PermissionLookupSubjectRequestMetadata); i {
7656
			case 0:
7657
				return &v.state
7658
			case 1:
7659
				return &v.sizeCache
7660
			case 2:
7661
				return &v.unknownFields
7662
			default:
7663
				return nil
7664
			}
7665
		}
7666
		file_base_v1_service_proto_msgTypes[19].Exporter = func(v any, i int) any {
7667
			switch v := v.(*PermissionLookupSubjectResponse); i {
7668
			case 0:
7669
				return &v.state
7670
			case 1:
7671
				return &v.sizeCache
7672
			case 2:
7673
				return &v.unknownFields
7674
			default:
7675
				return nil
7676
			}
7677
		}
7678
		file_base_v1_service_proto_msgTypes[20].Exporter = func(v any, i int) any {
7679
			switch v := v.(*PermissionSubjectPermissionRequest); i {
7680
			case 0:
7681
				return &v.state
7682
			case 1:
7683
				return &v.sizeCache
7684
			case 2:
7685
				return &v.unknownFields
7686
			default:
7687
				return nil
7688
			}
7689
		}
7690
		file_base_v1_service_proto_msgTypes[21].Exporter = func(v any, i int) any {
7691
			switch v := v.(*PermissionSubjectPermissionRequestMetadata); i {
7692
			case 0:
7693
				return &v.state
7694
			case 1:
7695
				return &v.sizeCache
7696
			case 2:
7697
				return &v.unknownFields
7698
			default:
7699
				return nil
7700
			}
7701
		}
7702
		file_base_v1_service_proto_msgTypes[22].Exporter = func(v any, i int) any {
7703
			switch v := v.(*PermissionSubjectPermissionResponse); i {
7704
			case 0:
7705
				return &v.state
7706
			case 1:
7707
				return &v.sizeCache
7708
			case 2:
7709
				return &v.unknownFields
7710
			default:
7711
				return nil
7712
			}
7713
		}
7714
		file_base_v1_service_proto_msgTypes[23].Exporter = func(v any, i int) any {
7715
			switch v := v.(*WatchRequest); i {
7716
			case 0:
7717
				return &v.state
7718
			case 1:
7719
				return &v.sizeCache
7720
			case 2:
7721
				return &v.unknownFields
7722
			default:
7723
				return nil
7724
			}
7725
		}
7726
		file_base_v1_service_proto_msgTypes[24].Exporter = func(v any, i int) any {
7727
			switch v := v.(*WatchResponse); i {
7728
			case 0:
7729
				return &v.state
7730
			case 1:
7731
				return &v.sizeCache
7732
			case 2:
7733
				return &v.unknownFields
7734
			default:
7735
				return nil
7736
			}
7737
		}
7738
		file_base_v1_service_proto_msgTypes[25].Exporter = func(v any, i int) any {
7739
			switch v := v.(*SchemaWriteRequest); i {
7740
			case 0:
7741
				return &v.state
7742
			case 1:
7743
				return &v.sizeCache
7744
			case 2:
7745
				return &v.unknownFields
7746
			default:
7747
				return nil
7748
			}
7749
		}
7750
		file_base_v1_service_proto_msgTypes[26].Exporter = func(v any, i int) any {
7751
			switch v := v.(*SchemaWriteResponse); i {
7752
			case 0:
7753
				return &v.state
7754
			case 1:
7755
				return &v.sizeCache
7756
			case 2:
7757
				return &v.unknownFields
7758
			default:
7759
				return nil
7760
			}
7761
		}
7762
		file_base_v1_service_proto_msgTypes[27].Exporter = func(v any, i int) any {
7763
			switch v := v.(*SchemaPartialWriteRequest); i {
7764
			case 0:
7765
				return &v.state
7766
			case 1:
7767
				return &v.sizeCache
7768
			case 2:
7769
				return &v.unknownFields
7770
			default:
7771
				return nil
7772
			}
7773
		}
7774
		file_base_v1_service_proto_msgTypes[28].Exporter = func(v any, i int) any {
7775
			switch v := v.(*SchemaPartialWriteRequestMetadata); i {
7776
			case 0:
7777
				return &v.state
7778
			case 1:
7779
				return &v.sizeCache
7780
			case 2:
7781
				return &v.unknownFields
7782
			default:
7783
				return nil
7784
			}
7785
		}
7786
		file_base_v1_service_proto_msgTypes[29].Exporter = func(v any, i int) any {
7787
			switch v := v.(*SchemaPartialWriteResponse); i {
7788
			case 0:
7789
				return &v.state
7790
			case 1:
7791
				return &v.sizeCache
7792
			case 2:
7793
				return &v.unknownFields
7794
			default:
7795
				return nil
7796
			}
7797
		}
7798
		file_base_v1_service_proto_msgTypes[30].Exporter = func(v any, i int) any {
7799
			switch v := v.(*SchemaReadRequest); i {
7800
			case 0:
7801
				return &v.state
7802
			case 1:
7803
				return &v.sizeCache
7804
			case 2:
7805
				return &v.unknownFields
7806
			default:
7807
				return nil
7808
			}
7809
		}
7810
		file_base_v1_service_proto_msgTypes[31].Exporter = func(v any, i int) any {
7811
			switch v := v.(*SchemaReadRequestMetadata); i {
7812
			case 0:
7813
				return &v.state
7814
			case 1:
7815
				return &v.sizeCache
7816
			case 2:
7817
				return &v.unknownFields
7818
			default:
7819
				return nil
7820
			}
7821
		}
7822
		file_base_v1_service_proto_msgTypes[32].Exporter = func(v any, i int) any {
7823
			switch v := v.(*SchemaReadResponse); i {
7824
			case 0:
7825
				return &v.state
7826
			case 1:
7827
				return &v.sizeCache
7828
			case 2:
7829
				return &v.unknownFields
7830
			default:
7831
				return nil
7832
			}
7833
		}
7834
		file_base_v1_service_proto_msgTypes[33].Exporter = func(v any, i int) any {
7835
			switch v := v.(*SchemaListRequest); i {
7836
			case 0:
7837
				return &v.state
7838
			case 1:
7839
				return &v.sizeCache
7840
			case 2:
7841
				return &v.unknownFields
7842
			default:
7843
				return nil
7844
			}
7845
		}
7846
		file_base_v1_service_proto_msgTypes[34].Exporter = func(v any, i int) any {
7847
			switch v := v.(*SchemaListResponse); i {
7848
			case 0:
7849
				return &v.state
7850
			case 1:
7851
				return &v.sizeCache
7852
			case 2:
7853
				return &v.unknownFields
7854
			default:
7855
				return nil
7856
			}
7857
		}
7858
		file_base_v1_service_proto_msgTypes[35].Exporter = func(v any, i int) any {
7859
			switch v := v.(*SchemaList); i {
7860
			case 0:
7861
				return &v.state
7862
			case 1:
7863
				return &v.sizeCache
7864
			case 2:
7865
				return &v.unknownFields
7866
			default:
7867
				return nil
7868
			}
7869
		}
7870
		file_base_v1_service_proto_msgTypes[36].Exporter = func(v any, i int) any {
7871
			switch v := v.(*DataWriteRequest); i {
7872
			case 0:
7873
				return &v.state
7874
			case 1:
7875
				return &v.sizeCache
7876
			case 2:
7877
				return &v.unknownFields
7878
			default:
7879
				return nil
7880
			}
7881
		}
7882
		file_base_v1_service_proto_msgTypes[37].Exporter = func(v any, i int) any {
7883
			switch v := v.(*DataWriteRequestMetadata); i {
7884
			case 0:
7885
				return &v.state
7886
			case 1:
7887
				return &v.sizeCache
7888
			case 2:
7889
				return &v.unknownFields
7890
			default:
7891
				return nil
7892
			}
7893
		}
7894
		file_base_v1_service_proto_msgTypes[38].Exporter = func(v any, i int) any {
7895
			switch v := v.(*DataWriteResponse); i {
7896
			case 0:
7897
				return &v.state
7898
			case 1:
7899
				return &v.sizeCache
7900
			case 2:
7901
				return &v.unknownFields
7902
			default:
7903
				return nil
7904
			}
7905
		}
7906
		file_base_v1_service_proto_msgTypes[39].Exporter = func(v any, i int) any {
7907
			switch v := v.(*RelationshipWriteRequest); i {
7908
			case 0:
7909
				return &v.state
7910
			case 1:
7911
				return &v.sizeCache
7912
			case 2:
7913
				return &v.unknownFields
7914
			default:
7915
				return nil
7916
			}
7917
		}
7918
		file_base_v1_service_proto_msgTypes[40].Exporter = func(v any, i int) any {
7919
			switch v := v.(*RelationshipWriteRequestMetadata); i {
7920
			case 0:
7921
				return &v.state
7922
			case 1:
7923
				return &v.sizeCache
7924
			case 2:
7925
				return &v.unknownFields
7926
			default:
7927
				return nil
7928
			}
7929
		}
7930
		file_base_v1_service_proto_msgTypes[41].Exporter = func(v any, i int) any {
7931
			switch v := v.(*RelationshipWriteResponse); i {
7932
			case 0:
7933
				return &v.state
7934
			case 1:
7935
				return &v.sizeCache
7936
			case 2:
7937
				return &v.unknownFields
7938
			default:
7939
				return nil
7940
			}
7941
		}
7942
		file_base_v1_service_proto_msgTypes[42].Exporter = func(v any, i int) any {
7943
			switch v := v.(*RelationshipReadRequest); i {
7944
			case 0:
7945
				return &v.state
7946
			case 1:
7947
				return &v.sizeCache
7948
			case 2:
7949
				return &v.unknownFields
7950
			default:
7951
				return nil
7952
			}
7953
		}
7954
		file_base_v1_service_proto_msgTypes[43].Exporter = func(v any, i int) any {
7955
			switch v := v.(*RelationshipReadRequestMetadata); i {
7956
			case 0:
7957
				return &v.state
7958
			case 1:
7959
				return &v.sizeCache
7960
			case 2:
7961
				return &v.unknownFields
7962
			default:
7963
				return nil
7964
			}
7965
		}
7966
		file_base_v1_service_proto_msgTypes[44].Exporter = func(v any, i int) any {
7967
			switch v := v.(*RelationshipReadResponse); i {
7968
			case 0:
7969
				return &v.state
7970
			case 1:
7971
				return &v.sizeCache
7972
			case 2:
7973
				return &v.unknownFields
7974
			default:
7975
				return nil
7976
			}
7977
		}
7978
		file_base_v1_service_proto_msgTypes[45].Exporter = func(v any, i int) any {
7979
			switch v := v.(*AttributeReadRequest); i {
7980
			case 0:
7981
				return &v.state
7982
			case 1:
7983
				return &v.sizeCache
7984
			case 2:
7985
				return &v.unknownFields
7986
			default:
7987
				return nil
7988
			}
7989
		}
7990
		file_base_v1_service_proto_msgTypes[46].Exporter = func(v any, i int) any {
7991
			switch v := v.(*AttributeReadRequestMetadata); i {
7992
			case 0:
7993
				return &v.state
7994
			case 1:
7995
				return &v.sizeCache
7996
			case 2:
7997
				return &v.unknownFields
7998
			default:
7999
				return nil
8000
			}
8001
		}
8002
		file_base_v1_service_proto_msgTypes[47].Exporter = func(v any, i int) any {
8003
			switch v := v.(*AttributeReadResponse); i {
8004
			case 0:
8005
				return &v.state
8006
			case 1:
8007
				return &v.sizeCache
8008
			case 2:
8009
				return &v.unknownFields
8010
			default:
8011
				return nil
8012
			}
8013
		}
8014
		file_base_v1_service_proto_msgTypes[48].Exporter = func(v any, i int) any {
8015
			switch v := v.(*DataDeleteRequest); i {
8016
			case 0:
8017
				return &v.state
8018
			case 1:
8019
				return &v.sizeCache
8020
			case 2:
8021
				return &v.unknownFields
8022
			default:
8023
				return nil
8024
			}
8025
		}
8026
		file_base_v1_service_proto_msgTypes[49].Exporter = func(v any, i int) any {
8027
			switch v := v.(*DataDeleteResponse); i {
8028
			case 0:
8029
				return &v.state
8030
			case 1:
8031
				return &v.sizeCache
8032
			case 2:
8033
				return &v.unknownFields
8034
			default:
8035
				return nil
8036
			}
8037
		}
8038
		file_base_v1_service_proto_msgTypes[50].Exporter = func(v any, i int) any {
8039
			switch v := v.(*RelationshipDeleteRequest); i {
8040
			case 0:
8041
				return &v.state
8042
			case 1:
8043
				return &v.sizeCache
8044
			case 2:
8045
				return &v.unknownFields
8046
			default:
8047
				return nil
8048
			}
8049
		}
8050
		file_base_v1_service_proto_msgTypes[51].Exporter = func(v any, i int) any {
8051
			switch v := v.(*RelationshipDeleteResponse); i {
8052
			case 0:
8053
				return &v.state
8054
			case 1:
8055
				return &v.sizeCache
8056
			case 2:
8057
				return &v.unknownFields
8058
			default:
8059
				return nil
8060
			}
8061
		}
8062
		file_base_v1_service_proto_msgTypes[52].Exporter = func(v any, i int) any {
8063
			switch v := v.(*BundleRunRequest); i {
8064
			case 0:
8065
				return &v.state
8066
			case 1:
8067
				return &v.sizeCache
8068
			case 2:
8069
				return &v.unknownFields
8070
			default:
8071
				return nil
8072
			}
8073
		}
8074
		file_base_v1_service_proto_msgTypes[53].Exporter = func(v any, i int) any {
8075
			switch v := v.(*BundleRunResponse); i {
8076
			case 0:
8077
				return &v.state
8078
			case 1:
8079
				return &v.sizeCache
8080
			case 2:
8081
				return &v.unknownFields
8082
			default:
8083
				return nil
8084
			}
8085
		}
8086
		file_base_v1_service_proto_msgTypes[54].Exporter = func(v any, i int) any {
8087
			switch v := v.(*BundleWriteRequest); i {
8088
			case 0:
8089
				return &v.state
8090
			case 1:
8091
				return &v.sizeCache
8092
			case 2:
8093
				return &v.unknownFields
8094
			default:
8095
				return nil
8096
			}
8097
		}
8098
		file_base_v1_service_proto_msgTypes[55].Exporter = func(v any, i int) any {
8099
			switch v := v.(*BundleWriteResponse); i {
8100
			case 0:
8101
				return &v.state
8102
			case 1:
8103
				return &v.sizeCache
8104
			case 2:
8105
				return &v.unknownFields
8106
			default:
8107
				return nil
8108
			}
8109
		}
8110
		file_base_v1_service_proto_msgTypes[56].Exporter = func(v any, i int) any {
8111
			switch v := v.(*BundleReadRequest); i {
8112
			case 0:
8113
				return &v.state
8114
			case 1:
8115
				return &v.sizeCache
8116
			case 2:
8117
				return &v.unknownFields
8118
			default:
8119
				return nil
8120
			}
8121
		}
8122
		file_base_v1_service_proto_msgTypes[57].Exporter = func(v any, i int) any {
8123
			switch v := v.(*BundleReadResponse); i {
8124
			case 0:
8125
				return &v.state
8126
			case 1:
8127
				return &v.sizeCache
8128
			case 2:
8129
				return &v.unknownFields
8130
			default:
8131
				return nil
8132
			}
8133
		}
8134
		file_base_v1_service_proto_msgTypes[58].Exporter = func(v any, i int) any {
8135
			switch v := v.(*BundleDeleteRequest); i {
8136
			case 0:
8137
				return &v.state
8138
			case 1:
8139
				return &v.sizeCache
8140
			case 2:
8141
				return &v.unknownFields
8142
			default:
8143
				return nil
8144
			}
8145
		}
8146
		file_base_v1_service_proto_msgTypes[59].Exporter = func(v any, i int) any {
8147
			switch v := v.(*BundleDeleteResponse); i {
8148
			case 0:
8149
				return &v.state
8150
			case 1:
8151
				return &v.sizeCache
8152
			case 2:
8153
				return &v.unknownFields
8154
			default:
8155
				return nil
8156
			}
8157
		}
8158
		file_base_v1_service_proto_msgTypes[60].Exporter = func(v any, i int) any {
8159
			switch v := v.(*TenantCreateRequest); i {
8160
			case 0:
8161
				return &v.state
8162
			case 1:
8163
				return &v.sizeCache
8164
			case 2:
8165
				return &v.unknownFields
8166
			default:
8167
				return nil
8168
			}
8169
		}
8170
		file_base_v1_service_proto_msgTypes[61].Exporter = func(v any, i int) any {
8171
			switch v := v.(*TenantCreateResponse); i {
8172
			case 0:
8173
				return &v.state
8174
			case 1:
8175
				return &v.sizeCache
8176
			case 2:
8177
				return &v.unknownFields
8178
			default:
8179
				return nil
8180
			}
8181
		}
8182
		file_base_v1_service_proto_msgTypes[62].Exporter = func(v any, i int) any {
8183
			switch v := v.(*TenantDeleteRequest); i {
8184
			case 0:
8185
				return &v.state
8186
			case 1:
8187
				return &v.sizeCache
8188
			case 2:
8189
				return &v.unknownFields
8190
			default:
8191
				return nil
8192
			}
8193
		}
8194
		file_base_v1_service_proto_msgTypes[63].Exporter = func(v any, i int) any {
8195
			switch v := v.(*TenantDeleteResponse); i {
8196
			case 0:
8197
				return &v.state
8198
			case 1:
8199
				return &v.sizeCache
8200
			case 2:
8201
				return &v.unknownFields
8202
			default:
8203
				return nil
8204
			}
8205
		}
8206
		file_base_v1_service_proto_msgTypes[64].Exporter = func(v any, i int) any {
8207
			switch v := v.(*TenantListRequest); i {
8208
			case 0:
8209
				return &v.state
8210
			case 1:
8211
				return &v.sizeCache
8212
			case 2:
8213
				return &v.unknownFields
8214
			default:
8215
				return nil
8216
			}
8217
		}
8218
		file_base_v1_service_proto_msgTypes[65].Exporter = func(v any, i int) any {
8219
			switch v := v.(*TenantListResponse); i {
8220
			case 0:
8221
				return &v.state
8222
			case 1:
8223
				return &v.sizeCache
8224
			case 2:
8225
				return &v.unknownFields
8226
			default:
8227
				return nil
8228
			}
8229
		}
8230
	}
8231
	type x struct{}
8232
	out := protoimpl.TypeBuilder{
8233
		File: protoimpl.DescBuilder{
8234
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
8235
			RawDescriptor: file_base_v1_service_proto_rawDesc,
8236
			NumEnums:      0,
8237
			NumMessages:   71,
8238
			NumExtensions: 0,
8239
			NumServices:   6,
8240
		},
8241
		GoTypes:           file_base_v1_service_proto_goTypes,
8242
		DependencyIndexes: file_base_v1_service_proto_depIdxs,
8243
		MessageInfos:      file_base_v1_service_proto_msgTypes,
8244
	}.Build()
8245
	File_base_v1_service_proto = out.File
8246
	file_base_v1_service_proto_rawDesc = nil
8247
	file_base_v1_service_proto_goTypes = nil
8248
	file_base_v1_service_proto_depIdxs = nil
8249
}
8250