@eide/foir-proto-ts 0.3.8 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/src/integrations/v1/integrations_pb.d.ts +508 -0
- package/src/integrations/v1/integrations_pb.js +132 -0
- package/src/operations/v1/operations_pb.d.ts +5 -0
- package/src/operations/v1/operations_pb.js +1 -1
- package/src/settings/v1/settings_pb.d.ts +2 -2
- package/src/settings/v1/settings_pb.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eide/foir-proto-ts",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./analytics/v1/analytics_pb": "./src/analytics/v1/analytics_pb.js",
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"./hooks/v1/hooks_connect": "./src/hooks/v1/hooks_connect.js",
|
|
17
17
|
"./identity/v1/identity_pb": "./src/identity/v1/identity_pb.js",
|
|
18
18
|
"./identity/v1/identity_connect": "./src/identity/v1/identity_connect.js",
|
|
19
|
+
"./integrations/v1/integrations_pb": "./src/integrations/v1/integrations_pb.js",
|
|
19
20
|
"./models/v1/models_pb": "./src/models/v1/models_pb.js",
|
|
20
21
|
"./models/v1/models_connect": "./src/models/v1/models_connect.js",
|
|
21
22
|
"./notifications/v1/notifications_pb": "./src/notifications/v1/notifications_pb.js",
|
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.11.0 with parameter "import_extension=js"
|
|
2
|
+
// @generated from file integrations/v1/integrations.proto (package integrations.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import type { JsonObject, Message } from "@bufbuild/protobuf";
|
|
7
|
+
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Describes the file integrations/v1/integrations.proto.
|
|
11
|
+
*/
|
|
12
|
+
export declare const file_integrations_v1_integrations: GenFile;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Middleware reference. v1 carries only the URL but is defined as a message
|
|
16
|
+
* so additional fields (timeouts, retry hints, etc.) can be added later
|
|
17
|
+
* without a schema migration.
|
|
18
|
+
*
|
|
19
|
+
* @generated from message integrations.v1.IntegrationMiddleware
|
|
20
|
+
*/
|
|
21
|
+
export declare type IntegrationMiddleware = Message<"integrations.v1.IntegrationMiddleware"> & {
|
|
22
|
+
/**
|
|
23
|
+
* @generated from field: string url = 1;
|
|
24
|
+
*/
|
|
25
|
+
url: string;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Describes the message integrations.v1.IntegrationMiddleware.
|
|
30
|
+
* Use `create(IntegrationMiddlewareSchema)` to create a new message.
|
|
31
|
+
*/
|
|
32
|
+
export declare const IntegrationMiddlewareSchema: GenMessage<IntegrationMiddleware>;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* External-service credentials. The `values` blob is never populated on
|
|
36
|
+
* read endpoints — it is written separately via the dedicated credentials
|
|
37
|
+
* endpoint and stored encrypted. It is present in the message so admin-UI
|
|
38
|
+
* and CLI write paths can carry authorized values end-to-end in a single
|
|
39
|
+
* request where appropriate.
|
|
40
|
+
*
|
|
41
|
+
* @generated from message integrations.v1.IntegrationCredentials
|
|
42
|
+
*/
|
|
43
|
+
export declare type IntegrationCredentials = Message<"integrations.v1.IntegrationCredentials"> & {
|
|
44
|
+
/**
|
|
45
|
+
* @generated from field: integrations.v1.CredentialStrategy strategy = 1;
|
|
46
|
+
*/
|
|
47
|
+
strategy: CredentialStrategy;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* @generated from field: optional google.protobuf.Struct values = 2;
|
|
51
|
+
*/
|
|
52
|
+
values?: JsonObject;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Describes the message integrations.v1.IntegrationCredentials.
|
|
57
|
+
* Use `create(IntegrationCredentialsSchema)` to create a new message.
|
|
58
|
+
*/
|
|
59
|
+
export declare const IntegrationCredentialsSchema: GenMessage<IntegrationCredentials>;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* A single field in a model seed. Carries the type and any options the
|
|
63
|
+
* CLI/admin UI needs to create the seeded field. Kept deliberately flat —
|
|
64
|
+
* this is a bootstrap schema, not an ongoing declaration. The model's
|
|
65
|
+
* long-term shape lives under `models.<key>`.
|
|
66
|
+
*
|
|
67
|
+
* @generated from message integrations.v1.ModelSeedField
|
|
68
|
+
*/
|
|
69
|
+
export declare type ModelSeedField = Message<"integrations.v1.ModelSeedField"> & {
|
|
70
|
+
/**
|
|
71
|
+
* @generated from field: string type = 1;
|
|
72
|
+
*/
|
|
73
|
+
type: string;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @generated from field: bool required = 2;
|
|
77
|
+
*/
|
|
78
|
+
required: boolean;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* @generated from field: bool natural_key = 3;
|
|
82
|
+
*/
|
|
83
|
+
naturalKey: boolean;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* @generated from field: optional string label = 4;
|
|
87
|
+
*/
|
|
88
|
+
label?: string;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* @generated from field: optional string help_text = 5;
|
|
92
|
+
*/
|
|
93
|
+
helpText?: string;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @generated from field: optional google.protobuf.Struct config = 6;
|
|
97
|
+
*/
|
|
98
|
+
config?: JsonObject;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Describes the message integrations.v1.ModelSeedField.
|
|
103
|
+
* Use `create(ModelSeedFieldSchema)` to create a new message.
|
|
104
|
+
*/
|
|
105
|
+
export declare const ModelSeedFieldSchema: GenMessage<ModelSeedField>;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Optional one-time bootstrap schema used at first push if the target model
|
|
109
|
+
* doesn't yet exist. Ignored on every subsequent push — the model's shape
|
|
110
|
+
* lives under `models` from that point on.
|
|
111
|
+
*
|
|
112
|
+
* @generated from message integrations.v1.ModelSeed
|
|
113
|
+
*/
|
|
114
|
+
export declare type ModelSeed = Message<"integrations.v1.ModelSeed"> & {
|
|
115
|
+
/**
|
|
116
|
+
* @generated from field: map<string, integrations.v1.ModelSeedField> fields = 1;
|
|
117
|
+
*/
|
|
118
|
+
fields: { [key: string]: ModelSeedField };
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Describes the message integrations.v1.ModelSeed.
|
|
123
|
+
* Use `create(ModelSeedSchema)` to create a new message.
|
|
124
|
+
*/
|
|
125
|
+
export declare const ModelSeedSchema: GenMessage<ModelSeed>;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Per-source-type sync mapping. Declares which foir model a source type
|
|
129
|
+
* writes into, which foir field holds the upstream natural key, and the
|
|
130
|
+
* explicit field mapping. No auto-inference, no alias tables.
|
|
131
|
+
*
|
|
132
|
+
* @generated from message integrations.v1.IntegrationSyncMapping
|
|
133
|
+
*/
|
|
134
|
+
export declare type IntegrationSyncMapping = Message<"integrations.v1.IntegrationSyncMapping"> & {
|
|
135
|
+
/**
|
|
136
|
+
* foir model key that this source type writes into.
|
|
137
|
+
*
|
|
138
|
+
* @generated from field: string model = 1;
|
|
139
|
+
*/
|
|
140
|
+
model: string;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* foir field holding the upstream natural key. UPSERTs are keyed on this.
|
|
144
|
+
*
|
|
145
|
+
* @generated from field: string natural_key = 2;
|
|
146
|
+
*/
|
|
147
|
+
naturalKey: string;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Explicit field mapping: source field name -> foir field key.
|
|
151
|
+
* Unmapped source fields are discarded at runtime.
|
|
152
|
+
*
|
|
153
|
+
* @generated from field: map<string, string> fields = 3;
|
|
154
|
+
*/
|
|
155
|
+
fields: { [key: string]: string };
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Optional one-time bootstrap schema if the target model is missing.
|
|
159
|
+
*
|
|
160
|
+
* @generated from field: optional integrations.v1.ModelSeed model_seed = 4;
|
|
161
|
+
*/
|
|
162
|
+
modelSeed?: ModelSeed;
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Describes the message integrations.v1.IntegrationSyncMapping.
|
|
167
|
+
* Use `create(IntegrationSyncMappingSchema)` to create a new message.
|
|
168
|
+
*/
|
|
169
|
+
export declare const IntegrationSyncMappingSchema: GenMessage<IntegrationSyncMapping>;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Status reported by the middleware after each sync cycle and on meaningful
|
|
173
|
+
* state transitions. Nothing here is computed platform-side — the middleware
|
|
174
|
+
* is the source of truth for its own status.
|
|
175
|
+
*
|
|
176
|
+
* @generated from message integrations.v1.IntegrationStatus
|
|
177
|
+
*/
|
|
178
|
+
export declare type IntegrationStatus = Message<"integrations.v1.IntegrationStatus"> & {
|
|
179
|
+
/**
|
|
180
|
+
* @generated from field: optional google.protobuf.Timestamp last_sync_at = 1;
|
|
181
|
+
*/
|
|
182
|
+
lastSyncAt?: Timestamp;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* @generated from field: optional int64 last_sync_duration_ms = 2;
|
|
186
|
+
*/
|
|
187
|
+
lastSyncDurationMs?: bigint;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* @generated from field: optional int64 last_sync_record_count = 3;
|
|
191
|
+
*/
|
|
192
|
+
lastSyncRecordCount?: bigint;
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* @generated from field: optional string last_error = 4;
|
|
196
|
+
*/
|
|
197
|
+
lastError?: string;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* @generated from field: optional google.protobuf.Timestamp last_error_at = 5;
|
|
201
|
+
*/
|
|
202
|
+
lastErrorAt?: Timestamp;
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* @generated from field: integrations.v1.SubscriptionHealth subscription_health = 6;
|
|
206
|
+
*/
|
|
207
|
+
subscriptionHealth: SubscriptionHealth;
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* @generated from field: integrations.v1.AuthStatus auth_status = 7;
|
|
211
|
+
*/
|
|
212
|
+
authStatus: AuthStatus;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Free-text description of the middleware's delete handling for admin
|
|
216
|
+
* display. e.g. "soft (deletedAt field)", "hard", "ignore".
|
|
217
|
+
*
|
|
218
|
+
* @generated from field: optional string deletion_strategy = 8;
|
|
219
|
+
*/
|
|
220
|
+
deletionStrategy?: string;
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Describes the message integrations.v1.IntegrationStatus.
|
|
225
|
+
* Use `create(IntegrationStatusSchema)` to create a new message.
|
|
226
|
+
*/
|
|
227
|
+
export declare const IntegrationStatusSchema: GenMessage<IntegrationStatus>;
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* The full per-project integration declaration. Lives in the platform;
|
|
231
|
+
* declared from foir.config.ts or the admin UI.
|
|
232
|
+
*
|
|
233
|
+
* @generated from message integrations.v1.IntegrationConfig
|
|
234
|
+
*/
|
|
235
|
+
export declare type IntegrationConfig = Message<"integrations.v1.IntegrationConfig"> & {
|
|
236
|
+
/**
|
|
237
|
+
* Kebab-case name, unique per project. Matches the key in foir.config.ts
|
|
238
|
+
* under `integrations.<name>`.
|
|
239
|
+
*
|
|
240
|
+
* @generated from field: string name = 1;
|
|
241
|
+
*/
|
|
242
|
+
name: string;
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* @generated from field: bool enabled = 2;
|
|
246
|
+
*/
|
|
247
|
+
enabled: boolean;
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* @generated from field: integrations.v1.IntegrationMiddleware middleware = 3;
|
|
251
|
+
*/
|
|
252
|
+
middleware?: IntegrationMiddleware;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* @generated from field: integrations.v1.IntegrationCredentials credentials = 4;
|
|
256
|
+
*/
|
|
257
|
+
credentials?: IntegrationCredentials;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Sync mapping, keyed by source-type name (e.g. "product", "collection").
|
|
261
|
+
*
|
|
262
|
+
* @generated from field: map<string, integrations.v1.IntegrationSyncMapping> sync = 5;
|
|
263
|
+
*/
|
|
264
|
+
sync: { [key: string]: IntegrationSyncMapping };
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Opaque middleware-specific settings. The platform and CLI do not
|
|
268
|
+
* interpret this blob — the middleware reads and validates it at runtime.
|
|
269
|
+
*
|
|
270
|
+
* @generated from field: optional google.protobuf.Struct settings = 6;
|
|
271
|
+
*/
|
|
272
|
+
settings?: JsonObject;
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Optional metadata for admin-UI display (display name, description,
|
|
276
|
+
* category). Unused by the runtime.
|
|
277
|
+
*
|
|
278
|
+
* @generated from field: optional google.protobuf.Struct metadata = 7;
|
|
279
|
+
*/
|
|
280
|
+
metadata?: JsonObject;
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Describes the message integrations.v1.IntegrationConfig.
|
|
285
|
+
* Use `create(IntegrationConfigSchema)` to create a new message.
|
|
286
|
+
*/
|
|
287
|
+
export declare const IntegrationConfigSchema: GenMessage<IntegrationConfig>;
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* @generated from message integrations.v1.ExtensionPlacement
|
|
291
|
+
*/
|
|
292
|
+
export declare type ExtensionPlacement = Message<"integrations.v1.ExtensionPlacement"> & {
|
|
293
|
+
/**
|
|
294
|
+
* @generated from field: integrations.v1.ExtensionTarget target = 1;
|
|
295
|
+
*/
|
|
296
|
+
target: ExtensionTarget;
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* foir model key this placement attaches to.
|
|
300
|
+
*
|
|
301
|
+
* @generated from field: string model = 2;
|
|
302
|
+
*/
|
|
303
|
+
model: string;
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Tab key used as an HTML slug and as the SDK addressable id.
|
|
307
|
+
*
|
|
308
|
+
* @generated from field: string tab = 3;
|
|
309
|
+
*/
|
|
310
|
+
tab: string;
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Human-readable tab title shown in the admin UI.
|
|
314
|
+
*
|
|
315
|
+
* @generated from field: string title = 4;
|
|
316
|
+
*/
|
|
317
|
+
title: string;
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Optional free-form hints for the placement (icon, ordering, etc.).
|
|
321
|
+
*
|
|
322
|
+
* @generated from field: optional google.protobuf.Struct hints = 5;
|
|
323
|
+
*/
|
|
324
|
+
hints?: JsonObject;
|
|
325
|
+
};
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* Describes the message integrations.v1.ExtensionPlacement.
|
|
329
|
+
* Use `create(ExtensionPlacementSchema)` to create a new message.
|
|
330
|
+
*/
|
|
331
|
+
export declare const ExtensionPlacementSchema: GenMessage<ExtensionPlacement>;
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* @generated from message integrations.v1.ExtensionConfig
|
|
335
|
+
*/
|
|
336
|
+
export declare type ExtensionConfig = Message<"integrations.v1.ExtensionConfig"> & {
|
|
337
|
+
/**
|
|
338
|
+
* Kebab-case name, unique per project.
|
|
339
|
+
*
|
|
340
|
+
* @generated from field: string name = 1;
|
|
341
|
+
*/
|
|
342
|
+
name: string;
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* https URL of the iframe app. The admin UI loads this URL in an iframe
|
|
346
|
+
* at the declared placements.
|
|
347
|
+
*
|
|
348
|
+
* @generated from field: string url = 2;
|
|
349
|
+
*/
|
|
350
|
+
url: string;
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* @generated from field: repeated integrations.v1.ExtensionPlacement placements = 3;
|
|
354
|
+
*/
|
|
355
|
+
placements: ExtensionPlacement[];
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Optional metadata for admin-UI display.
|
|
359
|
+
*
|
|
360
|
+
* @generated from field: optional google.protobuf.Struct metadata = 4;
|
|
361
|
+
*/
|
|
362
|
+
metadata?: JsonObject;
|
|
363
|
+
};
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Describes the message integrations.v1.ExtensionConfig.
|
|
367
|
+
* Use `create(ExtensionConfigSchema)` to create a new message.
|
|
368
|
+
*/
|
|
369
|
+
export declare const ExtensionConfigSchema: GenMessage<ExtensionConfig>;
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* Credential strategies the middleware uses when talking to the external
|
|
373
|
+
* service. Drives which authorization flow the admin UI renders.
|
|
374
|
+
*
|
|
375
|
+
* @generated from enum integrations.v1.CredentialStrategy
|
|
376
|
+
*/
|
|
377
|
+
export enum CredentialStrategy {
|
|
378
|
+
/**
|
|
379
|
+
* @generated from enum value: CREDENTIAL_STRATEGY_UNSPECIFIED = 0;
|
|
380
|
+
*/
|
|
381
|
+
UNSPECIFIED = 0,
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* @generated from enum value: CREDENTIAL_STRATEGY_OAUTH = 1;
|
|
385
|
+
*/
|
|
386
|
+
OAUTH = 1,
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* @generated from enum value: CREDENTIAL_STRATEGY_API_KEY = 2;
|
|
390
|
+
*/
|
|
391
|
+
API_KEY = 2,
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* @generated from enum value: CREDENTIAL_STRATEGY_SHARED_SECRET = 3;
|
|
395
|
+
*/
|
|
396
|
+
SHARED_SECRET = 3,
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* @generated from enum value: CREDENTIAL_STRATEGY_SSH_KEY = 4;
|
|
400
|
+
*/
|
|
401
|
+
SSH_KEY = 4,
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* @generated from enum value: CREDENTIAL_STRATEGY_NONE = 5;
|
|
405
|
+
*/
|
|
406
|
+
NONE = 5,
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* @generated from enum value: CREDENTIAL_STRATEGY_MANAGED = 6;
|
|
410
|
+
*/
|
|
411
|
+
MANAGED = 6,
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* Describes the enum integrations.v1.CredentialStrategy.
|
|
416
|
+
*/
|
|
417
|
+
export declare const CredentialStrategySchema: GenEnum<CredentialStrategy>;
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* Subscription health reported by the middleware for the external-service
|
|
421
|
+
* webhook subscription this integration depends on.
|
|
422
|
+
*
|
|
423
|
+
* @generated from enum integrations.v1.SubscriptionHealth
|
|
424
|
+
*/
|
|
425
|
+
export enum SubscriptionHealth {
|
|
426
|
+
/**
|
|
427
|
+
* @generated from enum value: SUBSCRIPTION_HEALTH_UNSPECIFIED = 0;
|
|
428
|
+
*/
|
|
429
|
+
UNSPECIFIED = 0,
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* @generated from enum value: SUBSCRIPTION_HEALTH_OK = 1;
|
|
433
|
+
*/
|
|
434
|
+
OK = 1,
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* @generated from enum value: SUBSCRIPTION_HEALTH_STALE = 2;
|
|
438
|
+
*/
|
|
439
|
+
STALE = 2,
|
|
440
|
+
|
|
441
|
+
/**
|
|
442
|
+
* @generated from enum value: SUBSCRIPTION_HEALTH_BROKEN = 3;
|
|
443
|
+
*/
|
|
444
|
+
BROKEN = 3,
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* Describes the enum integrations.v1.SubscriptionHealth.
|
|
449
|
+
*/
|
|
450
|
+
export declare const SubscriptionHealthSchema: GenEnum<SubscriptionHealth>;
|
|
451
|
+
|
|
452
|
+
/**
|
|
453
|
+
* Auth status reported by the middleware for the external-service credentials.
|
|
454
|
+
*
|
|
455
|
+
* @generated from enum integrations.v1.AuthStatus
|
|
456
|
+
*/
|
|
457
|
+
export enum AuthStatus {
|
|
458
|
+
/**
|
|
459
|
+
* @generated from enum value: AUTH_STATUS_UNSPECIFIED = 0;
|
|
460
|
+
*/
|
|
461
|
+
UNSPECIFIED = 0,
|
|
462
|
+
|
|
463
|
+
/**
|
|
464
|
+
* @generated from enum value: AUTH_STATUS_OK = 1;
|
|
465
|
+
*/
|
|
466
|
+
OK = 1,
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
* @generated from enum value: AUTH_STATUS_EXPIRED = 2;
|
|
470
|
+
*/
|
|
471
|
+
EXPIRED = 2,
|
|
472
|
+
|
|
473
|
+
/**
|
|
474
|
+
* @generated from enum value: AUTH_STATUS_REVOKED = 3;
|
|
475
|
+
*/
|
|
476
|
+
REVOKED = 3,
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* Describes the enum integrations.v1.AuthStatus.
|
|
481
|
+
*/
|
|
482
|
+
export declare const AuthStatusSchema: GenEnum<AuthStatus>;
|
|
483
|
+
|
|
484
|
+
/**
|
|
485
|
+
* @generated from enum integrations.v1.ExtensionTarget
|
|
486
|
+
*/
|
|
487
|
+
export enum ExtensionTarget {
|
|
488
|
+
/**
|
|
489
|
+
* @generated from enum value: EXTENSION_TARGET_UNSPECIFIED = 0;
|
|
490
|
+
*/
|
|
491
|
+
UNSPECIFIED = 0,
|
|
492
|
+
|
|
493
|
+
/**
|
|
494
|
+
* @generated from enum value: EXTENSION_TARGET_RECORD = 1;
|
|
495
|
+
*/
|
|
496
|
+
RECORD = 1,
|
|
497
|
+
|
|
498
|
+
/**
|
|
499
|
+
* @generated from enum value: EXTENSION_TARGET_MODEL_LIST = 2;
|
|
500
|
+
*/
|
|
501
|
+
MODEL_LIST = 2,
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
/**
|
|
505
|
+
* Describes the enum integrations.v1.ExtensionTarget.
|
|
506
|
+
*/
|
|
507
|
+
export declare const ExtensionTargetSchema: GenEnum<ExtensionTarget>;
|
|
508
|
+
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.11.0 with parameter "import_extension=js"
|
|
2
|
+
// @generated from file integrations/v1/integrations.proto (package integrations.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Describes the file integrations/v1/integrations.proto.
|
|
10
|
+
*/
|
|
11
|
+
export const file_integrations_v1_integrations = /*@__PURE__*/
|
|
12
|
+
fileDesc("CiJpbnRlZ3JhdGlvbnMvdjEvaW50ZWdyYXRpb25zLnByb3RvEg9pbnRlZ3JhdGlvbnMudjEiJAoVSW50ZWdyYXRpb25NaWRkbGV3YXJlEgsKA3VybBgBIAEoCSKIAQoWSW50ZWdyYXRpb25DcmVkZW50aWFscxI1CghzdHJhdGVneRgBIAEoDjIjLmludGVncmF0aW9ucy52MS5DcmVkZW50aWFsU3RyYXRlZ3kSLAoGdmFsdWVzGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQgkKB192YWx1ZXMiwgEKDk1vZGVsU2VlZEZpZWxkEgwKBHR5cGUYASABKAkSEAoIcmVxdWlyZWQYAiABKAgSEwoLbmF0dXJhbF9rZXkYAyABKAgSEgoFbGFiZWwYBCABKAlIAIgBARIWCgloZWxwX3RleHQYBSABKAlIAYgBARIsCgZjb25maWcYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQFCCAoGX2xhYmVsQgwKCl9oZWxwX3RleHRCCQoHX2NvbmZpZyKTAQoJTW9kZWxTZWVkEjYKBmZpZWxkcxgBIAMoCzImLmludGVncmF0aW9ucy52MS5Nb2RlbFNlZWQuRmllbGRzRW50cnkaTgoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEi4KBXZhbHVlGAIgASgLMh8uaW50ZWdyYXRpb25zLnYxLk1vZGVsU2VlZEZpZWxkOgI4ASL0AQoWSW50ZWdyYXRpb25TeW5jTWFwcGluZxINCgVtb2RlbBgBIAEoCRITCgtuYXR1cmFsX2tleRgCIAEoCRJDCgZmaWVsZHMYAyADKAsyMy5pbnRlZ3JhdGlvbnMudjEuSW50ZWdyYXRpb25TeW5jTWFwcGluZy5GaWVsZHNFbnRyeRIzCgptb2RlbF9zZWVkGAQgASgLMhouaW50ZWdyYXRpb25zLnYxLk1vZGVsU2VlZEgAiAEBGi0KC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCDQoLX21vZGVsX3NlZWQi9QMKEUludGVncmF0aW9uU3RhdHVzEjUKDGxhc3Rfc3luY19hdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIiChVsYXN0X3N5bmNfZHVyYXRpb25fbXMYAiABKANIAYgBARIjChZsYXN0X3N5bmNfcmVjb3JkX2NvdW50GAMgASgDSAKIAQESFwoKbGFzdF9lcnJvchgEIAEoCUgDiAEBEjYKDWxhc3RfZXJyb3JfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESQAoTc3Vic2NyaXB0aW9uX2hlYWx0aBgGIAEoDjIjLmludGVncmF0aW9ucy52MS5TdWJzY3JpcHRpb25IZWFsdGgSMAoLYXV0aF9zdGF0dXMYByABKA4yGy5pbnRlZ3JhdGlvbnMudjEuQXV0aFN0YXR1cxIeChFkZWxldGlvbl9zdHJhdGVneRgIIAEoCUgFiAEBQg8KDV9sYXN0X3N5bmNfYXRCGAoWX2xhc3Rfc3luY19kdXJhdGlvbl9tc0IZChdfbGFzdF9zeW5jX3JlY29yZF9jb3VudEINCgtfbGFzdF9lcnJvckIQCg5fbGFzdF9lcnJvcl9hdEIUChJfZGVsZXRpb25fc3RyYXRlZ3kiuAMKEUludGVncmF0aW9uQ29uZmlnEgwKBG5hbWUYASABKAkSDwoHZW5hYmxlZBgCIAEoCBI6CgptaWRkbGV3YXJlGAMgASgLMiYuaW50ZWdyYXRpb25zLnYxLkludGVncmF0aW9uTWlkZGxld2FyZRI8CgtjcmVkZW50aWFscxgEIAEoCzInLmludGVncmF0aW9ucy52MS5JbnRlZ3JhdGlvbkNyZWRlbnRpYWxzEjoKBHN5bmMYBSADKAsyLC5pbnRlZ3JhdGlvbnMudjEuSW50ZWdyYXRpb25Db25maWcuU3luY0VudHJ5Ei4KCHNldHRpbmdzGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEi4KCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBGlQKCVN5bmNFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5pbnRlZ3JhdGlvbnMudjEuSW50ZWdyYXRpb25TeW5jTWFwcGluZzoCOAFCCwoJX3NldHRpbmdzQgsKCV9tZXRhZGF0YSKoAQoSRXh0ZW5zaW9uUGxhY2VtZW50EjAKBnRhcmdldBgBIAEoDjIgLmludGVncmF0aW9ucy52MS5FeHRlbnNpb25UYXJnZXQSDQoFbW9kZWwYAiABKAkSCwoDdGFiGAMgASgJEg0KBXRpdGxlGAQgASgJEisKBWhpbnRzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQggKBl9oaW50cyKiAQoPRXh0ZW5zaW9uQ29uZmlnEgwKBG5hbWUYASABKAkSCwoDdXJsGAIgASgJEjcKCnBsYWNlbWVudHMYAyADKAsyIy5pbnRlZ3JhdGlvbnMudjEuRXh0ZW5zaW9uUGxhY2VtZW50Ei4KCG1ldGFkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQgsKCV9tZXRhZGF0YSqAAgoSQ3JlZGVudGlhbFN0cmF0ZWd5EiMKH0NSRURFTlRJQUxfU1RSQVRFR1lfVU5TUEVDSUZJRUQQABIdChlDUkVERU5USUFMX1NUUkFURUdZX09BVVRIEAESHwobQ1JFREVOVElBTF9TVFJBVEVHWV9BUElfS0VZEAISJQohQ1JFREVOVElBTF9TVFJBVEVHWV9TSEFSRURfU0VDUkVUEAMSHwobQ1JFREVOVElBTF9TVFJBVEVHWV9TU0hfS0VZEAQSHAoYQ1JFREVOVElBTF9TVFJBVEVHWV9OT05FEAUSHwobQ1JFREVOVElBTF9TVFJBVEVHWV9NQU5BR0VEEAYqlAEKElN1YnNjcmlwdGlvbkhlYWx0aBIjCh9TVUJTQ1JJUFRJT05fSEVBTFRIX1VOU1BFQ0lGSUVEEAASGgoWU1VCU0NSSVBUSU9OX0hFQUxUSF9PSxABEh0KGVNVQlNDUklQVElPTl9IRUFMVEhfU1RBTEUQAhIeChpTVUJTQ1JJUFRJT05fSEVBTFRIX0JST0tFThADKm8KCkF1dGhTdGF0dXMSGwoXQVVUSF9TVEFUVVNfVU5TUEVDSUZJRUQQABISCg5BVVRIX1NUQVRVU19PSxABEhcKE0FVVEhfU1RBVFVTX0VYUElSRUQQAhIXChNBVVRIX1NUQVRVU19SRVZPS0VEEAMqcQoPRXh0ZW5zaW9uVGFyZ2V0EiAKHEVYVEVOU0lPTl9UQVJHRVRfVU5TUEVDSUZJRUQQABIbChdFWFRFTlNJT05fVEFSR0VUX1JFQ09SRBABEh8KG0VYVEVOU0lPTl9UQVJHRVRfTU9ERUxfTElTVBACQkVaQ2dpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9pbnRlZ3JhdGlvbnMvdjE7aW50ZWdyYXRpb25zdjFiBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp]);
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Describes the message integrations.v1.IntegrationMiddleware.
|
|
16
|
+
* Use `create(IntegrationMiddlewareSchema)` to create a new message.
|
|
17
|
+
*/
|
|
18
|
+
export const IntegrationMiddlewareSchema = /*@__PURE__*/
|
|
19
|
+
messageDesc(file_integrations_v1_integrations, 0);
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Describes the message integrations.v1.IntegrationCredentials.
|
|
23
|
+
* Use `create(IntegrationCredentialsSchema)` to create a new message.
|
|
24
|
+
*/
|
|
25
|
+
export const IntegrationCredentialsSchema = /*@__PURE__*/
|
|
26
|
+
messageDesc(file_integrations_v1_integrations, 1);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Describes the message integrations.v1.ModelSeedField.
|
|
30
|
+
* Use `create(ModelSeedFieldSchema)` to create a new message.
|
|
31
|
+
*/
|
|
32
|
+
export const ModelSeedFieldSchema = /*@__PURE__*/
|
|
33
|
+
messageDesc(file_integrations_v1_integrations, 2);
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Describes the message integrations.v1.ModelSeed.
|
|
37
|
+
* Use `create(ModelSeedSchema)` to create a new message.
|
|
38
|
+
*/
|
|
39
|
+
export const ModelSeedSchema = /*@__PURE__*/
|
|
40
|
+
messageDesc(file_integrations_v1_integrations, 3);
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Describes the message integrations.v1.IntegrationSyncMapping.
|
|
44
|
+
* Use `create(IntegrationSyncMappingSchema)` to create a new message.
|
|
45
|
+
*/
|
|
46
|
+
export const IntegrationSyncMappingSchema = /*@__PURE__*/
|
|
47
|
+
messageDesc(file_integrations_v1_integrations, 4);
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Describes the message integrations.v1.IntegrationStatus.
|
|
51
|
+
* Use `create(IntegrationStatusSchema)` to create a new message.
|
|
52
|
+
*/
|
|
53
|
+
export const IntegrationStatusSchema = /*@__PURE__*/
|
|
54
|
+
messageDesc(file_integrations_v1_integrations, 5);
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Describes the message integrations.v1.IntegrationConfig.
|
|
58
|
+
* Use `create(IntegrationConfigSchema)` to create a new message.
|
|
59
|
+
*/
|
|
60
|
+
export const IntegrationConfigSchema = /*@__PURE__*/
|
|
61
|
+
messageDesc(file_integrations_v1_integrations, 6);
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Describes the message integrations.v1.ExtensionPlacement.
|
|
65
|
+
* Use `create(ExtensionPlacementSchema)` to create a new message.
|
|
66
|
+
*/
|
|
67
|
+
export const ExtensionPlacementSchema = /*@__PURE__*/
|
|
68
|
+
messageDesc(file_integrations_v1_integrations, 7);
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Describes the message integrations.v1.ExtensionConfig.
|
|
72
|
+
* Use `create(ExtensionConfigSchema)` to create a new message.
|
|
73
|
+
*/
|
|
74
|
+
export const ExtensionConfigSchema = /*@__PURE__*/
|
|
75
|
+
messageDesc(file_integrations_v1_integrations, 8);
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Describes the enum integrations.v1.CredentialStrategy.
|
|
79
|
+
*/
|
|
80
|
+
export const CredentialStrategySchema = /*@__PURE__*/
|
|
81
|
+
enumDesc(file_integrations_v1_integrations, 0);
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Credential strategies the middleware uses when talking to the external
|
|
85
|
+
* service. Drives which authorization flow the admin UI renders.
|
|
86
|
+
*
|
|
87
|
+
* @generated from enum integrations.v1.CredentialStrategy
|
|
88
|
+
*/
|
|
89
|
+
export const CredentialStrategy = /*@__PURE__*/
|
|
90
|
+
tsEnum(CredentialStrategySchema);
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Describes the enum integrations.v1.SubscriptionHealth.
|
|
94
|
+
*/
|
|
95
|
+
export const SubscriptionHealthSchema = /*@__PURE__*/
|
|
96
|
+
enumDesc(file_integrations_v1_integrations, 1);
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Subscription health reported by the middleware for the external-service
|
|
100
|
+
* webhook subscription this integration depends on.
|
|
101
|
+
*
|
|
102
|
+
* @generated from enum integrations.v1.SubscriptionHealth
|
|
103
|
+
*/
|
|
104
|
+
export const SubscriptionHealth = /*@__PURE__*/
|
|
105
|
+
tsEnum(SubscriptionHealthSchema);
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Describes the enum integrations.v1.AuthStatus.
|
|
109
|
+
*/
|
|
110
|
+
export const AuthStatusSchema = /*@__PURE__*/
|
|
111
|
+
enumDesc(file_integrations_v1_integrations, 2);
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Auth status reported by the middleware for the external-service credentials.
|
|
115
|
+
*
|
|
116
|
+
* @generated from enum integrations.v1.AuthStatus
|
|
117
|
+
*/
|
|
118
|
+
export const AuthStatus = /*@__PURE__*/
|
|
119
|
+
tsEnum(AuthStatusSchema);
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Describes the enum integrations.v1.ExtensionTarget.
|
|
123
|
+
*/
|
|
124
|
+
export const ExtensionTargetSchema = /*@__PURE__*/
|
|
125
|
+
enumDesc(file_integrations_v1_integrations, 3);
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* @generated from enum integrations.v1.ExtensionTarget
|
|
129
|
+
*/
|
|
130
|
+
export const ExtensionTarget = /*@__PURE__*/
|
|
131
|
+
tsEnum(ExtensionTargetSchema);
|
|
132
|
+
|
|
@@ -1427,6 +1427,11 @@ export declare type QuotaRuleUsage = Message<"operations.v1.QuotaRuleUsage"> & {
|
|
|
1427
1427
|
* @generated from field: int32 duration = 8;
|
|
1428
1428
|
*/
|
|
1429
1429
|
duration: number;
|
|
1430
|
+
|
|
1431
|
+
/**
|
|
1432
|
+
* @generated from field: string message = 9;
|
|
1433
|
+
*/
|
|
1434
|
+
message: string;
|
|
1430
1435
|
};
|
|
1431
1436
|
|
|
1432
1437
|
/**
|
|
@@ -9,7 +9,7 @@ import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bu
|
|
|
9
9
|
* Describes the file operations/v1/operations.proto.
|
|
10
10
|
*/
|
|
11
11
|
export const file_operations_v1_operations = /*@__PURE__*/
|
|
12
|
-
fileDesc("Ch5vcGVyYXRpb25zL3YxL29wZXJhdGlvbnMucHJvdG8SDW9wZXJhdGlvbnMudjEiygcKCU9wZXJhdGlvbhIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhEKBGljb24YBSABKAlIAYgBARIVCghjYXRlZ29yeRgGIAEoCUgCiAEBEhAKCGVuZHBvaW50GAcgASgJEhoKDWVuZHBvaW50X2F1dGgYCCABKAlIA4gBARISCgp0aW1lb3V0X21zGAkgASgFEjIKDHJldHJ5X3BvbGljeRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIyCgxpbnB1dF9zY2hlbWEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIRCglpc19hY3RpdmUYDiABKAgSFQoNYWxsb3dlZF9yb2xlcxgPIAMoCRIzCg1zdHJlYW1fY29uZmlnGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgIiAEBEiwKBnF1b3RhcxgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICYgBARIWCgljb25maWdfaWQYEiABKAlICogBARIyCgxwcmVjb25kaXRpb24YEyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAuIAQESEQoJdGVuYW50X2lkGBQgASgJEhcKCnByb2plY3RfaWQYFSABKAlIDIgBARIXCgpjcmVhdGVkX2J5GB4gASgJSA2IAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2Rlc2NyaXB0aW9uQgcKBV9pY29uQgsKCV9jYXRlZ29yeUIQCg5fZW5kcG9pbnRfYXV0aEIPCg1fcmV0cnlfcG9saWN5Qg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCBQoDX3VpQhAKDl9zdHJlYW1fY29uZmlnQgkKB19xdW90YXNCDAoKX2NvbmZpZ19pZEIPCg1fcHJlY29uZGl0aW9uQg0KC19wcm9qZWN0X2lkQg0KC19jcmVhdGVkX2J5Iv0EChJPcGVyYXRpb25FeGVjdXRpb24SCgoCaWQYASABKAkSFQoNb3BlcmF0aW9uX2tleRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSGQoMdHJpZ2dlcl90eXBlGAQgASgJSACIAQESNQoPdHJpZ2dlcl9jb250ZXh0GAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEisKBWlucHV0GAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEhgKC3Jlc3VsdF9qc29uGAcgASgMSAOIAQESFwoKZXJyb3JfanNvbhgIIAEoDEgEiAEBEjMKCnN0YXJ0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESNQoMY29tcGxldGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBEhgKC2R1cmF0aW9uX21zGAsgASgFSAeIAQESEwoLcmV0cnlfY291bnQYDCABKAUSEQoJdGVuYW50X2lkGBQgASgJEhcKCnByb2plY3RfaWQYFSABKAlICIgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIPCg1fdHJpZ2dlcl90eXBlQhIKEF90cmlnZ2VyX2NvbnRleHRCCAoGX2lucHV0Qg4KDF9yZXN1bHRfanNvbkINCgtfZXJyb3JfanNvbkINCgtfc3RhcnRlZF9hdEIPCg1fY29tcGxldGVkX2F0Qg4KDF9kdXJhdGlvbl9tc0INCgtfcHJvamVjdF9pZCLfBAoPRGVhZExldHRlckVudHJ5EgoKAmlkGAEgASgJEhUKDW9wZXJhdGlvbl9rZXkYAiABKAkSGQoMZXhlY3V0aW9uX2lkGAMgASgJSACIAQESKwoFaW5wdXQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESGQoMdHJpZ2dlcl90eXBlGAUgASgJSAKIAQESEAoIYXR0ZW1wdHMYBiABKAUSEgoKbGFzdF9lcnJvchgHIAEoCRIXCgplcnJvcl9jb2RlGAggASgJSAOIAQESDgoGc3RhdHVzGAkgASgJEi0KCWZhaWxlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoKcmV0cmllZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARI1CgxkaXNtaXNzZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESGQoMZGlzbWlzc2VkX2J5GA0gASgJSAaIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDwoNX2V4ZWN1dGlvbl9pZEIICgZfaW5wdXRCDwoNX3RyaWdnZXJfdHlwZUINCgtfZXJyb3JfY29kZUINCgtfcmV0cmllZF9hdEIPCg1fZGlzbWlzc2VkX2F0Qg8KDV9kaXNtaXNzZWRfYnkitQIKDENpcmN1aXRTdGF0ZRIVCg1vcGVyYXRpb25fa2V5GAEgASgJEhAKCGVuZHBvaW50GAIgASgJEg0KBXN0YXRlGAMgASgJEhUKDWZhaWx1cmVfY291bnQYBCABKAUSOAoPbGFzdF9mYWlsdXJlX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjIKCW9wZW5lZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI1CgxoYWxmX29wZW5fYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQFCEgoQX2xhc3RfZmFpbHVyZV9hdEIMCgpfb3BlbmVkX2F0Qg8KDV9oYWxmX29wZW5fYXQigQEKDkV4ZWN1dGlvblN0YXRzEhUKDW9wZXJhdGlvbl9rZXkYASABKAkSDQoFdG90YWwYAiABKAUSDwoHc3VjY2VzcxgDIAEoBRIOCgZmYWlsZWQYBCABKAUSDwoHcGVuZGluZxgFIAEoBRIXCg9hdmdfZHVyYXRpb25fbXMYBiABKAEiVQoPRGVhZExldHRlclN0YXRzEg8KB3BlbmRpbmcYASABKAUSDwoHcmV0cmllZBgCIAEoBRIRCglkaXNtaXNzZWQYAyABKAUSDQoFdG90YWwYBCABKAUixgEKFUxpc3RPcGVyYXRpb25zUmVxdWVzdBIVCghjYXRlZ29yeRgBIAEoCUgAiAEBEhYKCWlzX2FjdGl2ZRgCIAEoCEgBiAEBEhMKBnNlYXJjaBgDIAEoCUgCiAEBEhYKCWNvbmZpZ19pZBgEIAEoCUgDiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUILCglfY2F0ZWdvcnlCDAoKX2lzX2FjdGl2ZUIJCgdfc2VhcmNoQgwKCl9jb25maWdfaWQiVQoWTGlzdE9wZXJhdGlvbnNSZXNwb25zZRIsCgpvcGVyYXRpb25zGAEgAygLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24SDQoFdG90YWwYAiABKAUiOwoTR2V0T3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIQCgNrZXkYAiABKAlIAIgBAUIGCgRfa2V5IkMKFEdldE9wZXJhdGlvblJlc3BvbnNlEisKCW9wZXJhdGlvbhgBIAEoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uIq8GChZDcmVhdGVPcGVyYXRpb25SZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEQoEaWNvbhgEIAEoCUgBiAEBEhUKCGNhdGVnb3J5GAUgASgJSAKIAQESEAoIZW5kcG9pbnQYBiABKAkSGgoNZW5kcG9pbnRfYXV0aBgHIAEoCUgDiAEBEhcKCnRpbWVvdXRfbXMYCCABKAVIBIgBARIyCgxpbnB1dF9zY2hlbWEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIWCgljb25maWdfaWQYDCABKAlICIgBARIzCg1zdHJlYW1fY29uZmlnGA0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgJiAEBEiwKBnF1b3RhcxgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICogBARIVCg1hbGxvd2VkX3JvbGVzGA8gAygJEjIKDHJldHJ5X3BvbGljeRgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIC4gBARIyCgxwcmVjb25kaXRpb24YESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAyIAQESFgoJaXNfYWN0aXZlGBIgASgISA2IAQFCDgoMX2Rlc2NyaXB0aW9uQgcKBV9pY29uQgsKCV9jYXRlZ29yeUIQCg5fZW5kcG9pbnRfYXV0aEINCgtfdGltZW91dF9tc0IPCg1faW5wdXRfc2NoZW1hQhAKDl9vdXRwdXRfc2NoZW1hQgUKA191aUIMCgpfY29uZmlnX2lkQhAKDl9zdHJlYW1fY29uZmlnQgkKB19xdW90YXNCDwoNX3JldHJ5X3BvbGljeUIPCg1fcHJlY29uZGl0aW9uQgwKCl9pc19hY3RpdmUiRgoXQ3JlYXRlT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24i6AUKFlVwZGF0ZU9wZXJhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESFQoIZW5kcG9pbnQYBCABKAlIAogBARIaCg1lbmRwb2ludF9hdXRoGAUgASgJSAOIAQESFwoKdGltZW91dF9tcxgGIAEoBUgEiAEBEjIKDGlucHV0X3NjaGVtYRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIzCg1vdXRwdXRfc2NoZW1hGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEigKAnVpGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhYKCWlzX2FjdGl2ZRgKIAEoCEgIiAEBEjMKDXN0cmVhbV9jb25maWcYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAmIAQESLAoGcXVvdGFzGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgKiAEBEjIKDHJldHJ5X3BvbGljeRgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIC4gBARIyCgxwcmVjb25kaXRpb24YDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAyIAQESFQoNYWxsb3dlZF9yb2xlcxgPIAMoCUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CCwoJX2VuZHBvaW50QhAKDl9lbmRwb2ludF9hdXRoQg0KC190aW1lb3V0X21zQg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCBQoDX3VpQgwKCl9pc19hY3RpdmVCEAoOX3N0cmVhbV9jb25maWdCCQoHX3F1b3Rhc0IPCg1fcmV0cnlfcG9saWN5Qg8KDV9wcmVjb25kaXRpb24iRgoXVXBkYXRlT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iJAoWRGVsZXRlT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIqChdEZWxldGVPcGVyYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqgDChdFeGVjdXRlT3BlcmF0aW9uUmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJEisKBWlucHV0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhkKDHRyaWdnZXJfdHlwZRgDIAEoCUgBiAEBEjUKD3RyaWdnZXJfY29udGV4dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIqCgRtb2RlGAUgASgOMhwub3BlcmF0aW9ucy52MS5FeGVjdXRpb25Nb2RlEhgKC2N1c3RvbWVyX2lkGAYgASgJSAOIAQESLAoGcmVjb3JkGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEi0KB2NvbnRlbnQYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQFCCAoGX2lucHV0Qg8KDV90cmlnZ2VyX3R5cGVCEgoQX3RyaWdnZXJfY29udGV4dEIOCgxfY3VzdG9tZXJfaWRCCQoHX3JlY29yZEIKCghfY29udGVudCKpAgoYRXhlY3V0ZU9wZXJhdGlvblJlc3BvbnNlEjQKCWV4ZWN1dGlvbhgBIAEoCzIhLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uRXhlY3V0aW9uEhgKC3Jlc3VsdF9qc29uGAIgASgMSACIAQESGgoNZXJyb3JfbWVzc2FnZRgDIAEoCUgBiAEBEhEKCWNvbXBsZXRlZBgEIAEoCBIVCghwb2xsX3VybBgKIAEoCUgCiAEBEhcKCmNhbmNlbF91cmwYCyABKAlIA4gBARIUCgdtZXNzYWdlGAwgASgJSASIAQFCDgoMX3Jlc3VsdF9qc29uQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9wb2xsX3VybEINCgtfY2FuY2VsX3VybEIKCghfbWVzc2FnZSJ2Ch5MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRITCgZzdGF0dXMYAiABKAlIAIgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCCQoHX3N0YXR1cyJnCh9MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1Jlc3BvbnNlEjUKCmV4ZWN1dGlvbnMYASADKAsyIS5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbkV4ZWN1dGlvbhINCgV0b3RhbBgCIAEoBSJRCiFHZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1JlcXVlc3QSGgoNb3BlcmF0aW9uX2tleRgBIAEoCUgAiAEBQhAKDl9vcGVyYXRpb25fa2V5IlIKIkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVzcG9uc2USLAoFc3RhdHMYASADKAsyHS5vcGVyYXRpb25zLnYxLkV4ZWN1dGlvblN0YXRzIosBChxMaXN0RGVhZExldHRlckVudHJpZXNSZXF1ZXN0EhoKDW9wZXJhdGlvbl9rZXkYASABKAlIAIgBARITCgZzdGF0dXMYAiABKAlIAYgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCEAoOX29wZXJhdGlvbl9rZXlCCQoHX3N0YXR1cyJfCh1MaXN0RGVhZExldHRlckVudHJpZXNSZXNwb25zZRIvCgdlbnRyaWVzGAEgAygLMh4ub3BlcmF0aW9ucy52MS5EZWFkTGV0dGVyRW50cnkSDQoFdG90YWwYAiABKAUiKQobUmV0cnlEZWFkTGV0dGVyRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIi8KHFJldHJ5RGVhZExldHRlckVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIrCh1EaXNtaXNzRGVhZExldHRlckVudHJ5UmVxdWVzdBIKCgJpZBgBIAEoCSIxCh5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIbChlHZXREZWFkTGV0dGVyU3RhdHNSZXF1ZXN0IksKGkdldERlYWRMZXR0ZXJTdGF0c1Jlc3BvbnNlEi0KBXN0YXRzGAEgASgLMh4ub3BlcmF0aW9ucy52MS5EZWFkTGV0dGVyU3RhdHMiGgoYTGlzdENpcmN1aXRTdGF0ZXNSZXF1ZXN0IkgKGUxpc3RDaXJjdWl0U3RhdGVzUmVzcG9uc2USKwoGc3RhdGVzGAEgAygLMhsub3BlcmF0aW9ucy52MS5DaXJjdWl0U3RhdGUiLAoTUmVzZXRDaXJjdWl0UmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJIicKFFJlc2V0Q2lyY3VpdFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiGQoXR2V0U2lnbmluZ1NlY3JldFJlcXVlc3QiOgoYR2V0U2lnbmluZ1NlY3JldFJlc3BvbnNlEg4KBnNlY3JldBgBIAEoCRIOCgZwcmVmaXgYAiABKAkiIAoeUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXRSZXF1ZXN0IjEKH1JlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVzcG9uc2USDgoGc2VjcmV0GAEgASgJIkIKHkdldEFwcGxpY2FibGVPcGVyYXRpb25zUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSDQoFbGltaXQYCiABKAUiTwofR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXNwb25zZRIsCgpvcGVyYXRpb25zGAEgAygLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iKgocR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJVCh1HZXRPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRI0CglleGVjdXRpb24YASABKAsyIS5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbkV4ZWN1dGlvbiItCh9DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIjMKIENhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiggEKHUdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXF1ZXN0EhUKDW9wZXJhdGlvbl9rZXkYASABKAkSGAoLY3VzdG9tZXJfaWQYAiABKAlIAIgBARIUCgd1c2VyX2lkGAMgASgJSAGIAQFCDgoMX2N1c3RvbWVyX2lkQgoKCF91c2VyX2lkIqEBCg5RdW90YVJ1bGVVc2FnZRISCgpydWxlX2luZGV4GAEgASgFEhMKC3NlZ21lbnRfa2V5GAIgASgJEg0KBWxpbWl0GAMgASgFEgwKBHVzZWQYBCABKAUSEQoJcmVtYWluaW5nGAUgASgFEhUKDXJlc2V0X2F0X3VuaXgYBiABKAMSDQoFc2NvcGUYByABKAkSEAoIZHVyYXRpb24YCCABKAUirQEKHkdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXNwb25zZRIYChB0b3RhbF9leGVjdXRpb25zGAEgASgDEhkKEXBlcmlvZF9leGVjdXRpb25zGAIgASgDEhgKC3F1b3RhX2xpbWl0GAMgASgDSACIAQESLAoFcnVsZXMYBCADKAsyHS5vcGVyYXRpb25zLnYxLlF1b3RhUnVsZVVzYWdlQg4KDF9xdW90YV9saW1pdCIcChpHZXRTaWduaW5nU2VjcmV0UmF3UmVxdWVzdCItChtHZXRTaWduaW5nU2VjcmV0UmF3UmVzcG9uc2USDgoGc2VjcmV0GAEgASgJKmIKDUV4ZWN1dGlvbk1vZGUSHgoaRVhFQ1VUSU9OX01PREVfVU5TUEVDSUZJRUQQABIXChNFWEVDVVRJT05fTU9ERV9TWU5DEAESGAoURVhFQ1VUSU9OX01PREVfQVNZTkMQAjKLEgoRT3BlcmF0aW9uc1NlcnZpY2USXQoOTGlzdE9wZXJhdGlvbnMSJC5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25zUmVxdWVzdBolLm9wZXJhdGlvbnMudjEuTGlzdE9wZXJhdGlvbnNSZXNwb25zZRJXCgxHZXRPcGVyYXRpb24SIi5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblJlcXVlc3QaIy5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblJlc3BvbnNlEmAKD0NyZWF0ZU9wZXJhdGlvbhIlLm9wZXJhdGlvbnMudjEuQ3JlYXRlT3BlcmF0aW9uUmVxdWVzdBomLm9wZXJhdGlvbnMudjEuQ3JlYXRlT3BlcmF0aW9uUmVzcG9uc2USYAoPVXBkYXRlT3BlcmF0aW9uEiUub3BlcmF0aW9ucy52MS5VcGRhdGVPcGVyYXRpb25SZXF1ZXN0GiYub3BlcmF0aW9ucy52MS5VcGRhdGVPcGVyYXRpb25SZXNwb25zZRJgCg9EZWxldGVPcGVyYXRpb24SJS5vcGVyYXRpb25zLnYxLkRlbGV0ZU9wZXJhdGlvblJlcXVlc3QaJi5vcGVyYXRpb25zLnYxLkRlbGV0ZU9wZXJhdGlvblJlc3BvbnNlEmMKEEV4ZWN1dGVPcGVyYXRpb24SJi5vcGVyYXRpb25zLnYxLkV4ZWN1dGVPcGVyYXRpb25SZXF1ZXN0Gicub3BlcmF0aW9ucy52MS5FeGVjdXRlT3BlcmF0aW9uUmVzcG9uc2USeAoXTGlzdE9wZXJhdGlvbkV4ZWN1dGlvbnMSLS5vcGVyYXRpb25zLnYxLkxpc3RPcGVyYXRpb25FeGVjdXRpb25zUmVxdWVzdBouLm9wZXJhdGlvbnMudjEuTGlzdE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXNwb25zZRKBAQoaR2V0T3BlcmF0aW9uRXhlY3V0aW9uU3RhdHMSMC5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVxdWVzdBoxLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uRXhlY3V0aW9uU3RhdHNSZXNwb25zZRJyChVMaXN0RGVhZExldHRlckVudHJpZXMSKy5vcGVyYXRpb25zLnYxLkxpc3REZWFkTGV0dGVyRW50cmllc1JlcXVlc3QaLC5vcGVyYXRpb25zLnYxLkxpc3REZWFkTGV0dGVyRW50cmllc1Jlc3BvbnNlEm8KFFJldHJ5RGVhZExldHRlckVudHJ5Eioub3BlcmF0aW9ucy52MS5SZXRyeURlYWRMZXR0ZXJFbnRyeVJlcXVlc3QaKy5vcGVyYXRpb25zLnYxLlJldHJ5RGVhZExldHRlckVudHJ5UmVzcG9uc2USdQoWRGlzbWlzc0RlYWRMZXR0ZXJFbnRyeRIsLm9wZXJhdGlvbnMudjEuRGlzbWlzc0RlYWRMZXR0ZXJFbnRyeVJlcXVlc3QaLS5vcGVyYXRpb25zLnYxLkRpc21pc3NEZWFkTGV0dGVyRW50cnlSZXNwb25zZRJpChJHZXREZWFkTGV0dGVyU3RhdHMSKC5vcGVyYXRpb25zLnYxLkdldERlYWRMZXR0ZXJTdGF0c1JlcXVlc3QaKS5vcGVyYXRpb25zLnYxLkdldERlYWRMZXR0ZXJTdGF0c1Jlc3BvbnNlEmYKEUxpc3RDaXJjdWl0U3RhdGVzEicub3BlcmF0aW9ucy52MS5MaXN0Q2lyY3VpdFN0YXRlc1JlcXVlc3QaKC5vcGVyYXRpb25zLnYxLkxpc3RDaXJjdWl0U3RhdGVzUmVzcG9uc2USVwoMUmVzZXRDaXJjdWl0EiIub3BlcmF0aW9ucy52MS5SZXNldENpcmN1aXRSZXF1ZXN0GiMub3BlcmF0aW9ucy52MS5SZXNldENpcmN1aXRSZXNwb25zZRJ4ChdHZXRBcHBsaWNhYmxlT3BlcmF0aW9ucxItLm9wZXJhdGlvbnMudjEuR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5HZXRBcHBsaWNhYmxlT3BlcmF0aW9uc1Jlc3BvbnNlEnIKFUdldE9wZXJhdGlvbkV4ZWN1dGlvbhIrLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBosLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVzcG9uc2USewoYQ2FuY2VsT3BlcmF0aW9uRXhlY3V0aW9uEi4ub3BlcmF0aW9ucy52MS5DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0Gi8ub3BlcmF0aW9ucy52MS5DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRJ1ChZHZXRPcGVyYXRpb25RdW90YVVzYWdlEiwub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25RdW90YVVzYWdlUmVxdWVzdBotLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUXVvdGFVc2FnZVJlc3BvbnNlEmMKEEdldFNpZ25pbmdTZWNyZXQSJi5vcGVyYXRpb25zLnYxLkdldFNpZ25pbmdTZWNyZXRSZXF1ZXN0Gicub3BlcmF0aW9ucy52MS5HZXRTaWduaW5nU2VjcmV0UmVzcG9uc2USbAoTR2V0U2lnbmluZ1NlY3JldFJhdxIpLm9wZXJhdGlvbnMudjEuR2V0U2lnbmluZ1NlY3JldFJhd1JlcXVlc3QaKi5vcGVyYXRpb25zLnYxLkdldFNpZ25pbmdTZWNyZXRSYXdSZXNwb25zZRJ4ChdSZWdlbmVyYXRlU2lnbmluZ1NlY3JldBItLm9wZXJhdGlvbnMudjEuUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXRSZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5SZWdlbmVyYXRlU2lnbmluZ1NlY3JldFJlc3BvbnNlQkFaP2dpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9vcGVyYXRpb25zL3YxO29wZXJhdGlvbnN2MWIGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp]);
|
|
12
|
+
fileDesc("Ch5vcGVyYXRpb25zL3YxL29wZXJhdGlvbnMucHJvdG8SDW9wZXJhdGlvbnMudjEiygcKCU9wZXJhdGlvbhIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhEKBGljb24YBSABKAlIAYgBARIVCghjYXRlZ29yeRgGIAEoCUgCiAEBEhAKCGVuZHBvaW50GAcgASgJEhoKDWVuZHBvaW50X2F1dGgYCCABKAlIA4gBARISCgp0aW1lb3V0X21zGAkgASgFEjIKDHJldHJ5X3BvbGljeRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIyCgxpbnB1dF9zY2hlbWEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIRCglpc19hY3RpdmUYDiABKAgSFQoNYWxsb3dlZF9yb2xlcxgPIAMoCRIzCg1zdHJlYW1fY29uZmlnGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgIiAEBEiwKBnF1b3RhcxgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICYgBARIWCgljb25maWdfaWQYEiABKAlICogBARIyCgxwcmVjb25kaXRpb24YEyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAuIAQESEQoJdGVuYW50X2lkGBQgASgJEhcKCnByb2plY3RfaWQYFSABKAlIDIgBARIXCgpjcmVhdGVkX2J5GB4gASgJSA2IAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2Rlc2NyaXB0aW9uQgcKBV9pY29uQgsKCV9jYXRlZ29yeUIQCg5fZW5kcG9pbnRfYXV0aEIPCg1fcmV0cnlfcG9saWN5Qg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCBQoDX3VpQhAKDl9zdHJlYW1fY29uZmlnQgkKB19xdW90YXNCDAoKX2NvbmZpZ19pZEIPCg1fcHJlY29uZGl0aW9uQg0KC19wcm9qZWN0X2lkQg0KC19jcmVhdGVkX2J5Iv0EChJPcGVyYXRpb25FeGVjdXRpb24SCgoCaWQYASABKAkSFQoNb3BlcmF0aW9uX2tleRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSGQoMdHJpZ2dlcl90eXBlGAQgASgJSACIAQESNQoPdHJpZ2dlcl9jb250ZXh0GAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEisKBWlucHV0GAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEhgKC3Jlc3VsdF9qc29uGAcgASgMSAOIAQESFwoKZXJyb3JfanNvbhgIIAEoDEgEiAEBEjMKCnN0YXJ0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESNQoMY29tcGxldGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBEhgKC2R1cmF0aW9uX21zGAsgASgFSAeIAQESEwoLcmV0cnlfY291bnQYDCABKAUSEQoJdGVuYW50X2lkGBQgASgJEhcKCnByb2plY3RfaWQYFSABKAlICIgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIPCg1fdHJpZ2dlcl90eXBlQhIKEF90cmlnZ2VyX2NvbnRleHRCCAoGX2lucHV0Qg4KDF9yZXN1bHRfanNvbkINCgtfZXJyb3JfanNvbkINCgtfc3RhcnRlZF9hdEIPCg1fY29tcGxldGVkX2F0Qg4KDF9kdXJhdGlvbl9tc0INCgtfcHJvamVjdF9pZCLfBAoPRGVhZExldHRlckVudHJ5EgoKAmlkGAEgASgJEhUKDW9wZXJhdGlvbl9rZXkYAiABKAkSGQoMZXhlY3V0aW9uX2lkGAMgASgJSACIAQESKwoFaW5wdXQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESGQoMdHJpZ2dlcl90eXBlGAUgASgJSAKIAQESEAoIYXR0ZW1wdHMYBiABKAUSEgoKbGFzdF9lcnJvchgHIAEoCRIXCgplcnJvcl9jb2RlGAggASgJSAOIAQESDgoGc3RhdHVzGAkgASgJEi0KCWZhaWxlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoKcmV0cmllZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARI1CgxkaXNtaXNzZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESGQoMZGlzbWlzc2VkX2J5GA0gASgJSAaIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDwoNX2V4ZWN1dGlvbl9pZEIICgZfaW5wdXRCDwoNX3RyaWdnZXJfdHlwZUINCgtfZXJyb3JfY29kZUINCgtfcmV0cmllZF9hdEIPCg1fZGlzbWlzc2VkX2F0Qg8KDV9kaXNtaXNzZWRfYnkitQIKDENpcmN1aXRTdGF0ZRIVCg1vcGVyYXRpb25fa2V5GAEgASgJEhAKCGVuZHBvaW50GAIgASgJEg0KBXN0YXRlGAMgASgJEhUKDWZhaWx1cmVfY291bnQYBCABKAUSOAoPbGFzdF9mYWlsdXJlX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjIKCW9wZW5lZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI1CgxoYWxmX29wZW5fYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQFCEgoQX2xhc3RfZmFpbHVyZV9hdEIMCgpfb3BlbmVkX2F0Qg8KDV9oYWxmX29wZW5fYXQigQEKDkV4ZWN1dGlvblN0YXRzEhUKDW9wZXJhdGlvbl9rZXkYASABKAkSDQoFdG90YWwYAiABKAUSDwoHc3VjY2VzcxgDIAEoBRIOCgZmYWlsZWQYBCABKAUSDwoHcGVuZGluZxgFIAEoBRIXCg9hdmdfZHVyYXRpb25fbXMYBiABKAEiVQoPRGVhZExldHRlclN0YXRzEg8KB3BlbmRpbmcYASABKAUSDwoHcmV0cmllZBgCIAEoBRIRCglkaXNtaXNzZWQYAyABKAUSDQoFdG90YWwYBCABKAUixgEKFUxpc3RPcGVyYXRpb25zUmVxdWVzdBIVCghjYXRlZ29yeRgBIAEoCUgAiAEBEhYKCWlzX2FjdGl2ZRgCIAEoCEgBiAEBEhMKBnNlYXJjaBgDIAEoCUgCiAEBEhYKCWNvbmZpZ19pZBgEIAEoCUgDiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUILCglfY2F0ZWdvcnlCDAoKX2lzX2FjdGl2ZUIJCgdfc2VhcmNoQgwKCl9jb25maWdfaWQiVQoWTGlzdE9wZXJhdGlvbnNSZXNwb25zZRIsCgpvcGVyYXRpb25zGAEgAygLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24SDQoFdG90YWwYAiABKAUiOwoTR2V0T3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIQCgNrZXkYAiABKAlIAIgBAUIGCgRfa2V5IkMKFEdldE9wZXJhdGlvblJlc3BvbnNlEisKCW9wZXJhdGlvbhgBIAEoCzIYLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uIq8GChZDcmVhdGVPcGVyYXRpb25SZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEQoEaWNvbhgEIAEoCUgBiAEBEhUKCGNhdGVnb3J5GAUgASgJSAKIAQESEAoIZW5kcG9pbnQYBiABKAkSGgoNZW5kcG9pbnRfYXV0aBgHIAEoCUgDiAEBEhcKCnRpbWVvdXRfbXMYCCABKAVIBIgBARIyCgxpbnB1dF9zY2hlbWEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQESMwoNb3V0cHV0X3NjaGVtYRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBARIoCgJ1aRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIWCgljb25maWdfaWQYDCABKAlICIgBARIzCg1zdHJlYW1fY29uZmlnGA0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgJiAEBEiwKBnF1b3RhcxgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RICogBARIVCg1hbGxvd2VkX3JvbGVzGA8gAygJEjIKDHJldHJ5X3BvbGljeRgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIC4gBARIyCgxwcmVjb25kaXRpb24YESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAyIAQESFgoJaXNfYWN0aXZlGBIgASgISA2IAQFCDgoMX2Rlc2NyaXB0aW9uQgcKBV9pY29uQgsKCV9jYXRlZ29yeUIQCg5fZW5kcG9pbnRfYXV0aEINCgtfdGltZW91dF9tc0IPCg1faW5wdXRfc2NoZW1hQhAKDl9vdXRwdXRfc2NoZW1hQgUKA191aUIMCgpfY29uZmlnX2lkQhAKDl9zdHJlYW1fY29uZmlnQgkKB19xdW90YXNCDwoNX3JldHJ5X3BvbGljeUIPCg1fcHJlY29uZGl0aW9uQgwKCl9pc19hY3RpdmUiRgoXQ3JlYXRlT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24i6AUKFlVwZGF0ZU9wZXJhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESFQoIZW5kcG9pbnQYBCABKAlIAogBARIaCg1lbmRwb2ludF9hdXRoGAUgASgJSAOIAQESFwoKdGltZW91dF9tcxgGIAEoBUgEiAEBEjIKDGlucHV0X3NjaGVtYRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBYgBARIzCg1vdXRwdXRfc2NoZW1hGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEigKAnVpGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhYKCWlzX2FjdGl2ZRgKIAEoCEgIiAEBEjMKDXN0cmVhbV9jb25maWcYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAmIAQESLAoGcXVvdGFzGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgKiAEBEjIKDHJldHJ5X3BvbGljeRgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIC4gBARIyCgxwcmVjb25kaXRpb24YDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAyIAQESFQoNYWxsb3dlZF9yb2xlcxgPIAMoCUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CCwoJX2VuZHBvaW50QhAKDl9lbmRwb2ludF9hdXRoQg0KC190aW1lb3V0X21zQg8KDV9pbnB1dF9zY2hlbWFCEAoOX291dHB1dF9zY2hlbWFCBQoDX3VpQgwKCl9pc19hY3RpdmVCEAoOX3N0cmVhbV9jb25maWdCCQoHX3F1b3Rhc0IPCg1fcmV0cnlfcG9saWN5Qg8KDV9wcmVjb25kaXRpb24iRgoXVXBkYXRlT3BlcmF0aW9uUmVzcG9uc2USKwoJb3BlcmF0aW9uGAEgASgLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iJAoWRGVsZXRlT3BlcmF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIqChdEZWxldGVPcGVyYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqgDChdFeGVjdXRlT3BlcmF0aW9uUmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJEisKBWlucHV0GAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhkKDHRyaWdnZXJfdHlwZRgDIAEoCUgBiAEBEjUKD3RyaWdnZXJfY29udGV4dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIqCgRtb2RlGAUgASgOMhwub3BlcmF0aW9ucy52MS5FeGVjdXRpb25Nb2RlEhgKC2N1c3RvbWVyX2lkGAYgASgJSAOIAQESLAoGcmVjb3JkGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEi0KB2NvbnRlbnQYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAWIAQFCCAoGX2lucHV0Qg8KDV90cmlnZ2VyX3R5cGVCEgoQX3RyaWdnZXJfY29udGV4dEIOCgxfY3VzdG9tZXJfaWRCCQoHX3JlY29yZEIKCghfY29udGVudCKpAgoYRXhlY3V0ZU9wZXJhdGlvblJlc3BvbnNlEjQKCWV4ZWN1dGlvbhgBIAEoCzIhLm9wZXJhdGlvbnMudjEuT3BlcmF0aW9uRXhlY3V0aW9uEhgKC3Jlc3VsdF9qc29uGAIgASgMSACIAQESGgoNZXJyb3JfbWVzc2FnZRgDIAEoCUgBiAEBEhEKCWNvbXBsZXRlZBgEIAEoCBIVCghwb2xsX3VybBgKIAEoCUgCiAEBEhcKCmNhbmNlbF91cmwYCyABKAlIA4gBARIUCgdtZXNzYWdlGAwgASgJSASIAQFCDgoMX3Jlc3VsdF9qc29uQhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9wb2xsX3VybEINCgtfY2FuY2VsX3VybEIKCghfbWVzc2FnZSJ2Ch5MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1JlcXVlc3QSFQoNb3BlcmF0aW9uX2tleRgBIAEoCRITCgZzdGF0dXMYAiABKAlIAIgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCCQoHX3N0YXR1cyJnCh9MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1Jlc3BvbnNlEjUKCmV4ZWN1dGlvbnMYASADKAsyIS5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbkV4ZWN1dGlvbhINCgV0b3RhbBgCIAEoBSJRCiFHZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1JlcXVlc3QSGgoNb3BlcmF0aW9uX2tleRgBIAEoCUgAiAEBQhAKDl9vcGVyYXRpb25fa2V5IlIKIkdldE9wZXJhdGlvbkV4ZWN1dGlvblN0YXRzUmVzcG9uc2USLAoFc3RhdHMYASADKAsyHS5vcGVyYXRpb25zLnYxLkV4ZWN1dGlvblN0YXRzIosBChxMaXN0RGVhZExldHRlckVudHJpZXNSZXF1ZXN0EhoKDW9wZXJhdGlvbl9rZXkYASABKAlIAIgBARITCgZzdGF0dXMYAiABKAlIAYgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCEAoOX29wZXJhdGlvbl9rZXlCCQoHX3N0YXR1cyJfCh1MaXN0RGVhZExldHRlckVudHJpZXNSZXNwb25zZRIvCgdlbnRyaWVzGAEgAygLMh4ub3BlcmF0aW9ucy52MS5EZWFkTGV0dGVyRW50cnkSDQoFdG90YWwYAiABKAUiKQobUmV0cnlEZWFkTGV0dGVyRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIi8KHFJldHJ5RGVhZExldHRlckVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIrCh1EaXNtaXNzRGVhZExldHRlckVudHJ5UmVxdWVzdBIKCgJpZBgBIAEoCSIxCh5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIbChlHZXREZWFkTGV0dGVyU3RhdHNSZXF1ZXN0IksKGkdldERlYWRMZXR0ZXJTdGF0c1Jlc3BvbnNlEi0KBXN0YXRzGAEgASgLMh4ub3BlcmF0aW9ucy52MS5EZWFkTGV0dGVyU3RhdHMiGgoYTGlzdENpcmN1aXRTdGF0ZXNSZXF1ZXN0IkgKGUxpc3RDaXJjdWl0U3RhdGVzUmVzcG9uc2USKwoGc3RhdGVzGAEgAygLMhsub3BlcmF0aW9ucy52MS5DaXJjdWl0U3RhdGUiLAoTUmVzZXRDaXJjdWl0UmVxdWVzdBIVCg1vcGVyYXRpb25fa2V5GAEgASgJIicKFFJlc2V0Q2lyY3VpdFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiGQoXR2V0U2lnbmluZ1NlY3JldFJlcXVlc3QiOgoYR2V0U2lnbmluZ1NlY3JldFJlc3BvbnNlEg4KBnNlY3JldBgBIAEoCRIOCgZwcmVmaXgYAiABKAkiIAoeUmVnZW5lcmF0ZVNpZ25pbmdTZWNyZXRSZXF1ZXN0IjEKH1JlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVzcG9uc2USDgoGc2VjcmV0GAEgASgJIkIKHkdldEFwcGxpY2FibGVPcGVyYXRpb25zUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSDQoFbGltaXQYCiABKAUiTwofR2V0QXBwbGljYWJsZU9wZXJhdGlvbnNSZXNwb25zZRIsCgpvcGVyYXRpb25zGAEgAygLMhgub3BlcmF0aW9ucy52MS5PcGVyYXRpb24iKgocR2V0T3BlcmF0aW9uRXhlY3V0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJVCh1HZXRPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRI0CglleGVjdXRpb24YASABKAsyIS5vcGVyYXRpb25zLnYxLk9wZXJhdGlvbkV4ZWN1dGlvbiItCh9DYW5jZWxPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIjMKIENhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiggEKHUdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXF1ZXN0EhUKDW9wZXJhdGlvbl9rZXkYASABKAkSGAoLY3VzdG9tZXJfaWQYAiABKAlIAIgBARIUCgd1c2VyX2lkGAMgASgJSAGIAQFCDgoMX2N1c3RvbWVyX2lkQgoKCF91c2VyX2lkIrIBCg5RdW90YVJ1bGVVc2FnZRISCgpydWxlX2luZGV4GAEgASgFEhMKC3NlZ21lbnRfa2V5GAIgASgJEg0KBWxpbWl0GAMgASgFEgwKBHVzZWQYBCABKAUSEQoJcmVtYWluaW5nGAUgASgFEhUKDXJlc2V0X2F0X3VuaXgYBiABKAMSDQoFc2NvcGUYByABKAkSEAoIZHVyYXRpb24YCCABKAUSDwoHbWVzc2FnZRgJIAEoCSKtAQoeR2V0T3BlcmF0aW9uUXVvdGFVc2FnZVJlc3BvbnNlEhgKEHRvdGFsX2V4ZWN1dGlvbnMYASABKAMSGQoRcGVyaW9kX2V4ZWN1dGlvbnMYAiABKAMSGAoLcXVvdGFfbGltaXQYAyABKANIAIgBARIsCgVydWxlcxgEIAMoCzIdLm9wZXJhdGlvbnMudjEuUXVvdGFSdWxlVXNhZ2VCDgoMX3F1b3RhX2xpbWl0IhwKGkdldFNpZ25pbmdTZWNyZXRSYXdSZXF1ZXN0Ii0KG0dldFNpZ25pbmdTZWNyZXRSYXdSZXNwb25zZRIOCgZzZWNyZXQYASABKAkqYgoNRXhlY3V0aW9uTW9kZRIeChpFWEVDVVRJT05fTU9ERV9VTlNQRUNJRklFRBAAEhcKE0VYRUNVVElPTl9NT0RFX1NZTkMQARIYChRFWEVDVVRJT05fTU9ERV9BU1lOQxACMosSChFPcGVyYXRpb25zU2VydmljZRJdCg5MaXN0T3BlcmF0aW9ucxIkLm9wZXJhdGlvbnMudjEuTGlzdE9wZXJhdGlvbnNSZXF1ZXN0GiUub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uc1Jlc3BvbnNlElcKDEdldE9wZXJhdGlvbhIiLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUmVxdWVzdBojLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uUmVzcG9uc2USYAoPQ3JlYXRlT3BlcmF0aW9uEiUub3BlcmF0aW9ucy52MS5DcmVhdGVPcGVyYXRpb25SZXF1ZXN0GiYub3BlcmF0aW9ucy52MS5DcmVhdGVPcGVyYXRpb25SZXNwb25zZRJgCg9VcGRhdGVPcGVyYXRpb24SJS5vcGVyYXRpb25zLnYxLlVwZGF0ZU9wZXJhdGlvblJlcXVlc3QaJi5vcGVyYXRpb25zLnYxLlVwZGF0ZU9wZXJhdGlvblJlc3BvbnNlEmAKD0RlbGV0ZU9wZXJhdGlvbhIlLm9wZXJhdGlvbnMudjEuRGVsZXRlT3BlcmF0aW9uUmVxdWVzdBomLm9wZXJhdGlvbnMudjEuRGVsZXRlT3BlcmF0aW9uUmVzcG9uc2USYwoQRXhlY3V0ZU9wZXJhdGlvbhImLm9wZXJhdGlvbnMudjEuRXhlY3V0ZU9wZXJhdGlvblJlcXVlc3QaJy5vcGVyYXRpb25zLnYxLkV4ZWN1dGVPcGVyYXRpb25SZXNwb25zZRJ4ChdMaXN0T3BlcmF0aW9uRXhlY3V0aW9ucxItLm9wZXJhdGlvbnMudjEuTGlzdE9wZXJhdGlvbkV4ZWN1dGlvbnNSZXF1ZXN0Gi4ub3BlcmF0aW9ucy52MS5MaXN0T3BlcmF0aW9uRXhlY3V0aW9uc1Jlc3BvbnNlEoEBChpHZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0cxIwLm9wZXJhdGlvbnMudjEuR2V0T3BlcmF0aW9uRXhlY3V0aW9uU3RhdHNSZXF1ZXN0GjEub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25TdGF0c1Jlc3BvbnNlEnIKFUxpc3REZWFkTGV0dGVyRW50cmllcxIrLm9wZXJhdGlvbnMudjEuTGlzdERlYWRMZXR0ZXJFbnRyaWVzUmVxdWVzdBosLm9wZXJhdGlvbnMudjEuTGlzdERlYWRMZXR0ZXJFbnRyaWVzUmVzcG9uc2USbwoUUmV0cnlEZWFkTGV0dGVyRW50cnkSKi5vcGVyYXRpb25zLnYxLlJldHJ5RGVhZExldHRlckVudHJ5UmVxdWVzdBorLm9wZXJhdGlvbnMudjEuUmV0cnlEZWFkTGV0dGVyRW50cnlSZXNwb25zZRJ1ChZEaXNtaXNzRGVhZExldHRlckVudHJ5Eiwub3BlcmF0aW9ucy52MS5EaXNtaXNzRGVhZExldHRlckVudHJ5UmVxdWVzdBotLm9wZXJhdGlvbnMudjEuRGlzbWlzc0RlYWRMZXR0ZXJFbnRyeVJlc3BvbnNlEmkKEkdldERlYWRMZXR0ZXJTdGF0cxIoLm9wZXJhdGlvbnMudjEuR2V0RGVhZExldHRlclN0YXRzUmVxdWVzdBopLm9wZXJhdGlvbnMudjEuR2V0RGVhZExldHRlclN0YXRzUmVzcG9uc2USZgoRTGlzdENpcmN1aXRTdGF0ZXMSJy5vcGVyYXRpb25zLnYxLkxpc3RDaXJjdWl0U3RhdGVzUmVxdWVzdBooLm9wZXJhdGlvbnMudjEuTGlzdENpcmN1aXRTdGF0ZXNSZXNwb25zZRJXCgxSZXNldENpcmN1aXQSIi5vcGVyYXRpb25zLnYxLlJlc2V0Q2lyY3VpdFJlcXVlc3QaIy5vcGVyYXRpb25zLnYxLlJlc2V0Q2lyY3VpdFJlc3BvbnNlEngKF0dldEFwcGxpY2FibGVPcGVyYXRpb25zEi0ub3BlcmF0aW9ucy52MS5HZXRBcHBsaWNhYmxlT3BlcmF0aW9uc1JlcXVlc3QaLi5vcGVyYXRpb25zLnYxLkdldEFwcGxpY2FibGVPcGVyYXRpb25zUmVzcG9uc2UScgoVR2V0T3BlcmF0aW9uRXhlY3V0aW9uEisub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25SZXF1ZXN0Giwub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25FeGVjdXRpb25SZXNwb25zZRJ7ChhDYW5jZWxPcGVyYXRpb25FeGVjdXRpb24SLi5vcGVyYXRpb25zLnYxLkNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvblJlcXVlc3QaLy5vcGVyYXRpb25zLnYxLkNhbmNlbE9wZXJhdGlvbkV4ZWN1dGlvblJlc3BvbnNlEnUKFkdldE9wZXJhdGlvblF1b3RhVXNhZ2USLC5vcGVyYXRpb25zLnYxLkdldE9wZXJhdGlvblF1b3RhVXNhZ2VSZXF1ZXN0Gi0ub3BlcmF0aW9ucy52MS5HZXRPcGVyYXRpb25RdW90YVVzYWdlUmVzcG9uc2USYwoQR2V0U2lnbmluZ1NlY3JldBImLm9wZXJhdGlvbnMudjEuR2V0U2lnbmluZ1NlY3JldFJlcXVlc3QaJy5vcGVyYXRpb25zLnYxLkdldFNpZ25pbmdTZWNyZXRSZXNwb25zZRJsChNHZXRTaWduaW5nU2VjcmV0UmF3Eikub3BlcmF0aW9ucy52MS5HZXRTaWduaW5nU2VjcmV0UmF3UmVxdWVzdBoqLm9wZXJhdGlvbnMudjEuR2V0U2lnbmluZ1NlY3JldFJhd1Jlc3BvbnNlEngKF1JlZ2VuZXJhdGVTaWduaW5nU2VjcmV0Ei0ub3BlcmF0aW9ucy52MS5SZWdlbmVyYXRlU2lnbmluZ1NlY3JldFJlcXVlc3QaLi5vcGVyYXRpb25zLnYxLlJlZ2VuZXJhdGVTaWduaW5nU2VjcmV0UmVzcG9uc2VCQVo/Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL29wZXJhdGlvbnMvdjE7b3BlcmF0aW9uc3YxYgZwcm90bzM", [file_google_protobuf_struct, file_google_protobuf_timestamp]);
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Describes the message operations.v1.Operation.
|
|
@@ -3992,9 +3992,9 @@ export declare const ProjectSchemaExperimentSchema: GenMessage<ProjectSchemaExpe
|
|
|
3992
3992
|
*/
|
|
3993
3993
|
export declare type ProjectSchemaProfileSchema = Message<"settings.v1.ProjectSchemaProfileSchema"> & {
|
|
3994
3994
|
/**
|
|
3995
|
-
* @generated from field:
|
|
3995
|
+
* @generated from field: string fields_json = 1;
|
|
3996
3996
|
*/
|
|
3997
|
-
|
|
3997
|
+
fieldsJson: string;
|
|
3998
3998
|
|
|
3999
3999
|
/**
|
|
4000
4000
|
* @generated from field: repeated string public_fields = 2;
|
|
@@ -10,7 +10,7 @@ import { file_expressions_v1_expressions } from "../../expressions/v1/expression
|
|
|
10
10
|
* Describes the file settings/v1/settings.proto.
|
|
11
11
|
*/
|
|
12
12
|
export const file_settings_v1_settings = /*@__PURE__*/
|
|
13
|
-
fileDesc("ChpzZXR0aW5ncy92MS9zZXR0aW5ncy5wcm90bxILc2V0dGluZ3MudjEiggMKB1NldHRpbmcSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhAKCGNhdGVnb3J5GAMgASgJEisKBXZhbHVlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhkKDGRpc3BsYXlfbmFtZRgFIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAYgASgJSAKIAQESEQoJZGF0YV90eXBlGAcgASgJEhEKCWlzX3B1YmxpYxgIIAEoCBIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQggKBl92YWx1ZUIPCg1fZGlzcGxheV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfcHJvamVjdF9pZCKrBAoIQXVkaXRMb2cSCgoCaWQYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIUCgd1c2VyX2lkGAMgASgJSACIAQESFgoJdGVuYW50X2lkGAQgASgJSAGIAQESFwoKcHJvamVjdF9pZBgFIAEoCUgCiAEBEg4KBmFjdGlvbhgGIAEoCRIVCg1yZXNvdXJjZV90eXBlGAcgASgJEhgKC3Jlc291cmNlX2lkGAggASgJSAOIAQESLAoGYmVmb3JlGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEisKBWFmdGVyGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEhcKCmlwX2FkZHJlc3MYDCABKAlIB4gBARIXCgp1c2VyX2FnZW50GA0gASgJSAiIAQESFwoKcmVxdWVzdF9pZBgOIAEoCUgJiAEBQgoKCF91c2VyX2lkQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCDgoMX3Jlc291cmNlX2lkQgkKB19iZWZvcmVCCAoGX2FmdGVyQgsKCV9tZXRhZGF0YUINCgtfaXBfYWRkcmVzc0INCgtfdXNlcl9hZ2VudEINCgtfcmVxdWVzdF9pZCKdBQoETm90ZRIKCgJpZBgBIAEoCRITCgtlbnRpdHlfdHlwZRgCIAEoCRIRCgllbnRpdHlfaWQYAyABKAkSHwoSZW50aXR5X25hdHVyYWxfa2V5GAQgASgJSACIAQESFwoKdmVyc2lvbl9pZBgFIAEoCUgBiAEBEigKB2NvbnRlbnQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh8KEmNvbnRlbnRfcGxhaW5fdGV4dBgHIAEoCUgCiAEBEhsKDnBhcmVudF9ub3RlX2lkGAogASgJSAOIAQESGwoOdGhyZWFkX3Jvb3RfaWQYCyABKAlIBIgBARITCgtpc19yZXNvbHZlZBgPIAEoCBI0CgtyZXNvbHZlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIYCgtyZXNvbHZlZF9ieRgRIAEoCUgGiAEBEi4KCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhEKCXRlbmFudF9pZBgeIAEoCRIXCgpwcm9qZWN0X2lkGB8gASgJSAiIAQESEgoKY3JlYXRlZF9ieRgoIAEoCRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIVChNfZW50aXR5X25hdHVyYWxfa2V5Qg0KC192ZXJzaW9uX2lkQhUKE19jb250ZW50X3BsYWluX3RleHRCEQoPX3BhcmVudF9ub3RlX2lkQhEKD190aHJlYWRfcm9vdF9pZEIOCgxfcmVzb2x2ZWRfYXRCDgoMX3Jlc29sdmVkX2J5QgsKCV9tZXRhZGF0YUINCgtfcHJvamVjdF9pZCKqBQoFU2hhcmUSCgoCaWQYASABKAkSNQoNcmVzb3VyY2VfdHlwZRgCIAEoDjIeLnNldHRpbmdzLnYxLlNoYXJlUmVzb3VyY2VUeXBlEhYKCXJlY29yZF9pZBgDIAEoCUgAiAEBEhQKB2ZpbGVfaWQYBCABKAlIAYgBARIWCgltb2RlbF9rZXkYBSABKAlIAogBARIfChdzaGFyZWRfd2l0aF9jdXN0b21lcl9pZBgGIAEoCRIwCgpwZXJtaXNzaW9uGAcgASgOMhwuc2V0dGluZ3MudjEuU2hhcmVQZXJtaXNzaW9uEigKBnN0YXR1cxgKIAEoDjIYLnNldHRpbmdzLnYxLlNoYXJlU3RhdHVzEjQKC2FjY2VwdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEjMKCmV4cGlyZXNfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgFiAEBEhcKCnJldm9rZWRfYnkYHyABKAlIBogBARIzCgpyZXZva2VkX2F0GCAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgHiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgwKCl9yZWNvcmRfaWRCCgoIX2ZpbGVfaWRCDAoKX21vZGVsX2tleUIOCgxfYWNjZXB0ZWRfYXRCDQoLX2V4cGlyZXNfYXRCDQoLX2NyZWF0ZWRfYnlCDQoLX3Jldm9rZWRfYnlCDQoLX3Jldm9rZWRfYXQiUgoSR2V0U2V0dGluZ3NSZXF1ZXN0EhUKCGNhdGVnb3J5GAEgASgJSACIAQESEAoDa2V5GAIgASgJSAGIAQFCCwoJX2NhdGVnb3J5QgYKBF9rZXkiPQoTR2V0U2V0dGluZ3NSZXNwb25zZRImCghzZXR0aW5ncxgBIAMoCzIULnNldHRpbmdzLnYxLlNldHRpbmciSwoUVXBkYXRlU2V0dGluZ1JlcXVlc3QSCwoDa2V5GAEgASgJEiYKBXZhbHVlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI+ChVVcGRhdGVTZXR0aW5nUmVzcG9uc2USJQoHc2V0dGluZxgBIAEoCzIULnNldHRpbmdzLnYxLlNldHRpbmciuwIKFExpc3RBdWRpdExvZ3NSZXF1ZXN0EhMKBmFjdGlvbhgBIAEoCUgAiAEBEhoKDXJlc291cmNlX3R5cGUYAiABKAlIAYgBARIYCgtyZXNvdXJjZV9pZBgDIAEoCUgCiAEBEhQKB3VzZXJfaWQYBCABKAlIA4gBARItCgRmcm9tGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEisKAnRvGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUIJCgdfYWN0aW9uQhAKDl9yZXNvdXJjZV90eXBlQg4KDF9yZXNvdXJjZV9pZEIKCghfdXNlcl9pZEIHCgVfZnJvbUIFCgNfdG8iSwoVTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlEiMKBGxvZ3MYASADKAsyFS5zZXR0aW5ncy52MS5BdWRpdExvZxINCgV0b3RhbBgCIAEoBSKVAQoRQ3JlYXRlTm90ZVJlcXVlc3QSEwoLZW50aXR5X3R5cGUYASABKAkSEQoJZW50aXR5X2lkGAIgASgJEigKB2NvbnRlbnQYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhsKDnBhcmVudF9ub3RlX2lkGAQgASgJSACIAQFCEQoPX3BhcmVudF9ub3RlX2lkIjUKEkNyZWF0ZU5vdGVSZXNwb25zZRIfCgRub3RlGAEgASgLMhEuc2V0dGluZ3MudjEuTm90ZSIcCg5HZXROb3RlUmVxdWVzdBIKCgJpZBgBIAEoCSIyCg9HZXROb3RlUmVzcG9uc2USHwoEbm90ZRgBIAEoCzIRLnNldHRpbmdzLnYxLk5vdGUiiQEKEExpc3ROb3Rlc1JlcXVlc3QSEwoLZW50aXR5X3R5cGUYASABKAkSEQoJZW50aXR5X2lkGAIgASgJEhsKDnBhcmVudF9ub3RlX2lkGAMgASgJSACIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQhEKD19wYXJlbnRfbm90ZV9pZCJEChFMaXN0Tm90ZXNSZXNwb25zZRIgCgVub3RlcxgBIAMoCzIRLnNldHRpbmdzLnYxLk5vdGUSDQoFdG90YWwYAiABKAUihAEKEVVwZGF0ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJEi0KB2NvbnRlbnQYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESGAoLaXNfcmVzb2x2ZWQYAyABKAhIAYgBAUIKCghfY29udGVudEIOCgxfaXNfcmVzb2x2ZWQiNQoSVXBkYXRlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIh8KEURlbGV0ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIiUKEkRlbGV0ZU5vdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqwFCgtOb3RlTWVudGlvbhIKCgJpZBgBIAEoCRIPCgdub3RlX2lkGAIgASgJEhkKEW1lbnRpb25lZF91c2VyX2lkGAMgASgJEg4KBnN0YXR1cxgEIAEoCRIwCgdzZWVuX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjgKD2Fja25vd2xlZGdlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI1Cgxjb21wbGV0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESGwoOY29tcGxldGVkX25vdGUYCCABKAlIA4gBARI1CgxkaXNtaXNzZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESGwoOZGlzbWlzc19yZWFzb24YCiABKAlIBYgBARIxCghkdWVfZGF0ZRgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBogBARIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgHiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9zZWVuX2F0QhIKEF9hY2tub3dsZWRnZWRfYXRCDwoNX2NvbXBsZXRlZF9hdEIRCg9fY29tcGxldGVkX25vdGVCDwoNX2Rpc21pc3NlZF9hdEIRCg9fZGlzbWlzc19yZWFzb25CCwoJX2R1ZV9kYXRlQg0KC19wcm9qZWN0X2lkItoBChJNZW50aW9uV2l0aENvbnRleHQSKQoHbWVudGlvbhgBIAEoCzIYLnNldHRpbmdzLnYxLk5vdGVNZW50aW9uEh8KBG5vdGUYAiABKAsyES5zZXR0aW5ncy52MS5Ob3RlEhgKC2F1dGhvcl9uYW1lGAMgASgJSACIAQESGAoLZW50aXR5X3R5cGUYBCABKAlIAYgBARIWCgllbnRpdHlfaWQYBSABKAlIAogBAUIOCgxfYXV0aG9yX25hbWVCDgoMX2VudGl0eV90eXBlQgwKCl9lbnRpdHlfaWQiTwoNTWVudGlvbkNvdW50cxIPCgdwZW5kaW5nGAEgASgFEhAKCHBhc3RfZHVlGAIgASgFEhsKE2NvbXBsZXRlZF90aGlzX3dlZWsYAyABKAUicAoVTGlzdE15TWVudGlvbnNSZXF1ZXN0Eg4KBnN0YXR1cxgBIAMoCRIYCgtlbnRpdHlfdHlwZRgCIAEoCUgAiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUIOCgxfZW50aXR5X3R5cGUigwEKFkxpc3RNeU1lbnRpb25zUmVzcG9uc2USLgoFaXRlbXMYASADKAsyHy5zZXR0aW5ncy52MS5NZW50aW9uV2l0aENvbnRleHQSDQoFdG90YWwYAiABKAUSKgoGY291bnRzGAMgASgLMhouc2V0dGluZ3MudjEuTWVudGlvbkNvdW50cyKgAQoaVXBkYXRlTWVudGlvblN0YXR1c1JlcXVlc3QSEgoKbWVudGlvbl9pZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSGwoOY29tcGxldGVkX25vdGUYAyABKAlIAIgBARIbCg5kaXNtaXNzX3JlYXNvbhgEIAEoCUgBiAEBQhEKD19jb21wbGV0ZWRfbm90ZUIRCg9fZGlzbWlzc19yZWFzb24iSAobVXBkYXRlTWVudGlvblN0YXR1c1Jlc3BvbnNlEikKB21lbnRpb24YASABKAsyGC5zZXR0aW5ncy52MS5Ob3RlTWVudGlvbiLaAQoSQ3JlYXRlU2hhcmVSZXF1ZXN0EjUKDXJlc291cmNlX3R5cGUYASABKA4yHi5zZXR0aW5ncy52MS5TaGFyZVJlc291cmNlVHlwZRIWCglyZWNvcmRfaWQYAiABKAlIAIgBARIUCgdmaWxlX2lkGAMgASgJSAGIAQESEwoLY3VzdG9tZXJfaWQYBCABKAkSMAoKcGVybWlzc2lvbhgFIAEoDjIcLnNldHRpbmdzLnYxLlNoYXJlUGVybWlzc2lvbkIMCgpfcmVjb3JkX2lkQgoKCF9maWxlX2lkIjgKE0NyZWF0ZVNoYXJlUmVzcG9uc2USIQoFc2hhcmUYASABKAsyEi5zZXR0aW5ncy52MS5TaGFyZSIdCg9HZXRTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkiNQoQR2V0U2hhcmVSZXNwb25zZRIhCgVzaGFyZRgBIAEoCzISLnNldHRpbmdzLnYxLlNoYXJlIsgBChFMaXN0U2hhcmVzUmVxdWVzdBI6Cg1yZXNvdXJjZV90eXBlGAEgASgOMh4uc2V0dGluZ3MudjEuU2hhcmVSZXNvdXJjZVR5cGVIAIgBARIWCglyZWNvcmRfaWQYAiABKAlIAYgBARIUCgdmaWxlX2lkGAMgASgJSAKIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQhAKDl9yZXNvdXJjZV90eXBlQgwKCl9yZWNvcmRfaWRCCgoIX2ZpbGVfaWQiRwoSTGlzdFNoYXJlc1Jlc3BvbnNlEiIKBnNoYXJlcxgBIAMoCzISLnNldHRpbmdzLnYxLlNoYXJlEg0KBXRvdGFsGAIgASgFIqABChJVcGRhdGVTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkSNQoKcGVybWlzc2lvbhgCIAEoDjIcLnNldHRpbmdzLnYxLlNoYXJlUGVybWlzc2lvbkgAiAEBEi0KBnN0YXR1cxgDIAEoDjIYLnNldHRpbmdzLnYxLlNoYXJlU3RhdHVzSAGIAQFCDQoLX3Blcm1pc3Npb25CCQoHX3N0YXR1cyI4ChNVcGRhdGVTaGFyZVJlc3BvbnNlEiEKBXNoYXJlGAEgASgLMhIuc2V0dGluZ3MudjEuU2hhcmUiIAoSUmV2b2tlU2hhcmVSZXF1ZXN0EgoKAmlkGAEgASgJIiYKE1Jldm9rZVNoYXJlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIgChJBY2NlcHRTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkiOAoTQWNjZXB0U2hhcmVSZXNwb25zZRIhCgVzaGFyZRgBIAEoCzISLnNldHRpbmdzLnYxLlNoYXJlIiEKE0RlY2xpbmVTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkiOQoURGVjbGluZVNoYXJlUmVzcG9uc2USIQoFc2hhcmUYASABKAsyEi5zZXR0aW5ncy52MS5TaGFyZSK/AwoGTG9jYWxlEgoKAmlkGAEgASgJEg4KBmxvY2FsZRgCIAEoCRIUCgxkaXNwbGF5X25hbWUYAyABKAkSGAoLbmF0aXZlX25hbWUYBCABKAlIAIgBARISCgppc19kZWZhdWx0GAUgASgIEhEKCWlzX2FjdGl2ZRgGIAEoCBIOCgZpc19ydGwYByABKAgSHAoPZmFsbGJhY2tfbG9jYWxlGAggASgJSAGIAQESGQoRZmFsbGJhY2tfcHJpb3JpdHkYCSABKAUSEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgCiAEBEhcKCnVwZGF0ZWRfYnkYHyABKAlIA4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfbmF0aXZlX25hbWVCEgoQX2ZhbGxiYWNrX2xvY2FsZUINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSJnChJMaXN0TG9jYWxlc1JlcXVlc3QSHQoQaW5jbHVkZV9pbmFjdGl2ZRgBIAEoCEgAiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUITChFfaW5jbHVkZV9pbmFjdGl2ZSJKChNMaXN0TG9jYWxlc1Jlc3BvbnNlEiQKB2xvY2FsZXMYASADKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUSDQoFdG90YWwYAiABKAUiHgoQR2V0TG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCSI4ChFHZXRMb2NhbGVSZXNwb25zZRIjCgZsb2NhbGUYASABKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUi3wEKE0NyZWF0ZUxvY2FsZVJlcXVlc3QSDgoGbG9jYWxlGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRIYCgtuYXRpdmVfbmFtZRgDIAEoCUgAiAEBEhcKCmlzX2RlZmF1bHQYBCABKAhIAYgBARITCgZpc19ydGwYBSABKAhIAogBARIcCg9mYWxsYmFja19sb2NhbGUYBiABKAlIA4gBAUIOCgxfbmF0aXZlX25hbWVCDQoLX2lzX2RlZmF1bHRCCQoHX2lzX3J0bEISChBfZmFsbGJhY2tfbG9jYWxlIjsKFENyZWF0ZUxvY2FsZVJlc3BvbnNlEiMKBmxvY2FsZRgBIAEoCzITLnNldHRpbmdzLnYxLkxvY2FsZSKXAgoTVXBkYXRlTG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCRIZCgxkaXNwbGF5X25hbWUYAiABKAlIAIgBARIYCgtuYXRpdmVfbmFtZRgDIAEoCUgBiAEBEhcKCmlzX2RlZmF1bHQYBCABKAhIAogBARIWCglpc19hY3RpdmUYBSABKAhIA4gBARITCgZpc19ydGwYBiABKAhIBIgBARIcCg9mYWxsYmFja19sb2NhbGUYByABKAlIBYgBAUIPCg1fZGlzcGxheV9uYW1lQg4KDF9uYXRpdmVfbmFtZUINCgtfaXNfZGVmYXVsdEIMCgpfaXNfYWN0aXZlQgkKB19pc19ydGxCEgoQX2ZhbGxiYWNrX2xvY2FsZSI7ChRVcGRhdGVMb2NhbGVSZXNwb25zZRIjCgZsb2NhbGUYASABKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUiIQoTRGVsZXRlTG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCSInChREZWxldGVMb2NhbGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIpQBCg5OYXZQcmVmZXJlbmNlcxIZChFmYXZvcml0ZV9wcm9qZWN0cxgBIAMoCRIaChJmYXZvcml0ZV9uYXZfaXRlbXMYAiADKAkSGgoSY29sbGFwc2VkX3NlY3Rpb25zGAMgAygJEi8KDm5hdl9pdGVtX29yZGVyGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIaChhHZXROYXZQcmVmZXJlbmNlc1JlcXVlc3QiTQoZR2V0TmF2UHJlZmVyZW5jZXNSZXNwb25zZRIwCgtwcmVmZXJlbmNlcxgBIAEoCzIbLnNldHRpbmdzLnYxLk5hdlByZWZlcmVuY2VzIvwBChtVcGRhdGVOYXZQcmVmZXJlbmNlc1JlcXVlc3QSNQoLcHJlZmVyZW5jZXMYASABKAsyGy5zZXR0aW5ncy52MS5OYXZQcmVmZXJlbmNlc0gAiAEBEh4KEXRvZ2dsZV9wcm9qZWN0X2lkGAIgASgJSAGIAQESHAoPdG9nZ2xlX25hdl9pdGVtGAMgASgJSAKIAQESGwoOdG9nZ2xlX3NlY3Rpb24YBCABKAlIA4gBAUIOCgxfcHJlZmVyZW5jZXNCFAoSX3RvZ2dsZV9wcm9qZWN0X2lkQhIKEF90b2dnbGVfbmF2X2l0ZW1CEQoPX3RvZ2dsZV9zZWN0aW9uIlAKHFVwZGF0ZU5hdlByZWZlcmVuY2VzUmVzcG9uc2USMAoLcHJlZmVyZW5jZXMYASABKAsyGy5zZXR0aW5ncy52MS5OYXZQcmVmZXJlbmNlcyJeChJSZWNlbnRseU9wZW5lZEl0ZW0SDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRINCgVsYWJlbBgDIAEoCRIMCgRwYXRoGAQgASgJEhEKCXRpbWVzdGFtcBgFIAEoAyIqChlMaXN0UmVjZW50bHlPcGVuZWRSZXF1ZXN0Eg0KBWxpbWl0GAEgASgFIkwKGkxpc3RSZWNlbnRseU9wZW5lZFJlc3BvbnNlEi4KBWl0ZW1zGAEgAygLMh8uc2V0dGluZ3MudjEuUmVjZW50bHlPcGVuZWRJdGVtIlMKGlRyYWNrUmVjZW50bHlPcGVuZWRSZXF1ZXN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkSDQoFbGFiZWwYAyABKAkSDAoEcGF0aBgEIAEoCSIuChtUcmFja1JlY2VudGx5T3BlbmVkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCI3ChtSZW1vdmVSZWNlbnRseU9wZW5lZFJlcXVlc3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCSIvChxSZW1vdmVSZWNlbnRseU9wZW5lZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiHAoaQ2xlYXJSZWNlbnRseU9wZW5lZFJlcXVlc3QiLgobQ2xlYXJSZWNlbnRseU9wZW5lZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgimwQKEENvbnRleHREaW1lbnNpb24SCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBG5hbWUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARITCgtzb3VyY2VfdHlwZRgFIAEoCRIYChBzb3VyY2VfbW9kZWxfa2V5GAYgASgJEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgHIAEoCUgBiAEBEhEKCWlzX3N5c3RlbRgIIAEoCBIXCg9idWlsdF9pbl92YWx1ZXMYCSADKAkSEQoJZGF0YV90eXBlGAogASgJEhAKCGNhdGVnb3J5GAsgASgJEhMKC2lzX3JlcXVpcmVkGAwgASgIEhIKCnNvcnRfb3JkZXIYDSABKAUSEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgCiAEBEhcKCnVwZGF0ZWRfYnkYHyABKAlIA4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CFQoTX2RlZmF1bHRfcmVjb3JkX2tleUINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSIzChVDb250ZXh0RGltZW5zaW9uVmFsdWUSCwoDa2V5GAEgASgJEg0KBWxhYmVsGAIgASgJIl0KHExpc3RDb250ZXh0RGltZW5zaW9uc1JlcXVlc3QSEwoGc2VhcmNoGAEgASgJSACIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zZWFyY2giYQodTGlzdENvbnRleHREaW1lbnNpb25zUmVzcG9uc2USMQoKZGltZW5zaW9ucxgBIAMoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24SDQoFdG90YWwYAiABKAUiKAoaR2V0Q29udGV4dERpbWVuc2lvblJlcXVlc3QSCgoCaWQYASABKAkiTwobR2V0Q29udGV4dERpbWVuc2lvblJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24iywEKHUNyZWF0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEwoLc291cmNlX3R5cGUYBCABKAkSGAoQc291cmNlX21vZGVsX2tleRgFIAEoCRIfChJkZWZhdWx0X3JlY29yZF9rZXkYBiABKAlIAYgBAUIOCgxfZGVzY3JpcHRpb25CFQoTX2RlZmF1bHRfcmVjb3JkX2tleSJSCh5DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiLdAQodVXBkYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESHQoQc291cmNlX21vZGVsX2tleRgEIAEoCUgCiAEBEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgFIAEoCUgDiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkITChFfc291cmNlX21vZGVsX2tleUIVChNfZGVmYXVsdF9yZWNvcmRfa2V5IlIKHlVwZGF0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uIisKHURlbGV0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIjEKHkRlbGV0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIngKIEdldENvbnRleHREaW1lbnNpb25WYWx1ZXNSZXF1ZXN0EhUKDWRpbWVuc2lvbl9rZXkYASABKAkSEwoGc2VhcmNoGAIgASgJSACIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zZWFyY2giZgohR2V0Q29udGV4dERpbWVuc2lvblZhbHVlc1Jlc3BvbnNlEjIKBnZhbHVlcxgBIAMoCzIiLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb25WYWx1ZRINCgV0b3RhbBgCIAEoBSLnAQoUQ3VzdG9tZXJQcm9maWxlRmllbGQSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBHR5cGUYAyABKAkSDQoFbGFiZWwYBCABKAkSEAoIcmVxdWlyZWQYBSABKAgSFgoJaGVscF90ZXh0GAYgASgJSACIAQESGAoLcGxhY2Vob2xkZXIYByABKAlIAYgBARIsCgZjb25maWcYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQFCDAoKX2hlbHBfdGV4dEIOCgxfcGxhY2Vob2xkZXJCCQoHX2NvbmZpZyLeAQoVQ3VzdG9tZXJQcm9maWxlU2NoZW1hEgoKAmlkGAEgASgJEjEKBmZpZWxkcxgCIAMoCzIhLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZUZpZWxkEhUKDXB1YmxpY19maWVsZHMYAyADKAkSDwoHdmVyc2lvbhgEIAEoBRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIhCh9HZXRDdXN0b21lclByb2ZpbGVTY2hlbWFSZXF1ZXN0IlYKIEdldEN1c3RvbWVyUHJvZmlsZVNjaGVtYVJlc3BvbnNlEjIKBnNjaGVtYRgBIAEoCzIiLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZVNjaGVtYSKgBAoTVmFyaWFudENhdGFsb2dFbnRyeRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEjwKD3RhcmdldGluZ19ydWxlcxgFIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAGIAQESEAoIcHJpb3JpdHkYBiABKAUSEgoKaXNfZGVmYXVsdBgHIAEoCBIRCglpc19hY3RpdmUYCCABKAgSGgoNZXhwZXJpbWVudF9pZBgJIAEoCUgCiAEBEhgKC2ZhbGxiYWNrX2lkGAogASgJSAOIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgEiAEBEhcKCnVwZGF0ZWRfYnkYHyABKAlIBYgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CEgoQX3RhcmdldGluZ19ydWxlc0IQCg5fZXhwZXJpbWVudF9pZEIOCgxfZmFsbGJhY2tfaWRCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnkiYAoZTGlzdFZhcmlhbnRDYXRhbG9nUmVxdWVzdBIWCglpc19hY3RpdmUYASABKAhIAIgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCDAoKX2lzX2FjdGl2ZSJeChpMaXN0VmFyaWFudENhdGFsb2dSZXNwb25zZRIxCgdlbnRyaWVzGAEgAygLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeRINCgV0b3RhbBgCIAEoBSIrCh1HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBIKCgJpZBgBIAEoCSJRCh5HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IqsCCiBDcmVhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjwKD3RhcmdldGluZ19ydWxlcxgEIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAGIAQESFQoIcHJpb3JpdHkYBSABKAVIAogBARIXCgppc19kZWZhdWx0GAYgASgISAOIAQESFgoJaXNfYWN0aXZlGAcgASgISASIAQFCDgoMX2Rlc2NyaXB0aW9uQhIKEF90YXJnZXRpbmdfcnVsZXNCCwoJX3ByaW9yaXR5Qg0KC19pc19kZWZhdWx0QgwKCl9pc19hY3RpdmUiVAohQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEi8KBWVudHJ5GAEgASgLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeSK4AgogVXBkYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESPAoPdGFyZ2V0aW5nX3J1bGVzGAQgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IAogBARIVCghwcmlvcml0eRgFIAEoBUgDiAEBEhcKCmlzX2RlZmF1bHQYBiABKAhIBIgBARIWCglpc19hY3RpdmUYByABKAhIBYgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CEgoQX3RhcmdldGluZ19ydWxlc0ILCglfcHJpb3JpdHlCDQoLX2lzX2RlZmF1bHRCDAoKX2lzX2FjdGl2ZSJUCiFVcGRhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5Ii4KIERlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIjQKIURlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjAKGUdldEN1c3RvbWVyUHJvZmlsZVJlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkiQwoaR2V0Q3VzdG9tZXJQcm9maWxlUmVzcG9uc2USJQoEZGF0YRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVwoZU2V0Q3VzdG9tZXJQcm9maWxlUmVxdWVzdBITCgtjdXN0b21lcl9pZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCItChpTZXRDdXN0b21lclByb2ZpbGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIm4KIlVwZGF0ZUN1c3RvbWVyUHJvZmlsZVNjaGVtYVJlcXVlc3QSMQoGZmllbGRzGAEgAygLMiEuc2V0dGluZ3MudjEuQ3VzdG9tZXJQcm9maWxlRmllbGQSFQoNcHVibGljX2ZpZWxkcxgCIAMoCSJZCiNVcGRhdGVDdXN0b21lclByb2ZpbGVTY2hlbWFSZXNwb25zZRIyCgZzY2hlbWEYASABKAsyIi5zZXR0aW5ncy52MS5DdXN0b21lclByb2ZpbGVTY2hlbWEiUwoVQ3VzdG9tZXJQcm9maWxlUmVzdWx0EhMKC2N1c3RvbWVyX2lkGAEgASgJEiUKBGRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ik0KHVNlYXJjaEN1c3RvbWVyUHJvZmlsZXNSZXF1ZXN0Eg0KBXF1ZXJ5GAEgASgJEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBSJkCh5TZWFyY2hDdXN0b21lclByb2ZpbGVzUmVzcG9uc2USMwoHcmVzdWx0cxgBIAMoCzIiLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZVJlc3VsdBINCgV0b3RhbBgCIAEoBSIzChxEZWxldGVDdXN0b21lclByb2ZpbGVSZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJIjAKHURlbGV0ZUN1c3RvbWVyUHJvZmlsZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiPQomR2V0Q3VzdG9tZXJSZXNvbHV0aW9uQXR0cmlidXRlc1JlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkiWQoTUmVzb2x1dGlvbkF0dHJpYnV0ZRILCgNrZXkYASABKAkSNQoGdmFsdWVzGAIgAygLMiUuc2V0dGluZ3MudjEuUmVzb2x1dGlvbkF0dHJpYnV0ZVZhbHVlIoABChhSZXNvbHV0aW9uQXR0cmlidXRlVmFsdWUSDQoFdmFsdWUYASABKAkSDQoFY291bnQYAiABKAUSNQoMbGFzdF9zZWVuX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg8KDV9sYXN0X3NlZW5fYXQijAIKJ0dldEN1c3RvbWVyUmVzb2x1dGlvbkF0dHJpYnV0ZXNSZXNwb25zZRIZChF0b3RhbF9yZXNvbHV0aW9ucxgBIAEoBRI0CgphdHRyaWJ1dGVzGAIgAygLMiAuc2V0dGluZ3MudjEuUmVzb2x1dGlvbkF0dHJpYnV0ZRI2Cg1maXJzdF9zZWVuX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjUKDGxhc3Rfc2Vlbl9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBAUIQCg5fZmlyc3Rfc2Vlbl9hdEIPCg1fbGFzdF9zZWVuX2F0IiwKF0dldEVkaXRvckNvbmZpZ3NSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCSLAAgoVRWRpdG9yQ29uZmlnUGxhY2VtZW50EhEKCWNvbmZpZ19pZBgBIAEoCRISCgpjb25maWdfa2V5GAIgASgJEhAKA3VybBgDIAEoCUgAiAEBEhsKDmFsbG93ZWRfb3JpZ2luGAQgASgJSAGIAQESEwoGaGVpZ2h0GAUgASgFSAKIAQESEgoFbGFiZWwYBiABKAlIA4gBARIUCgdhcGlfa2V5GAcgASgJSASIAQESFAoHYXBpX3VybBgIIAEoCUgFiAEBEh4KEWNvbm5lY3Rpb25fZG9tYWluGAkgASgJSAaIAQFCBgoEX3VybEIRCg9fYWxsb3dlZF9vcmlnaW5CCQoHX2hlaWdodEIICgZfbGFiZWxCCgoIX2FwaV9rZXlCCgoIX2FwaV91cmxCFAoSX2Nvbm5lY3Rpb25fZG9tYWluIlIKGEdldEVkaXRvckNvbmZpZ3NSZXNwb25zZRI2CgpwbGFjZW1lbnRzGAEgAygLMiIuc2V0dGluZ3MudjEuRWRpdG9yQ29uZmlnUGxhY2VtZW50IuUDCgtFbWFpbEFjdGlvbhIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEh8KEnJlc2VuZF90ZW1wbGF0ZV9pZBgFIAEoCUgBiAEBEhkKDGRlZmF1bHRfZnJvbRgGIAEoCUgCiAEBEhwKD2RlZmF1bHRfc3ViamVjdBgHIAEoCUgDiAEBEjEKC2N1c3RvbV9kYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEhEKCWlzX2FjdGl2ZRgJIAEoCBIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgFiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkIVChNfcmVzZW5kX3RlbXBsYXRlX2lkQg8KDV9kZWZhdWx0X2Zyb21CEgoQX2RlZmF1bHRfc3ViamVjdEIOCgxfY3VzdG9tX2RhdGFCDQoLX3Byb2plY3RfaWQiOAoXTGlzdEVtYWlsQWN0aW9uc1JlcXVlc3QSDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFIlQKGExpc3RFbWFpbEFjdGlvbnNSZXNwb25zZRIpCgdhY3Rpb25zGAEgAygLMhguc2V0dGluZ3MudjEuRW1haWxBY3Rpb24SDQoFdG90YWwYAiABKAUiJAoVR2V0RW1haWxBY3Rpb25SZXF1ZXN0EgsKA2tleRgBIAEoCSJCChZHZXRFbWFpbEFjdGlvblJlc3BvbnNlEigKBmFjdGlvbhgBIAEoCzIYLnNldHRpbmdzLnYxLkVtYWlsQWN0aW9uIqYCChhVcGRhdGVFbWFpbEFjdGlvblJlcXVlc3QSCwoDa2V5GAEgASgJEh8KEnJlc2VuZF90ZW1wbGF0ZV9pZBgCIAEoCUgAiAEBEhkKDGRlZmF1bHRfZnJvbRgDIAEoCUgBiAEBEhwKD2RlZmF1bHRfc3ViamVjdBgEIAEoCUgCiAEBEjEKC2N1c3RvbV9kYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEhYKCWlzX2FjdGl2ZRgGIAEoCEgEiAEBQhUKE19yZXNlbmRfdGVtcGxhdGVfaWRCDwoNX2RlZmF1bHRfZnJvbUISChBfZGVmYXVsdF9zdWJqZWN0Qg4KDF9jdXN0b21fZGF0YUIMCgpfaXNfYWN0aXZlIkUKGVVwZGF0ZUVtYWlsQWN0aW9uUmVzcG9uc2USKAoGYWN0aW9uGAEgASgLMhguc2V0dGluZ3MudjEuRW1haWxBY3Rpb24iKgoOUmVzZW5kVGVtcGxhdGUSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCSIcChpMaXN0UmVzZW5kVGVtcGxhdGVzUmVxdWVzdCJNChtMaXN0UmVzZW5kVGVtcGxhdGVzUmVzcG9uc2USLgoJdGVtcGxhdGVzGAEgAygLMhsuc2V0dGluZ3MudjEuUmVzZW5kVGVtcGxhdGUiIAoSUmVzb2x2ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIjYKE1Jlc29sdmVOb3RlUmVzcG9uc2USHwoEbm90ZRgBIAEoCzIRLnNldHRpbmdzLnYxLk5vdGUiIgoUVW5yZXNvbHZlTm90ZVJlcXVlc3QSCgoCaWQYASABKAkiOAoVVW5yZXNvbHZlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlImwKElNlYXJjaE5vdGVzUmVxdWVzdBINCgVxdWVyeRgBIAEoCRIYCgtlbnRpdHlfdHlwZRgCIAEoCUgAiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUIOCgxfZW50aXR5X3R5cGUiRgoTU2VhcmNoTm90ZXNSZXNwb25zZRIgCgVub3RlcxgBIAMoCzIRLnNldHRpbmdzLnYxLk5vdGUSDQoFdG90YWwYAiABKAUiGQoXTWFya01lbnRpb25zU2VlblJlcXVlc3QiKQoYTWFya01lbnRpb25zU2VlblJlc3BvbnNlEg0KBWNvdW50GAEgASgFIi4KH0dldENvbnRleHREaW1lbnNpb25CeUtleVJlcXVlc3QSCwoDa2V5GAEgASgJIlQKIEdldENvbnRleHREaW1lbnNpb25CeUtleVJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24iGQoXR2V0RGVmYXVsdExvY2FsZVJlcXVlc3QiPwoYR2V0RGVmYXVsdExvY2FsZVJlc3BvbnNlEiMKBmxvY2FsZRgBIAEoCzITLnNldHRpbmdzLnYxLkxvY2FsZSImChZHZXRMb2NhbGVCeUNvZGVSZXF1ZXN0EgwKBGNvZGUYASABKAkiPgoXR2V0TG9jYWxlQnlDb2RlUmVzcG9uc2USIwoGbG9jYWxlGAEgASgLMhMuc2V0dGluZ3MudjEuTG9jYWxlIiYKJEdldERlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdCJYCiVHZXREZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEi8KBWVudHJ5GAEgASgLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeSIjChREZWxldGVTZXR0aW5nUmVxdWVzdBILCgNrZXkYASABKAkiKAoVRGVsZXRlU2V0dGluZ1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiMwofRGVsZXRlU2V0dGluZ3NCeUNhdGVnb3J5UmVxdWVzdBIQCghjYXRlZ29yeRgBIAEoCSIxCiBEZWxldGVTZXR0aW5nc0J5Q2F0ZWdvcnlSZXNwb25zZRINCgVjb3VudBgBIAEoBSJNChZCdWxrU2V0U2V0dGluZ3NSZXF1ZXN0EjMKCHNldHRpbmdzGAEgAygLMiEuc2V0dGluZ3MudjEuVXBkYXRlU2V0dGluZ1JlcXVlc3QiKAoXQnVsa1NldFNldHRpbmdzUmVzcG9uc2USDQoFY291bnQYASABKAUiKQonRW5zdXJlRGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0IlsKKEVuc3VyZURlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IhkKF0dldFByb2plY3RTY2hlbWFSZXF1ZXN0ImUKElByb2plY3RTY2hlbWFNb2RlbBIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRITCgtmaWVsZHNfanNvbhgEIAEoCRITCgtjb25maWdfanNvbhgFIAEoCSLCAQodUHJvamVjdFNjaGVtYUNvbnRleHREaW1lbnNpb24SCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBG5hbWUYAyABKAkSHQoQc291cmNlX21vZGVsX2tleRgEIAEoCUgAiAEBEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgFIAEoCUgBiAEBEg4KBnZhbHVlcxgGIAMoCUITChFfc291cmNlX21vZGVsX2tleUIVChNfZGVmYXVsdF9yZWNvcmRfa2V5IlUKGVByb2plY3RTY2hlbWFBdXRoUHJvdmlkZXISCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSDAoEdHlwZRgDIAEoCRIPCgdlbmFibGVkGAQgASgIIuUBChZQcm9qZWN0U2NoZW1hT3BlcmF0aW9uEgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhAKCGVuZHBvaW50GAMgASgJEhIKCnRpbWVvdXRfbXMYBCABKAUSMgoMaW5wdXRfc2NoZW1hGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEjMKDW91dHB1dF9zY2hlbWEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQFCDwoNX2lucHV0X3NjaGVtYUIQCg5fb3V0cHV0X3NjaGVtYSJEChRQcm9qZWN0U2NoZW1hU2VnbWVudBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIRCglpc19hY3RpdmUYAyABKAgibwoXUHJvamVjdFNjaGVtYUV4cGVyaW1lbnQSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSDgoGc3RhdHVzGAMgASgJEikKCHZhcmlhbnRzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJtChpQcm9qZWN0U2NoZW1hUHJvZmlsZVNjaGVtYRInCgZmaWVsZHMYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhUKDXB1YmxpY19maWVsZHMYAiADKAkSDwoHdmVyc2lvbhgDIAEoBSLNAwoYR2V0UHJvamVjdFNjaGVtYVJlc3BvbnNlEi8KBm1vZGVscxgBIAMoCzIfLnNldHRpbmdzLnYxLlByb2plY3RTY2hlbWFNb2RlbBI+CgpkaW1lbnNpb25zGAIgAygLMiouc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYUNvbnRleHREaW1lbnNpb24SPgoOYXV0aF9wcm92aWRlcnMYAyADKAsyJi5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hQXV0aFByb3ZpZGVyEjcKCm9wZXJhdGlvbnMYBCADKAsyIy5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hT3BlcmF0aW9uEjMKCHNlZ21lbnRzGAUgAygLMiEuc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYVNlZ21lbnQSOQoLZXhwZXJpbWVudHMYBiADKAsyJC5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hRXhwZXJpbWVudBJECg5wcm9maWxlX3NjaGVtYRgHIAEoCzInLnNldHRpbmdzLnYxLlByb2plY3RTY2hlbWFQcm9maWxlU2NoZW1hSACIAQFCEQoPX3Byb2ZpbGVfc2NoZW1hKnYKEVNoYXJlUmVzb3VyY2VUeXBlEiMKH1NIQVJFX1JFU09VUkNFX1RZUEVfVU5TUEVDSUZJRUQQABIeChpTSEFSRV9SRVNPVVJDRV9UWVBFX1JFQ09SRBABEhwKGFNIQVJFX1JFU09VUkNFX1RZUEVfRklMRRACKoUBCg9TaGFyZVBlcm1pc3Npb24SIAocU0hBUkVfUEVSTUlTU0lPTl9VTlNQRUNJRklFRBAAEhkKFVNIQVJFX1BFUk1JU1NJT05fVklFVxABEhkKFVNIQVJFX1BFUk1JU1NJT05fRURJVBACEhoKFlNIQVJFX1BFUk1JU1NJT05fQURNSU4QAyp7CgtTaGFyZVN0YXR1cxIcChhTSEFSRV9TVEFUVVNfVU5TUEVDSUZJRUQQABIYChRTSEFSRV9TVEFUVVNfUEVORElORxABEhkKFVNIQVJFX1NUQVRVU19BQ0NFUFRFRBACEhkKFVNIQVJFX1NUQVRVU19ERUNMSU5FRBADMoYyCg9TZXR0aW5nc1NlcnZpY2USUAoLR2V0U2V0dGluZ3MSHy5zZXR0aW5ncy52MS5HZXRTZXR0aW5nc1JlcXVlc3QaIC5zZXR0aW5ncy52MS5HZXRTZXR0aW5nc1Jlc3BvbnNlElYKDVVwZGF0ZVNldHRpbmcSIS5zZXR0aW5ncy52MS5VcGRhdGVTZXR0aW5nUmVxdWVzdBoiLnNldHRpbmdzLnYxLlVwZGF0ZVNldHRpbmdSZXNwb25zZRJWCg1EZWxldGVTZXR0aW5nEiEuc2V0dGluZ3MudjEuRGVsZXRlU2V0dGluZ1JlcXVlc3QaIi5zZXR0aW5ncy52MS5EZWxldGVTZXR0aW5nUmVzcG9uc2USdwoYRGVsZXRlU2V0dGluZ3NCeUNhdGVnb3J5Eiwuc2V0dGluZ3MudjEuRGVsZXRlU2V0dGluZ3NCeUNhdGVnb3J5UmVxdWVzdBotLnNldHRpbmdzLnYxLkRlbGV0ZVNldHRpbmdzQnlDYXRlZ29yeVJlc3BvbnNlElwKD0J1bGtTZXRTZXR0aW5ncxIjLnNldHRpbmdzLnYxLkJ1bGtTZXRTZXR0aW5nc1JlcXVlc3QaJC5zZXR0aW5ncy52MS5CdWxrU2V0U2V0dGluZ3NSZXNwb25zZRJWCg1MaXN0QXVkaXRMb2dzEiEuc2V0dGluZ3MudjEuTGlzdEF1ZGl0TG9nc1JlcXVlc3QaIi5zZXR0aW5ncy52MS5MaXN0QXVkaXRMb2dzUmVzcG9uc2USTQoKQ3JlYXRlTm90ZRIeLnNldHRpbmdzLnYxLkNyZWF0ZU5vdGVSZXF1ZXN0Gh8uc2V0dGluZ3MudjEuQ3JlYXRlTm90ZVJlc3BvbnNlEkQKB0dldE5vdGUSGy5zZXR0aW5ncy52MS5HZXROb3RlUmVxdWVzdBocLnNldHRpbmdzLnYxLkdldE5vdGVSZXNwb25zZRJKCglMaXN0Tm90ZXMSHS5zZXR0aW5ncy52MS5MaXN0Tm90ZXNSZXF1ZXN0Gh4uc2V0dGluZ3MudjEuTGlzdE5vdGVzUmVzcG9uc2USTQoKVXBkYXRlTm90ZRIeLnNldHRpbmdzLnYxLlVwZGF0ZU5vdGVSZXF1ZXN0Gh8uc2V0dGluZ3MudjEuVXBkYXRlTm90ZVJlc3BvbnNlEk0KCkRlbGV0ZU5vdGUSHi5zZXR0aW5ncy52MS5EZWxldGVOb3RlUmVxdWVzdBofLnNldHRpbmdzLnYxLkRlbGV0ZU5vdGVSZXNwb25zZRJQCgtSZXNvbHZlTm90ZRIfLnNldHRpbmdzLnYxLlJlc29sdmVOb3RlUmVxdWVzdBogLnNldHRpbmdzLnYxLlJlc29sdmVOb3RlUmVzcG9uc2USVgoNVW5yZXNvbHZlTm90ZRIhLnNldHRpbmdzLnYxLlVucmVzb2x2ZU5vdGVSZXF1ZXN0GiIuc2V0dGluZ3MudjEuVW5yZXNvbHZlTm90ZVJlc3BvbnNlElAKC1NlYXJjaE5vdGVzEh8uc2V0dGluZ3MudjEuU2VhcmNoTm90ZXNSZXF1ZXN0GiAuc2V0dGluZ3MudjEuU2VhcmNoTm90ZXNSZXNwb25zZRJZCg5MaXN0TXlNZW50aW9ucxIiLnNldHRpbmdzLnYxLkxpc3RNeU1lbnRpb25zUmVxdWVzdBojLnNldHRpbmdzLnYxLkxpc3RNeU1lbnRpb25zUmVzcG9uc2USaAoTVXBkYXRlTWVudGlvblN0YXR1cxInLnNldHRpbmdzLnYxLlVwZGF0ZU1lbnRpb25TdGF0dXNSZXF1ZXN0Giguc2V0dGluZ3MudjEuVXBkYXRlTWVudGlvblN0YXR1c1Jlc3BvbnNlEl8KEE1hcmtNZW50aW9uc1NlZW4SJC5zZXR0aW5ncy52MS5NYXJrTWVudGlvbnNTZWVuUmVxdWVzdBolLnNldHRpbmdzLnYxLk1hcmtNZW50aW9uc1NlZW5SZXNwb25zZRJQCgtMaXN0TG9jYWxlcxIfLnNldHRpbmdzLnYxLkxpc3RMb2NhbGVzUmVxdWVzdBogLnNldHRpbmdzLnYxLkxpc3RMb2NhbGVzUmVzcG9uc2USSgoJR2V0TG9jYWxlEh0uc2V0dGluZ3MudjEuR2V0TG9jYWxlUmVxdWVzdBoeLnNldHRpbmdzLnYxLkdldExvY2FsZVJlc3BvbnNlEl8KEEdldERlZmF1bHRMb2NhbGUSJC5zZXR0aW5ncy52MS5HZXREZWZhdWx0TG9jYWxlUmVxdWVzdBolLnNldHRpbmdzLnYxLkdldERlZmF1bHRMb2NhbGVSZXNwb25zZRJcCg9HZXRMb2NhbGVCeUNvZGUSIy5zZXR0aW5ncy52MS5HZXRMb2NhbGVCeUNvZGVSZXF1ZXN0GiQuc2V0dGluZ3MudjEuR2V0TG9jYWxlQnlDb2RlUmVzcG9uc2USUwoMQ3JlYXRlTG9jYWxlEiAuc2V0dGluZ3MudjEuQ3JlYXRlTG9jYWxlUmVxdWVzdBohLnNldHRpbmdzLnYxLkNyZWF0ZUxvY2FsZVJlc3BvbnNlElMKDFVwZGF0ZUxvY2FsZRIgLnNldHRpbmdzLnYxLlVwZGF0ZUxvY2FsZVJlcXVlc3QaIS5zZXR0aW5ncy52MS5VcGRhdGVMb2NhbGVSZXNwb25zZRJTCgxEZWxldGVMb2NhbGUSIC5zZXR0aW5ncy52MS5EZWxldGVMb2NhbGVSZXF1ZXN0GiEuc2V0dGluZ3MudjEuRGVsZXRlTG9jYWxlUmVzcG9uc2USYgoRR2V0TmF2UHJlZmVyZW5jZXMSJS5zZXR0aW5ncy52MS5HZXROYXZQcmVmZXJlbmNlc1JlcXVlc3QaJi5zZXR0aW5ncy52MS5HZXROYXZQcmVmZXJlbmNlc1Jlc3BvbnNlEmsKFFVwZGF0ZU5hdlByZWZlcmVuY2VzEiguc2V0dGluZ3MudjEuVXBkYXRlTmF2UHJlZmVyZW5jZXNSZXF1ZXN0Gikuc2V0dGluZ3MudjEuVXBkYXRlTmF2UHJlZmVyZW5jZXNSZXNwb25zZRJlChJMaXN0UmVjZW50bHlPcGVuZWQSJi5zZXR0aW5ncy52MS5MaXN0UmVjZW50bHlPcGVuZWRSZXF1ZXN0Gicuc2V0dGluZ3MudjEuTGlzdFJlY2VudGx5T3BlbmVkUmVzcG9uc2USaAoTVHJhY2tSZWNlbnRseU9wZW5lZBInLnNldHRpbmdzLnYxLlRyYWNrUmVjZW50bHlPcGVuZWRSZXF1ZXN0Giguc2V0dGluZ3MudjEuVHJhY2tSZWNlbnRseU9wZW5lZFJlc3BvbnNlEmsKFFJlbW92ZVJlY2VudGx5T3BlbmVkEiguc2V0dGluZ3MudjEuUmVtb3ZlUmVjZW50bHlPcGVuZWRSZXF1ZXN0Gikuc2V0dGluZ3MudjEuUmVtb3ZlUmVjZW50bHlPcGVuZWRSZXNwb25zZRJoChNDbGVhclJlY2VudGx5T3BlbmVkEicuc2V0dGluZ3MudjEuQ2xlYXJSZWNlbnRseU9wZW5lZFJlcXVlc3QaKC5zZXR0aW5ncy52MS5DbGVhclJlY2VudGx5T3BlbmVkUmVzcG9uc2USUAoLQ3JlYXRlU2hhcmUSHy5zZXR0aW5ncy52MS5DcmVhdGVTaGFyZVJlcXVlc3QaIC5zZXR0aW5ncy52MS5DcmVhdGVTaGFyZVJlc3BvbnNlEkcKCEdldFNoYXJlEhwuc2V0dGluZ3MudjEuR2V0U2hhcmVSZXF1ZXN0Gh0uc2V0dGluZ3MudjEuR2V0U2hhcmVSZXNwb25zZRJNCgpMaXN0U2hhcmVzEh4uc2V0dGluZ3MudjEuTGlzdFNoYXJlc1JlcXVlc3QaHy5zZXR0aW5ncy52MS5MaXN0U2hhcmVzUmVzcG9uc2USUAoLVXBkYXRlU2hhcmUSHy5zZXR0aW5ncy52MS5VcGRhdGVTaGFyZVJlcXVlc3QaIC5zZXR0aW5ncy52MS5VcGRhdGVTaGFyZVJlc3BvbnNlElAKC1Jldm9rZVNoYXJlEh8uc2V0dGluZ3MudjEuUmV2b2tlU2hhcmVSZXF1ZXN0GiAuc2V0dGluZ3MudjEuUmV2b2tlU2hhcmVSZXNwb25zZRJQCgtBY2NlcHRTaGFyZRIfLnNldHRpbmdzLnYxLkFjY2VwdFNoYXJlUmVxdWVzdBogLnNldHRpbmdzLnYxLkFjY2VwdFNoYXJlUmVzcG9uc2USUwoMRGVjbGluZVNoYXJlEiAuc2V0dGluZ3MudjEuRGVjbGluZVNoYXJlUmVxdWVzdBohLnNldHRpbmdzLnYxLkRlY2xpbmVTaGFyZVJlc3BvbnNlEm4KFUxpc3RDb250ZXh0RGltZW5zaW9ucxIpLnNldHRpbmdzLnYxLkxpc3RDb250ZXh0RGltZW5zaW9uc1JlcXVlc3QaKi5zZXR0aW5ncy52MS5MaXN0Q29udGV4dERpbWVuc2lvbnNSZXNwb25zZRJoChNHZXRDb250ZXh0RGltZW5zaW9uEicuc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblJlcXVlc3QaKC5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USdwoYR2V0Q29udGV4dERpbWVuc2lvbkJ5S2V5Eiwuc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvbkJ5S2V5UmVxdWVzdBotLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25CeUtleVJlc3BvbnNlEnEKFkNyZWF0ZUNvbnRleHREaW1lbnNpb24SKi5zZXR0aW5ncy52MS5DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVxdWVzdBorLnNldHRpbmdzLnYxLkNyZWF0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRJxChZVcGRhdGVDb250ZXh0RGltZW5zaW9uEiouc2V0dGluZ3MudjEuVXBkYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QaKy5zZXR0aW5ncy52MS5VcGRhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2UScQoWRGVsZXRlQ29udGV4dERpbWVuc2lvbhIqLnNldHRpbmdzLnYxLkRlbGV0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0Gisuc2V0dGluZ3MudjEuRGVsZXRlQ29udGV4dERpbWVuc2lvblJlc3BvbnNlEnoKGUdldENvbnRleHREaW1lbnNpb25WYWx1ZXMSLS5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzUmVxdWVzdBouLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25WYWx1ZXNSZXNwb25zZRJ3ChhHZXRDdXN0b21lclByb2ZpbGVTY2hlbWESLC5zZXR0aW5ncy52MS5HZXRDdXN0b21lclByb2ZpbGVTY2hlbWFSZXF1ZXN0Gi0uc2V0dGluZ3MudjEuR2V0Q3VzdG9tZXJQcm9maWxlU2NoZW1hUmVzcG9uc2USZQoSR2V0Q3VzdG9tZXJQcm9maWxlEiYuc2V0dGluZ3MudjEuR2V0Q3VzdG9tZXJQcm9maWxlUmVxdWVzdBonLnNldHRpbmdzLnYxLkdldEN1c3RvbWVyUHJvZmlsZVJlc3BvbnNlEmUKElNldEN1c3RvbWVyUHJvZmlsZRImLnNldHRpbmdzLnYxLlNldEN1c3RvbWVyUHJvZmlsZVJlcXVlc3QaJy5zZXR0aW5ncy52MS5TZXRDdXN0b21lclByb2ZpbGVSZXNwb25zZRKAAQobVXBkYXRlQ3VzdG9tZXJQcm9maWxlU2NoZW1hEi8uc2V0dGluZ3MudjEuVXBkYXRlQ3VzdG9tZXJQcm9maWxlU2NoZW1hUmVxdWVzdBowLnNldHRpbmdzLnYxLlVwZGF0ZUN1c3RvbWVyUHJvZmlsZVNjaGVtYVJlc3BvbnNlEnEKFlNlYXJjaEN1c3RvbWVyUHJvZmlsZXMSKi5zZXR0aW5ncy52MS5TZWFyY2hDdXN0b21lclByb2ZpbGVzUmVxdWVzdBorLnNldHRpbmdzLnYxLlNlYXJjaEN1c3RvbWVyUHJvZmlsZXNSZXNwb25zZRJuChVEZWxldGVDdXN0b21lclByb2ZpbGUSKS5zZXR0aW5ncy52MS5EZWxldGVDdXN0b21lclByb2ZpbGVSZXF1ZXN0Giouc2V0dGluZ3MudjEuRGVsZXRlQ3VzdG9tZXJQcm9maWxlUmVzcG9uc2USjAEKH0dldEN1c3RvbWVyUmVzb2x1dGlvbkF0dHJpYnV0ZXMSMy5zZXR0aW5ncy52MS5HZXRDdXN0b21lclJlc29sdXRpb25BdHRyaWJ1dGVzUmVxdWVzdBo0LnNldHRpbmdzLnYxLkdldEN1c3RvbWVyUmVzb2x1dGlvbkF0dHJpYnV0ZXNSZXNwb25zZRJfChBHZXRFZGl0b3JDb25maWdzEiQuc2V0dGluZ3MudjEuR2V0RWRpdG9yQ29uZmlnc1JlcXVlc3QaJS5zZXR0aW5ncy52MS5HZXRFZGl0b3JDb25maWdzUmVzcG9uc2USZQoSTGlzdFZhcmlhbnRDYXRhbG9nEiYuc2V0dGluZ3MudjEuTGlzdFZhcmlhbnRDYXRhbG9nUmVxdWVzdBonLnNldHRpbmdzLnYxLkxpc3RWYXJpYW50Q2F0YWxvZ1Jlc3BvbnNlEnEKFkdldFZhcmlhbnRDYXRhbG9nRW50cnkSKi5zZXR0aW5ncy52MS5HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBorLnNldHRpbmdzLnYxLkdldFZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRJ6ChlDcmVhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5Ei0uc2V0dGluZ3MudjEuQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaLi5zZXR0aW5ncy52MS5DcmVhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USegoZVXBkYXRlVmFyaWFudENhdGFsb2dFbnRyeRItLnNldHRpbmdzLnYxLlVwZGF0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0Gi4uc2V0dGluZ3MudjEuVXBkYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEnoKGURlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnkSLS5zZXR0aW5ncy52MS5EZWxldGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBouLnNldHRpbmdzLnYxLkRlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRKGAQodR2V0RGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnkSMS5zZXR0aW5ncy52MS5HZXREZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaMi5zZXR0aW5ncy52MS5HZXREZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEo8BCiBFbnN1cmVEZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeRI0LnNldHRpbmdzLnYxLkVuc3VyZURlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBo1LnNldHRpbmdzLnYxLkVuc3VyZURlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USXwoQTGlzdEVtYWlsQWN0aW9ucxIkLnNldHRpbmdzLnYxLkxpc3RFbWFpbEFjdGlvbnNSZXF1ZXN0GiUuc2V0dGluZ3MudjEuTGlzdEVtYWlsQWN0aW9uc1Jlc3BvbnNlElkKDkdldEVtYWlsQWN0aW9uEiIuc2V0dGluZ3MudjEuR2V0RW1haWxBY3Rpb25SZXF1ZXN0GiMuc2V0dGluZ3MudjEuR2V0RW1haWxBY3Rpb25SZXNwb25zZRJiChFVcGRhdGVFbWFpbEFjdGlvbhIlLnNldHRpbmdzLnYxLlVwZGF0ZUVtYWlsQWN0aW9uUmVxdWVzdBomLnNldHRpbmdzLnYxLlVwZGF0ZUVtYWlsQWN0aW9uUmVzcG9uc2USaAoTTGlzdFJlc2VuZFRlbXBsYXRlcxInLnNldHRpbmdzLnYxLkxpc3RSZXNlbmRUZW1wbGF0ZXNSZXF1ZXN0Giguc2V0dGluZ3MudjEuTGlzdFJlc2VuZFRlbXBsYXRlc1Jlc3BvbnNlEl8KEEdldFByb2plY3RTY2hlbWESJC5zZXR0aW5ncy52MS5HZXRQcm9qZWN0U2NoZW1hUmVxdWVzdBolLnNldHRpbmdzLnYxLkdldFByb2plY3RTY2hlbWFSZXNwb25zZUI9WjtnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vc2V0dGluZ3MvdjE7c2V0dGluZ3N2MWIGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_expressions_v1_expressions]);
|
|
13
|
+
fileDesc("ChpzZXR0aW5ncy92MS9zZXR0aW5ncy5wcm90bxILc2V0dGluZ3MudjEiggMKB1NldHRpbmcSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhAKCGNhdGVnb3J5GAMgASgJEisKBXZhbHVlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhkKDGRpc3BsYXlfbmFtZRgFIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAYgASgJSAKIAQESEQoJZGF0YV90eXBlGAcgASgJEhEKCWlzX3B1YmxpYxgIIAEoCBIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgDiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQggKBl92YWx1ZUIPCg1fZGlzcGxheV9uYW1lQg4KDF9kZXNjcmlwdGlvbkINCgtfcHJvamVjdF9pZCKrBAoIQXVkaXRMb2cSCgoCaWQYASABKAkSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIUCgd1c2VyX2lkGAMgASgJSACIAQESFgoJdGVuYW50X2lkGAQgASgJSAGIAQESFwoKcHJvamVjdF9pZBgFIAEoCUgCiAEBEg4KBmFjdGlvbhgGIAEoCRIVCg1yZXNvdXJjZV90eXBlGAcgASgJEhgKC3Jlc291cmNlX2lkGAggASgJSAOIAQESLAoGYmVmb3JlGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEisKBWFmdGVyGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgGiAEBEhcKCmlwX2FkZHJlc3MYDCABKAlIB4gBARIXCgp1c2VyX2FnZW50GA0gASgJSAiIAQESFwoKcmVxdWVzdF9pZBgOIAEoCUgJiAEBQgoKCF91c2VyX2lkQgwKCl90ZW5hbnRfaWRCDQoLX3Byb2plY3RfaWRCDgoMX3Jlc291cmNlX2lkQgkKB19iZWZvcmVCCAoGX2FmdGVyQgsKCV9tZXRhZGF0YUINCgtfaXBfYWRkcmVzc0INCgtfdXNlcl9hZ2VudEINCgtfcmVxdWVzdF9pZCKdBQoETm90ZRIKCgJpZBgBIAEoCRITCgtlbnRpdHlfdHlwZRgCIAEoCRIRCgllbnRpdHlfaWQYAyABKAkSHwoSZW50aXR5X25hdHVyYWxfa2V5GAQgASgJSACIAQESFwoKdmVyc2lvbl9pZBgFIAEoCUgBiAEBEigKB2NvbnRlbnQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh8KEmNvbnRlbnRfcGxhaW5fdGV4dBgHIAEoCUgCiAEBEhsKDnBhcmVudF9ub3RlX2lkGAogASgJSAOIAQESGwoOdGhyZWFkX3Jvb3RfaWQYCyABKAlIBIgBARITCgtpc19yZXNvbHZlZBgPIAEoCBI0CgtyZXNvbHZlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIYCgtyZXNvbHZlZF9ieRgRIAEoCUgGiAEBEi4KCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBEhEKCXRlbmFudF9pZBgeIAEoCRIXCgpwcm9qZWN0X2lkGB8gASgJSAiIAQESEgoKY3JlYXRlZF9ieRgoIAEoCRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIVChNfZW50aXR5X25hdHVyYWxfa2V5Qg0KC192ZXJzaW9uX2lkQhUKE19jb250ZW50X3BsYWluX3RleHRCEQoPX3BhcmVudF9ub3RlX2lkQhEKD190aHJlYWRfcm9vdF9pZEIOCgxfcmVzb2x2ZWRfYXRCDgoMX3Jlc29sdmVkX2J5QgsKCV9tZXRhZGF0YUINCgtfcHJvamVjdF9pZCKqBQoFU2hhcmUSCgoCaWQYASABKAkSNQoNcmVzb3VyY2VfdHlwZRgCIAEoDjIeLnNldHRpbmdzLnYxLlNoYXJlUmVzb3VyY2VUeXBlEhYKCXJlY29yZF9pZBgDIAEoCUgAiAEBEhQKB2ZpbGVfaWQYBCABKAlIAYgBARIWCgltb2RlbF9rZXkYBSABKAlIAogBARIfChdzaGFyZWRfd2l0aF9jdXN0b21lcl9pZBgGIAEoCRIwCgpwZXJtaXNzaW9uGAcgASgOMhwuc2V0dGluZ3MudjEuU2hhcmVQZXJtaXNzaW9uEigKBnN0YXR1cxgKIAEoDjIYLnNldHRpbmdzLnYxLlNoYXJlU3RhdHVzEjQKC2FjY2VwdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEjMKCmV4cGlyZXNfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgFiAEBEhcKCnJldm9rZWRfYnkYHyABKAlIBogBARIzCgpyZXZva2VkX2F0GCAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgHiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgwKCl9yZWNvcmRfaWRCCgoIX2ZpbGVfaWRCDAoKX21vZGVsX2tleUIOCgxfYWNjZXB0ZWRfYXRCDQoLX2V4cGlyZXNfYXRCDQoLX2NyZWF0ZWRfYnlCDQoLX3Jldm9rZWRfYnlCDQoLX3Jldm9rZWRfYXQiUgoSR2V0U2V0dGluZ3NSZXF1ZXN0EhUKCGNhdGVnb3J5GAEgASgJSACIAQESEAoDa2V5GAIgASgJSAGIAQFCCwoJX2NhdGVnb3J5QgYKBF9rZXkiPQoTR2V0U2V0dGluZ3NSZXNwb25zZRImCghzZXR0aW5ncxgBIAMoCzIULnNldHRpbmdzLnYxLlNldHRpbmciSwoUVXBkYXRlU2V0dGluZ1JlcXVlc3QSCwoDa2V5GAEgASgJEiYKBXZhbHVlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI+ChVVcGRhdGVTZXR0aW5nUmVzcG9uc2USJQoHc2V0dGluZxgBIAEoCzIULnNldHRpbmdzLnYxLlNldHRpbmciuwIKFExpc3RBdWRpdExvZ3NSZXF1ZXN0EhMKBmFjdGlvbhgBIAEoCUgAiAEBEhoKDXJlc291cmNlX3R5cGUYAiABKAlIAYgBARIYCgtyZXNvdXJjZV9pZBgDIAEoCUgCiAEBEhQKB3VzZXJfaWQYBCABKAlIA4gBARItCgRmcm9tGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEisKAnRvGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUIJCgdfYWN0aW9uQhAKDl9yZXNvdXJjZV90eXBlQg4KDF9yZXNvdXJjZV9pZEIKCghfdXNlcl9pZEIHCgVfZnJvbUIFCgNfdG8iSwoVTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlEiMKBGxvZ3MYASADKAsyFS5zZXR0aW5ncy52MS5BdWRpdExvZxINCgV0b3RhbBgCIAEoBSKVAQoRQ3JlYXRlTm90ZVJlcXVlc3QSEwoLZW50aXR5X3R5cGUYASABKAkSEQoJZW50aXR5X2lkGAIgASgJEigKB2NvbnRlbnQYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhsKDnBhcmVudF9ub3RlX2lkGAQgASgJSACIAQFCEQoPX3BhcmVudF9ub3RlX2lkIjUKEkNyZWF0ZU5vdGVSZXNwb25zZRIfCgRub3RlGAEgASgLMhEuc2V0dGluZ3MudjEuTm90ZSIcCg5HZXROb3RlUmVxdWVzdBIKCgJpZBgBIAEoCSIyCg9HZXROb3RlUmVzcG9uc2USHwoEbm90ZRgBIAEoCzIRLnNldHRpbmdzLnYxLk5vdGUiiQEKEExpc3ROb3Rlc1JlcXVlc3QSEwoLZW50aXR5X3R5cGUYASABKAkSEQoJZW50aXR5X2lkGAIgASgJEhsKDnBhcmVudF9ub3RlX2lkGAMgASgJSACIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQhEKD19wYXJlbnRfbm90ZV9pZCJEChFMaXN0Tm90ZXNSZXNwb25zZRIgCgVub3RlcxgBIAMoCzIRLnNldHRpbmdzLnYxLk5vdGUSDQoFdG90YWwYAiABKAUihAEKEVVwZGF0ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJEi0KB2NvbnRlbnQYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESGAoLaXNfcmVzb2x2ZWQYAyABKAhIAYgBAUIKCghfY29udGVudEIOCgxfaXNfcmVzb2x2ZWQiNQoSVXBkYXRlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlIh8KEURlbGV0ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIiUKEkRlbGV0ZU5vdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqwFCgtOb3RlTWVudGlvbhIKCgJpZBgBIAEoCRIPCgdub3RlX2lkGAIgASgJEhkKEW1lbnRpb25lZF91c2VyX2lkGAMgASgJEg4KBnN0YXR1cxgEIAEoCRIwCgdzZWVuX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjgKD2Fja25vd2xlZGdlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI1Cgxjb21wbGV0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESGwoOY29tcGxldGVkX25vdGUYCCABKAlIA4gBARI1CgxkaXNtaXNzZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESGwoOZGlzbWlzc19yZWFzb24YCiABKAlIBYgBARIxCghkdWVfZGF0ZRgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBogBARIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgHiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9zZWVuX2F0QhIKEF9hY2tub3dsZWRnZWRfYXRCDwoNX2NvbXBsZXRlZF9hdEIRCg9fY29tcGxldGVkX25vdGVCDwoNX2Rpc21pc3NlZF9hdEIRCg9fZGlzbWlzc19yZWFzb25CCwoJX2R1ZV9kYXRlQg0KC19wcm9qZWN0X2lkItoBChJNZW50aW9uV2l0aENvbnRleHQSKQoHbWVudGlvbhgBIAEoCzIYLnNldHRpbmdzLnYxLk5vdGVNZW50aW9uEh8KBG5vdGUYAiABKAsyES5zZXR0aW5ncy52MS5Ob3RlEhgKC2F1dGhvcl9uYW1lGAMgASgJSACIAQESGAoLZW50aXR5X3R5cGUYBCABKAlIAYgBARIWCgllbnRpdHlfaWQYBSABKAlIAogBAUIOCgxfYXV0aG9yX25hbWVCDgoMX2VudGl0eV90eXBlQgwKCl9lbnRpdHlfaWQiTwoNTWVudGlvbkNvdW50cxIPCgdwZW5kaW5nGAEgASgFEhAKCHBhc3RfZHVlGAIgASgFEhsKE2NvbXBsZXRlZF90aGlzX3dlZWsYAyABKAUicAoVTGlzdE15TWVudGlvbnNSZXF1ZXN0Eg4KBnN0YXR1cxgBIAMoCRIYCgtlbnRpdHlfdHlwZRgCIAEoCUgAiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUIOCgxfZW50aXR5X3R5cGUigwEKFkxpc3RNeU1lbnRpb25zUmVzcG9uc2USLgoFaXRlbXMYASADKAsyHy5zZXR0aW5ncy52MS5NZW50aW9uV2l0aENvbnRleHQSDQoFdG90YWwYAiABKAUSKgoGY291bnRzGAMgASgLMhouc2V0dGluZ3MudjEuTWVudGlvbkNvdW50cyKgAQoaVXBkYXRlTWVudGlvblN0YXR1c1JlcXVlc3QSEgoKbWVudGlvbl9pZBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSGwoOY29tcGxldGVkX25vdGUYAyABKAlIAIgBARIbCg5kaXNtaXNzX3JlYXNvbhgEIAEoCUgBiAEBQhEKD19jb21wbGV0ZWRfbm90ZUIRCg9fZGlzbWlzc19yZWFzb24iSAobVXBkYXRlTWVudGlvblN0YXR1c1Jlc3BvbnNlEikKB21lbnRpb24YASABKAsyGC5zZXR0aW5ncy52MS5Ob3RlTWVudGlvbiLaAQoSQ3JlYXRlU2hhcmVSZXF1ZXN0EjUKDXJlc291cmNlX3R5cGUYASABKA4yHi5zZXR0aW5ncy52MS5TaGFyZVJlc291cmNlVHlwZRIWCglyZWNvcmRfaWQYAiABKAlIAIgBARIUCgdmaWxlX2lkGAMgASgJSAGIAQESEwoLY3VzdG9tZXJfaWQYBCABKAkSMAoKcGVybWlzc2lvbhgFIAEoDjIcLnNldHRpbmdzLnYxLlNoYXJlUGVybWlzc2lvbkIMCgpfcmVjb3JkX2lkQgoKCF9maWxlX2lkIjgKE0NyZWF0ZVNoYXJlUmVzcG9uc2USIQoFc2hhcmUYASABKAsyEi5zZXR0aW5ncy52MS5TaGFyZSIdCg9HZXRTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkiNQoQR2V0U2hhcmVSZXNwb25zZRIhCgVzaGFyZRgBIAEoCzISLnNldHRpbmdzLnYxLlNoYXJlIsgBChFMaXN0U2hhcmVzUmVxdWVzdBI6Cg1yZXNvdXJjZV90eXBlGAEgASgOMh4uc2V0dGluZ3MudjEuU2hhcmVSZXNvdXJjZVR5cGVIAIgBARIWCglyZWNvcmRfaWQYAiABKAlIAYgBARIUCgdmaWxlX2lkGAMgASgJSAKIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQhAKDl9yZXNvdXJjZV90eXBlQgwKCl9yZWNvcmRfaWRCCgoIX2ZpbGVfaWQiRwoSTGlzdFNoYXJlc1Jlc3BvbnNlEiIKBnNoYXJlcxgBIAMoCzISLnNldHRpbmdzLnYxLlNoYXJlEg0KBXRvdGFsGAIgASgFIqABChJVcGRhdGVTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkSNQoKcGVybWlzc2lvbhgCIAEoDjIcLnNldHRpbmdzLnYxLlNoYXJlUGVybWlzc2lvbkgAiAEBEi0KBnN0YXR1cxgDIAEoDjIYLnNldHRpbmdzLnYxLlNoYXJlU3RhdHVzSAGIAQFCDQoLX3Blcm1pc3Npb25CCQoHX3N0YXR1cyI4ChNVcGRhdGVTaGFyZVJlc3BvbnNlEiEKBXNoYXJlGAEgASgLMhIuc2V0dGluZ3MudjEuU2hhcmUiIAoSUmV2b2tlU2hhcmVSZXF1ZXN0EgoKAmlkGAEgASgJIiYKE1Jldm9rZVNoYXJlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIgChJBY2NlcHRTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkiOAoTQWNjZXB0U2hhcmVSZXNwb25zZRIhCgVzaGFyZRgBIAEoCzISLnNldHRpbmdzLnYxLlNoYXJlIiEKE0RlY2xpbmVTaGFyZVJlcXVlc3QSCgoCaWQYASABKAkiOQoURGVjbGluZVNoYXJlUmVzcG9uc2USIQoFc2hhcmUYASABKAsyEi5zZXR0aW5ncy52MS5TaGFyZSK/AwoGTG9jYWxlEgoKAmlkGAEgASgJEg4KBmxvY2FsZRgCIAEoCRIUCgxkaXNwbGF5X25hbWUYAyABKAkSGAoLbmF0aXZlX25hbWUYBCABKAlIAIgBARISCgppc19kZWZhdWx0GAUgASgIEhEKCWlzX2FjdGl2ZRgGIAEoCBIOCgZpc19ydGwYByABKAgSHAoPZmFsbGJhY2tfbG9jYWxlGAggASgJSAGIAQESGQoRZmFsbGJhY2tfcHJpb3JpdHkYCSABKAUSEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgCiAEBEhcKCnVwZGF0ZWRfYnkYHyABKAlIA4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfbmF0aXZlX25hbWVCEgoQX2ZhbGxiYWNrX2xvY2FsZUINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSJnChJMaXN0TG9jYWxlc1JlcXVlc3QSHQoQaW5jbHVkZV9pbmFjdGl2ZRgBIAEoCEgAiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUITChFfaW5jbHVkZV9pbmFjdGl2ZSJKChNMaXN0TG9jYWxlc1Jlc3BvbnNlEiQKB2xvY2FsZXMYASADKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUSDQoFdG90YWwYAiABKAUiHgoQR2V0TG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCSI4ChFHZXRMb2NhbGVSZXNwb25zZRIjCgZsb2NhbGUYASABKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUi3wEKE0NyZWF0ZUxvY2FsZVJlcXVlc3QSDgoGbG9jYWxlGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRIYCgtuYXRpdmVfbmFtZRgDIAEoCUgAiAEBEhcKCmlzX2RlZmF1bHQYBCABKAhIAYgBARITCgZpc19ydGwYBSABKAhIAogBARIcCg9mYWxsYmFja19sb2NhbGUYBiABKAlIA4gBAUIOCgxfbmF0aXZlX25hbWVCDQoLX2lzX2RlZmF1bHRCCQoHX2lzX3J0bEISChBfZmFsbGJhY2tfbG9jYWxlIjsKFENyZWF0ZUxvY2FsZVJlc3BvbnNlEiMKBmxvY2FsZRgBIAEoCzITLnNldHRpbmdzLnYxLkxvY2FsZSKXAgoTVXBkYXRlTG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCRIZCgxkaXNwbGF5X25hbWUYAiABKAlIAIgBARIYCgtuYXRpdmVfbmFtZRgDIAEoCUgBiAEBEhcKCmlzX2RlZmF1bHQYBCABKAhIAogBARIWCglpc19hY3RpdmUYBSABKAhIA4gBARITCgZpc19ydGwYBiABKAhIBIgBARIcCg9mYWxsYmFja19sb2NhbGUYByABKAlIBYgBAUIPCg1fZGlzcGxheV9uYW1lQg4KDF9uYXRpdmVfbmFtZUINCgtfaXNfZGVmYXVsdEIMCgpfaXNfYWN0aXZlQgkKB19pc19ydGxCEgoQX2ZhbGxiYWNrX2xvY2FsZSI7ChRVcGRhdGVMb2NhbGVSZXNwb25zZRIjCgZsb2NhbGUYASABKAsyEy5zZXR0aW5ncy52MS5Mb2NhbGUiIQoTRGVsZXRlTG9jYWxlUmVxdWVzdBIKCgJpZBgBIAEoCSInChREZWxldGVMb2NhbGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIpQBCg5OYXZQcmVmZXJlbmNlcxIZChFmYXZvcml0ZV9wcm9qZWN0cxgBIAMoCRIaChJmYXZvcml0ZV9uYXZfaXRlbXMYAiADKAkSGgoSY29sbGFwc2VkX3NlY3Rpb25zGAMgAygJEi8KDm5hdl9pdGVtX29yZGVyGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIaChhHZXROYXZQcmVmZXJlbmNlc1JlcXVlc3QiTQoZR2V0TmF2UHJlZmVyZW5jZXNSZXNwb25zZRIwCgtwcmVmZXJlbmNlcxgBIAEoCzIbLnNldHRpbmdzLnYxLk5hdlByZWZlcmVuY2VzIvwBChtVcGRhdGVOYXZQcmVmZXJlbmNlc1JlcXVlc3QSNQoLcHJlZmVyZW5jZXMYASABKAsyGy5zZXR0aW5ncy52MS5OYXZQcmVmZXJlbmNlc0gAiAEBEh4KEXRvZ2dsZV9wcm9qZWN0X2lkGAIgASgJSAGIAQESHAoPdG9nZ2xlX25hdl9pdGVtGAMgASgJSAKIAQESGwoOdG9nZ2xlX3NlY3Rpb24YBCABKAlIA4gBAUIOCgxfcHJlZmVyZW5jZXNCFAoSX3RvZ2dsZV9wcm9qZWN0X2lkQhIKEF90b2dnbGVfbmF2X2l0ZW1CEQoPX3RvZ2dsZV9zZWN0aW9uIlAKHFVwZGF0ZU5hdlByZWZlcmVuY2VzUmVzcG9uc2USMAoLcHJlZmVyZW5jZXMYASABKAsyGy5zZXR0aW5ncy52MS5OYXZQcmVmZXJlbmNlcyJeChJSZWNlbnRseU9wZW5lZEl0ZW0SDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCRINCgVsYWJlbBgDIAEoCRIMCgRwYXRoGAQgASgJEhEKCXRpbWVzdGFtcBgFIAEoAyIqChlMaXN0UmVjZW50bHlPcGVuZWRSZXF1ZXN0Eg0KBWxpbWl0GAEgASgFIkwKGkxpc3RSZWNlbnRseU9wZW5lZFJlc3BvbnNlEi4KBWl0ZW1zGAEgAygLMh8uc2V0dGluZ3MudjEuUmVjZW50bHlPcGVuZWRJdGVtIlMKGlRyYWNrUmVjZW50bHlPcGVuZWRSZXF1ZXN0EgwKBHR5cGUYASABKAkSCgoCaWQYAiABKAkSDQoFbGFiZWwYAyABKAkSDAoEcGF0aBgEIAEoCSIuChtUcmFja1JlY2VudGx5T3BlbmVkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCI3ChtSZW1vdmVSZWNlbnRseU9wZW5lZFJlcXVlc3QSDAoEdHlwZRgBIAEoCRIKCgJpZBgCIAEoCSIvChxSZW1vdmVSZWNlbnRseU9wZW5lZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiHAoaQ2xlYXJSZWNlbnRseU9wZW5lZFJlcXVlc3QiLgobQ2xlYXJSZWNlbnRseU9wZW5lZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgimwQKEENvbnRleHREaW1lbnNpb24SCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBG5hbWUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARITCgtzb3VyY2VfdHlwZRgFIAEoCRIYChBzb3VyY2VfbW9kZWxfa2V5GAYgASgJEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgHIAEoCUgBiAEBEhEKCWlzX3N5c3RlbRgIIAEoCBIXCg9idWlsdF9pbl92YWx1ZXMYCSADKAkSEQoJZGF0YV90eXBlGAogASgJEhAKCGNhdGVnb3J5GAsgASgJEhMKC2lzX3JlcXVpcmVkGAwgASgIEhIKCnNvcnRfb3JkZXIYDSABKAUSEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgCiAEBEhcKCnVwZGF0ZWRfYnkYHyABKAlIA4gBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CFQoTX2RlZmF1bHRfcmVjb3JkX2tleUINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSIzChVDb250ZXh0RGltZW5zaW9uVmFsdWUSCwoDa2V5GAEgASgJEg0KBWxhYmVsGAIgASgJIl0KHExpc3RDb250ZXh0RGltZW5zaW9uc1JlcXVlc3QSEwoGc2VhcmNoGAEgASgJSACIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zZWFyY2giYQodTGlzdENvbnRleHREaW1lbnNpb25zUmVzcG9uc2USMQoKZGltZW5zaW9ucxgBIAMoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24SDQoFdG90YWwYAiABKAUiKAoaR2V0Q29udGV4dERpbWVuc2lvblJlcXVlc3QSCgoCaWQYASABKAkiTwobR2V0Q29udGV4dERpbWVuc2lvblJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24iywEKHUNyZWF0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEwoLc291cmNlX3R5cGUYBCABKAkSGAoQc291cmNlX21vZGVsX2tleRgFIAEoCRIfChJkZWZhdWx0X3JlY29yZF9rZXkYBiABKAlIAYgBAUIOCgxfZGVzY3JpcHRpb25CFQoTX2RlZmF1bHRfcmVjb3JkX2tleSJSCh5DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2USMAoJZGltZW5zaW9uGAEgASgLMh0uc2V0dGluZ3MudjEuQ29udGV4dERpbWVuc2lvbiLdAQodVXBkYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESHQoQc291cmNlX21vZGVsX2tleRgEIAEoCUgCiAEBEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgFIAEoCUgDiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkITChFfc291cmNlX21vZGVsX2tleUIVChNfZGVmYXVsdF9yZWNvcmRfa2V5IlIKHlVwZGF0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRIwCglkaW1lbnNpb24YASABKAsyHS5zZXR0aW5ncy52MS5Db250ZXh0RGltZW5zaW9uIisKHURlbGV0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0EgoKAmlkGAEgASgJIjEKHkRlbGV0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIngKIEdldENvbnRleHREaW1lbnNpb25WYWx1ZXNSZXF1ZXN0EhUKDWRpbWVuc2lvbl9rZXkYASABKAkSEwoGc2VhcmNoGAIgASgJSACIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zZWFyY2giZgohR2V0Q29udGV4dERpbWVuc2lvblZhbHVlc1Jlc3BvbnNlEjIKBnZhbHVlcxgBIAMoCzIiLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb25WYWx1ZRINCgV0b3RhbBgCIAEoBSLnAQoUQ3VzdG9tZXJQcm9maWxlRmllbGQSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBHR5cGUYAyABKAkSDQoFbGFiZWwYBCABKAkSEAoIcmVxdWlyZWQYBSABKAgSFgoJaGVscF90ZXh0GAYgASgJSACIAQESGAoLcGxhY2Vob2xkZXIYByABKAlIAYgBARIsCgZjb25maWcYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQFCDAoKX2hlbHBfdGV4dEIOCgxfcGxhY2Vob2xkZXJCCQoHX2NvbmZpZyLeAQoVQ3VzdG9tZXJQcm9maWxlU2NoZW1hEgoKAmlkGAEgASgJEjEKBmZpZWxkcxgCIAMoCzIhLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZUZpZWxkEhUKDXB1YmxpY19maWVsZHMYAyADKAkSDwoHdmVyc2lvbhgEIAEoBRIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIhCh9HZXRDdXN0b21lclByb2ZpbGVTY2hlbWFSZXF1ZXN0IlYKIEdldEN1c3RvbWVyUHJvZmlsZVNjaGVtYVJlc3BvbnNlEjIKBnNjaGVtYRgBIAEoCzIiLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZVNjaGVtYSKgBAoTVmFyaWFudENhdGFsb2dFbnRyeRIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEjwKD3RhcmdldGluZ19ydWxlcxgFIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAGIAQESEAoIcHJpb3JpdHkYBiABKAUSEgoKaXNfZGVmYXVsdBgHIAEoCBIRCglpc19hY3RpdmUYCCABKAgSGgoNZXhwZXJpbWVudF9pZBgJIAEoCUgCiAEBEhgKC2ZhbGxiYWNrX2lkGAogASgJSAOIAQESEQoJdGVuYW50X2lkGBQgASgJEhIKCnByb2plY3RfaWQYFSABKAkSFwoKY3JlYXRlZF9ieRgeIAEoCUgEiAEBEhcKCnVwZGF0ZWRfYnkYHyABKAlIBYgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CEgoQX3RhcmdldGluZ19ydWxlc0IQCg5fZXhwZXJpbWVudF9pZEIOCgxfZmFsbGJhY2tfaWRCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnkiYAoZTGlzdFZhcmlhbnRDYXRhbG9nUmVxdWVzdBIWCglpc19hY3RpdmUYASABKAhIAIgBARINCgVsaW1pdBgKIAEoBRIOCgZvZmZzZXQYCyABKAVCDAoKX2lzX2FjdGl2ZSJeChpMaXN0VmFyaWFudENhdGFsb2dSZXNwb25zZRIxCgdlbnRyaWVzGAEgAygLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeRINCgV0b3RhbBgCIAEoBSIrCh1HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBIKCgJpZBgBIAEoCSJRCh5HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IqsCCiBDcmVhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjwKD3RhcmdldGluZ19ydWxlcxgEIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAGIAQESFQoIcHJpb3JpdHkYBSABKAVIAogBARIXCgppc19kZWZhdWx0GAYgASgISAOIAQESFgoJaXNfYWN0aXZlGAcgASgISASIAQFCDgoMX2Rlc2NyaXB0aW9uQhIKEF90YXJnZXRpbmdfcnVsZXNCCwoJX3ByaW9yaXR5Qg0KC19pc19kZWZhdWx0QgwKCl9pc19hY3RpdmUiVAohQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEi8KBWVudHJ5GAEgASgLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeSK4AgogVXBkYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEhgKC2Rlc2NyaXB0aW9uGAMgASgJSAGIAQESPAoPdGFyZ2V0aW5nX3J1bGVzGAQgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IAogBARIVCghwcmlvcml0eRgFIAEoBUgDiAEBEhcKCmlzX2RlZmF1bHQYBiABKAhIBIgBARIWCglpc19hY3RpdmUYByABKAhIBYgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CEgoQX3RhcmdldGluZ19ydWxlc0ILCglfcHJpb3JpdHlCDQoLX2lzX2RlZmF1bHRCDAoKX2lzX2FjdGl2ZSJUCiFVcGRhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5Ii4KIERlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIjQKIURlbGV0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjAKGUdldEN1c3RvbWVyUHJvZmlsZVJlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkiQwoaR2V0Q3VzdG9tZXJQcm9maWxlUmVzcG9uc2USJQoEZGF0YRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVwoZU2V0Q3VzdG9tZXJQcm9maWxlUmVxdWVzdBITCgtjdXN0b21lcl9pZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCItChpTZXRDdXN0b21lclByb2ZpbGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIm4KIlVwZGF0ZUN1c3RvbWVyUHJvZmlsZVNjaGVtYVJlcXVlc3QSMQoGZmllbGRzGAEgAygLMiEuc2V0dGluZ3MudjEuQ3VzdG9tZXJQcm9maWxlRmllbGQSFQoNcHVibGljX2ZpZWxkcxgCIAMoCSJZCiNVcGRhdGVDdXN0b21lclByb2ZpbGVTY2hlbWFSZXNwb25zZRIyCgZzY2hlbWEYASABKAsyIi5zZXR0aW5ncy52MS5DdXN0b21lclByb2ZpbGVTY2hlbWEiUwoVQ3VzdG9tZXJQcm9maWxlUmVzdWx0EhMKC2N1c3RvbWVyX2lkGAEgASgJEiUKBGRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ik0KHVNlYXJjaEN1c3RvbWVyUHJvZmlsZXNSZXF1ZXN0Eg0KBXF1ZXJ5GAEgASgJEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBSJkCh5TZWFyY2hDdXN0b21lclByb2ZpbGVzUmVzcG9uc2USMwoHcmVzdWx0cxgBIAMoCzIiLnNldHRpbmdzLnYxLkN1c3RvbWVyUHJvZmlsZVJlc3VsdBINCgV0b3RhbBgCIAEoBSIzChxEZWxldGVDdXN0b21lclByb2ZpbGVSZXF1ZXN0EhMKC2N1c3RvbWVyX2lkGAEgASgJIjAKHURlbGV0ZUN1c3RvbWVyUHJvZmlsZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiPQomR2V0Q3VzdG9tZXJSZXNvbHV0aW9uQXR0cmlidXRlc1JlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkiWQoTUmVzb2x1dGlvbkF0dHJpYnV0ZRILCgNrZXkYASABKAkSNQoGdmFsdWVzGAIgAygLMiUuc2V0dGluZ3MudjEuUmVzb2x1dGlvbkF0dHJpYnV0ZVZhbHVlIoABChhSZXNvbHV0aW9uQXR0cmlidXRlVmFsdWUSDQoFdmFsdWUYASABKAkSDQoFY291bnQYAiABKAUSNQoMbGFzdF9zZWVuX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg8KDV9sYXN0X3NlZW5fYXQijAIKJ0dldEN1c3RvbWVyUmVzb2x1dGlvbkF0dHJpYnV0ZXNSZXNwb25zZRIZChF0b3RhbF9yZXNvbHV0aW9ucxgBIAEoBRI0CgphdHRyaWJ1dGVzGAIgAygLMiAuc2V0dGluZ3MudjEuUmVzb2x1dGlvbkF0dHJpYnV0ZRI2Cg1maXJzdF9zZWVuX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjUKDGxhc3Rfc2Vlbl9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBAUIQCg5fZmlyc3Rfc2Vlbl9hdEIPCg1fbGFzdF9zZWVuX2F0IiwKF0dldEVkaXRvckNvbmZpZ3NSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCSLAAgoVRWRpdG9yQ29uZmlnUGxhY2VtZW50EhEKCWNvbmZpZ19pZBgBIAEoCRISCgpjb25maWdfa2V5GAIgASgJEhAKA3VybBgDIAEoCUgAiAEBEhsKDmFsbG93ZWRfb3JpZ2luGAQgASgJSAGIAQESEwoGaGVpZ2h0GAUgASgFSAKIAQESEgoFbGFiZWwYBiABKAlIA4gBARIUCgdhcGlfa2V5GAcgASgJSASIAQESFAoHYXBpX3VybBgIIAEoCUgFiAEBEh4KEWNvbm5lY3Rpb25fZG9tYWluGAkgASgJSAaIAQFCBgoEX3VybEIRCg9fYWxsb3dlZF9vcmlnaW5CCQoHX2hlaWdodEIICgZfbGFiZWxCCgoIX2FwaV9rZXlCCgoIX2FwaV91cmxCFAoSX2Nvbm5lY3Rpb25fZG9tYWluIlIKGEdldEVkaXRvckNvbmZpZ3NSZXNwb25zZRI2CgpwbGFjZW1lbnRzGAEgAygLMiIuc2V0dGluZ3MudjEuRWRpdG9yQ29uZmlnUGxhY2VtZW50IuUDCgtFbWFpbEFjdGlvbhIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEh8KEnJlc2VuZF90ZW1wbGF0ZV9pZBgFIAEoCUgBiAEBEhkKDGRlZmF1bHRfZnJvbRgGIAEoCUgCiAEBEhwKD2RlZmF1bHRfc3ViamVjdBgHIAEoCUgDiAEBEjEKC2N1c3RvbV9kYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEhEKCWlzX2FjdGl2ZRgJIAEoCBIRCgl0ZW5hbnRfaWQYFCABKAkSFwoKcHJvamVjdF9pZBgVIAEoCUgFiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkIVChNfcmVzZW5kX3RlbXBsYXRlX2lkQg8KDV9kZWZhdWx0X2Zyb21CEgoQX2RlZmF1bHRfc3ViamVjdEIOCgxfY3VzdG9tX2RhdGFCDQoLX3Byb2plY3RfaWQiOAoXTGlzdEVtYWlsQWN0aW9uc1JlcXVlc3QSDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFIlQKGExpc3RFbWFpbEFjdGlvbnNSZXNwb25zZRIpCgdhY3Rpb25zGAEgAygLMhguc2V0dGluZ3MudjEuRW1haWxBY3Rpb24SDQoFdG90YWwYAiABKAUiJAoVR2V0RW1haWxBY3Rpb25SZXF1ZXN0EgsKA2tleRgBIAEoCSJCChZHZXRFbWFpbEFjdGlvblJlc3BvbnNlEigKBmFjdGlvbhgBIAEoCzIYLnNldHRpbmdzLnYxLkVtYWlsQWN0aW9uIqYCChhVcGRhdGVFbWFpbEFjdGlvblJlcXVlc3QSCwoDa2V5GAEgASgJEh8KEnJlc2VuZF90ZW1wbGF0ZV9pZBgCIAEoCUgAiAEBEhkKDGRlZmF1bHRfZnJvbRgDIAEoCUgBiAEBEhwKD2RlZmF1bHRfc3ViamVjdBgEIAEoCUgCiAEBEjEKC2N1c3RvbV9kYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEhYKCWlzX2FjdGl2ZRgGIAEoCEgEiAEBQhUKE19yZXNlbmRfdGVtcGxhdGVfaWRCDwoNX2RlZmF1bHRfZnJvbUISChBfZGVmYXVsdF9zdWJqZWN0Qg4KDF9jdXN0b21fZGF0YUIMCgpfaXNfYWN0aXZlIkUKGVVwZGF0ZUVtYWlsQWN0aW9uUmVzcG9uc2USKAoGYWN0aW9uGAEgASgLMhguc2V0dGluZ3MudjEuRW1haWxBY3Rpb24iKgoOUmVzZW5kVGVtcGxhdGUSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCSIcChpMaXN0UmVzZW5kVGVtcGxhdGVzUmVxdWVzdCJNChtMaXN0UmVzZW5kVGVtcGxhdGVzUmVzcG9uc2USLgoJdGVtcGxhdGVzGAEgAygLMhsuc2V0dGluZ3MudjEuUmVzZW5kVGVtcGxhdGUiIAoSUmVzb2x2ZU5vdGVSZXF1ZXN0EgoKAmlkGAEgASgJIjYKE1Jlc29sdmVOb3RlUmVzcG9uc2USHwoEbm90ZRgBIAEoCzIRLnNldHRpbmdzLnYxLk5vdGUiIgoUVW5yZXNvbHZlTm90ZVJlcXVlc3QSCgoCaWQYASABKAkiOAoVVW5yZXNvbHZlTm90ZVJlc3BvbnNlEh8KBG5vdGUYASABKAsyES5zZXR0aW5ncy52MS5Ob3RlImwKElNlYXJjaE5vdGVzUmVxdWVzdBINCgVxdWVyeRgBIAEoCRIYCgtlbnRpdHlfdHlwZRgCIAEoCUgAiAEBEg0KBWxpbWl0GAogASgFEg4KBm9mZnNldBgLIAEoBUIOCgxfZW50aXR5X3R5cGUiRgoTU2VhcmNoTm90ZXNSZXNwb25zZRIgCgVub3RlcxgBIAMoCzIRLnNldHRpbmdzLnYxLk5vdGUSDQoFdG90YWwYAiABKAUiGQoXTWFya01lbnRpb25zU2VlblJlcXVlc3QiKQoYTWFya01lbnRpb25zU2VlblJlc3BvbnNlEg0KBWNvdW50GAEgASgFIi4KH0dldENvbnRleHREaW1lbnNpb25CeUtleVJlcXVlc3QSCwoDa2V5GAEgASgJIlQKIEdldENvbnRleHREaW1lbnNpb25CeUtleVJlc3BvbnNlEjAKCWRpbWVuc2lvbhgBIAEoCzIdLnNldHRpbmdzLnYxLkNvbnRleHREaW1lbnNpb24iGQoXR2V0RGVmYXVsdExvY2FsZVJlcXVlc3QiPwoYR2V0RGVmYXVsdExvY2FsZVJlc3BvbnNlEiMKBmxvY2FsZRgBIAEoCzITLnNldHRpbmdzLnYxLkxvY2FsZSImChZHZXRMb2NhbGVCeUNvZGVSZXF1ZXN0EgwKBGNvZGUYASABKAkiPgoXR2V0TG9jYWxlQnlDb2RlUmVzcG9uc2USIwoGbG9jYWxlGAEgASgLMhMuc2V0dGluZ3MudjEuTG9jYWxlIiYKJEdldERlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdCJYCiVHZXREZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEi8KBWVudHJ5GAEgASgLMiAuc2V0dGluZ3MudjEuVmFyaWFudENhdGFsb2dFbnRyeSIjChREZWxldGVTZXR0aW5nUmVxdWVzdBILCgNrZXkYASABKAkiKAoVRGVsZXRlU2V0dGluZ1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiMwofRGVsZXRlU2V0dGluZ3NCeUNhdGVnb3J5UmVxdWVzdBIQCghjYXRlZ29yeRgBIAEoCSIxCiBEZWxldGVTZXR0aW5nc0J5Q2F0ZWdvcnlSZXNwb25zZRINCgVjb3VudBgBIAEoBSJNChZCdWxrU2V0U2V0dGluZ3NSZXF1ZXN0EjMKCHNldHRpbmdzGAEgAygLMiEuc2V0dGluZ3MudjEuVXBkYXRlU2V0dGluZ1JlcXVlc3QiKAoXQnVsa1NldFNldHRpbmdzUmVzcG9uc2USDQoFY291bnQYASABKAUiKQonRW5zdXJlRGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0IlsKKEVuc3VyZURlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USLwoFZW50cnkYASABKAsyIC5zZXR0aW5ncy52MS5WYXJpYW50Q2F0YWxvZ0VudHJ5IhkKF0dldFByb2plY3RTY2hlbWFSZXF1ZXN0ImUKElByb2plY3RTY2hlbWFNb2RlbBIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRITCgtmaWVsZHNfanNvbhgEIAEoCRITCgtjb25maWdfanNvbhgFIAEoCSLCAQodUHJvamVjdFNjaGVtYUNvbnRleHREaW1lbnNpb24SCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEgwKBG5hbWUYAyABKAkSHQoQc291cmNlX21vZGVsX2tleRgEIAEoCUgAiAEBEh8KEmRlZmF1bHRfcmVjb3JkX2tleRgFIAEoCUgBiAEBEg4KBnZhbHVlcxgGIAMoCUITChFfc291cmNlX21vZGVsX2tleUIVChNfZGVmYXVsdF9yZWNvcmRfa2V5IlUKGVByb2plY3RTY2hlbWFBdXRoUHJvdmlkZXISCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSDAoEdHlwZRgDIAEoCRIPCgdlbmFibGVkGAQgASgIIuUBChZQcm9qZWN0U2NoZW1hT3BlcmF0aW9uEgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhAKCGVuZHBvaW50GAMgASgJEhIKCnRpbWVvdXRfbXMYBCABKAUSMgoMaW5wdXRfc2NoZW1hGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEjMKDW91dHB1dF9zY2hlbWEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQFCDwoNX2lucHV0X3NjaGVtYUIQCg5fb3V0cHV0X3NjaGVtYSJEChRQcm9qZWN0U2NoZW1hU2VnbWVudBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIRCglpc19hY3RpdmUYAyABKAgibwoXUHJvamVjdFNjaGVtYUV4cGVyaW1lbnQSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSDgoGc3RhdHVzGAMgASgJEikKCHZhcmlhbnRzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJZChpQcm9qZWN0U2NoZW1hUHJvZmlsZVNjaGVtYRITCgtmaWVsZHNfanNvbhgBIAEoCRIVCg1wdWJsaWNfZmllbGRzGAIgAygJEg8KB3ZlcnNpb24YAyABKAUizQMKGEdldFByb2plY3RTY2hlbWFSZXNwb25zZRIvCgZtb2RlbHMYASADKAsyHy5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hTW9kZWwSPgoKZGltZW5zaW9ucxgCIAMoCzIqLnNldHRpbmdzLnYxLlByb2plY3RTY2hlbWFDb250ZXh0RGltZW5zaW9uEj4KDmF1dGhfcHJvdmlkZXJzGAMgAygLMiYuc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYUF1dGhQcm92aWRlchI3CgpvcGVyYXRpb25zGAQgAygLMiMuc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYU9wZXJhdGlvbhIzCghzZWdtZW50cxgFIAMoCzIhLnNldHRpbmdzLnYxLlByb2plY3RTY2hlbWFTZWdtZW50EjkKC2V4cGVyaW1lbnRzGAYgAygLMiQuc2V0dGluZ3MudjEuUHJvamVjdFNjaGVtYUV4cGVyaW1lbnQSRAoOcHJvZmlsZV9zY2hlbWEYByABKAsyJy5zZXR0aW5ncy52MS5Qcm9qZWN0U2NoZW1hUHJvZmlsZVNjaGVtYUgAiAEBQhEKD19wcm9maWxlX3NjaGVtYSp2ChFTaGFyZVJlc291cmNlVHlwZRIjCh9TSEFSRV9SRVNPVVJDRV9UWVBFX1VOU1BFQ0lGSUVEEAASHgoaU0hBUkVfUkVTT1VSQ0VfVFlQRV9SRUNPUkQQARIcChhTSEFSRV9SRVNPVVJDRV9UWVBFX0ZJTEUQAiqFAQoPU2hhcmVQZXJtaXNzaW9uEiAKHFNIQVJFX1BFUk1JU1NJT05fVU5TUEVDSUZJRUQQABIZChVTSEFSRV9QRVJNSVNTSU9OX1ZJRVcQARIZChVTSEFSRV9QRVJNSVNTSU9OX0VESVQQAhIaChZTSEFSRV9QRVJNSVNTSU9OX0FETUlOEAMqewoLU2hhcmVTdGF0dXMSHAoYU0hBUkVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGAoUU0hBUkVfU1RBVFVTX1BFTkRJTkcQARIZChVTSEFSRV9TVEFUVVNfQUNDRVBURUQQAhIZChVTSEFSRV9TVEFUVVNfREVDTElORUQQAzKGMgoPU2V0dGluZ3NTZXJ2aWNlElAKC0dldFNldHRpbmdzEh8uc2V0dGluZ3MudjEuR2V0U2V0dGluZ3NSZXF1ZXN0GiAuc2V0dGluZ3MudjEuR2V0U2V0dGluZ3NSZXNwb25zZRJWCg1VcGRhdGVTZXR0aW5nEiEuc2V0dGluZ3MudjEuVXBkYXRlU2V0dGluZ1JlcXVlc3QaIi5zZXR0aW5ncy52MS5VcGRhdGVTZXR0aW5nUmVzcG9uc2USVgoNRGVsZXRlU2V0dGluZxIhLnNldHRpbmdzLnYxLkRlbGV0ZVNldHRpbmdSZXF1ZXN0GiIuc2V0dGluZ3MudjEuRGVsZXRlU2V0dGluZ1Jlc3BvbnNlEncKGERlbGV0ZVNldHRpbmdzQnlDYXRlZ29yeRIsLnNldHRpbmdzLnYxLkRlbGV0ZVNldHRpbmdzQnlDYXRlZ29yeVJlcXVlc3QaLS5zZXR0aW5ncy52MS5EZWxldGVTZXR0aW5nc0J5Q2F0ZWdvcnlSZXNwb25zZRJcCg9CdWxrU2V0U2V0dGluZ3MSIy5zZXR0aW5ncy52MS5CdWxrU2V0U2V0dGluZ3NSZXF1ZXN0GiQuc2V0dGluZ3MudjEuQnVsa1NldFNldHRpbmdzUmVzcG9uc2USVgoNTGlzdEF1ZGl0TG9ncxIhLnNldHRpbmdzLnYxLkxpc3RBdWRpdExvZ3NSZXF1ZXN0GiIuc2V0dGluZ3MudjEuTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlEk0KCkNyZWF0ZU5vdGUSHi5zZXR0aW5ncy52MS5DcmVhdGVOb3RlUmVxdWVzdBofLnNldHRpbmdzLnYxLkNyZWF0ZU5vdGVSZXNwb25zZRJECgdHZXROb3RlEhsuc2V0dGluZ3MudjEuR2V0Tm90ZVJlcXVlc3QaHC5zZXR0aW5ncy52MS5HZXROb3RlUmVzcG9uc2USSgoJTGlzdE5vdGVzEh0uc2V0dGluZ3MudjEuTGlzdE5vdGVzUmVxdWVzdBoeLnNldHRpbmdzLnYxLkxpc3ROb3Rlc1Jlc3BvbnNlEk0KClVwZGF0ZU5vdGUSHi5zZXR0aW5ncy52MS5VcGRhdGVOb3RlUmVxdWVzdBofLnNldHRpbmdzLnYxLlVwZGF0ZU5vdGVSZXNwb25zZRJNCgpEZWxldGVOb3RlEh4uc2V0dGluZ3MudjEuRGVsZXRlTm90ZVJlcXVlc3QaHy5zZXR0aW5ncy52MS5EZWxldGVOb3RlUmVzcG9uc2USUAoLUmVzb2x2ZU5vdGUSHy5zZXR0aW5ncy52MS5SZXNvbHZlTm90ZVJlcXVlc3QaIC5zZXR0aW5ncy52MS5SZXNvbHZlTm90ZVJlc3BvbnNlElYKDVVucmVzb2x2ZU5vdGUSIS5zZXR0aW5ncy52MS5VbnJlc29sdmVOb3RlUmVxdWVzdBoiLnNldHRpbmdzLnYxLlVucmVzb2x2ZU5vdGVSZXNwb25zZRJQCgtTZWFyY2hOb3RlcxIfLnNldHRpbmdzLnYxLlNlYXJjaE5vdGVzUmVxdWVzdBogLnNldHRpbmdzLnYxLlNlYXJjaE5vdGVzUmVzcG9uc2USWQoOTGlzdE15TWVudGlvbnMSIi5zZXR0aW5ncy52MS5MaXN0TXlNZW50aW9uc1JlcXVlc3QaIy5zZXR0aW5ncy52MS5MaXN0TXlNZW50aW9uc1Jlc3BvbnNlEmgKE1VwZGF0ZU1lbnRpb25TdGF0dXMSJy5zZXR0aW5ncy52MS5VcGRhdGVNZW50aW9uU3RhdHVzUmVxdWVzdBooLnNldHRpbmdzLnYxLlVwZGF0ZU1lbnRpb25TdGF0dXNSZXNwb25zZRJfChBNYXJrTWVudGlvbnNTZWVuEiQuc2V0dGluZ3MudjEuTWFya01lbnRpb25zU2VlblJlcXVlc3QaJS5zZXR0aW5ncy52MS5NYXJrTWVudGlvbnNTZWVuUmVzcG9uc2USUAoLTGlzdExvY2FsZXMSHy5zZXR0aW5ncy52MS5MaXN0TG9jYWxlc1JlcXVlc3QaIC5zZXR0aW5ncy52MS5MaXN0TG9jYWxlc1Jlc3BvbnNlEkoKCUdldExvY2FsZRIdLnNldHRpbmdzLnYxLkdldExvY2FsZVJlcXVlc3QaHi5zZXR0aW5ncy52MS5HZXRMb2NhbGVSZXNwb25zZRJfChBHZXREZWZhdWx0TG9jYWxlEiQuc2V0dGluZ3MudjEuR2V0RGVmYXVsdExvY2FsZVJlcXVlc3QaJS5zZXR0aW5ncy52MS5HZXREZWZhdWx0TG9jYWxlUmVzcG9uc2USXAoPR2V0TG9jYWxlQnlDb2RlEiMuc2V0dGluZ3MudjEuR2V0TG9jYWxlQnlDb2RlUmVxdWVzdBokLnNldHRpbmdzLnYxLkdldExvY2FsZUJ5Q29kZVJlc3BvbnNlElMKDENyZWF0ZUxvY2FsZRIgLnNldHRpbmdzLnYxLkNyZWF0ZUxvY2FsZVJlcXVlc3QaIS5zZXR0aW5ncy52MS5DcmVhdGVMb2NhbGVSZXNwb25zZRJTCgxVcGRhdGVMb2NhbGUSIC5zZXR0aW5ncy52MS5VcGRhdGVMb2NhbGVSZXF1ZXN0GiEuc2V0dGluZ3MudjEuVXBkYXRlTG9jYWxlUmVzcG9uc2USUwoMRGVsZXRlTG9jYWxlEiAuc2V0dGluZ3MudjEuRGVsZXRlTG9jYWxlUmVxdWVzdBohLnNldHRpbmdzLnYxLkRlbGV0ZUxvY2FsZVJlc3BvbnNlEmIKEUdldE5hdlByZWZlcmVuY2VzEiUuc2V0dGluZ3MudjEuR2V0TmF2UHJlZmVyZW5jZXNSZXF1ZXN0GiYuc2V0dGluZ3MudjEuR2V0TmF2UHJlZmVyZW5jZXNSZXNwb25zZRJrChRVcGRhdGVOYXZQcmVmZXJlbmNlcxIoLnNldHRpbmdzLnYxLlVwZGF0ZU5hdlByZWZlcmVuY2VzUmVxdWVzdBopLnNldHRpbmdzLnYxLlVwZGF0ZU5hdlByZWZlcmVuY2VzUmVzcG9uc2USZQoSTGlzdFJlY2VudGx5T3BlbmVkEiYuc2V0dGluZ3MudjEuTGlzdFJlY2VudGx5T3BlbmVkUmVxdWVzdBonLnNldHRpbmdzLnYxLkxpc3RSZWNlbnRseU9wZW5lZFJlc3BvbnNlEmgKE1RyYWNrUmVjZW50bHlPcGVuZWQSJy5zZXR0aW5ncy52MS5UcmFja1JlY2VudGx5T3BlbmVkUmVxdWVzdBooLnNldHRpbmdzLnYxLlRyYWNrUmVjZW50bHlPcGVuZWRSZXNwb25zZRJrChRSZW1vdmVSZWNlbnRseU9wZW5lZBIoLnNldHRpbmdzLnYxLlJlbW92ZVJlY2VudGx5T3BlbmVkUmVxdWVzdBopLnNldHRpbmdzLnYxLlJlbW92ZVJlY2VudGx5T3BlbmVkUmVzcG9uc2USaAoTQ2xlYXJSZWNlbnRseU9wZW5lZBInLnNldHRpbmdzLnYxLkNsZWFyUmVjZW50bHlPcGVuZWRSZXF1ZXN0Giguc2V0dGluZ3MudjEuQ2xlYXJSZWNlbnRseU9wZW5lZFJlc3BvbnNlElAKC0NyZWF0ZVNoYXJlEh8uc2V0dGluZ3MudjEuQ3JlYXRlU2hhcmVSZXF1ZXN0GiAuc2V0dGluZ3MudjEuQ3JlYXRlU2hhcmVSZXNwb25zZRJHCghHZXRTaGFyZRIcLnNldHRpbmdzLnYxLkdldFNoYXJlUmVxdWVzdBodLnNldHRpbmdzLnYxLkdldFNoYXJlUmVzcG9uc2USTQoKTGlzdFNoYXJlcxIeLnNldHRpbmdzLnYxLkxpc3RTaGFyZXNSZXF1ZXN0Gh8uc2V0dGluZ3MudjEuTGlzdFNoYXJlc1Jlc3BvbnNlElAKC1VwZGF0ZVNoYXJlEh8uc2V0dGluZ3MudjEuVXBkYXRlU2hhcmVSZXF1ZXN0GiAuc2V0dGluZ3MudjEuVXBkYXRlU2hhcmVSZXNwb25zZRJQCgtSZXZva2VTaGFyZRIfLnNldHRpbmdzLnYxLlJldm9rZVNoYXJlUmVxdWVzdBogLnNldHRpbmdzLnYxLlJldm9rZVNoYXJlUmVzcG9uc2USUAoLQWNjZXB0U2hhcmUSHy5zZXR0aW5ncy52MS5BY2NlcHRTaGFyZVJlcXVlc3QaIC5zZXR0aW5ncy52MS5BY2NlcHRTaGFyZVJlc3BvbnNlElMKDERlY2xpbmVTaGFyZRIgLnNldHRpbmdzLnYxLkRlY2xpbmVTaGFyZVJlcXVlc3QaIS5zZXR0aW5ncy52MS5EZWNsaW5lU2hhcmVSZXNwb25zZRJuChVMaXN0Q29udGV4dERpbWVuc2lvbnMSKS5zZXR0aW5ncy52MS5MaXN0Q29udGV4dERpbWVuc2lvbnNSZXF1ZXN0Giouc2V0dGluZ3MudjEuTGlzdENvbnRleHREaW1lbnNpb25zUmVzcG9uc2USaAoTR2V0Q29udGV4dERpbWVuc2lvbhInLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25SZXF1ZXN0Giguc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblJlc3BvbnNlEncKGEdldENvbnRleHREaW1lbnNpb25CeUtleRIsLnNldHRpbmdzLnYxLkdldENvbnRleHREaW1lbnNpb25CeUtleVJlcXVlc3QaLS5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uQnlLZXlSZXNwb25zZRJxChZDcmVhdGVDb250ZXh0RGltZW5zaW9uEiouc2V0dGluZ3MudjEuQ3JlYXRlQ29udGV4dERpbWVuc2lvblJlcXVlc3QaKy5zZXR0aW5ncy52MS5DcmVhdGVDb250ZXh0RGltZW5zaW9uUmVzcG9uc2UScQoWVXBkYXRlQ29udGV4dERpbWVuc2lvbhIqLnNldHRpbmdzLnYxLlVwZGF0ZUNvbnRleHREaW1lbnNpb25SZXF1ZXN0Gisuc2V0dGluZ3MudjEuVXBkYXRlQ29udGV4dERpbWVuc2lvblJlc3BvbnNlEnEKFkRlbGV0ZUNvbnRleHREaW1lbnNpb24SKi5zZXR0aW5ncy52MS5EZWxldGVDb250ZXh0RGltZW5zaW9uUmVxdWVzdBorLnNldHRpbmdzLnYxLkRlbGV0ZUNvbnRleHREaW1lbnNpb25SZXNwb25zZRJ6ChlHZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzEi0uc2V0dGluZ3MudjEuR2V0Q29udGV4dERpbWVuc2lvblZhbHVlc1JlcXVlc3QaLi5zZXR0aW5ncy52MS5HZXRDb250ZXh0RGltZW5zaW9uVmFsdWVzUmVzcG9uc2USdwoYR2V0Q3VzdG9tZXJQcm9maWxlU2NoZW1hEiwuc2V0dGluZ3MudjEuR2V0Q3VzdG9tZXJQcm9maWxlU2NoZW1hUmVxdWVzdBotLnNldHRpbmdzLnYxLkdldEN1c3RvbWVyUHJvZmlsZVNjaGVtYVJlc3BvbnNlEmUKEkdldEN1c3RvbWVyUHJvZmlsZRImLnNldHRpbmdzLnYxLkdldEN1c3RvbWVyUHJvZmlsZVJlcXVlc3QaJy5zZXR0aW5ncy52MS5HZXRDdXN0b21lclByb2ZpbGVSZXNwb25zZRJlChJTZXRDdXN0b21lclByb2ZpbGUSJi5zZXR0aW5ncy52MS5TZXRDdXN0b21lclByb2ZpbGVSZXF1ZXN0Gicuc2V0dGluZ3MudjEuU2V0Q3VzdG9tZXJQcm9maWxlUmVzcG9uc2USgAEKG1VwZGF0ZUN1c3RvbWVyUHJvZmlsZVNjaGVtYRIvLnNldHRpbmdzLnYxLlVwZGF0ZUN1c3RvbWVyUHJvZmlsZVNjaGVtYVJlcXVlc3QaMC5zZXR0aW5ncy52MS5VcGRhdGVDdXN0b21lclByb2ZpbGVTY2hlbWFSZXNwb25zZRJxChZTZWFyY2hDdXN0b21lclByb2ZpbGVzEiouc2V0dGluZ3MudjEuU2VhcmNoQ3VzdG9tZXJQcm9maWxlc1JlcXVlc3QaKy5zZXR0aW5ncy52MS5TZWFyY2hDdXN0b21lclByb2ZpbGVzUmVzcG9uc2USbgoVRGVsZXRlQ3VzdG9tZXJQcm9maWxlEikuc2V0dGluZ3MudjEuRGVsZXRlQ3VzdG9tZXJQcm9maWxlUmVxdWVzdBoqLnNldHRpbmdzLnYxLkRlbGV0ZUN1c3RvbWVyUHJvZmlsZVJlc3BvbnNlEowBCh9HZXRDdXN0b21lclJlc29sdXRpb25BdHRyaWJ1dGVzEjMuc2V0dGluZ3MudjEuR2V0Q3VzdG9tZXJSZXNvbHV0aW9uQXR0cmlidXRlc1JlcXVlc3QaNC5zZXR0aW5ncy52MS5HZXRDdXN0b21lclJlc29sdXRpb25BdHRyaWJ1dGVzUmVzcG9uc2USXwoQR2V0RWRpdG9yQ29uZmlncxIkLnNldHRpbmdzLnYxLkdldEVkaXRvckNvbmZpZ3NSZXF1ZXN0GiUuc2V0dGluZ3MudjEuR2V0RWRpdG9yQ29uZmlnc1Jlc3BvbnNlEmUKEkxpc3RWYXJpYW50Q2F0YWxvZxImLnNldHRpbmdzLnYxLkxpc3RWYXJpYW50Q2F0YWxvZ1JlcXVlc3QaJy5zZXR0aW5ncy52MS5MaXN0VmFyaWFudENhdGFsb2dSZXNwb25zZRJxChZHZXRWYXJpYW50Q2F0YWxvZ0VudHJ5Eiouc2V0dGluZ3MudjEuR2V0VmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaKy5zZXR0aW5ncy52MS5HZXRWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2USegoZQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeRItLnNldHRpbmdzLnYxLkNyZWF0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0Gi4uc2V0dGluZ3MudjEuQ3JlYXRlVmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEnoKGVVwZGF0ZVZhcmlhbnRDYXRhbG9nRW50cnkSLS5zZXR0aW5ncy52MS5VcGRhdGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVxdWVzdBouLnNldHRpbmdzLnYxLlVwZGF0ZVZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRJ6ChlEZWxldGVWYXJpYW50Q2F0YWxvZ0VudHJ5Ei0uc2V0dGluZ3MudjEuRGVsZXRlVmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaLi5zZXR0aW5ncy52MS5EZWxldGVWYXJpYW50Q2F0YWxvZ0VudHJ5UmVzcG9uc2UShgEKHUdldERlZmF1bHRWYXJpYW50Q2F0YWxvZ0VudHJ5EjEuc2V0dGluZ3MudjEuR2V0RGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXF1ZXN0GjIuc2V0dGluZ3MudjEuR2V0RGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnlSZXNwb25zZRKPAQogRW5zdXJlRGVmYXVsdFZhcmlhbnRDYXRhbG9nRW50cnkSNC5zZXR0aW5ncy52MS5FbnN1cmVEZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlcXVlc3QaNS5zZXR0aW5ncy52MS5FbnN1cmVEZWZhdWx0VmFyaWFudENhdGFsb2dFbnRyeVJlc3BvbnNlEl8KEExpc3RFbWFpbEFjdGlvbnMSJC5zZXR0aW5ncy52MS5MaXN0RW1haWxBY3Rpb25zUmVxdWVzdBolLnNldHRpbmdzLnYxLkxpc3RFbWFpbEFjdGlvbnNSZXNwb25zZRJZCg5HZXRFbWFpbEFjdGlvbhIiLnNldHRpbmdzLnYxLkdldEVtYWlsQWN0aW9uUmVxdWVzdBojLnNldHRpbmdzLnYxLkdldEVtYWlsQWN0aW9uUmVzcG9uc2USYgoRVXBkYXRlRW1haWxBY3Rpb24SJS5zZXR0aW5ncy52MS5VcGRhdGVFbWFpbEFjdGlvblJlcXVlc3QaJi5zZXR0aW5ncy52MS5VcGRhdGVFbWFpbEFjdGlvblJlc3BvbnNlEmgKE0xpc3RSZXNlbmRUZW1wbGF0ZXMSJy5zZXR0aW5ncy52MS5MaXN0UmVzZW5kVGVtcGxhdGVzUmVxdWVzdBooLnNldHRpbmdzLnYxLkxpc3RSZXNlbmRUZW1wbGF0ZXNSZXNwb25zZRJfChBHZXRQcm9qZWN0U2NoZW1hEiQuc2V0dGluZ3MudjEuR2V0UHJvamVjdFNjaGVtYVJlcXVlc3QaJS5zZXR0aW5ncy52MS5HZXRQcm9qZWN0U2NoZW1hUmVzcG9uc2VCPVo7Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL3NldHRpbmdzL3YxO3NldHRpbmdzdjFiBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_expressions_v1_expressions]);
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Describes the message settings.v1.Setting.
|