@discordeno/types 19.0.0-next.7c404ee → 19.0.0-next.7cf2ad3

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.
@@ -18,6 +18,12 @@ _export(exports, {
18
18
  AutoModerationTriggerTypes: function() {
19
19
  return AutoModerationTriggerTypes;
20
20
  },
21
+ DiscordActivityLocationKind: function() {
22
+ return DiscordActivityLocationKind;
23
+ },
24
+ DiscordApplicationEventWebhookStatus: function() {
25
+ return DiscordApplicationEventWebhookStatus;
26
+ },
21
27
  DiscordApplicationIntegrationType: function() {
22
28
  return DiscordApplicationIntegrationType;
23
29
  },
@@ -33,6 +39,9 @@ _export(exports, {
33
39
  DiscordEntitlementType: function() {
34
40
  return DiscordEntitlementType;
35
41
  },
42
+ DiscordEventWebhookType: function() {
43
+ return DiscordEventWebhookType;
44
+ },
36
45
  DiscordGuildOnboardingMode: function() {
37
46
  return DiscordGuildOnboardingMode;
38
47
  },
@@ -42,21 +51,42 @@ _export(exports, {
42
51
  DiscordInteractionContextType: function() {
43
52
  return DiscordInteractionContextType;
44
53
  },
54
+ DiscordInteractionEntryPointCommandHandlerType: function() {
55
+ return DiscordInteractionEntryPointCommandHandlerType;
56
+ },
45
57
  DiscordInviteType: function() {
46
58
  return DiscordInviteType;
47
59
  },
60
+ DiscordMessageReferenceType: function() {
61
+ return DiscordMessageReferenceType;
62
+ },
48
63
  DiscordPollLayoutType: function() {
49
64
  return DiscordPollLayoutType;
50
65
  },
51
66
  DiscordReactionType: function() {
52
67
  return DiscordReactionType;
53
68
  },
69
+ DiscordScheduledEventRecurrenceRuleFrequency: function() {
70
+ return DiscordScheduledEventRecurrenceRuleFrequency;
71
+ },
72
+ DiscordScheduledEventRecurrenceRuleMonth: function() {
73
+ return DiscordScheduledEventRecurrenceRuleMonth;
74
+ },
75
+ DiscordScheduledEventRecurrenceRuleWeekday: function() {
76
+ return DiscordScheduledEventRecurrenceRuleWeekday;
77
+ },
54
78
  DiscordSkuType: function() {
55
79
  return DiscordSkuType;
56
80
  },
57
81
  DiscordTeamMemberRole: function() {
58
82
  return DiscordTeamMemberRole;
59
83
  },
84
+ DiscordVoiceChannelEffectAnimationType: function() {
85
+ return DiscordVoiceChannelEffectAnimationType;
86
+ },
87
+ DiscordWebhookEventType: function() {
88
+ return DiscordWebhookEventType;
89
+ },
60
90
  OAuth2Scope: function() {
61
91
  return OAuth2Scope;
62
92
  }
@@ -166,8 +196,15 @@ var DiscordApplicationIntegrationType;
166
196
  /** App is installable to servers */ DiscordApplicationIntegrationType[DiscordApplicationIntegrationType["GuildInstall"] = 0] = "GuildInstall";
167
197
  /** App is installable to users */ DiscordApplicationIntegrationType[DiscordApplicationIntegrationType["UserInstall"] = 1] = "UserInstall";
168
198
  })(DiscordApplicationIntegrationType || (DiscordApplicationIntegrationType = {}));
199
+ var DiscordApplicationEventWebhookStatus;
200
+ (function(DiscordApplicationEventWebhookStatus) {
201
+ /** Webhook events are disabled by developer */ DiscordApplicationEventWebhookStatus[DiscordApplicationEventWebhookStatus["Disabled"] = 1] = "Disabled";
202
+ /** Webhook events are enabled by developer */ DiscordApplicationEventWebhookStatus[DiscordApplicationEventWebhookStatus["Enabled"] = 2] = "Enabled";
203
+ /** Webhook events are disabled by Discord, usually due to inactivity */ DiscordApplicationEventWebhookStatus[DiscordApplicationEventWebhookStatus["DisabledByDiscord"] = 3] = "DisabledByDiscord";
204
+ })(DiscordApplicationEventWebhookStatus || (DiscordApplicationEventWebhookStatus = {}));
169
205
  var DiscordConnectionServiceType;
170
206
  (function(DiscordConnectionServiceType) {
207
+ DiscordConnectionServiceType["AmazonMusic"] = "amazon-music";
171
208
  DiscordConnectionServiceType["BattleNet"] = "battlenet";
172
209
  DiscordConnectionServiceType["Bungie"] = "Bungie.net";
173
210
  DiscordConnectionServiceType["Domain"] = "domain";
@@ -196,11 +233,35 @@ var DiscordConnectionVisibility;
196
233
  /** invisible to everyone except the user themselves */ DiscordConnectionVisibility[DiscordConnectionVisibility["None"] = 0] = "None";
197
234
  /** visible to everyone */ DiscordConnectionVisibility[DiscordConnectionVisibility["Everyone"] = 1] = "Everyone";
198
235
  })(DiscordConnectionVisibility || (DiscordConnectionVisibility = {}));
236
+ var DiscordActivityLocationKind;
237
+ (function(DiscordActivityLocationKind) {
238
+ /** The Location is a Guild Channel */ DiscordActivityLocationKind["GuildChannel"] = "gc";
239
+ /** The Location is a Private Channel, such as a DM or GDM */ DiscordActivityLocationKind["PrivateChannel"] = "pc";
240
+ })(DiscordActivityLocationKind || (DiscordActivityLocationKind = {}));
199
241
  var DiscordReactionType;
200
242
  (function(DiscordReactionType) {
201
243
  DiscordReactionType[DiscordReactionType["Normal"] = 0] = "Normal";
202
244
  DiscordReactionType[DiscordReactionType["Burst"] = 1] = "Burst";
203
245
  })(DiscordReactionType || (DiscordReactionType = {}));
246
+ var DiscordMessageReferenceType;
247
+ (function(DiscordMessageReferenceType) {
248
+ /**
249
+ * A standard reference used by replies.
250
+ *
251
+ * @remarks
252
+ * When the type is set to this value, the field referenced_message on the message will be present
253
+ */ DiscordMessageReferenceType[DiscordMessageReferenceType["Default"] = 0] = "Default";
254
+ /**
255
+ * Reference used to point to a message at a point in time.
256
+ *
257
+ * @remarks
258
+ * When the type is set to this value, the field message_snapshot on the message will be present
259
+ *
260
+ * This value can only be used for basic messages;
261
+ * i.e. messages which do not have strong bindings to a non global entity.
262
+ * Thus we support only messages with `DEFAULT` or `REPLY` types, but disallowed if there are any polls, calls, or components.
263
+ */ DiscordMessageReferenceType[DiscordMessageReferenceType["Forward"] = 1] = "Forward";
264
+ })(DiscordMessageReferenceType || (DiscordMessageReferenceType = {}));
204
265
  var DiscordPollLayoutType;
205
266
  (function(DiscordPollLayoutType) {
206
267
  /** The default layout */ DiscordPollLayoutType[DiscordPollLayoutType["Default"] = 1] = "Default";
@@ -238,12 +299,54 @@ var AutoModerationActionType;
238
299
  */ AutoModerationActionType[AutoModerationActionType["Timeout"] = 3] = "Timeout";
239
300
  /** prevents a member from using text, voice, or other interactions */ AutoModerationActionType[AutoModerationActionType["BlockMemberInteraction"] = 4] = "BlockMemberInteraction";
240
301
  })(AutoModerationActionType || (AutoModerationActionType = {}));
302
+ var DiscordScheduledEventRecurrenceRuleFrequency;
303
+ (function(DiscordScheduledEventRecurrenceRuleFrequency) {
304
+ DiscordScheduledEventRecurrenceRuleFrequency[DiscordScheduledEventRecurrenceRuleFrequency["Yearly"] = 0] = "Yearly";
305
+ DiscordScheduledEventRecurrenceRuleFrequency[DiscordScheduledEventRecurrenceRuleFrequency["Monthly"] = 1] = "Monthly";
306
+ DiscordScheduledEventRecurrenceRuleFrequency[DiscordScheduledEventRecurrenceRuleFrequency["Weekly"] = 2] = "Weekly";
307
+ DiscordScheduledEventRecurrenceRuleFrequency[DiscordScheduledEventRecurrenceRuleFrequency["Daily"] = 3] = "Daily";
308
+ })(DiscordScheduledEventRecurrenceRuleFrequency || (DiscordScheduledEventRecurrenceRuleFrequency = {}));
309
+ var DiscordScheduledEventRecurrenceRuleWeekday;
310
+ (function(DiscordScheduledEventRecurrenceRuleWeekday) {
311
+ DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Monday"] = 0] = "Monday";
312
+ DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Tuesday"] = 1] = "Tuesday";
313
+ DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Wednesday"] = 2] = "Wednesday";
314
+ DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Thursday"] = 3] = "Thursday";
315
+ DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Friday"] = 4] = "Friday";
316
+ DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Saturday"] = 5] = "Saturday";
317
+ DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Sunday"] = 6] = "Sunday";
318
+ })(DiscordScheduledEventRecurrenceRuleWeekday || (DiscordScheduledEventRecurrenceRuleWeekday = {}));
319
+ var DiscordScheduledEventRecurrenceRuleMonth;
320
+ (function(DiscordScheduledEventRecurrenceRuleMonth) {
321
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["January"] = 1] = "January";
322
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["February"] = 2] = "February";
323
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["March"] = 3] = "March";
324
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["April"] = 4] = "April";
325
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["May"] = 5] = "May";
326
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["June"] = 6] = "June";
327
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["July"] = 7] = "July";
328
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["August"] = 8] = "August";
329
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["September"] = 9] = "September";
330
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["October"] = 10] = "October";
331
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["November"] = 11] = "November";
332
+ DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["December"] = 12] = "December";
333
+ })(DiscordScheduledEventRecurrenceRuleMonth || (DiscordScheduledEventRecurrenceRuleMonth = {}));
241
334
  var DiscordInviteType;
242
335
  (function(DiscordInviteType) {
243
336
  DiscordInviteType[DiscordInviteType["Guild"] = 0] = "Guild";
244
337
  DiscordInviteType[DiscordInviteType["GroupDm"] = 1] = "GroupDm";
245
338
  DiscordInviteType[DiscordInviteType["Friend"] = 2] = "Friend";
246
339
  })(DiscordInviteType || (DiscordInviteType = {}));
340
+ var DiscordInteractionEntryPointCommandHandlerType;
341
+ (function(DiscordInteractionEntryPointCommandHandlerType) {
342
+ /** The app handles the interaction using an interaction token */ DiscordInteractionEntryPointCommandHandlerType[DiscordInteractionEntryPointCommandHandlerType["AppHandler"] = 1] = "AppHandler";
343
+ /** Discord handles the interaction by launching an Activity and sending a follow-up message without coordinating with the app */ DiscordInteractionEntryPointCommandHandlerType[DiscordInteractionEntryPointCommandHandlerType["DiscordLaunchActivity"] = 2] = "DiscordLaunchActivity";
344
+ })(DiscordInteractionEntryPointCommandHandlerType || (DiscordInteractionEntryPointCommandHandlerType = {}));
345
+ var DiscordVoiceChannelEffectAnimationType;
346
+ (function(DiscordVoiceChannelEffectAnimationType) {
347
+ /** A fun animation, sent by a Nitro subscriber */ DiscordVoiceChannelEffectAnimationType[DiscordVoiceChannelEffectAnimationType["Premium"] = 0] = "Premium";
348
+ /** The standard animation */ DiscordVoiceChannelEffectAnimationType[DiscordVoiceChannelEffectAnimationType["Basic"] = 1] = "Basic";
349
+ })(DiscordVoiceChannelEffectAnimationType || (DiscordVoiceChannelEffectAnimationType = {}));
247
350
  var DiscordGuildOnboardingPromptType;
248
351
  (function(DiscordGuildOnboardingPromptType) {
249
352
  DiscordGuildOnboardingPromptType[DiscordGuildOnboardingPromptType["MultipleChoice"] = 0] = "MultipleChoice";
@@ -289,5 +392,16 @@ var DiscordInteractionContextType;
289
392
  /** Interaction can be used within DMs with the app's bot user */ DiscordInteractionContextType[DiscordInteractionContextType["BotDm"] = 1] = "BotDm";
290
393
  /** Interaction can be used within Group DMs and DMs other than the app's bot user */ DiscordInteractionContextType[DiscordInteractionContextType["PrivateChannel"] = 2] = "PrivateChannel";
291
394
  })(DiscordInteractionContextType || (DiscordInteractionContextType = {}));
395
+ var DiscordEventWebhookType;
396
+ (function(DiscordEventWebhookType) {
397
+ /** PING event sent to verify your Webhook Event URL is active */ DiscordEventWebhookType[DiscordEventWebhookType["Ping"] = 0] = "Ping";
398
+ /** Webhook event (details for event in event body object) */ DiscordEventWebhookType[DiscordEventWebhookType["Event"] = 1] = "Event";
399
+ })(DiscordEventWebhookType || (DiscordEventWebhookType = {}));
400
+ var DiscordWebhookEventType;
401
+ (function(DiscordWebhookEventType) {
402
+ /** Sent when an app was authorized by a user to a server or their account */ DiscordWebhookEventType["ApplicationAuthorized"] = "APPLICATION_AUTHORIZED";
403
+ /** Entitlement was created */ DiscordWebhookEventType["EntitlementCreate"] = "ENTITLEMENT_CREATE";
404
+ /** User was added to a Quest (currently unavailable) */ DiscordWebhookEventType["QuestUserEnrollment"] = "QUEST_USER_ENROLLMENT";
405
+ })(DiscordWebhookEventType || (DiscordWebhookEventType = {}));
292
406
 
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNjb3JkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQWN0aXZpdHlUeXBlcyxcbiAgdHlwZSBBbGxvd2VkTWVudGlvbnNUeXBlcyxcbiAgdHlwZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcyxcbiAgdHlwZSBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMsXG4gIHR5cGUgQXBwbGljYXRpb25Db21tYW5kVHlwZXMsXG4gIHR5cGUgQXBwbGljYXRpb25GbGFncyxcbiAgdHlwZSBBdHRhY2htZW50RmxhZ3MsXG4gIHR5cGUgQXVkaXRMb2dFdmVudHMsXG4gIHR5cGUgQnV0dG9uU3R5bGVzLFxuICB0eXBlIENoYW5uZWxGbGFncyxcbiAgdHlwZSBDaGFubmVsVHlwZXMsXG4gIHR5cGUgRGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25MZXZlbHMsXG4gIHR5cGUgRW1iZWRUeXBlcyxcbiAgdHlwZSBFeHBsaWNpdENvbnRlbnRGaWx0ZXJMZXZlbHMsXG4gIHR5cGUgRm9ydW1MYXlvdXQsXG4gIHR5cGUgR2F0ZXdheUV2ZW50TmFtZXMsXG4gIHR5cGUgR3VpbGRGZWF0dXJlcyxcbiAgdHlwZSBHdWlsZE5zZndMZXZlbCxcbiAgdHlwZSBJbnRlZ3JhdGlvbkV4cGlyZUJlaGF2aW9ycyxcbiAgdHlwZSBJbnRlcmFjdGlvblR5cGVzLFxuICB0eXBlIExvY2FsaXphdGlvbixcbiAgdHlwZSBNZXNzYWdlQWN0aXZpdHlUeXBlcyxcbiAgdHlwZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG4gIHR5cGUgTWVzc2FnZUZsYWdzLFxuICB0eXBlIE1lc3NhZ2VUeXBlcyxcbiAgdHlwZSBNZmFMZXZlbHMsXG4gIHR5cGUgT3ZlcndyaXRlVHlwZXMsXG4gIHR5cGUgUGlja1BhcnRpYWwsXG4gIHR5cGUgUHJlbWl1bVRpZXJzLFxuICB0eXBlIFByZW1pdW1UeXBlcyxcbiAgdHlwZSBSb2xlRmxhZ3MsXG4gIHR5cGUgU2NoZWR1bGVkRXZlbnRFbnRpdHlUeXBlLFxuICB0eXBlIFNjaGVkdWxlZEV2ZW50UHJpdmFjeUxldmVsLFxuICB0eXBlIFNjaGVkdWxlZEV2ZW50U3RhdHVzLFxuICB0eXBlIFNrdUZsYWdzLFxuICB0eXBlIFNvcnRPcmRlclR5cGVzLFxuICB0eXBlIFN0aWNrZXJGb3JtYXRUeXBlcyxcbiAgdHlwZSBTdGlja2VyVHlwZXMsXG4gIHR5cGUgU3lzdGVtQ2hhbm5lbEZsYWdzLFxuICB0eXBlIFRhcmdldFR5cGVzLFxuICB0eXBlIFRlYW1NZW1iZXJzaGlwU3RhdGVzLFxuICB0eXBlIFRleHRTdHlsZXMsXG4gIHR5cGUgVmVyaWZpY2F0aW9uTGV2ZWxzLFxuICB0eXBlIFZpZGVvUXVhbGl0eU1vZGVzLFxuICB0eXBlIFdlYmhvb2tUeXBlcyxcbn0gZnJvbSAnLi9zaGFyZWQuanMnXG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciN1c2VyLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVXNlciB7XG4gIC8qKiBUaGUgdXNlcidzIHVzZXJuYW1lLCBub3QgdW5pcXVlIGFjcm9zcyB0aGUgcGxhdGZvcm0gKi9cbiAgdXNlcm5hbWU6IHN0cmluZ1xuICAvKiogVGhlIHVzZXIncyBkaXNwbGF5IG5hbWUsIGlmIGl0IGlzIHNldC4gRm9yIGJvdHMsIHRoaXMgaXMgdGhlIGFwcGxpY2F0aW9uIG5hbWUgKi9cbiAgZ2xvYmFsX25hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB1c2VyJ3MgY2hvc2VuIGxhbmd1YWdlIG9wdGlvbiAqL1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgLyoqIFRoZSBmbGFncyBvbiBhIHVzZXIncyBhY2NvdW50ICovXG4gIGZsYWdzPzogbnVtYmVyXG4gIC8qKiBUaGUgdHlwZSBvZiBOaXRybyBzdWJzY3JpcHRpb24gb24gYSB1c2VyJ3MgYWNjb3VudCAqL1xuICBwcmVtaXVtX3R5cGU/OiBQcmVtaXVtVHlwZXNcbiAgLyoqIFRoZSBwdWJsaWMgZmxhZ3Mgb24gYSB1c2VyJ3MgYWNjb3VudCAqL1xuICBwdWJsaWNfZmxhZ3M/OiBudW1iZXJcbiAgLyoqIHRoZSB1c2VyJ3MgYmFubmVyIGNvbG9yIGVuY29kZWQgYXMgYW4gaW50ZWdlciByZXByZXNlbnRhdGlvbiBvZiBoZXhhZGVjaW1hbCBjb2xvciBjb2RlICovXG4gIGFjY2VudF9jb2xvcj86IG51bWJlclxuICAvKiogVGhlIHVzZXIncyBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIGRpc2NvcmQtdGFnICovXG4gIGRpc2NyaW1pbmF0b3I6IHN0cmluZ1xuICAvKiogVGhlIHVzZXIncyBhdmF0YXIgaGFzaCAqL1xuICBhdmF0YXI6IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgYmVsb25ncyB0byBhbiBPQXV0aDIgYXBwbGljYXRpb24gKi9cbiAgYm90PzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBhbiBPZmZpY2lhbCBEaXNjb3JkIFN5c3RlbSB1c2VyIChwYXJ0IG9mIHRoZSB1cmdlbnQgbWVzc2FnZSBzeXN0ZW0pICovXG4gIHN5c3RlbT86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIHR3byBmYWN0b3IgZW5hYmxlZCBvbiB0aGVpciBhY2NvdW50ICovXG4gIG1mYV9lbmFibGVkPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgZW1haWwgb24gdGhpcyBhY2NvdW50IGhhcyBiZWVuIHZlcmlmaWVkICovXG4gIHZlcmlmaWVkPzogYm9vbGVhblxuICAvKiogVGhlIHVzZXIncyBlbWFpbCAqL1xuICBlbWFpbD86IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSB1c2VyJ3MgYmFubmVyLCBvciBudWxsIGlmIHVuc2V0ICovXG4gIGJhbm5lcj86IHN0cmluZ1xuICAvKiogZGF0YSBmb3IgdGhlIHVzZXIncyBhdmF0YXIgZGVjb3JhdGlvbiAqL1xuICBhdmF0YXJfZGVjb3JhdGlvbl9kYXRhPzogRGlzY29yZEF2YXRhckRlY29yYXRpb25EYXRhXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI3NoYXJlZC1yZXNvdXJjZXMtb2F1dGgyLXNjb3BlcyAqL1xuZXhwb3J0IGVudW0gT0F1dGgyU2NvcGUge1xuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIGZldGNoIGRhdGEgZnJvbSBhIHVzZXIncyBcIk5vdyBQbGF5aW5nL1JlY2VudGx5IFBsYXllZFwiIGxpc3RcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSBpcyBub3QgY3VycmVudGx5IGF2YWlsYWJsZSBmb3IgYXBwc1xuICAgKi9cbiAgQWN0aXZpdGllc1JlYWQgPSAnYWN0aXZpdGllcy5yZWFkJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byB1cGRhdGUgYSB1c2VyJ3MgYWN0aXZpdHlcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSBub3QgY3VycmVudGx5IGF2YWlsYWJsZSBmb3IgYXBwcy5cbiAgICovXG4gIEFjdGl2aXRpZXNXcml0ZSA9ICdhY3Rpdml0aWVzLndyaXRlJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byByZWFkIGJ1aWxkIGRhdGEgZm9yIGEgdXNlcidzIGFwcGxpY2F0aW9ucyAqL1xuICBBcHBsaWNhdGlvbnNCdWlsZHNSZWFkID0gJ2FwcGxpY2F0aW9ucy5idWlsZHMucmVhZCcsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBsb2FkL3VwZGF0ZSBidWlsZHMgZm9yIGEgdXNlcidzIGFwcGxpY2F0aW9uc1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgQXBwbGljYXRpb25zQnVpbGRzVXBsb2FkID0gJ2FwcGxpY2F0aW9ucy5idWlsZHMudXBsb2FkJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byBhZGQgY29tbWFuZHMgdG8gYSBndWlsZCAtIGluY2x1ZGVkIGJ5IGRlZmF1bHQgd2l0aCB0aGUgYGJvdGAgc2NvcGUgKi9cbiAgQXBwbGljYXRpb25zQ29tbWFuZHMgPSAnYXBwbGljYXRpb25zLmNvbW1hbmRzJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byB1cGRhdGUgaXRzIEFwcGxpY2F0aW9uIENvbW1hbmRzIHZpYSB0aGlzIGJlYXJlciB0b2tlblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIGNhbiBvbmx5IGJlIHVzZWQgd2hlbiB1c2luZyBhIFtDbGllbnQgQ3JlZGVudGlhbCBHcmFudF0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNjbGllbnQtY3JlZGVudGlhbHMtZ3JhbnQpXG4gICAqL1xuICBBcHBsaWNhdGlvbnNDb21tYW5kc1VwZGF0ZSA9ICdhcHBsaWNhdGlvbnMuY29tbWFuZHMudXBkYXRlJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byB1cGRhdGUgcGVybWlzc2lvbnMgZm9yIGl0cyBjb21tYW5kcyBpbiBhIGd1aWxkIGEgdXNlciBoYXMgcGVybWlzc2lvbnMgdG8gKi9cbiAgQXBwbGljYXRpb25Db21tYW5kc1Blcm1pc3Npb25zVXBkYXRlID0gJ2FwcGxpY2F0aW9ucy5jb21tYW5kcy5wZXJtaXNzaW9ucy51cGRhdGUnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHJlYWQgZW50aXRsZW1lbnRzIGZvciBhIHVzZXIncyBhcHBsaWNhdGlvbnMgKi9cbiAgQXBwbGljYXRpb25zRW50aXRsZW1lbnRzID0gJ2FwcGxpY2F0aW9ucy5lbnRpdGxlbWVudHMnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIHJlYWQgYW5kIHVwZGF0ZSBzdG9yZSBkYXRhIChTS1VzLCBzdG9yZSBsaXN0aW5ncywgYWNoaWV2ZW1lbnRzLCBldGMuKSBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zICovXG4gIEFwcGxpY2F0aW9uc1N0b3JlVXBkYXRlID0gJ2FwcGxpY2F0aW9ucy5zdG9yZS51cGRhdGUnLFxuICAvKiogRm9yIG9hdXRoMiBib3RzLCB0aGlzIHB1dHMgdGhlIGJvdCBpbiB0aGUgdXNlcidzIHNlbGVjdGVkIGd1aWxkIGJ5IGRlZmF1bHQgKi9cbiAgQm90ID0gJ2JvdCcsXG4gIC8qKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy91c2Vycy9AbWUvY29ubmVjdGlvbnNdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC11c2VyLWNvbm5lY3Rpb25zKSAqL1xuICBDb25uZWN0aW9ucyA9ICdjb25uZWN0aW9ucycsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gc2VlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyJ3MgRE1zIGFuZCBncm91cCBETXNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIERNQ2hhbm5lbHNSZWFkID0gJ2RtX2NoYW5uZWxzLnJlYWQnLFxuICAvKiogQWRkcyB0aGUgYGVtYWlsYCBmaWxlZCB0byBbL3VzZXJzL0BtZV0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjZ2V0LWN1cnJlbnQtdXNlcikgKi9cbiAgRW1haWwgPSAnZW1haWwnLFxuICAvKiogQWxsb3dzIHlvdXIgYXBwIHRvIGpvaW4gdXNlcnMgdG8gYSBncm91cCBkbSAqL1xuICBHcm91cERNSm9pbnMgPSAnZ2RtLmpvaW4nLFxuICAvKiogQWxsb3dzIHJlcXVlc3RzIHRvIFsvdXNlcnMvQG1lL2d1aWxkc10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjZ2V0LWN1cnJlbnQtdXNlci1ndWlsZHMpICovXG4gIEd1aWxkcyA9ICdndWlsZHMnLFxuICAvKiogQWxsb3dzIHJlcXVlc3RzIHRvIFsvZ3VpbGRzL3tndWlsZC5pZH0vbWVtYmVycy97dXNlci5pZH1dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNhZGQtZ3VpbGQtbWVtYmVyKSAqL1xuICBHdWlsZHNKb2luID0gJ2d1aWxkcy5qb2luJyxcbiAgLyoqIEFsbG93cyByZXF1ZXN0cyB0byBbL3VzZXJzL0BtZS9ndWlsZHMve2d1aWxkLmlkfS9tZW1iZXJdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXItZ3VpbGQtbWVtYmVyKSAqL1xuICBHdWlsZHNNZW1iZXJzUmVhZCA9ICdndWlsZHMubWVtYmVycy5yZWFkJyxcbiAgLyoqXG4gICAqIEFsbG93cyByZXF1ZXN0cyB0byBbL3VzZXJzL0BtZV0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjZ2V0LWN1cnJlbnQtdXNlcilcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhlIHJldHVybiBvYmplY3QgZnJvbSBbL3VzZXJzL0BtZV0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjZ2V0LWN1cnJlbnQtdXNlcilcbiAgICogZG9lcyBOT1QgY29udGFpbiB0aGUgYGVtYWlsYCBmaWVsZCB1bmxlc3MgdGhlIHNjb3BlIGBlbWFpbGAgaXMgYWxzbyB1c2VkXG4gICAqL1xuICBJZGVudGlmeSA9ICdpZGVudGlmeScsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhcGkgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gcmVhZCBtZXNzYWdlcyBmcm9tIGFsbCBjbGllbnQgY2hhbm5lbHNcbiAgICogKG90aGVyd2lzZSByZXN0cmljdGVkIHRvIGNoYW5uZWxzL2d1aWxkcyB5b3VyIGFwcCBjcmVhdGVzKVxuICAgKi9cbiAgTWVzc2FnZXNSZWFkID0gJ21lc3NhZ2VzLnJlYWQnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIGtub3cgYSB1c2VyJ3MgZnJpZW5kcyBhbmQgaW1wbGljaXQgcmVsYXRpb25zaGlwc1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgUmVsYXRpb25zaGlwc1JlYWQgPSAncmVsYXRpb25zaGlwcy5yZWFkJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byB1cGRhdGUgYSB1c2VyJ3MgY29ubmVjdGlvbiBhbmQgbWV0YWRhdGEgZm9yIHRoZSBhcHAgKi9cbiAgUm9sZUNvbm5lY3Rpb25zV3JpdGUgPSAncm9sZV9jb25uZWN0aW9ucy53cml0ZScsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byBjb250cm9sIGEgdXNlcidzIGxvY2FsIERpc2NvcmQgY2xpZW50XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBSUEMgPSAncnBjJyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIHVwZGF0ZSBhIHVzZXIncyBhY3Rpdml0eVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgUlBDQWN0aXZpdGllc1dyaXRlID0gJ3JwYy5hY3Rpdml0aWVzLndyaXRlJyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFwaSBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byByZWNlaXZlIG5vdGlmaWNhdGlvbnMgcHVzaGVkIG91dCB0byB0aGUgdXNlclxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgUlBDTm90aWZpY2F0aW9uc1JlYWQgPSAncnBjLm5vdGlmaWNhdGlvbnMucmVhZCcsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byByZWFkIGEgdXNlcidzIHZvaWNlIHNldHRpbmdzIGFuZCBsaXN0ZW4gZm9yIHZvaWNlIGV2ZW50c1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgUlBDVm9pY2VSZWFkID0gJ3JwYy52b2ljZS5yZWFkJyxcbiAgLyoqXG4gICAqIEZvciBsb2NhbCBycGMgc2VydmVyIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIHVwZGF0ZSBhIHVzZXIncyB2b2ljZSBzZXR0aW5nc1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgUlBDVm9pY2VXcml0ZSA9ICdycGMudm9pY2Uud3JpdGUnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIGNvbm5lY3QgdG8gdm9pY2Ugb24gdXNlcidzIGJlaGFsZiBhbmQgc2VlIGFsbCB0aGUgdm9pY2UgbWVtYmVyc1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgVm9pY2UgPSAndm9pY2UnLFxuICAvKiogR2VuZXJhdGUgYSB3ZWJob29rIHRoYXQgaXMgcmV0dXJuZWQgaW4gdGhlIG9hdXRoIHRva2VuIHJlc3BvbnNlIGZvciBhdXRob3JpemF0aW9uIGNvZGUgZ3JhbnRzICovXG4gIFdlYmhvb2tJbmNvbWluZyA9ICd3ZWJob29rLmluY29taW5nJyxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNpbnRlZ3JhdGlvbi1vYmplY3QtaW50ZWdyYXRpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlZ3JhdGlvbiB7XG4gIC8qKiBJbnRlZ3JhdGlvbiBJZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJbnRlZ3JhdGlvbiBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogSW50ZWdyYXRpb24gdHlwZSAodHdpdGNoLCB5b3V0dWJlLCBkaXNjb3JkLCBvciBndWlsZF9zdWJzY3JpcHRpb24pLiAqL1xuICB0eXBlOiAndHdpdGNoJyB8ICd5b3V0dWJlJyB8ICdkaXNjb3JkJ1xuICAvKiogSXMgdGhpcyBpbnRlZ3JhdGlvbiBlbmFibGVkICovXG4gIGVuYWJsZWQ/OiBib29sZWFuXG4gIC8qKiBJcyB0aGlzIGludGVncmF0aW9uIHN5bmNpbmcgKi9cbiAgc3luY2luZz86IGJvb2xlYW5cbiAgLyoqIFJvbGUgSWQgdGhhdCB0aGlzIGludGVncmF0aW9uIHVzZXMgZm9yIFwic3Vic2NyaWJlcnNcIiAqL1xuICByb2xlX2lkPzogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIGVtb3RpY29ucyBzaG91bGQgYmUgc3luY2VkIGZvciB0aGlzIGludGVncmF0aW9uICh0d2l0Y2ggb25seSBjdXJyZW50bHkpICovXG4gIGVuYWJsZV9lbW90aWNvbnM/OiBib29sZWFuXG4gIC8qKiBUaGUgYmVoYXZpb3Igb2YgZXhwaXJpbmcgc3Vic2NyaWJlcnMgKi9cbiAgZXhwaXJlX2JlaGF2aW9yPzogSW50ZWdyYXRpb25FeHBpcmVCZWhhdmlvcnNcbiAgLyoqIFRoZSBncmFjZSBwZXJpb2QgKGluIGRheXMpIGJlZm9yZSBleHBpcmluZyBzdWJzY3JpYmVycyAqL1xuICBleHBpcmVfZ3JhY2VfcGVyaW9kPzogbnVtYmVyXG4gIC8qKiBXaGVuIHRoaXMgaW50ZWdyYXRpb24gd2FzIGxhc3Qgc3luY2VkICovXG4gIHN5bmNlZF9hdD86IHN0cmluZ1xuICAvKiogSG93IG1hbnkgc3Vic2NyaWJlcnMgdGhpcyBpbnRlZ3JhdGlvbiBoYXMgKi9cbiAgc3Vic2NyaWJlcl9jb3VudD86IG51bWJlclxuICAvKiogSGFzIHRoaXMgaW50ZWdyYXRpb24gYmVlbiByZXZva2VkICovXG4gIHJldm9rZWQ/OiBib29sZWFuXG4gIC8qKiBVc2VyIGZvciB0aGlzIGludGVncmF0aW9uICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogSW50ZWdyYXRpb24gYWNjb3VudCBpbmZvcm1hdGlvbiAqL1xuICBhY2NvdW50OiBEaXNjb3JkSW50ZWdyYXRpb25BY2NvdW50XG4gIC8qKiBUaGUgYm90L09BdXRoMiBhcHBsaWNhdGlvbiBmb3IgZGlzY29yZCBpbnRlZ3JhdGlvbnMgKi9cbiAgYXBwbGljYXRpb24/OiBEaXNjb3JkSW50ZWdyYXRpb25BcHBsaWNhdGlvblxuICAvKiogdGhlIHNjb3BlcyB0aGUgYXBwbGljYXRpb24gaGFzIGJlZW4gYXV0aG9yaXplZCBmb3IgKi9cbiAgc2NvcGVzOiBPQXV0aDJTY29wZVtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjaW50ZWdyYXRpb24tYWNjb3VudC1vYmplY3QtaW50ZWdyYXRpb24tYWNjb3VudC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVncmF0aW9uQWNjb3VudCB7XG4gIC8qKiBJZCBvZiB0aGUgYWNjb3VudCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBOYW1lIG9mIHRoZSBhY2NvdW50ICovXG4gIG5hbWU6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2ludGVncmF0aW9uLWFwcGxpY2F0aW9uLW9iamVjdC1pbnRlZ3JhdGlvbi1hcHBsaWNhdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVncmF0aW9uQXBwbGljYXRpb24ge1xuICAvKiogVGhlIGlkIG9mIHRoZSBhcHAgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIGFwcCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIHRoZSBpY29uIGhhc2ggb2YgdGhlIGFwcCAqL1xuICBpY29uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGFwcCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBUaGUgYm90IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGFwcGxpY2F0aW9uICovXG4gIGJvdD86IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2dpdGh1Yi5jb20vZGlzY29yZC9kaXNjb3JkLWFwaS1kb2NzL2Jsb2IvbWFzdGVyL2RvY3MvdG9waWNzL0dhdGV3YXkubWQjaW50ZWdyYXRpb24tY3JlYXRlLWV2ZW50LWFkZGl0aW9uYWwtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSBleHRlbmRzIERpc2NvcmRJbnRlZ3JhdGlvbiB7XG4gIC8qKiBJZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9naXRodWIuY29tL2Rpc2NvcmQvZGlzY29yZC1hcGktZG9jcy9ibG9iL21hc3Rlci9kb2NzL3RvcGljcy9HYXRld2F5Lm1kI2ludGVncmF0aW9uLWRlbGV0ZS1ldmVudC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVncmF0aW9uRGVsZXRlIHtcbiAgLyoqIEludGVncmF0aW9uIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBJZCBvZiB0aGUgYm90L09BdXRoMiBhcHBsaWNhdGlvbiBmb3IgdGhpcyBkaXNjb3JkIGludGVncmF0aW9uICovXG4gIGFwcGxpY2F0aW9uX2lkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1pbnRlZ3JhdGlvbnMtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZEludGVncmF0aW9uc1VwZGF0ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgd2hvc2UgaW50ZWdyYXRpb25zIHdlcmUgdXBkYXRlZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSN0eXBpbmctc3RhcnQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFR5cGluZ1N0YXJ0IHtcbiAgLyoqIFVuaXggdGltZSAoaW4gc2Vjb25kcykgb2Ygd2hlbiB0aGUgdXNlciBzdGFydGVkIHR5cGluZyAqL1xuICB0aW1lc3RhbXA6IG51bWJlclxuICAvKiogaWQgb2YgdGhlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSB1c2VyICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogVGhlIG1lbWJlciB3aG8gc3RhcnRlZCB0eXBpbmcgaWYgdGhpcyBoYXBwZW5lZCBpbiBhIGd1aWxkICovXG4gIG1lbWJlcj86IERpc2NvcmRNZW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1tZW1iZXItb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZW1iZXIge1xuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBkZWFmZW5lZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBkZWFmPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBtdXRlZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBtdXRlPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgdXNlciBoYXMgbm90IHlldCBwYXNzZWQgdGhlIGd1aWxkJ3MgTWVtYmVyc2hpcCBTY3JlZW5pbmcgcmVxdWlyZW1lbnRzICovXG4gIHBlbmRpbmc/OiBib29sZWFuXG4gIC8qKiBUaGUgdXNlciB0aGlzIGd1aWxkIG1lbWJlciByZXByZXNlbnRzICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhpcyB1c2VycyBndWlsZCBuaWNrbmFtZSAqL1xuICBuaWNrPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIG1lbWJlcnMgY3VzdG9tIGF2YXRhciBmb3IgdGhpcyBzZXJ2ZXIuICovXG4gIGF2YXRhcj86IHN0cmluZ1xuICAvKiogQXJyYXkgb2Ygcm9sZSBvYmplY3QgaWRzICovXG4gIHJvbGVzOiBzdHJpbmdbXVxuICAvKiogV2hlbiB0aGUgdXNlciBqb2luZWQgdGhlIGd1aWxkICovXG4gIGpvaW5lZF9hdDogc3RyaW5nXG4gIC8qKiBXaGVuIHRoZSB1c2VyIHN0YXJ0ZWQgYm9vc3RpbmcgdGhlIGd1aWxkICovXG4gIHByZW1pdW1fc2luY2U/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgcGVybWlzc2lvbnMgdGhpcyBtZW1iZXIgaGFzIGluIHRoZSBndWlsZC4gT25seSBwcmVzZW50IG9uIGludGVyYWN0aW9uIGV2ZW50cyBhbmQgT0F1dGgyIGN1cnJlbnQgbWVtYmVyIGZldGNoLiAqL1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1xuICAvKiogd2hlbiB0aGUgdXNlcidzIHRpbWVvdXQgd2lsbCBleHBpcmUgYW5kIHRoZSB1c2VyIHdpbGwgYmUgYWJsZSB0byBjb21tdW5pY2F0ZSBpbiB0aGUgZ3VpbGQgYWdhaW4gKHNldCBudWxsIHRvIHJlbW92ZSB0aW1lb3V0KSwgbnVsbCBvciBhIHRpbWUgaW4gdGhlIHBhc3QgaWYgdGhlIHVzZXIgaXMgbm90IHRpbWVkIG91dCAqL1xuICBjb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsPzogc3RyaW5nIHwgbnVsbFxuICAvKiogR3VpbGQgbWVtYmVyIGZsYWdzICovXG4gIGZsYWdzOiBudW1iZXJcbiAgLyoqIGRhdGEgZm9yIHRoZSBtZW1iZXIncyBndWlsZCBhdmF0YXIgZGVjb3JhdGlvbiAqL1xuICBhdmF0YXJfZGVjb3JhdGlvbl9kYXRhPzogRGlzY29yZEF2YXRhckRlY29yYXRpb25EYXRhIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjYXZhdGFyLWRlY29yYXRpb24tZGF0YS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF2YXRhckRlY29yYXRpb25EYXRhIHtcbiAgLyoqIHRoZSBhdmF0YXIgZGVjb3JhdGlvbiBoYXNoICovXG4gIGFzc2V0OiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBhdmF0YXIgZGVjb3JhdGlvbidzIFNLVSAqL1xuICBza3VfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2FwcGxpY2F0aW9uI2FwcGxpY2F0aW9uLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb24ge1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIGFwcCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYXBwICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIEFuIGFycmF5IG9mIHJwYyBvcmlnaW4gdXJscywgaWYgcnBjIGlzIGVuYWJsZWQgKi9cbiAgcnBjX29yaWdpbnM/OiBzdHJpbmdbXVxuICAvKiogVGhlIHVybCBvZiB0aGUgYXBwJ3MgdGVybXMgb2Ygc2VydmljZSAqL1xuICB0ZXJtc19vZl9zZXJ2aWNlX3VybD86IHN0cmluZ1xuICAvKiogVGhlIHVybCBvZiB0aGUgYXBwJ3MgcHJpdmFjeSBwb2xpY3kgKi9cbiAgcHJpdmFjeV9wb2xpY3lfdXJsPzogc3RyaW5nXG4gIC8qKiBUaGUgaGV4IGVuY29kZWQga2V5IGZvciB2ZXJpZmljYXRpb24gaW4gaW50ZXJhY3Rpb25zIGFuZCB0aGUgR2FtZVNESydzIEdldFRpY2tldCAqL1xuICB2ZXJpZnlfa2V5OiBzdHJpbmdcbiAgLyoqIElmIHRoaXMgYXBwbGljYXRpb24gaXMgYSBnYW1lIHNvbGQgb24gRGlzY29yZCwgdGhpcyBmaWVsZCB3aWxsIGJlIHRoZSBpZCBvZiB0aGUgXCJHYW1lIFNLVVwiIHRoYXQgaXMgY3JlYXRlZCwgaWYgZXhpc3RzICovXG4gIHByaW1hcnlfc2t1X2lkPzogc3RyaW5nXG4gIC8qKiBJZiB0aGlzIGFwcGxpY2F0aW9uIGlzIGEgZ2FtZSBzb2xkIG9uIERpc2NvcmQsIHRoaXMgZmllbGQgd2lsbCBiZSB0aGUgVVJMIHNsdWcgdGhhdCBsaW5rcyB0byB0aGUgc3RvcmUgcGFnZSAqL1xuICBzbHVnPzogc3RyaW5nXG4gIC8qKiBUaGUgYXBwbGljYXRpb24ncyBwdWJsaWMgZmxhZ3MgKi9cbiAgZmxhZ3M/OiBBcHBsaWNhdGlvbkZsYWdzXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGFwcCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgaWNvbiBoYXNoIG9mIHRoZSBhcHAgKi9cbiAgaWNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hlbiBmYWxzZSBvbmx5IGFwcCBvd25lciBjYW4gam9pbiB0aGUgYXBwJ3MgYm90IHRvIGd1aWxkcyAqL1xuICBib3RfcHVibGljOiBib29sZWFuXG4gIC8qKiBXaGVuIHRydWUgdGhlIGFwcCdzIGJvdCB3aWxsIG9ubHkgam9pbiB1cG9uIGNvbXBsZXRpb24gb2YgdGhlIGZ1bGwgb2F1dGgyIGNvZGUgZ3JhbnQgZmxvdyAqL1xuICBib3RfcmVxdWlyZV9jb2RlX2dyYW50OiBib29sZWFuXG4gIC8qKiBQYXJ0aWFsIHVzZXIgb2JqZWN0IGNvbnRhaW5pbmcgaW5mbyBvbiB0aGUgb3duZXIgb2YgdGhlIGFwcGxpY2F0aW9uICovXG4gIG93bmVyPzogUGFydGlhbDxEaXNjb3JkVXNlcj5cbiAgLyoqIElmIHRoZSBhcHBsaWNhdGlvbiBiZWxvbmdzIHRvIGEgdGVhbSwgdGhpcyB3aWxsIGJlIGEgbGlzdCBvZiB0aGUgbWVtYmVycyBvZiB0aGF0IHRlYW0gKi9cbiAgdGVhbTogRGlzY29yZFRlYW0gfCBudWxsXG4gIC8qKiBHdWlsZCBhc3NvY2lhdGVkIHdpdGggdGhlIGFwcC4gRm9yIGV4YW1wbGUsIGEgZGV2ZWxvcGVyIHN1cHBvcnQgc2VydmVyLiAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogQSBwYXJ0aWFsIG9iamVjdCBvZiB0aGUgYXNzb2NpYXRlZCBndWlsZCAqL1xuICBndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogSWYgdGhpcyBhcHBsaWNhdGlvbiBpcyBhIGdhbWUgc29sZCBvbiBEaXNjb3JkLCB0aGlzIGZpZWxkIHdpbGwgYmUgdGhlIGhhc2ggb2YgdGhlIGltYWdlIG9uIHN0b3JlIGVtYmVkcyAqL1xuICBjb3Zlcl9pbWFnZT86IHN0cmluZ1xuICAvKiogdXAgdG8gNSB0YWdzIGRlc2NyaWJpbmcgdGhlIGNvbnRlbnQgYW5kIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGFwcGxpY2F0aW9uICovXG4gIHRhZ3M/OiBzdHJpbmdbXVxuICAvKiogc2V0dGluZ3MgZm9yIHRoZSBhcHBsaWNhdGlvbidzIGRlZmF1bHQgaW4tYXBwIGF1dGhvcml6YXRpb24gbGluaywgaWYgZW5hYmxlZCAqL1xuICBpbnN0YWxsX3BhcmFtcz86IERpc2NvcmRJbnN0YWxsUGFyYW1zXG4gIC8qKiBEZWZhdWx0IHNjb3BlcyBhbmQgcGVybWlzc2lvbnMgZm9yIGVhY2ggc3VwcG9ydGVkIGluc3RhbGxhdGlvbiBjb250ZXh0LiAqL1xuICBpbnRlZ3JhdGlvbl90eXBlc19jb25maWc/OiBQYXJ0aWFsPFJlY29yZDxgJHtEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGV9YCwgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlQ29uZmlndXJhdGlvbj4+XG4gIC8qKiB0aGUgYXBwbGljYXRpb24ncyBkZWZhdWx0IGN1c3RvbSBhdXRob3JpemF0aW9uIGxpbmssIGlmIGVuYWJsZWQgKi9cbiAgY3VzdG9tX2luc3RhbGxfdXJsPzogc3RyaW5nXG4gIC8qKiB0aGUgYXBwbGljYXRpb24ncyByb2xlIGNvbm5lY3Rpb24gdmVyaWZpY2F0aW9uIGVudHJ5IHBvaW50LCB3aGljaCB3aGVuIGNvbmZpZ3VyZWQgd2lsbCByZW5kZXIgdGhlIGFwcCBhcyBhIHZlcmlmaWNhdGlvbiBtZXRob2QgaW4gdGhlIGd1aWxkIHJvbGUgdmVyaWZpY2F0aW9uIGNvbmZpZ3VyYXRpb24gKi9cbiAgcm9sZV9jb25uZWN0aW9uc192ZXJpZmljYXRpb25fdXJsPzogc3RyaW5nXG4gIC8qKiBBbiBhcHByb3hpbWF0ZSBjb3VudCBvZiB0aGUgYXBwJ3MgZ3VpbGQgbWVtYmVyc2hpcC4gKi9cbiAgYXBwcm94aW1hdGVfZ3VpbGRfY291bnQ/OiBudW1iZXJcbiAgLyoqIFBhcnRpYWwgdXNlciBvYmplY3QgZm9yIHRoZSBib3QgdXNlciBhc3NvY2lhdGVkIHdpdGggdGhlIGFwcCAqL1xuICBib3Q/OiBQYXJ0aWFsPERpc2NvcmRVc2VyPlxuICAvKiogQXJyYXkgb2YgcmVkaXJlY3QgVVJJcyBmb3IgdGhlIGFwcCAqL1xuICByZWRpcmVjdF91cmlzPzogc3RyaW5nW11cbiAgLyoqIEludGVyYWN0aW9ucyBlbmRwb2ludCBVUkwgZm9yIHRoZSBhcHAgKi9cbiAgaW50ZXJhY3Rpb25zX2VuZHBvaW50X3VybD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2FwcGxpY2F0aW9uI2FwcGxpY2F0aW9uLW9iamVjdC1hcHBsaWNhdGlvbi1pbnRlZ3JhdGlvbi10eXBlLWNvbmZpZ3VyYXRpb24tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZUNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogSW5zdGFsbCBwYXJhbXMgZm9yIGVhY2ggaW5zdGFsbGF0aW9uIGNvbnRleHQncyBkZWZhdWx0IGluLWFwcCBhdXRob3JpemF0aW9uIGxpbmtcbiAgICpcbiAgICogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2FwcGxpY2F0aW9uI2luc3RhbGwtcGFyYW1zLW9iamVjdC1pbnN0YWxsLXBhcmFtcy1zdHJ1Y3R1cmVcbiAgICovXG4gIG9hdXRoMl9pbnN0YWxsX3BhcmFtcz86IHtcbiAgICAvKiogU2NvcGVzIHRvIGFkZCB0aGUgYXBwbGljYXRpb24gdG8gdGhlIHNlcnZlciB3aXRoICovXG4gICAgc2NvcGVzOiBPQXV0aDJTY29wZVtdXG4gICAgLyoqIFBlcm1pc3Npb25zIHRvIHJlcXVlc3QgZm9yIHRoZSBib3Qgcm9sZSAqL1xuICAgIHBlcm1pc3Npb25zOiBzdHJpbmdcbiAgfVxufVxuXG5leHBvcnQgZW51bSBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUge1xuICAvKiogQXBwIGlzIGluc3RhbGxhYmxlIHRvIHNlcnZlcnMgKi9cbiAgR3VpbGRJbnN0YWxsID0gMCxcbiAgLyoqIEFwcCBpcyBpbnN0YWxsYWJsZSB0byB1c2VycyAqL1xuICBVc2VySW5zdGFsbCA9IDEsXG59XG5cbmV4cG9ydCB0eXBlIERpc2NvcmRUb2tlbkV4Y2hhbmdlID0gRGlzY29yZFRva2VuRXhjaGFuZ2VBdXRob3JpemF0aW9uQ29kZSB8IERpc2NvcmRUb2tlbkV4Y2hhbmdlUmVmcmVzaFRva2VuIHwgRGlzY29yZFRva2VuRXhjaGFuZ2VDbGllbnRDcmVkZW50aWFsc1xuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlbkV4Y2hhbmdlQXV0aG9yaXphdGlvbkNvZGUge1xuICBncmFudF90eXBlOiAnYXV0aG9yaXphdGlvbl9jb2RlJ1xuICAvKiogVGhlIGNvZGUgZm9yIHRoZSB0b2tlbiBleGNoYW5nZSAqL1xuICBjb2RlOiBzdHJpbmdcbiAgLyoqIFRoZSByZWRpcmVjdF91cmkgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYXV0aG9yaXphdGlvbiAqL1xuICByZWRpcmVjdF91cmk6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNjbGllbnQtY3JlZGVudGlhbHMtZ3JhbnQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuRXhjaGFuZ2VSZWZyZXNoVG9rZW4ge1xuICBncmFudF90eXBlOiAncmVmcmVzaF90b2tlbidcbiAgLyoqIHRoZSB1c2VyJ3MgcmVmcmVzaCB0b2tlbiAqL1xuICByZWZyZXNoX3Rva2VuOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjY2xpZW50LWNyZWRlbnRpYWxzLWdyYW50ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlbkV4Y2hhbmdlQ2xpZW50Q3JlZGVudGlhbHMge1xuICBncmFudF90eXBlOiAnY2xpZW50X2NyZWRlbnRpYWxzJ1xuICAvKiogVGhlIHNjb3BlKHMpIGZvciB0aGUgYWNjZXNzIHRva2VuICovXG4gIHNjb3BlOiBPQXV0aDJTY29wZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjY2Vzc1Rva2VuUmVzcG9uc2Uge1xuICAvKiogVGhlIGFjY2VzcyB0b2tlbiBvZiB0aGUgdXNlciAqL1xuICBhY2Nlc3NfdG9rZW46IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgdG9rZW4gKi9cbiAgdG9rZW5fdHlwZTogc3RyaW5nXG4gIC8qKiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYWZ0ZXIgdGhhdCB0aGUgYWNjZXNzIHRva2VuIGlzIGV4cGlyZWQgKi9cbiAgZXhwaXJlc19pbjogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgcmVmcmVzaCB0b2tlbiB0byByZWZyZXNoIHRoZSBhY2Nlc3MgdG9rZW5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiB0aGUgdG9rZW4gZXhjaGFuZ2UgaXMgYSBjbGllbnQgY3JlZGVudGlhbHMgdHlwZSBncmFudCB0aGlzIHZhbHVlIGlzIG5vdCBkZWZpbmVkLlxuICAgKi9cbiAgcmVmcmVzaF90b2tlbjogc3RyaW5nXG4gIC8qKiBUaGUgc2NvcGVzIGZvciB0aGUgYWNjZXNzIHRva2VuICovXG4gIHNjb3BlOiBzdHJpbmdcbiAgLyoqIFRoZSB3ZWJob29rIHRoZSB1c2VyIGNyZWF0ZWQgZm9yIHRoZSBhcHBsaWNhdGlvbi4gUmVxdWlyZXMgdGhlIGB3ZWJob29rLmluY29taW5nYCBzY29wZSAqL1xuICB3ZWJob29rPzogRGlzY29yZEluY29taW5nV2ViaG9va1xuICAvKiogVGhlIGd1aWxkIHRoZSBib3QgaGFzIGJlZW4gYWRkZWQuIFJlcXVpcmVzIHRoZSBgYm90YCBzY29wZSAqL1xuICBndWlsZD86IERpc2NvcmRHdWlsZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlblJldm9jYXRpb24ge1xuICAvKiogVGhlIGFjY2VzcyB0b2tlbiB0byByZXZva2UgKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogT3B0aW9uYWwsIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcgZm9yIHRoZSByZXZvY2F0aW9uICovXG4gIHRva2VuX3R5cGVfaGludD86ICdhY2Nlc3NfdG9rZW4nIHwgJ3JlZnJlc2hfdG9rZW4nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2dldC1jdXJyZW50LWF1dGhvcml6YXRpb24taW5mb3JtYXRpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDdXJyZW50QXV0aG9yaXphdGlvbiB7XG4gIGFwcGxpY2F0aW9uOiBEaXNjb3JkQXBwbGljYXRpb25cbiAgLyoqIHRoZSBzY29wZXMgdGhlIHVzZXIgaGFzIGF1dGhvcml6ZWQgdGhlIGFwcGxpY2F0aW9uIGZvciAqL1xuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbiAgLyoqIHdoZW4gdGhlIGFjY2VzcyB0b2tlbiBleHBpcmVzICovXG4gIGV4cGlyZXM6IHN0cmluZ1xuICAvKiogdGhlIHVzZXIgd2hvIGhhcyBhdXRob3JpemVkLCBpZiB0aGUgdXNlciBoYXMgYXV0aG9yaXplZCB3aXRoIHRoZSBgaWRlbnRpZnlgIHNjb3BlICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjY29ubmVjdGlvbi1vYmplY3QtY29ubmVjdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENvbm5lY3Rpb24ge1xuICAvKiogaWQgb2YgdGhlIGNvbm5lY3Rpb24gYWNjb3VudCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB0aGUgdXNlcm5hbWUgb2YgdGhlIGNvbm5lY3Rpb24gYWNjb3VudCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIHRoZSBzZXJ2aWNlIG9mIHRoaXMgY29ubmVjdGlvbiAqL1xuICB0eXBlOiBEaXNjb3JkQ29ubmVjdGlvblNlcnZpY2VUeXBlXG4gIC8qKiB3aGV0aGVyIHRoZSBjb25uZWN0aW9uIGlzIHJldm9rZWQgKi9cbiAgcmV2b2tlZD86IGJvb2xlYW5cbiAgLyoqIGFuIGFycmF5IG9mIHBhcnRpYWwgc2VydmVyIGludGVncmF0aW9ucyAqL1xuICBpbnRlZ3JhdGlvbnM/OiBQYXJ0aWFsPERpc2NvcmRJbnRlZ3JhdGlvbj5bXVxuICAvKiogd2hldGhlciB0aGUgY29ubmVjdGlvbiBpcyB2ZXJpZmllZCAqL1xuICB2ZXJpZmllZDogYm9vbGVhblxuICAvKiogd2hldGhlciBmcmllbmQgc3luYyBpcyBlbmFibGVkIGZvciB0aGlzIGNvbm5lY3Rpb24gKi9cbiAgZnJpZW5kX3N5bmM6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgYWN0aXZpdGllcyByZWxhdGVkIHRvIHRoaXMgY29ubmVjdGlvbiB3aWxsIGJlIHNob3duIGluIHByZXNlbmNlIHVwZGF0ZXMgKi9cbiAgc2hvd19hY3Rpdml0eTogYm9vbGVhblxuICAvKiogd2hldGhlciB0aGlzIGNvbm5lY3Rpb24gaGFzIGEgY29ycmVzcG9uZGluZyB0aGlyZCBwYXJ0eSBPQXV0aDIgdG9rZW4gKi9cbiAgdHdvX3dheV9saW5rOiBib29sZWFuXG4gIC8qKiB2aXNpYmlsaXR5IG9mIHRoaXMgY29ubmVjdGlvbiAqL1xuICB2aXNpYmlsaXR5OiBEaXNjb3JkQ29ubmVjdGlvblZpc2liaWxpdHlcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2Nvbm5lY3Rpb24tb2JqZWN0LXNlcnZpY2VzICovXG5leHBvcnQgZW51bSBEaXNjb3JkQ29ubmVjdGlvblNlcnZpY2VUeXBlIHtcbiAgQmF0dGxlTmV0ID0gJ2JhdHRsZW5ldCcsXG4gIEJ1bmdpZSA9ICdCdW5naWUubmV0JyxcbiAgRG9tYWluID0gJ2RvbWFpbicsXG4gIGVCYXkgPSAnZWJheScsXG4gIEVwaWNHYW1lcyA9ICdlcGljZ2FtZXMnLFxuICBGYWNlYm9vayA9ICdmYWNlYm9vaycsXG4gIEdpdEh1YiA9ICdnaXRodWInLFxuICBJbnN0YWdyYW0gPSAnaW5zdGFncmFtJyxcbiAgTGVhZ3VlT2ZMZWdlbmRzID0gJ2xlYWd1ZW9mbGVnZW5kcycsXG4gIFBheVBhbCA9ICdwYXlwYWwnLFxuICBQbGF5U3RhdGlvbk5ldHdvcmsgPSAncGxheXN0YXRpb24nLFxuICBSZWRkaXQgPSAncmVkZGl0JyxcbiAgUmlvdEdhbWVzID0gJ3Jpb3RnYW1lcycsXG4gIFJvYmxveCA9ICdyb2Jsb3gnLFxuICBTcG90aWZ5ID0gJ3Nwb3RpZnknLFxuICBTa3lwZSA9ICdza3lwZScsXG4gIFN0ZWFtID0gJ3N0ZWFtJyxcbiAgVGlrVG9rID0gJ3Rpa3RvaycsXG4gIFR3aXRjaCA9ICd0d2l0Y2gnLFxuICBUd2l0dGVyID0gJ3R3aXR0ZXInLFxuICBYYm94ID0gJ3hib3gnLFxuICBZb3VUdWJlID0gJ3lvdXR1YmUnLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjY29ubmVjdGlvbi1vYmplY3QtdmlzaWJpbGl0eS10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZENvbm5lY3Rpb25WaXNpYmlsaXR5IHtcbiAgLyoqIGludmlzaWJsZSB0byBldmVyeW9uZSBleGNlcHQgdGhlIHVzZXIgdGhlbXNlbHZlcyAqL1xuICBOb25lID0gMCxcbiAgLyoqIHZpc2libGUgdG8gZXZlcnlvbmUgKi9cbiAgRXZlcnlvbmUgPSAxLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjYXBwbGljYXRpb24tcm9sZS1jb25uZWN0aW9uLW9iamVjdC1hcHBsaWNhdGlvbi1yb2xlLWNvbm5lY3Rpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uIHtcbiAgLyoqIHRoZSB2YW5pdHkgbmFtZSBvZiB0aGUgcGxhdGZvcm0gYSBib3QgaGFzIGNvbm5lY3RlZCAobWF4IDUwIGNoYXJhY3RlcnMpICovXG4gIHBsYXRmb3JtX25hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSB1c2VybmFtZSBvbiB0aGUgcGxhdGZvcm0gYSBib3QgaGFzIGNvbm5lY3RlZCAobWF4IDEwMCBjaGFyYWN0ZXJzKSAqL1xuICBwbGF0Zm9ybV91c2VybmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogb2JqZWN0IG1hcHBpbmcgYXBwbGljYXRpb24gcm9sZSBjb25uZWN0aW9uIG1ldGFkYXRhIGtleXMgdG8gdGhlaXIgc3RyaW5naWZpZWQgdmFsdWUgKG1heCAxMDAgY2hhcmFjdGVycykgZm9yIHRoZSB1c2VyIG9uIHRoZSBwbGF0Zm9ybSBhIGJvdCBoYXMgY29ubmVjdGVkICovXG4gIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvdGVhbXMjZGF0YS1tb2RlbHMtdGVhbS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRlYW0ge1xuICAvKiogSGFzaCBvZiB0aGUgaW1hZ2Ugb2YgdGhlIHRlYW0ncyBpY29uICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFVuaXF1ZSBJRCBvZiB0aGUgdGVhbSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBNZW1iZXJzIG9mIHRoZSB0ZWFtICovXG4gIG1lbWJlcnM6IERpc2NvcmRUZWFtTWVtYmVyW11cbiAgLyoqIFVzZXIgSUQgb2YgdGhlIGN1cnJlbnQgdGVhbSBvd25lciAqL1xuICBvd25lcl91c2VyX2lkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIHRlYW0gKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvdGVhbXMjZGF0YS1tb2RlbHMtdGVhbS1tZW1iZXJzLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGVhbU1lbWJlciB7XG4gIC8qKiBUaGUgdXNlcidzIG1lbWJlcnNoaXAgc3RhdGUgb24gdGhlIHRlYW0gKi9cbiAgbWVtYmVyc2hpcF9zdGF0ZTogVGVhbU1lbWJlcnNoaXBTdGF0ZXNcbiAgLyoqIFRoZSBpZCBvZiB0aGUgcGFyZW50IHRlYW0gb2Ygd2hpY2ggdGhleSBhcmUgYSBtZW1iZXIgKi9cbiAgdGVhbV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgYXZhdGFyLCBkaXNjcmltaW5hdG9yLCBpZCwgdXNlcm5hbWUsIGFuZCBnbG9iYWxfbmFtZSBvZiB0aGUgdXNlciAqL1xuICB1c2VyOiBQYXJ0aWFsPERpc2NvcmRVc2VyPiAmIFBpY2s8RGlzY29yZFVzZXIsICdhdmF0YXInIHwgJ2Rpc2NyaW1pbmF0b3InIHwgJ2lkJyB8ICd1c2VybmFtZScgfCAnZ2xvYmFsX25hbWUnPlxuICAvKiogUm9sZSBvZiB0aGUgdGVhbSBtZW1iZXIgKi9cbiAgcm9sZTogRGlzY29yZFRlYW1NZW1iZXJSb2xlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSN3ZWJob29rcy11cGRhdGUtd2ViaG9vay11cGRhdGUtZXZlbnQtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRXZWJob29rVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2FsbG93ZWQtbWVudGlvbnMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBbGxvd2VkTWVudGlvbnMge1xuICAvKiogQW4gYXJyYXkgb2YgYWxsb3dlZCBtZW50aW9uIHR5cGVzIHRvIHBhcnNlIGZyb20gdGhlIGNvbnRlbnQuICovXG4gIHBhcnNlPzogQWxsb3dlZE1lbnRpb25zVHlwZXNbXVxuICAvKiogRm9yIHJlcGxpZXMsIHdoZXRoZXIgdG8gbWVudGlvbiB0aGUgYXV0aG9yIG9mIHRoZSBtZXNzYWdlIGJlaW5nIHJlcGxpZWQgdG8gKGRlZmF1bHQgZmFsc2UpICovXG4gIHJlcGxpZWRfdXNlcj86IGJvb2xlYW5cbiAgLyoqIEFycmF5IG9mIHJvbGVfaWRzIHRvIG1lbnRpb24gKE1heCBzaXplIG9mIDEwMCkgKi9cbiAgcm9sZXM/OiBzdHJpbmdbXVxuICAvKiogQXJyYXkgb2YgdXNlcl9pZHMgdG8gbWVudGlvbiAoTWF4IHNpemUgb2YgMTAwKSAqL1xuICB1c2Vycz86IHN0cmluZ1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkIHtcbiAgLyoqIFRpdGxlIG9mIGVtYmVkICovXG4gIHRpdGxlPzogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIGVtYmVkIChhbHdheXMgXCJyaWNoXCIgZm9yIHdlYmhvb2sgZW1iZWRzKSAqL1xuICB0eXBlPzogRW1iZWRUeXBlc1xuICAvKiogRGVzY3JpcHRpb24gb2YgZW1iZWQgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIFVybCBvZiBlbWJlZCAqL1xuICB1cmw/OiBzdHJpbmdcbiAgLyoqIENvbG9yIGNvZGUgb2YgdGhlIGVtYmVkICovXG4gIGNvbG9yPzogbnVtYmVyXG4gIC8qKiBUaW1lc3RhbXAgb2YgZW1iZWQgY29udGVudCAqL1xuICB0aW1lc3RhbXA/OiBzdHJpbmdcbiAgLyoqIEZvb3RlciBpbmZvcm1hdGlvbiAqL1xuICBmb290ZXI/OiBEaXNjb3JkRW1iZWRGb290ZXJcbiAgLyoqIEltYWdlIGluZm9ybWF0aW9uICovXG4gIGltYWdlPzogRGlzY29yZEVtYmVkSW1hZ2VcbiAgLyoqIFRodW1ibmFpbCBpbmZvcm1hdGlvbiAqL1xuICB0aHVtYm5haWw/OiBEaXNjb3JkRW1iZWRUaHVtYm5haWxcbiAgLyoqIFZpZGVvIGluZm9ybWF0aW9uICovXG4gIHZpZGVvPzogRGlzY29yZEVtYmVkVmlkZW9cbiAgLyoqIFByb3ZpZGVyIGluZm9ybWF0aW9uICovXG4gIHByb3ZpZGVyPzogRGlzY29yZEVtYmVkUHJvdmlkZXJcbiAgLyoqIEF1dGhvciBpbmZvcm1hdGlvbiAqL1xuICBhdXRob3I/OiBEaXNjb3JkRW1iZWRBdXRob3JcbiAgLyoqIEZpZWxkcyBpbmZvcm1hdGlvbiAqL1xuICBmaWVsZHM/OiBEaXNjb3JkRW1iZWRGaWVsZFtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtYXV0aG9yLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRBdXRob3Ige1xuICAvKiogTmFtZSBvZiBhdXRob3IgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBVcmwgb2YgYXV0aG9yICovXG4gIHVybD86IHN0cmluZ1xuICAvKiogVXJsIG9mIGF1dGhvciBpY29uIChvbmx5IHN1cHBvcnRzIGh0dHAocykgYW5kIGF0dGFjaG1lbnRzKSAqL1xuICBpY29uX3VybD86IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiBhdXRob3IgaWNvbiAqL1xuICBwcm94eV9pY29uX3VybD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjZW1iZWQtb2JqZWN0LWVtYmVkLWZpZWxkLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRGaWVsZCB7XG4gIC8qKiBOYW1lIG9mIHRoZSBmaWVsZCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFZhbHVlIG9mIHRoZSBmaWVsZCAqL1xuICB2YWx1ZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGZpZWxkIHNob3VsZCBkaXNwbGF5IGlubGluZSAqL1xuICBpbmxpbmU/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtZm9vdGVyLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRGb290ZXIge1xuICAvKiogRm9vdGVyIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nXG4gIC8qKiBVcmwgb2YgZm9vdGVyIGljb24gKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIGljb25fdXJsPzogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIGZvb3RlciBpY29uICovXG4gIHByb3h5X2ljb25fdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtaW1hZ2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZEltYWdlIHtcbiAgLyoqIFNvdXJjZSB1cmwgb2YgaW1hZ2UgKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSBpbWFnZSAqL1xuICBwcm94eV91cmw/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiBpbWFnZSAqL1xuICBoZWlnaHQ/OiBudW1iZXJcbiAgLyoqIFdpZHRoIG9mIGltYWdlICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkUHJvdmlkZXIge1xuICAvKiogTmFtZSBvZiBwcm92aWRlciAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBVcmwgb2YgcHJvdmlkZXIgKi9cbiAgdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtdGh1bWJuYWlsLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRUaHVtYm5haWwge1xuICAvKiogU291cmNlIHVybCBvZiB0aHVtYm5haWwgKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSB0aHVtYm5haWwgKi9cbiAgcHJveHlfdXJsPzogc3RyaW5nXG4gIC8qKiBIZWlnaHQgb2YgdGh1bWJuYWlsICovXG4gIGhlaWdodD86IG51bWJlclxuICAvKiogV2lkdGggb2YgdGh1bWJuYWlsICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtdmlkZW8tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZFZpZGVvIHtcbiAgLyoqIFNvdXJjZSB1cmwgb2YgdmlkZW8gKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSB2aWRlbyAqL1xuICBwcm94eV91cmw/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiB2aWRlbyAqL1xuICBoZWlnaHQ/OiBudW1iZXJcbiAgLyoqIFdpZHRoIG9mIHZpZGVvICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNhdHRhY2htZW50LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXR0YWNobWVudCB7XG4gIC8qKiBOYW1lIG9mIGZpbGUgYXR0YWNoZWQgKi9cbiAgZmlsZW5hbWU6IHN0cmluZ1xuICAvKiogVGhlIHRpdGxlIG9mIHRoZSBmaWxlICovXG4gIHRpdGxlPzogc3RyaW5nXG4gIC8qKiBUaGUgYXR0YWNobWVudCdzIFttZWRpYSB0eXBlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NZWRpYV90eXBlKSAqL1xuICBjb250ZW50X3R5cGU/OiBzdHJpbmdcbiAgLyoqIFNpemUgb2YgZmlsZSBpbiBieXRlcyAqL1xuICBzaXplOiBudW1iZXJcbiAgLyoqIFNvdXJjZSB1cmwgb2YgZmlsZSAqL1xuICB1cmw6IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiBmaWxlICovXG4gIHByb3h5X3VybDogc3RyaW5nXG4gIC8qKiBBdHRhY2htZW50IGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIGRlc2NyaXB0aW9uIGZvciB0aGUgZmlsZSAobWF4IDEwMjQgY2hhcmFjdGVycykgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiBmaWxlIChpZiBpbWFnZSkgKi9cbiAgaGVpZ2h0PzogbnVtYmVyIHwgbnVsbFxuICAvKiogV2lkdGggb2YgZmlsZSAoaWYgaW1hZ2UpICovXG4gIHdpZHRoPzogbnVtYmVyIHwgbnVsbFxuICAvKiogd2hldGhlciB0aGlzIGF0dGFjaG1lbnQgaXMgZXBoZW1lcmFsLiBFcGhlbWVyYWwgYXR0YWNobWVudHMgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIHJlbW92ZWQgYWZ0ZXIgYSBzZXQgcGVyaW9kIG9mIHRpbWUuIEVwaGVtZXJhbCBhdHRhY2htZW50cyBvbiBtZXNzYWdlcyBhcmUgZ3VhcmFudGVlZCB0byBiZSBhdmFpbGFibGUgYXMgbG9uZyBhcyB0aGUgbWVzc2FnZSBpdHNlbGYgZXhpc3RzLiAqL1xuICBlcGhlbWVyYWw/OiBib29sZWFuXG4gIC8qKiBUaGUgZHVyYXRpb24gb2YgdGhlIGF1ZGlvIGZpbGUgZm9yIGEgdm9pY2UgbWVzc2FnZSAqL1xuICBkdXJhdGlvbl9zZWNzPzogbnVtYmVyXG4gIC8qKiBBIGJhc2U2NCBlbmNvZGVkIGJ5dGVhcnJheSByZXByZXNlbnRpbmcgYSBzYW1wbGVkIHdhdmVmb3JtIGZvciBhIHZvaWNlIG1lc3NhZ2UgKi9cbiAgd2F2ZWZvcm0/OiBzdHJpbmdcbiAgLyoqIEF0dGFjaG1lbnQgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCAqL1xuICBmbGFncz86IEF0dGFjaG1lbnRGbGFnc1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3dlYmhvb2sjd2ViaG9vay1vYmplY3Qtd2ViaG9vay1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRXZWJob29rID0gRGlzY29yZEluY29taW5nV2ViaG9vayB8IERpc2NvcmRBcHBsaWNhdGlvbldlYmhvb2tcblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW5jb21pbmdXZWJob29rIHtcbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSB3ZWJob29rICovXG4gIHR5cGU6IFdlYmhvb2tUeXBlc1xuICAvKiogVGhlIHNlY3VyZSB0b2tlbiBvZiB0aGUgd2ViaG9vayAocmV0dXJuZWQgZm9yIEluY29taW5nIFdlYmhvb2tzKSAqL1xuICB0b2tlbj86IHN0cmluZ1xuICAvKiogVGhlIHVybCB1c2VkIGZvciBleGVjdXRpbmcgdGhlIHdlYmhvb2sgKHJldHVybmVkIGJ5IHRoZSB3ZWJob29rcyBPQXV0aDIgZmxvdykgKi9cbiAgdXJsPzogc3RyaW5nXG5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgd2ViaG9vayAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHRoaXMgd2ViaG9vayB3YXMgY3JlYXRlZCBieSAobm90IHJldHVybmVkIHdoZW4gZ2V0dGluZyBhIHdlYmhvb2sgd2l0aCBpdHMgdG9rZW4pICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGRlZmF1bHQgbmFtZSBvZiB0aGUgd2ViaG9vayAqL1xuICBuYW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZGVmYXVsdCB1c2VyIGF2YXRhciBoYXNoIG9mIHRoZSB3ZWJob29rICovXG4gIGF2YXRhcjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gdGhhdCBjcmVhdGVkIHRoaXMgd2ViaG9vayAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBjaGFubmVsIHRoYXQgdGhpcyB3ZWJob29rIGlzIGZvbGxvd2luZyAocmV0dXJuZWQgZm9yIENoYW5uZWwgRm9sbG93ZXIgV2ViaG9va3MpICovXG4gIHNvdXJjZV9ndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogVGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcykgKi9cbiAgc291cmNlX2NoYW5uZWw/OiBQYXJ0aWFsPERpc2NvcmRDaGFubmVsPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbldlYmhvb2sge1xuICAvKiogVGhlIHR5cGUgb2YgdGhlIHdlYmhvb2sgKi9cbiAgdHlwZTogV2ViaG9va1R5cGVzLkFwcGxpY2F0aW9uXG4gIC8qKiBUaGUgc2VjdXJlIHRva2VuIG9mIHRoZSB3ZWJob29rIChyZXR1cm5lZCBmb3IgSW5jb21pbmcgV2ViaG9va3MpICovXG4gIHRva2VuPzogc3RyaW5nXG4gIC8qKiBUaGUgdXJsIHVzZWQgZm9yIGV4ZWN1dGluZyB0aGUgd2ViaG9vayAocmV0dXJuZWQgYnkgdGhlIHdlYmhvb2tzIE9BdXRoMiBmbG93KSAqL1xuICB1cmw/OiBzdHJpbmdcblxuICAvKiogVGhlIGlkIG9mIHRoZSB3ZWJob29rICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCB0aGlzIHdlYmhvb2sgaXMgZm9yICovXG4gIGd1aWxkX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHVzZXIgdGhpcyB3ZWJob29rIHdhcyBjcmVhdGVkIGJ5IChub3QgcmV0dXJuZWQgd2hlbiBnZXR0aW5nIGEgd2ViaG9vayB3aXRoIGl0cyB0b2tlbikgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgZGVmYXVsdCBuYW1lIG9mIHRoZSB3ZWJob29rICovXG4gIG5hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZWZhdWx0IHVzZXIgYXZhdGFyIGhhc2ggb2YgdGhlIHdlYmhvb2sgKi9cbiAgYXZhdGFyOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgYm90L09BdXRoMiBhcHBsaWNhdGlvbiB0aGF0IGNyZWF0ZWQgdGhpcyB3ZWJob29rICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZ3VpbGQgb2YgdGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcyksIGZpZWxkIHdpbGwgYmUgYWJzZW50IGlmIHRoZSB3ZWJob29rIGNyZWF0b3IgaGFzIHNpbmNlIGxvc3QgYWNjZXNzIHRvIHRoZSBndWlsZCB3aGVyZSB0aGUgZm9sbG93ZWQgY2hhbm5lbCByZXNpZGVzICovXG4gIHNvdXJjZV9ndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogVGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcyksIGZpZWxkIHdpbGwgYmUgYWJzZW50IGlmIHRoZSB3ZWJob29rIGNyZWF0b3IgaGFzIHNpbmNlIGxvc3QgYWNjZXNzIHRvIHRoZSBndWlsZCB3aGVyZSB0aGUgZm9sbG93ZWQgY2hhbm5lbCByZXNpZGVzICovXG4gIHNvdXJjZV9jaGFubmVsPzogUGFydGlhbDxEaXNjb3JkQ2hhbm5lbD5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkIHtcbiAgLyoqIEd1aWxkIG5hbWUgKDItMTAwIGNoYXJhY3RlcnMsIGV4Y2x1ZGluZyB0cmFpbGluZyBhbmQgbGVhZGluZyB3aGl0ZXNwYWNlKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRydWUgaWYgdGhlIHVzZXIgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcj86IGJvb2xlYW5cbiAgLyoqIEFmayB0aW1lb3V0IGluIHNlY29uZHMgKi9cbiAgYWZrX3RpbWVvdXQ6IG51bWJlclxuICAvKiogVHJ1ZSBpZiB0aGUgc2VydmVyIHdpZGdldCBpcyBlbmFibGVkICovXG4gIHdpZGdldF9lbmFibGVkPzogYm9vbGVhblxuICAvKiogVmVyaWZpY2F0aW9uIGxldmVsIHJlcXVpcmVkIGZvciB0aGUgZ3VpbGQgKi9cbiAgdmVyaWZpY2F0aW9uX2xldmVsOiBWZXJpZmljYXRpb25MZXZlbHNcbiAgLyoqIERlZmF1bHQgbWVzc2FnZSBub3RpZmljYXRpb25zIGxldmVsICovXG4gIGRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zOiBEZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbkxldmVsc1xuICAvKiogRXhwbGljaXQgY29udGVudCBmaWx0ZXIgbGV2ZWwgKi9cbiAgZXhwbGljaXRfY29udGVudF9maWx0ZXI6IEV4cGxpY2l0Q29udGVudEZpbHRlckxldmVsc1xuICAvKiogRW5hYmxlZCBndWlsZCBmZWF0dXJlcyAqL1xuICBmZWF0dXJlczogR3VpbGRGZWF0dXJlc1tdXG4gIC8qKiBSZXF1aXJlZCBNRkEgbGV2ZWwgZm9yIHRoZSBndWlsZCAqL1xuICBtZmFfbGV2ZWw6IE1mYUxldmVsc1xuICAvKiogU3lzdGVtIGNoYW5uZWwgZmxhZ3MgKi9cbiAgc3lzdGVtX2NoYW5uZWxfZmxhZ3M6IFN5c3RlbUNoYW5uZWxGbGFnc1xuICAvKiogVHJ1ZSBpZiB0aGlzIGlzIGNvbnNpZGVyZWQgYSBsYXJnZSBndWlsZCAqL1xuICBsYXJnZT86IGJvb2xlYW5cbiAgLyoqIFRydWUgaWYgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIHVuYXZhaWxhYmxlPzogYm9vbGVhblxuICAvKiogVG90YWwgbnVtYmVyIG9mIG1lbWJlcnMgaW4gdGhpcyBndWlsZCAqL1xuICBtZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcmVzZW5jZXMgZm9yIHRoZSBndWlsZCAodGhlIGRlZmF1bHQgdmFsdWUsIGN1cnJlbnRseSAyNTAwMCwgaXMgaW4gZWZmZWN0IHdoZW4gbnVsbCBpcyByZXR1cm5lZCkgKi9cbiAgbWF4X3ByZXNlbmNlcz86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtZW1iZXJzIGZvciB0aGUgZ3VpbGQgKi9cbiAgbWF4X21lbWJlcnM/OiBudW1iZXJcbiAgLyoqIFRoZSB2YW5pdHkgdXJsIGNvZGUgZm9yIHRoZSBndWlsZCAqL1xuICB2YW5pdHlfdXJsX2NvZGU6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBvZiBhIGd1aWxkICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBQcmVtaXVtIHRpZXIgKFNlcnZlciBCb29zdCBsZXZlbCkgKi9cbiAgcHJlbWl1bV90aWVyOiBQcmVtaXVtVGllcnNcbiAgLyoqIFRoZSBudW1iZXIgb2YgYm9vc3RzIHRoaXMgZ3VpbGQgY3VycmVudGx5IGhhcyAqL1xuICBwcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudD86IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gYW1vdW50IG9mIHVzZXJzIGluIGEgdmlkZW8gY2hhbm5lbCAqL1xuICBtYXhfdmlkZW9fY2hhbm5lbF91c2Vycz86IG51bWJlclxuICAvKiogTWF4aW11bSBhbW91bnQgb2YgdXNlcnMgaW4gYSBzdGFnZSB2aWRlbyBjaGFubmVsICovXG4gIG1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzPzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygbm9uLW9mZmxpbmUgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEd1aWxkIE5TRlcgbGV2ZWwgKi9cbiAgbnNmd19sZXZlbDogR3VpbGROc2Z3TGV2ZWxcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZDogYm9vbGVhblxuICAvKiogR3VpbGQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWNvbiBoYXNoICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIEljb24gaGFzaCwgcmV0dXJuZWQgd2hlbiBpbiB0aGUgdGVtcGxhdGUgb2JqZWN0ICovXG4gIGljb25faGFzaD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFNwbGFzaCBoYXNoICovXG4gIHNwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogRGlzY292ZXJ5IHNwbGFzaCBoYXNoOyBvbmx5IHByZXNlbnQgZm9yIGd1aWxkcyB3aXRoIHRoZSBcIkRJU0NPVkVSQUJMRVwiIGZlYXR1cmUgKi9cbiAgZGlzY292ZXJ5X3NwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogSWQgb2YgdGhlIG93bmVyICovXG4gIG93bmVyX2lkOiBzdHJpbmdcbiAgLyoqIFRvdGFsIHBlcm1pc3Npb25zIGZvciB0aGUgdXNlciBpbiB0aGUgZ3VpbGQgKGV4Y2x1ZGVzIG92ZXJ3cml0ZXMgYW5kIGltcGxpY2l0IHBlcm1pc3Npb25zKSAqL1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1xuICAvKiogSWQgb2YgYWZrIGNoYW5uZWwgKi9cbiAgYWZrX2NoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjaGFubmVsIGlkIHRoYXQgdGhlIHdpZGdldCB3aWxsIGdlbmVyYXRlIGFuIGludml0ZSB0bywgb3IgbnVsbCBpZiBzZXQgdG8gbm8gaW52aXRlICovXG4gIHdpZGdldF9jaGFubmVsX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogUm9sZXMgaW4gdGhlIGd1aWxkICovXG4gIHJvbGVzOiBEaXNjb3JkUm9sZVtdXG4gIC8qKiBDdXN0b20gZ3VpbGQgZW1vamlzICovXG4gIGVtb2ppczogRGlzY29yZEVtb2ppW11cbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBndWlsZCBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgZ3VpbGQgbm90aWNlcyBzdWNoIGFzIHdlbGNvbWUgbWVzc2FnZXMgYW5kIGJvb3N0IGV2ZW50cyBhcmUgcG9zdGVkICovXG4gIHN5c3RlbV9jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgY29tbXVuaXR5IGd1aWxkcyBjYW4gZGlzcGxheSBydWxlcyBhbmQvb3IgZ3VpZGVsaW5lcyAqL1xuICBydWxlc19jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGVuIHRoaXMgZ3VpbGQgd2FzIGpvaW5lZCBhdCAqL1xuICBqb2luZWRfYXQ/OiBzdHJpbmdcbiAgLyoqIFN0YXRlcyBvZiBtZW1iZXJzIGN1cnJlbnRseSBpbiB2b2ljZSBjaGFubmVsczsgbGFja3MgdGhlIGd1aWxkX2lkIGtleSAqL1xuICB2b2ljZV9zdGF0ZXM/OiBPbWl0PERpc2NvcmRWb2ljZVN0YXRlLCAnZ3VpbGRJZCc+W11cbiAgLyoqIFVzZXJzIGluIHRoZSBndWlsZCAqL1xuICBtZW1iZXJzPzogRGlzY29yZE1lbWJlcltdXG4gIC8qKiBDaGFubmVscyBpbiB0aGUgZ3VpbGQgKi9cbiAgY2hhbm5lbHM/OiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBBbGwgYWN0aXZlIHRocmVhZHMgaW4gdGhlIGd1aWxkIHRoYXQgdGhlIGN1cnJlbnQgdXNlciBoYXMgcGVybWlzc2lvbiB0byB2aWV3ICovXG4gIHRocmVhZHM/OiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBQcmVzZW5jZXMgb2YgdGhlIG1lbWJlcnMgaW4gdGhlIGd1aWxkLCB3aWxsIG9ubHkgaW5jbHVkZSBub24tb2ZmbGluZSBtZW1iZXJzIGlmIHRoZSBzaXplIGlzIGdyZWF0ZXIgdGhhbiBsYXJnZSB0aHJlc2hvbGQgKi9cbiAgcHJlc2VuY2VzPzogUGFydGlhbDxEaXNjb3JkUHJlc2VuY2VVcGRhdGU+W11cbiAgLyoqIEJhbm5lciBoYXNoICovXG4gIGJhbm5lcjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHByZWZlcnJlZCBsb2NhbGUgb2YgYSBDb21tdW5pdHkgZ3VpbGQ7IHVzZWQgaW4gc2VydmVyIGRpc2NvdmVyeSBhbmQgbm90aWNlcyBmcm9tIERpc2NvcmQ7IGRlZmF1bHRzIHRvIFwiZW4tVVNcIiAqL1xuICBwcmVmZXJyZWRfbG9jYWxlOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB3aGVyZSBhZG1pbnMgYW5kIG1vZGVyYXRvcnMgb2YgQ29tbXVuaXR5IGd1aWxkcyByZWNlaXZlIG5vdGljZXMgZnJvbSBEaXNjb3JkICovXG4gIHB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB3ZWxjb21lIHNjcmVlbiBvZiBhIENvbW11bml0eSBndWlsZCwgc2hvd24gdG8gbmV3IG1lbWJlcnMsIHJldHVybmVkIGluIGFuIEludml0ZSdzIGd1aWxkIG9iamVjdCAqL1xuICB3ZWxjb21lX3NjcmVlbj86IERpc2NvcmRXZWxjb21lU2NyZWVuXG4gIC8qKiBTdGFnZSBpbnN0YW5jZXMgaW4gdGhlIGd1aWxkICovXG4gIHN0YWdlX2luc3RhbmNlcz86IERpc2NvcmRTdGFnZUluc3RhbmNlW11cbiAgLyoqIEN1c3RvbSBndWlsZCBzdGlja2VycyAqL1xuICBzdGlja2Vycz86IERpc2NvcmRTdGlja2VyW11cbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB3aGVyZSBhZG1pbnMgYW5kIG1vZGVyYXRvcnMgb2YgQ29tbXVuaXR5IGd1aWxkcyByZWNlaXZlIHNhZmV0eSBhbGVydHMgZnJvbSBEaXNjb3JkICovXG4gIHNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZDogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL3Blcm1pc3Npb25zI3JvbGUtb2JqZWN0LXJvbGUtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSb2xlIHtcbiAgLyoqIFJvbGUgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWYgdGhpcyByb2xlIGlzIHNob3dlZCBzZXBhcmF0ZWx5IGluIHRoZSB1c2VyIGxpc3RpbmcgKi9cbiAgaG9pc3Q6IGJvb2xlYW5cbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgcm9sZSBpcyBtYW5hZ2VkIGJ5IGFuIGludGVncmF0aW9uICovXG4gIG1hbmFnZWQ6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIG1lbnRpb25hYmxlICovXG4gIG1lbnRpb25hYmxlOiBib29sZWFuXG4gIC8qKiBUaGUgdGFncyB0aGlzIHJvbGUgaGFzICovXG4gIHRhZ3M/OiBEaXNjb3JkUm9sZVRhZ3NcbiAgLyoqIHRoZSByb2xlIGVtb2ppIGhhc2ggKi9cbiAgaWNvbj86IHN0cmluZ1xuICAvKiogUm9sZSBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogSW50ZWdlciByZXByZXNlbnRhdGlvbiBvZiBoZXhhZGVjaW1hbCBjb2xvciBjb2RlICovXG4gIGNvbG9yOiBudW1iZXJcbiAgLyoqIFBvc2l0aW9uIG9mIHRoaXMgcm9sZSAocm9sZXMgd2l0aCB0aGUgc2FtZSBwb3NpdGlvbiBhcmUgc29ydGVkIGJ5IGlkKSAqL1xuICBwb3NpdGlvbjogbnVtYmVyXG4gIC8qKiByb2xlIHVuaWNvZGUgZW1vamkgKi9cbiAgdW5pY29kZV9lbW9qaT86IHN0cmluZ1xuICAvKiogUm9sZSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzOiBSb2xlRmxhZ3Ncbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9wZXJtaXNzaW9ucyNyb2xlLW9iamVjdC1yb2xlLXRhZ3Mtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSb2xlVGFncyB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGJvdCB0aGlzIHJvbGUgYmVsb25ncyB0byAqL1xuICBib3RfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgaW50ZWdyYXRpb24gdGhpcyByb2xlIGJlbG9uZ3MgdG8gKi9cbiAgaW50ZWdyYXRpb25faWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyB0aGUgZ3VpbGQncyBwcmVtaXVtIHN1YnNjcmliZXIgcm9sZSAqL1xuICBwcmVtaXVtX3N1YnNjcmliZXI/OiBudWxsXG4gIC8qKiBJZCBvZiB0aGlzIHJvbGUncyBzdWJzY3JpcHRpb24gc2t1IGFuZCBsaXN0aW5nLiAqL1xuICBzdWJzY3JpcHRpb25fbGlzdGluZ19pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIHJvbGUgaXMgYXZhaWxhYmxlIGZvciBwdXJjaGFzZS4gKi9cbiAgYXZhaWxhYmxlX2Zvcl9wdXJjaGFzZT86IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBhIGd1aWxkJ3MgbGlua2VkIHJvbGUgKi9cbiAgZ3VpbGRfY29ubmVjdGlvbnM/OiBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZW1vamkjZW1vamktb2JqZWN0LWVtb2ppLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1vamkge1xuICAvKiogRW1vamkgbmFtZSAoY2FuIG9ubHkgYmUgbnVsbCBpbiByZWFjdGlvbiBlbW9qaSBvYmplY3RzKSAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBFbW9qaSBpZCAqL1xuICBpZD86IHN0cmluZ1xuICAvKiogUm9sZXMgYWxsb3dlZCB0byB1c2UgdGhpcyBlbW9qaSAqL1xuICByb2xlcz86IHN0cmluZ1tdXG4gIC8qKiBVc2VyIHRoYXQgY3JlYXRlZCB0aGlzIGVtb2ppICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIG11c3QgYmUgd3JhcHBlZCBpbiBjb2xvbnMgKi9cbiAgcmVxdWlyZV9jb2xvbnM/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgbWFuYWdlZCAqL1xuICBtYW5hZ2VkPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gIGFuaW1hdGVkPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGNhbiBiZSB1c2VkLCBtYXkgYmUgZmFsc2UgZHVlIHRvIGxvc3Mgb2YgU2VydmVyIEJvb3N0cyAqL1xuICBhdmFpbGFibGU/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdm9pY2Ujdm9pY2Utc3RhdGUtb2JqZWN0LXZvaWNlLXN0YXRlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVm9pY2VTdGF0ZSB7XG4gIC8qKiBUaGUgc2Vzc2lvbiBpZCBmb3IgdGhpcyB2b2ljZSBzdGF0ZSAqL1xuICBzZXNzaW9uX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCB0aGlzIHZvaWNlIHN0YXRlIGlzIGZvciAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB1c2VyIGlzIGNvbm5lY3RlZCB0byAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgdXNlciBpZCB0aGlzIHZvaWNlIHN0YXRlIGlzIGZvciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBtZW1iZXIgdGhpcyB2b2ljZSBzdGF0ZSBpcyBmb3IgKi9cbiAgbWVtYmVyPzogRGlzY29yZE1lbWJlcldpdGhVc2VyXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBkZWFmZW5lZCBieSB0aGUgc2VydmVyICovXG4gIGRlYWY6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIG11dGVkIGJ5IHRoZSBzZXJ2ZXIgKi9cbiAgbXV0ZTogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIHVzZXIgaXMgbG9jYWxseSBkZWFmZW5lZCAqL1xuICBzZWxmX2RlYWY6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIGxvY2FsbHkgbXV0ZWQgKi9cbiAgc2VsZl9tdXRlOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBzdHJlYW1pbmcgdXNpbmcgXCJHbyBMaXZlXCIgKi9cbiAgc2VsZl9zdHJlYW0/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlcidzIGNhbWVyYSBpcyBlbmFibGVkICovXG4gIHNlbGZfdmlkZW86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIG11dGVkIGJ5IHRoZSBjdXJyZW50IHVzZXIgKi9cbiAgc3VwcHJlc3M6IGJvb2xlYW5cbiAgLyoqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSB1c2VyIHJlcXVlc3RlZCB0byBzcGVhayAqL1xuICByZXF1ZXN0X3RvX3NwZWFrX3RpbWVzdGFtcDogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjY2hhbm5lbC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENoYW5uZWwge1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGNoYW5uZWwgKi9cbiAgdHlwZTogQ2hhbm5lbFR5cGVzXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBTb3J0aW5nIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsIChjaGFubmVscyB3aXRoIHRoZSBzYW1lIHBvc2l0aW9uIGFyZSBzb3J0ZWQgYnkgaWQpICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBFeHBsaWNpdCBwZXJtaXNzaW9uIG92ZXJ3cml0ZXMgZm9yIG1lbWJlcnMgYW5kIHJvbGVzICovXG4gIHBlcm1pc3Npb25fb3ZlcndyaXRlcz86IERpc2NvcmRPdmVyd3JpdGVbXVxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGNoYW5uZWwgKDEtMTAwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIFRoZSBjaGFubmVsIHRvcGljICgwLTQwOTYgY2hhcmFjdGVycyBmb3IgR1VJTERfRk9SVU0gY2hhbm5lbHMsIDAtMTAyNCBjaGFyYWN0ZXJzIGZvciBhbGwgb3RoZXJzKSAqL1xuICB0b3BpYz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbnNmdyAqL1xuICBuc2Z3PzogYm9vbGVhblxuICAvKiogVGhlIGlkIG9mIHRoZSBsYXN0IG1lc3NhZ2Ugc2VudCBpbiB0aGlzIGNoYW5uZWwgKG1heSBub3QgcG9pbnQgdG8gYW4gZXhpc3Rpbmcgb3IgdmFsaWQgbWVzc2FnZSkgKi9cbiAgbGFzdF9tZXNzYWdlX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJpdHJhdGUgKGluIGJpdHMpIG9mIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsICovXG4gIGJpdHJhdGU/OiBudW1iZXJcbiAgLyoqIFRoZSB1c2VyIGxpbWl0IG9mIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsICovXG4gIHVzZXJfbGltaXQ/OiBudW1iZXJcbiAgLyoqIEFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApOyBib3RzLCBhcyB3ZWxsIGFzIHVzZXJzIHdpdGggdGhlIHBlcm1pc3Npb24gYG1hbmFnZV9tZXNzYWdlc2Agb3IgYG1hbmFnZV9jaGFubmVsYCwgYXJlIHVuYWZmZWN0ZWQgKi9cbiAgcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogdGhlIHJlY2lwaWVudHMgb2YgdGhlIERNICovXG4gIHJlY2lwaWVudHM/OiBEaXNjb3JkVXNlcltdXG4gIC8qKiBpY29uIGhhc2ggb2YgdGhlIGdyb3VwIERNICovXG4gIGljb24/OiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBjcmVhdG9yIG9mIHRoZSB0aHJlYWQgKi9cbiAgb3duZXJfaWQ/OiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBncm91cCBETSBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uX2lkPzogc3RyaW5nXG4gIC8qKiBGb3IgZ3JvdXAgRE0gY2hhbm5lbHM6IHdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbWFuYWdlZCBieSBhbiBhcHBsaWNhdGlvbiB2aWEgdGhlIGBnZG0uam9pbmAgT0F1dGgyIHNjb3BlLiAqL1xuICBtYW5hZ2VkPzogYm9vbGVhblxuICAvKiogRm9yIGd1aWxkIGNoYW5uZWxzOiBJZCBvZiB0aGUgcGFyZW50IGNhdGVnb3J5IGZvciBhIGNoYW5uZWwgKGVhY2ggcGFyZW50IGNhdGVnb3J5IGNhbiBjb250YWluIHVwIHRvIDUwIGNoYW5uZWxzKSwgZm9yIHRocmVhZHM6IGlkIG9mIHRoZSB0ZXh0IGNoYW5uZWwgdGhpcyB0aHJlYWQgd2FzIGNyZWF0ZWQgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hlbiB0aGUgbGFzdCBwaW5uZWQgbWVzc2FnZSB3YXMgcGlubmVkLiBUaGlzIG1heSBiZSBudWxsIGluIGV2ZW50cyBzdWNoIGFzIEdVSUxEX0NSRUFURSB3aGVuIGEgbWVzc2FnZSBpcyBub3QgcGlubmVkLiAqL1xuICBsYXN0X3Bpbl90aW1lc3RhbXA/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBWb2ljZSByZWdpb24gaWQgZm9yIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsLCBhdXRvbWF0aWMgd2hlbiBzZXQgdG8gbnVsbCAqL1xuICBydGNfcmVnaW9uPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNhbWVyYSB2aWRlbyBxdWFsaXR5IG1vZGUgb2YgdGhlIHZvaWNlIGNoYW5uZWwsIDEgd2hlbiBub3QgcHJlc2VudCAqL1xuICB2aWRlb19xdWFsaXR5X21vZGU/OiBWaWRlb1F1YWxpdHlNb2Rlc1xuICAvKiogQW4gYXBwcm94aW1hdGUgY291bnQgb2YgbWVzc2FnZXMgaW4gYSB0aHJlYWQsIHN0b3BzIGNvdW50aW5nIGF0IDUwICovXG4gIG1lc3NhZ2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEFuIGFwcHJveGltYXRlIGNvdW50IG9mIHVzZXJzIGluIGEgdGhyZWFkLCBzdG9wcyBjb3VudGluZyBhdCA1MCAqL1xuICBtZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIFRocmVhZC1zcGVjaWZpYyBmaWVsZHMgbm90IG5lZWRlZCBieSBvdGhlciBjaGFubmVscyAqL1xuICB0aHJlYWRfbWV0YWRhdGE/OiBEaXNjb3JkVGhyZWFkTWV0YWRhdGFcbiAgLyoqIFRocmVhZCBtZW1iZXIgb2JqZWN0IGZvciB0aGUgY3VycmVudCB1c2VyLCBpZiB0aGV5IGhhdmUgam9pbmVkIHRoZSB0aHJlYWQsIG9ubHkgaW5jbHVkZWQgb24gY2VydGFpbiBBUEkgZW5kcG9pbnRzICovXG4gIG1lbWJlcj86IERpc2NvcmRUaHJlYWRNZW1iZXJcbiAgLyoqIERlZmF1bHQgZHVyYXRpb24gZm9yIG5ld2x5IGNyZWF0ZWQgdGhyZWFkcywgaW4gbWludXRlcywgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5LCBjYW4gYmUgc2V0IHRvOiA2MCwgMTQ0MCwgNDMyMCwgMTAwODAgKi9cbiAgZGVmYXVsdF9hdXRvX2FyY2hpdmVfZHVyYXRpb24/OiBudW1iZXJcbiAgLyoqIGNvbXB1dGVkIHBlcm1pc3Npb25zIGZvciB0aGUgaW52b2tpbmcgdXNlciBpbiB0aGUgY2hhbm5lbCwgaW5jbHVkaW5nIG92ZXJ3cml0ZXMsIG9ubHkgaW5jbHVkZWQgd2hlbiBwYXJ0IG9mIHRoZSByZXNvbHZlZCBkYXRhIHJlY2VpdmVkIG9uIGEgc2xhc2ggY29tbWFuZCBpbnRlcmFjdGlvbi4gVGhpcyBkb2VzIG5vdCBpbmNsdWRlIGltcGxpY2l0IHBlcm1pc3Npb25zLCB3aGljaCBtYXkgbmVlZCB0byBiZSBjaGVja2VkIHNlcGFyYXRlbHkuICovXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nXG4gIC8qKiBUaGUgZmxhZ3Mgb2YgdGhlIGNoYW5uZWwgKi9cbiAgZmxhZ3M/OiBDaGFubmVsRmxhZ3NcbiAgLyoqIG51bWJlciBvZiBtZXNzYWdlcyBldmVyIHNlbnQgaW4gYSB0aHJlYWQsIGl0J3Mgc2ltaWxhciB0byBgbWVzc2FnZV9jb3VudGAgb24gbWVzc2FnZSBjcmVhdGlvbiwgYnV0IHdpbGwgbm90IGRlY3JlbWVudCB0aGUgbnVtYmVyIHdoZW4gYSBtZXNzYWdlIGlzIGRlbGV0ZWQgKi9cbiAgdG90YWxfbWVzc2FnZV9zZW50PzogbnVtYmVyXG4gIC8qKiBUaGUgc2V0IG9mIHRhZ3MgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXZhaWxhYmxlX3RhZ3M/OiBEaXNjb3JkRm9ydW1UYWdbXVxuICAvKiogVGhlIElEcyBvZiB0aGUgc2V0IG9mIHRhZ3MgdGhhdCBoYXZlIGJlZW4gYXBwbGllZCB0byBhIHRocmVhZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXBwbGllZF90YWdzOiBzdHJpbmdbXVxuICAvKiogdGhlIGVtb2ppIHRvIHNob3cgaW4gdGhlIGFkZCByZWFjdGlvbiBidXR0b24gb24gYSB0aHJlYWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGRlZmF1bHRfcmVhY3Rpb25fZW1vamk/OiBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamkgfCBudWxsXG4gIC8qKiB0aGUgaW5pdGlhbCByYXRlX2xpbWl0X3Blcl91c2VyIHRvIHNldCBvbiBuZXdseSBjcmVhdGVkIHRocmVhZHMgaW4gYSBjaGFubmVsLiB0aGlzIGZpZWxkIGlzIGNvcGllZCB0byB0aGUgdGhyZWFkIGF0IGNyZWF0aW9uIHRpbWUgYW5kIGRvZXMgbm90IGxpdmUgdXBkYXRlLiAqL1xuICBkZWZhdWx0X3RocmVhZF9yYXRlX2xpbWl0X3Blcl91c2VyOiBudW1iZXJcbiAgLyoqIHRoZSBkZWZhdWx0IHNvcnQgb3JkZXIgdHlwZSB1c2VkIHRvIG9yZGVyIHBvc3RzIGluIEdVSUxEX0ZPUlVNIGNoYW5uZWxzLiBEZWZhdWx0cyB0byBudWxsLCB3aGljaCBpbmRpY2F0ZXMgYSBwcmVmZXJyZWQgc29ydCBvcmRlciBoYXNuJ3QgYmVlbiBzZXQgYnkgYSBjaGFubmVsIGFkbWluICovXG4gIGRlZmF1bHRfc29ydF9vcmRlcj86IFNvcnRPcmRlclR5cGVzIHwgbnVsbFxuICAvKiogdGhlIGRlZmF1bHQgZm9ydW0gbGF5b3V0IHZpZXcgdXNlZCB0byBkaXNwbGF5IHBvc3RzIGluIGBHVUlMRF9GT1JVTWAgY2hhbm5lbHMuIERlZmF1bHRzIHRvIGAwYCwgd2hpY2ggaW5kaWNhdGVzIGEgbGF5b3V0IHZpZXcgaGFzIG5vdCBiZWVuIHNldCBieSBhIGNoYW5uZWwgYWRtaW4gKi9cbiAgZGVmYXVsdF9mb3J1bV9sYXlvdXQ/OiBGb3J1bUxheW91dFxuICAvKiogV2hlbiBhIHRocmVhZCBpcyBjcmVhdGVkIHRoaXMgd2lsbCBiZSB0cnVlIG9uIHRoYXQgY2hhbm5lbCBwYXlsb2FkIGZvciB0aGUgdGhyZWFkLiAqL1xuICBuZXdseV9jcmVhdGVkPzogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjcHJlc2VuY2UtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSB7XG4gIC8qKiBFaXRoZXIgXCJpZGxlXCIsIFwiZG5kXCIsIFwib25saW5lXCIsIG9yIFwib2ZmbGluZVwiICovXG4gIHN0YXR1czogJ2lkbGUnIHwgJ2RuZCcgfCAnb25saW5lJyB8ICdvZmZsaW5lJ1xuICAvKiogVGhlIHVzZXIgcHJlc2VuY2UgaXMgYmVpbmcgdXBkYXRlZCBmb3IgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBVc2VyJ3MgY3VycmVudCBhY3Rpdml0aWVzICovXG4gIGFjdGl2aXRpZXM6IERpc2NvcmRBY3Rpdml0eVtdXG4gIC8qKiBVc2VyJ3MgcGxhdGZvcm0tZGVwZW5kZW50IHN0YXR1cyAqL1xuICBjbGllbnRfc3RhdHVzOiBEaXNjb3JkQ2xpZW50U3RhdHVzXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjd2VsY29tZS1zY3JlZW4tb2JqZWN0LXdlbGNvbWUtc2NyZWVuLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkV2VsY29tZVNjcmVlbiB7XG4gIC8qKiBUaGUgc2VydmVyIGRlc2NyaXB0aW9uIHNob3duIGluIHRoZSB3ZWxjb21lIHNjcmVlbiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNoYW5uZWxzIHNob3duIGluIHRoZSB3ZWxjb21lIHNjcmVlbiwgdXAgdG8gNSAqL1xuICB3ZWxjb21lX2NoYW5uZWxzOiBEaXNjb3JkV2VsY29tZVNjcmVlbkNoYW5uZWxbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI3dlbGNvbWUtc2NyZWVuLW9iamVjdC13ZWxjb21lLXNjcmVlbi1jaGFubmVsLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkV2VsY29tZVNjcmVlbkNoYW5uZWwge1xuICAvKiogVGhlIGRlc2NyaXB0aW9uIHNob3duIGZvciB0aGUgY2hhbm5lbCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBUaGUgY2hhbm5lbCdzIGlkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGVtb2ppIGlkLCBpZiB0aGUgZW1vamkgaXMgY3VzdG9tICovXG4gIGVtb2ppX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZW1vamkgbmFtZSBpZiBjdXN0b20sIHRoZSB1bmljb2RlIGNoYXJhY3RlciBpZiBzdGFuZGFyZCwgb3IgYG51bGxgIGlmIG5vIGVtb2ppIGlzIHNldCAqL1xuICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RhZ2UtaW5zdGFuY2UjYXV0by1jbG9zaW5nLXN0YWdlLWluc3RhbmNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU3RhZ2VJbnN0YW5jZSB7XG4gIC8qKiBUaGUgdG9waWMgb2YgdGhlIFN0YWdlIGluc3RhbmNlICgxLTEyMCBjaGFyYWN0ZXJzKSAqL1xuICB0b3BpYzogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhpcyBTdGFnZSBpbnN0YW5jZSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50IGZvciB0aGlzIFN0YWdlIGluc3RhbmNlICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudF9pZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHJlYWRNZXRhZGF0YSB7XG4gIC8qKiBXaGV0aGVyIHRoZSB0aHJlYWQgaXMgYXJjaGl2ZWQgKi9cbiAgYXJjaGl2ZWQ6IGJvb2xlYW5cbiAgLyoqIER1cmF0aW9uIGluIG1pbnV0ZXMgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5ICovXG4gIGF1dG9fYXJjaGl2ZV9kdXJhdGlvbjogNjAgfCAxNDQwIHwgNDMyMCB8IDEwMDgwXG4gIC8qKiBXaGVuIGEgdGhyZWFkIGlzIGxvY2tlZCwgb25seSB1c2VycyB3aXRoIGBNQU5BR0VfVEhSRUFEU2AgY2FuIHVuYXJjaGl2ZSBpdCAqL1xuICBsb2NrZWQ6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgbm9uLW1vZGVyYXRvcnMgY2FuIGFkZCBvdGhlciBub24tbW9kZXJhdG9ycyB0byBhIHRocmVhZDsgb25seSBhdmFpbGFibGUgb24gcHJpdmF0ZSB0aHJlYWRzICovXG4gIGludml0YWJsZT86IGJvb2xlYW5cbiAgLyoqIFRpbWVzdGFtcCB3aGVuIHRoZSB0aHJlYWQncyBhcmNoaXZlIHN0YXR1cyB3YXMgbGFzdCBjaGFuZ2VkLCB1c2VkIGZvciBjYWxjdWxhdGluZyByZWNlbnQgYWN0aXZpdHkgKi9cbiAgYXJjaGl2ZV90aW1lc3RhbXA6IHN0cmluZ1xuICAvKiogVGltZXN0YW1wIHdoZW4gdGhlIHRocmVhZCB3YXMgY3JlYXRlZDsgb25seSBwb3B1bGF0ZWQgZm9yIHRocmVhZHMgY3JlYXRlZCBhZnRlciAyMDIyLTAxLTA5ICovXG4gIGNyZWF0ZV90aW1lc3RhbXA/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZE1lbWJlciB7XG4gIC8qKiBBbnkgdXNlci10aHJlYWQgc2V0dGluZ3MsIGN1cnJlbnRseSBvbmx5IHVzZWQgZm9yIG5vdGlmaWNhdGlvbnMgKi9cbiAgZmxhZ3M6IG51bWJlclxuICAvKiogVGhlIGlkIG9mIHRoZSB0aHJlYWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VyICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgdGhlIGN1cnJlbnQgdXNlciBsYXN0IGpvaW5lZCB0aGUgdGhyZWFkICovXG4gIGpvaW5fdGltZXN0YW1wOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5LWV2ZW50cyNhY3Rpdml0eS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5IHtcbiAgLyoqIFRoZSBhY3Rpdml0eSdzIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBBY3Rpdml0eSB0eXBlICovXG4gIHR5cGU6IEFjdGl2aXR5VHlwZXNcbiAgLyoqIFN0cmVhbSB1cmwsIGlzIHZhbGlkYXRlZCB3aGVuIHR5cGUgaXMgMSAqL1xuICB1cmw/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBVbml4IHRpbWVzdGFtcCBvZiB3aGVuIHRoZSBhY3Rpdml0eSB3YXMgYWRkZWQgdG8gdGhlIHVzZXIncyBzZXNzaW9uICovXG4gIGNyZWF0ZWRfYXQ6IG51bWJlclxuICAvKiogV2hhdCB0aGUgcGxheWVyIGlzIGN1cnJlbnRseSBkb2luZyAqL1xuICBkZXRhaWxzPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHVzZXIncyBjdXJyZW50IHBhcnR5IHN0YXR1cyAqL1xuICBzdGF0ZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBhY3Rpdml0eSBpcyBhbiBpbnN0YW5jZWQgZ2FtZSBzZXNzaW9uICovXG4gIGluc3RhbmNlPzogYm9vbGVhblxuICAvKiogQWN0aXZpdHkgZmxhZ3MgYE9SYGQgdG9nZXRoZXIsIGRlc2NyaWJlcyB3aGF0IHRoZSBwYXlsb2FkIGluY2x1ZGVzICovXG4gIGZsYWdzPzogbnVtYmVyXG4gIC8qKiBVbml4IHRpbWVzdGFtcHMgZm9yIHN0YXJ0IGFuZC9vciBlbmQgb2YgdGhlIGdhbWUgKi9cbiAgdGltZXN0YW1wcz86IERpc2NvcmRBY3Rpdml0eVRpbWVzdGFtcHNcbiAgLyoqIEFwcGxpY2F0aW9uIGlkIGZvciB0aGUgZ2FtZSAqL1xuICBhcHBsaWNhdGlvbl9pZD86IHN0cmluZ1xuICAvKiogVGhlIGVtb2ppIHVzZWQgZm9yIGEgY3VzdG9tIHN0YXR1cyAqL1xuICBlbW9qaT86IERpc2NvcmRBY3Rpdml0eUVtb2ppIHwgbnVsbFxuICAvKiogSW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IHBhcnR5IG9mIHRoZSBwbGF5ZXIgKi9cbiAgcGFydHk/OiBEaXNjb3JkQWN0aXZpdHlQYXJ0eVxuICAvKiogSW1hZ2VzIGZvciB0aGUgcHJlc2VuY2UgYW5kIHRoZWlyIGhvdmVyIHRleHRzICovXG4gIGFzc2V0cz86IERpc2NvcmRBY3Rpdml0eUFzc2V0c1xuICAvKiogU2VjcmV0cyBmb3IgUmljaCBQcmVzZW5jZSBqb2luaW5nIGFuZCBzcGVjdGF0aW5nICovXG4gIHNlY3JldHM/OiBEaXNjb3JkQWN0aXZpdHlTZWNyZXRzXG4gIC8qKiBUaGUgY3VzdG9tIGJ1dHRvbnMgc2hvd24gaW4gdGhlIFJpY2ggUHJlc2VuY2UgKG1heCAyKSAqL1xuICBidXR0b25zPzogRGlzY29yZEFjdGl2aXR5QnV0dG9uW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2NsaWVudC1zdGF0dXMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDbGllbnRTdGF0dXMge1xuICAvKiogVGhlIHVzZXIncyBzdGF0dXMgc2V0IGZvciBhbiBhY3RpdmUgZGVza3RvcCAoV2luZG93cywgTGludXgsIE1hYykgYXBwbGljYXRpb24gc2Vzc2lvbiAqL1xuICBkZXNrdG9wPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIHN0YXR1cyBzZXQgZm9yIGFuIGFjdGl2ZSBtb2JpbGUgKGlPUywgQW5kcm9pZCkgYXBwbGljYXRpb24gc2Vzc2lvbiAqL1xuICBtb2JpbGU/OiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3Mgc3RhdHVzIHNldCBmb3IgYW4gYWN0aXZlIHdlYiAoYnJvd3NlciwgYm90IGFjY291bnQpIGFwcGxpY2F0aW9uIHNlc3Npb24gKi9cbiAgd2ViPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktdGltZXN0YW1wcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZpdHlUaW1lc3RhbXBzIHtcbiAgLyoqIFVuaXggdGltZSAoaW4gbWlsbGlzZWNvbmRzKSBvZiB3aGVuIHRoZSBhY3Rpdml0eSBzdGFydGVkICovXG4gIHN0YXJ0PzogbnVtYmVyXG4gIC8qKiBVbml4IHRpbWUgKGluIG1pbGxpc2Vjb25kcykgb2Ygd2hlbiB0aGUgYWN0aXZpdHkgZW5kcyAqL1xuICBlbmQ/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1lbW9qaSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZpdHlFbW9qaSB7XG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgZW1vamkgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgYW5pbWF0ZWQgKi9cbiAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGVtb2ppICovXG4gIGlkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktcGFydHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5UGFydHkge1xuICAvKiogVXNlZCB0byBzaG93IHRoZSBwYXJ0eSdzIGN1cnJlbnQgYW5kIG1heGltdW0gc2l6ZSAqL1xuICBzaXplPzogW2N1cnJlbnRTaXplOiBudW1iZXIsIG1heFNpemU6IG51bWJlcl1cbiAgLyoqIFRoZSBpZCBvZiB0aGUgcGFydHkgKi9cbiAgaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1hc3NldHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5QXNzZXRzIHtcbiAgLyoqIFRleHQgZGlzcGxheWVkIHdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgbGFyZ2UgaW1hZ2Ugb2YgdGhlIGFjdGl2aXR5ICovXG4gIGxhcmdlX3RleHQ/OiBzdHJpbmdcbiAgLyoqIFRleHQgZGlzcGxheWVkIHdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgc21hbGwgaW1hZ2Ugb2YgdGhlIGFjdGl2aXR5ICovXG4gIHNtYWxsX3RleHQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBmb3IgYSBsYXJnZSBhc3NldCBvZiB0aGUgYWN0aXZpdHksIHVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgbGFyZ2VfaW1hZ2U/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBmb3IgYSBzbWFsbCBhc3NldCBvZiB0aGUgYWN0aXZpdHksIHVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgc21hbGxfaW1hZ2U/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1zZWNyZXRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eVNlY3JldHMge1xuICAvKiogVGhlIHNlY3JldCBmb3Igam9pbmluZyBhIHBhcnR5ICovXG4gIGpvaW4/OiBzdHJpbmdcbiAgLyoqIFRoZSBzZWNyZXQgZm9yIHNwZWN0YXRpbmcgYSBnYW1lICovXG4gIHNwZWN0YXRlPzogc3RyaW5nXG4gIC8qKiBUaGUgc2VjcmV0IGZvciBhIHNwZWNpZmljIGluc3RhbmNlZCBtYXRjaCAqL1xuICBtYXRjaD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjYWN0aXZpdHktb2JqZWN0LWFjdGl2aXR5LWJ1dHRvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5QnV0dG9uIHtcbiAgLyoqIFRoZSB0ZXh0IHNob3duIG9uIHRoZSBidXR0b24gKDEtMzIgY2hhcmFjdGVycykgKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogVGhlIHVybCBvcGVuZWQgd2hlbiBjbGlja2luZyB0aGUgYnV0dG9uICgxLTUxMiBjaGFyYWN0ZXJzKSAqL1xuICB1cmw6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRPdmVyd3JpdGUge1xuICAvKiogRWl0aGVyIDAgKHJvbGUpIG9yIDEgKG1lbWJlcikgKi9cbiAgdHlwZTogT3ZlcndyaXRlVHlwZXNcbiAgLyoqIFJvbGUgb3IgdXNlciBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgYWxsb3c/OiBzdHJpbmdcbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBkZW55Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lbWJlcldpdGhVc2VyIGV4dGVuZHMgRGlzY29yZE1lbWJlciB7XG4gIC8qKiBUaGUgdXNlciBvYmplY3QgZm9yIHRoaXMgbWVtYmVyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZSB7XG4gIC8qKiBpZCBvZiB0aGUgbWVzc2FnZSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpbiAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqXG4gICAqIGlkIG9mIHRoZSBndWlsZCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpblxuICAgKiBOb3RlOiBGb3IgTUVTU0FHRV9DUkVBVEUgYW5kIE1FU1NBR0VfVVBEQVRFIGV2ZW50cywgdGhlIG1lc3NhZ2Ugb2JqZWN0IG1heSBub3QgY29udGFpbiBhIGd1aWxkX2lkIG9yIG1lbWJlciBmaWVsZCBzaW5jZSB0aGUgZXZlbnRzIGFyZSBzZW50IGRpcmVjdGx5IHRvIHRoZSByZWNlaXZpbmcgdXNlciBhbmQgdGhlIGJvdCB3aG8gc2VudCB0aGUgbWVzc2FnZSwgcmF0aGVyIHRoYW4gYmVpbmcgc2VudCB0aHJvdWdoIHRoZSBndWlsZCBsaWtlIG5vbi1lcGhlbWVyYWwgbWVzc2FnZXMuXG4gICAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIGF1dGhvciBvZiB0aGlzIG1lc3NhZ2UgKG5vdCBndWFyYW50ZWVkIHRvIGJlIGEgdmFsaWQgdXNlcilcbiAgICogTm90ZTogVGhlIGF1dGhvciBvYmplY3QgZm9sbG93cyB0aGUgc3RydWN0dXJlIG9mIHRoZSB1c2VyIG9iamVjdCwgYnV0IGlzIG9ubHkgYSB2YWxpZCB1c2VyIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHVzZXIgb3IgYm90IHVzZXIuIElmIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2ssIHRoZSBhdXRob3Igb2JqZWN0IGNvcnJlc3BvbmRzIHRvIHRoZSB3ZWJob29rJ3MgaWQsIHVzZXJuYW1lLCBhbmQgYXZhdGFyLiBZb3UgY2FuIHRlbGwgaWYgYSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2sgYnkgY2hlY2tpbmcgZm9yIHRoZSB3ZWJob29rX2lkIG9uIHRoZSBtZXNzYWdlIG9iamVjdC5cbiAgICovXG4gIGF1dGhvcjogRGlzY29yZFVzZXJcbiAgLyoqXG4gICAqIE1lbWJlciBwcm9wZXJ0aWVzIGZvciB0aGlzIG1lc3NhZ2UncyBhdXRob3JcbiAgICogTm90ZTogVGhlIG1lbWJlciBvYmplY3QgZXhpc3RzIGluIGBNRVNTQUdFX0NSRUFURWAgYW5kIGBNRVNTQUdFX1VQREFURWAgZXZlbnRzIGZyb20gdGV4dC1iYXNlZCBndWlsZCBjaGFubmVscy4gVGhpcyBhbGxvd3MgYm90cyB0byBvYnRhaW4gcmVhbC10aW1lIG1lbWJlciBkYXRhIHdpdGhvdXQgcmVxdWlyaW5nIGJvdHMgdG8gc3RvcmUgbWVtYmVyIHN0YXRlIGluIG1lbW9yeS5cbiAgICovXG4gIG1lbWJlcj86IERpc2NvcmRNZW1iZXJcbiAgLyoqIENvbnRlbnRzIG9mIHRoZSBtZXNzYWdlICovXG4gIGNvbnRlbnQ/OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhpcyBtZXNzYWdlIHdhcyBzZW50ICovXG4gIHRpbWVzdGFtcDogc3RyaW5nXG4gIC8qKiBXaGVuIHRoaXMgbWVzc2FnZSB3YXMgZWRpdGVkIChvciBudWxsIGlmIG5ldmVyKSAqL1xuICBlZGl0ZWRfdGltZXN0YW1wOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIHRoaXMgd2FzIGEgVFRTIG1lc3NhZ2UgKi9cbiAgdHRzOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBtZW50aW9ucyBldmVyeW9uZSAqL1xuICBtZW50aW9uX2V2ZXJ5b25lOiBib29sZWFuXG4gIC8qKlxuICAgKiBVc2VycyBzcGVjaWZpY2FsbHkgbWVudGlvbmVkIGluIHRoZSBtZXNzYWdlXG4gICAqIE5vdGU6IFRoZSB1c2VyIG9iamVjdHMgaW4gdGhlIG1lbnRpb25zIGFycmF5IHdpbGwgb25seSBoYXZlIHRoZSBwYXJ0aWFsIG1lbWJlciBmaWVsZCBwcmVzZW50IGluIGBNRVNTQUdFX0NSRUFURWAgYW5kIGBNRVNTQUdFX1VQREFURWAgZXZlbnRzIGZyb20gdGV4dC1iYXNlZCBndWlsZCBjaGFubmVscy5cbiAgICovXG4gIG1lbnRpb25zOiBBcnJheTxEaXNjb3JkVXNlciAmIHsgbWVtYmVyPzogUGFydGlhbDxEaXNjb3JkTWVtYmVyPiB9PlxuICAvKiogUm9sZXMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCBpbiB0aGlzIG1lc3NhZ2UgKi9cbiAgbWVudGlvbl9yb2xlcz86IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBDaGFubmVscyBzcGVjaWZpY2FsbHkgbWVudGlvbmVkIGluIHRoaXMgbWVzc2FnZVxuICAgKiBOb3RlOiBOb3QgYWxsIGNoYW5uZWwgbWVudGlvbnMgaW4gYSBtZXNzYWdlIHdpbGwgYXBwZWFyIGluIGBtZW50aW9uX2NoYW5uZWxzYC4gT25seSB0ZXh0dWFsIGNoYW5uZWxzIHRoYXQgYXJlIHZpc2libGUgdG8gZXZlcnlvbmUgaW4gYSBkaXNjb3ZlcmFibGUgZ3VpbGQgd2lsbCBldmVyIGJlIGluY2x1ZGVkLiBPbmx5IGNyb3NzcG9zdGVkIG1lc3NhZ2VzICh2aWEgQ2hhbm5lbCBGb2xsb3dpbmcpIGN1cnJlbnRseSBpbmNsdWRlIGBtZW50aW9uX2NoYW5uZWxzYCBhdCBhbGwuIElmIG5vIG1lbnRpb25zIGluIHRoZSBtZXNzYWdlIG1lZXQgdGhlc2UgcmVxdWlyZW1lbnRzLCB0aGlzIGZpZWxkIHdpbGwgbm90IGJlIHNlbnQuXG4gICAqL1xuICBtZW50aW9uX2NoYW5uZWxzPzogRGlzY29yZENoYW5uZWxNZW50aW9uW11cbiAgLyoqIEFueSBhdHRhY2hlZCBmaWxlcyAqL1xuICBhdHRhY2htZW50czogRGlzY29yZEF0dGFjaG1lbnRbXVxuICAvKiogQW55IGVtYmVkZGVkIGNvbnRlbnQgKi9cbiAgZW1iZWRzOiBEaXNjb3JkRW1iZWRbXVxuICAvKiogUmVhY3Rpb25zIHRvIHRoZSBtZXNzYWdlICovXG4gIHJlYWN0aW9ucz86IERpc2NvcmRSZWFjdGlvbltdXG4gIC8qKiBVc2VkIGZvciB2YWxpZGF0aW5nIGEgbWVzc2FnZSB3YXMgc2VudCAqL1xuICBub25jZT86IG51bWJlciB8IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIG1lc3NhZ2UgaXMgcGlubmVkICovXG4gIHBpbm5lZDogYm9vbGVhblxuICAvKiogSWYgdGhlIG1lc3NhZ2UgaXMgZ2VuZXJhdGVkIGJ5IGEgd2ViaG9vaywgdGhpcyBpcyB0aGUgd2ViaG9vaydzIGlkICovXG4gIHdlYmhvb2tfaWQ/OiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgbWVzc2FnZSAqL1xuICB0eXBlOiBNZXNzYWdlVHlwZXNcbiAgLyoqIFNlbnQgd2l0aCBSaWNoIFByZXNlbmNlLXJlbGF0ZWQgY2hhdCBlbWJlZHMgKi9cbiAgYWN0aXZpdHk/OiBEaXNjb3JkTWVzc2FnZUFjdGl2aXR5XG4gIC8qKiBTZW50IHdpdGggUmljaCBQcmVzZW5jZS1yZWxhdGVkIGNoYXQgZW1iZWRzICovXG4gIGFwcGxpY2F0aW9uPzogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+XG4gIC8qKiBpZiB0aGUgbWVzc2FnZSBpcyBhbiBJbnRlcmFjdGlvbiBvciBhcHBsaWNhdGlvbi1vd25lZCB3ZWJob29rLCB0aGlzIGlzIHRoZSBpZCBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ/OiBzdHJpbmdcbiAgLyoqIERhdGEgc2hvd2luZyB0aGUgc291cmNlIG9mIGEgY3Jvc3Nwb3N0ZWQgY2hhbm5lbCBmb2xsb3cgYWRkLCBwaW4gb3IgcmVwbHkgbWVzc2FnZSAqL1xuICBtZXNzYWdlX3JlZmVyZW5jZT86IE9taXQ8RGlzY29yZE1lc3NhZ2VSZWZlcmVuY2UsICdmYWlsSWZOb3RFeGlzdHMnPlxuICAvKiogTWVzc2FnZSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzPzogTWVzc2FnZUZsYWdzXG4gIC8qKlxuICAgKiBUaGUgc3RpY2tlcnMgc2VudCB3aXRoIHRoZSBtZXNzYWdlIChib3RzIGN1cnJlbnRseSBjYW4gb25seSByZWNlaXZlIG1lc3NhZ2VzIHdpdGggc3RpY2tlcnMsIG5vdCBzZW5kKVxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgc3RpY2tlcnM/OiBEaXNjb3JkU3RpY2tlcltdXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSBhc3NvY2lhdGVkIHdpdGggdGhlIGBtZXNzYWdlX3JlZmVyZW5jZWBcbiAgICogTm90ZTogVGhpcyBmaWVsZCBpcyBvbmx5IHJldHVybmVkIGZvciBtZXNzYWdlcyB3aXRoIGEgYHR5cGVgIG9mIGAxOWAgKFJFUExZKS4gSWYgdGhlIG1lc3NhZ2UgaXMgYSByZXBseSBidXQgdGhlIGByZWZlcmVuY2VkX21lc3NhZ2VgIGZpZWxkIGlzIG5vdCBwcmVzZW50LCB0aGUgYmFja2VuZCBkaWQgbm90IGF0dGVtcHQgdG8gZmV0Y2ggdGhlIG1lc3NhZ2UgdGhhdCB3YXMgYmVpbmcgcmVwbGllZCB0bywgc28gaXRzIHN0YXRlIGlzIHVua25vd24uIElmIHRoZSBmaWVsZCBleGlzdHMgYnV0IGlzIG51bGwsIHRoZSByZWZlcmVuY2VkIG1lc3NhZ2Ugd2FzIGRlbGV0ZWQuXG4gICAqL1xuICByZWZlcmVuY2VkX21lc3NhZ2U/OiBEaXNjb3JkTWVzc2FnZVxuICAvKiogc2VudCBpZiB0aGUgbWVzc2FnZSBpcyBzZW50IGFzIGEgcmVzdWx0IG9mIGFuIGludGVyYWN0aW9uICovXG4gIGludGVyYWN0aW9uX21ldGFkYXRhPzogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhXG4gIC8qKlxuICAgKiBTZW50IGlmIHRoZSBtZXNzYWdlIGlzIGEgcmVzcG9uc2UgdG8gYW4gSW50ZXJhY3Rpb25cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgRGVwcmVjYXRlZCBpbiBmYXZvciBvZiB7QGxpbmsgaW50ZXJhY3Rpb25fbWV0YWRhdGF9XG4gICAqL1xuICBpbnRlcmFjdGlvbj86IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25cbiAgLyoqIFRoZSB0aHJlYWQgdGhhdCB3YXMgc3RhcnRlZCBmcm9tIHRoaXMgbWVzc2FnZSwgaW5jbHVkZXMgdGhyZWFkIG1lbWJlciBvYmplY3QgKi9cbiAgdGhyZWFkPzogT21pdDxEaXNjb3JkQ2hhbm5lbCwgJ21lbWJlcic+ICYgeyBtZW1iZXI6IERpc2NvcmRUaHJlYWRNZW1iZXIgfVxuICAvKiogVGhlIGNvbXBvbmVudHMgcmVsYXRlZCB0byB0aGlzIG1lc3NhZ2UgKi9cbiAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1xuICAvKiogU2VudCBpZiB0aGUgbWVzc2FnZSBjb250YWlucyBzdGlja2VycyAqL1xuICBzdGlja2VyX2l0ZW1zPzogRGlzY29yZFN0aWNrZXJJdGVtW11cbiAgLyoqIEEgZ2VuZXJhbGx5IGluY3JlYXNpbmcgaW50ZWdlciAodGhlcmUgbWF5IGJlIGdhcHMgb3IgZHVwbGljYXRlcykgdGhhdCByZXByZXNlbnRzIHRoZSBhcHByb3hpbWF0ZSBwb3NpdGlvbiBvZiB0aGUgbWVzc2FnZSBpbiBhIHRocmVhZCwgaXQgY2FuIGJlIHVzZWQgdG8gZXN0aW1hdGUgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBtZXNzYWdlIGluIGEgdGhyZWFkIGluIGNvbXBhbnkgd2l0aCBgdG90YWxfbWVzc2FnZV9zZW50YCBvbiBwYXJlbnQgdGhyZWFkICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBUaGUgcG9sbCBvYmplY3QgKi9cbiAgcG9sbD86IERpc2NvcmRQb2xsXG4gIC8qKiBUaGUgY2FsbCBhc3NvY2lhdGVkIHdpdGggdGhlIG1lc3NhZ2UgKi9cbiAgY2FsbD86IERpc2NvcmRNZXNzYWdlQ2FsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1jYWxsLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZUNhbGwge1xuICAvKiogQXJyYXkgb2YgdXNlciBvYmplY3QgaWRzIHRoYXQgcGFydGljaXBhdGVkIGluIHRoZSBjYWxsICovXG4gIHBhcnRpY2lwYW50czogc3RyaW5nW11cbiAgLyoqIFRpbWUgd2hlbiBjYWxsIGVuZGVkICovXG4gIGVuZGVkX3RpbWVzdGFtcDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNjaGFubmVsLW1lbnRpb24tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGFubmVsTWVudGlvbiB7XG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgY29udGFpbmluZyB0aGUgY2hhbm5lbCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsICovXG4gIHR5cGU6IG51bWJlclxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGNoYW5uZWwgKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNyZWFjdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWN0aW9uIHtcbiAgLyoqIFRvdGFsIG51bWJlciBvZiB0aW1lcyB0aGlzIGVtb2ppIGhhcyBiZWVuIHVzZWQgdG8gcmVhY3QgKGluY2x1ZGluZyBzdXBlciByZWFjdHMpICovXG4gIGNvdW50OiBudW1iZXJcbiAgLyoqXHRSZWFjdGlvbiBjb3VudCBkZXRhaWxzIG9iamVjdCAqL1xuICBjb3VudF9kZXRhaWxzOiBEaXNjb3JkUmVhY3Rpb25Db3VudERldGFpbHNcbiAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgdXNlciByZWFjdGVkIHVzaW5nIHRoaXMgZW1vamkgKi9cbiAgbWU6IGJvb2xlYW5cbiAgLyoqXHRXaGV0aGVyIHRoZSBjdXJyZW50IHVzZXIgc3VwZXItcmVhY3RlZCB1c2luZyB0aGlzIGVtb2ppICovXG4gIG1lX2J1cnN0OiBib29sZWFuXG4gIC8qKiBFbW9qaSBpbmZvcm1hdGlvbiAqL1xuICBlbW9qaTogUGFydGlhbDxEaXNjb3JkRW1vamk+XG4gIC8qKiBIRVggY29sb3JzIHVzZWQgZm9yIHN1cGVyIHJlYWN0aW9uICovXG4gIGJ1cnN0X2NvbG9yczogc3RyaW5nW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2dldC1yZWFjdGlvbnMtcmVhY3Rpb24tdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRSZWFjdGlvblR5cGUge1xuICBOb3JtYWwsXG4gIEJ1cnN0LFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjcmVhY3Rpb24tY291bnQtZGV0YWlscy1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWN0aW9uQ291bnREZXRhaWxzIHtcbiAgLyoqIENvdW50IG9mIHN1cGVyIHJlYWN0aW9ucyAqL1xuICBidXJzdDogbnVtYmVyXG4gIC8qKlx0Q291bnQgb2Ygbm9ybWFsIHJlYWN0aW9ucyAqL1xuICBub3JtYWw6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1vYmplY3QtbWVzc2FnZS1hY3Rpdml0eS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VBY3Rpdml0eSB7XG4gIC8qKiBUeXBlIG9mIG1lc3NhZ2UgYWN0aXZpdHkgKi9cbiAgdHlwZTogTWVzc2FnZUFjdGl2aXR5VHlwZXNcbiAgLyoqIGBwYXJ0eV9pZGAgZnJvbSBhIFJpY2ggUHJlc2VuY2UgZXZlbnQgKi9cbiAgcGFydHlfaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI21lc3NhZ2Utb2JqZWN0LW1lc3NhZ2UtcmVmZXJlbmNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZVJlZmVyZW5jZSB7XG4gIC8qKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSAqL1xuICBtZXNzYWdlX2lkPzogc3RyaW5nXG4gIC8qKlxuICAgKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSdzIGNoYW5uZWxcbiAgICogTm90ZTogYGNoYW5uZWxfaWRgIGlzIG9wdGlvbmFsIHdoZW4gY3JlYXRpbmcgYSByZXBseSwgYnV0IHdpbGwgYWx3YXlzIGJlIHByZXNlbnQgd2hlbiByZWNlaXZpbmcgYW4gZXZlbnQvcmVzcG9uc2UgdGhhdCBpbmNsdWRlcyB0aGlzIGRhdGEgbW9kZWwuXG4gICAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSdzIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBXaGVuIHNlbmRpbmcsIHdoZXRoZXIgdG8gZXJyb3IgaWYgdGhlIHJlZmVyZW5jZWQgbWVzc2FnZSBkb2Vzbid0IGV4aXN0IGluc3RlYWQgb2Ygc2VuZGluZyBhcyBhIG5vcm1hbCAobm9uLXJlcGx5KSBtZXNzYWdlLCBkZWZhdWx0IHRydWUgKi9cbiAgZmFpbF9pZl9ub3RfZXhpc3RzOiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvcG9sbCNwb2xsLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUG9sbCB7XG4gIC8qKiBUaGUgcXVlc3Rpb24gb2YgdGhlIHBvbGwuIE9ubHkgYHRleHRgIGlzIHN1cHBvcnRlZC4gKi9cbiAgcXVlc3Rpb246IERpc2NvcmRQb2xsTWVkaWFcbiAgLyoqIEVhY2ggb2YgdGhlIGFuc3dlcnMgYXZhaWxhYmxlIGluIHRoZSBwb2xsLiBUaGVyZSBpcyBhIG1heGltdW0gb2YgMTAgYW5zd2VycyBwZXIgcG9sbC4gKi9cbiAgYW5zd2VyczogRGlzY29yZFBvbGxBbnN3ZXJbXVxuICAvKipcbiAgICogVGhlIHRpbWUgd2hlbiB0aGUgcG9sbCBlbmRzLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBgZXhwaXJ5YCBpcyBtYXJrZWQgYXMgbnVsbGFibGUgdG8gc3VwcG9ydCBub24tZXhwaXJpbmcgcG9sbHMgaW4gdGhlIGZ1dHVyZSwgYnV0IGFsbCBwb2xscyBoYXZlIGFuIGV4cGlyeSBjdXJyZW50bHkuXG4gICAqL1xuICBleHBpcnk6IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgYSB1c2VyIGNhbiBzZWxlY3QgbXVsdGlwbGUgYW5zd2VycyAqL1xuICBhbGxvd19tdWx0aXNlbGVjdDogYm9vbGVhblxuICAvKiogVGhlIGxheW91dCB0eXBlIG9mIHRoZSBwb2xsICovXG4gIGxheW91dF90eXBlOiBEaXNjb3JkUG9sbExheW91dFR5cGVcbiAgLyoqXG4gICAqIFRoZSByZXN1bHRzIG9mIHRoZSBwb2xsXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgdmFsdWUgd2lsbCBub3QgYmUgc2VudCBieSBkaXNjb3JkIHVuZGVyIHNwZWNpZmljIGNvbmRpdGlvbnMgd2hlcmUgdGhleSBkb24ndCBmZXRjaCB0aGVtIG9uIHRoZWlyIGJhY2tlbmQuIFdoZW4gdGhpcyB2YWx1ZSBpcyBtaXNzaW5nIGl0IHNob3VsZCBiZSBpbnRlcnByZXRlZCBhcyBcIlVua25vd24gcmVzdWx0c1wiIGFuZCBub3QgYXMgXCJObyByZXN1bHRzXCJcbiAgICogVGhlIHJlc3VsdHMgbWF5IG5vdCBiZSB0b3RhbGx5IGFjY3VyYXRlIHdoaWxlIHRoZSBwb2xsIGhhcyBub3QgZW5kZWQuIFdoZW4gaXQgZW5kcyBkaXNjb3JkIHdpbGwgcmUtY2FsY3VsYXRlIGFsbCB0aGUgcmVzdWx0cyBhbmQgc2V0IHtAbGluayBEaXNjb3JkUG9sbFJlc3VsdC5pc19maW5hbGl6ZWR9IHRvIHRydWVcbiAgICovXG4gIHJlc3VsdHM/OiBEaXNjb3JkUG9sbFJlc3VsdFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3BvbGwjbGF5b3V0LXR5cGUgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRQb2xsTGF5b3V0VHlwZSB7XG4gIC8qKiBUaGUgZGVmYXVsdCBsYXlvdXQgKi9cbiAgRGVmYXVsdCA9IDEsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvcG9sbCNwb2xsLW1lZGlhLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUG9sbE1lZGlhIHtcbiAgLyoqXG4gICAqIFRoZSB0ZXh0IG9mIHRoZSBmaWVsZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBgdGV4dGAgc2hvdWxkIGFsd2F5cyBiZSBub24tbnVsbCBmb3IgYm90aCBxdWVzdGlvbnMgYW5kIGFuc3dlcnMsIGJ1dCB0aGlzIGlzIHN1YmplY3QgdG8gY2hhbmdlcy5cbiAgICogVGhlIG1heGltdW0gbGVuZ3RoIG9mIGB0ZXh0YCBpcyAzMDAgZm9yIHRoZSBxdWVzdGlvbiwgYW5kIDU1IGZvciBhbnkgYW5zd2VyLlxuICAgKi9cbiAgdGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIGVtb2ppIG9mIHRoZSBmaWVsZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIGNyZWF0aW5nIGEgcG9sbCBhbnN3ZXIgd2l0aCBhbiBlbW9qaSwgb25lIG9ubHkgbmVlZHMgdG8gc2VuZCBlaXRoZXIgdGhlIGBpZGAgKGN1c3RvbSBlbW9qaSkgb3IgYG5hbWVgIChkZWZhdWx0IGVtb2ppKSBhcyB0aGUgb25seSBmaWVsZC5cbiAgICovXG4gIGVtb2ppPzogUGFydGlhbDxEaXNjb3JkRW1vamk+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvcG9sbCNwb2xsLWFuc3dlci1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGxBbnN3ZXIge1xuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSBhbnN3ZXJcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBpZCBsYWJlbHMgZWFjaCBhbnN3ZXIuIEl0IHN0YXJ0cyBhdCAxIGFuZCBnb2VzIHVwIHNlcXVlbnRpYWxseS4gRGlzY29yZCByZWNvbW1lbmQgYWdhaW5zdCBkZXBlbmRpbmcgb24gdGhpcyB2YWx1ZSBhcyBpcyBhIGltcGxlbWVudGF0aW9uIGRldGFpbC5cbiAgICovXG4gIGFuc3dlcl9pZDogbnVtYmVyXG4gIC8qKiBUaGUgZGF0YSBvZiB0aGUgYW5zd2VyICovXG4gIHBvbGxfbWVkaWE6IERpc2NvcmRQb2xsTWVkaWFcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUG9sbEFuc3dlckNvdW50IHtcbiAgLyoqIFRoZSB7QGxpbmsgRGlzY29yZFBvbGxBbnN3ZXIuYW5zd2VyX2lkIHwgYW5zd2VyX2lkfSAqL1xuICBpZDogbnVtYmVyXG4gIC8qKiBUaGUgbnVtYmVyIG9mIHZvdGVzIGZvciB0aGlzIGFuc3dlciAqL1xuICBjb3VudDogbnVtYmVyXG4gIC8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IHVzZXIgdm90ZWQgZm9yIHRoaXMgYW5zd2VyICovXG4gIG1lX3ZvdGVkOiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvcG9sbCNwb2xsLXJlc3VsdHMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQb2xsUmVzdWx0IHtcbiAgLyoqIFdoZXRoZXIgdGhlIHZvdGVzIGhhdmUgYmVlbiBwcmVjaXNlbHkgY291bnRlZCAqL1xuICBpc19maW5hbGl6ZWQ6IGJvb2xlYW5cbiAgLyoqIFRoZSBjb3VudHMgZm9yIGVhY2ggYW5zd2VyICovXG4gIGFuc3dlcl9jb3VudHM6IERpc2NvcmRQb2xsQW5zd2VyQ291bnRbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3BvbGwjZ2V0LWFuc3dlci12b3RlcnMtcmVzcG9uc2UtYm9keSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR2V0QW5zd2VyVm90ZXNSZXNwb25zZSB7XG4gIC8qKiBVc2VycyB3aG8gdm90ZWQgZm9yIHRoaXMgYW5zd2VyICovXG4gIHVzZXJzOiBEaXNjb3JkVXNlcltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheS1ldmVudHMjbWVzc2FnZS1wb2xsLXZvdGUtYWRkICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQb2xsVm90ZUFkZCB7XG4gIC8qKiBJRCBvZiB0aGUgdXNlci4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBjaGFubmVsLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIG1lc3NhZ2UuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgbWVzc2FnZV9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgZ3VpbGQuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBhbnN3ZXIuICovXG4gIGFuc3dlcl9pZDogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheS1ldmVudHMjbWVzc2FnZS1wb2xsLXZvdGUtcmVtb3ZlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQb2xsVm90ZVJlbW92ZSB7XG4gIC8qKiBJRCBvZiB0aGUgdXNlci4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBjaGFubmVsLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIG1lc3NhZ2UuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgbWVzc2FnZV9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgZ3VpbGQuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBhbnN3ZXIuICovXG4gIGFuc3dlcl9pZDogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLW9iamVjdC1zdGlja2VyLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU3RpY2tlciB7XG4gIC8qKiBbSWQgb2YgdGhlIHN0aWNrZXJdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3JlZmVyZW5jZSNpbWFnZS1mb3JtYXR0aW5nKSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJZCBvZiB0aGUgcGFjayB0aGUgc3RpY2tlciBpcyBmcm9tICovXG4gIHBhY2tfaWQ/OiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIHN0aWNrZXIgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBEZXNjcmlwdGlvbiBvZiB0aGUgc3RpY2tlciAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBhIHVuaWNvZGUgZW1vamkgcmVwcmVzZW50aW5nIHRoZSBzdGlja2VyJ3MgZXhwcmVzc2lvbiAqL1xuICB0YWdzOiBzdHJpbmdcbiAgLyoqIFt0eXBlIG9mIHN0aWNrZXJdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItb2JqZWN0LXN0aWNrZXItdHlwZXMpICovXG4gIHR5cGU6IFN0aWNrZXJUeXBlc1xuICAvKiogW1R5cGUgb2Ygc3RpY2tlciBmb3JtYXRdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItb2JqZWN0LXN0aWNrZXItZm9ybWF0LXR5cGVzKSAqL1xuICBmb3JtYXRfdHlwZTogU3RpY2tlckZvcm1hdFR5cGVzXG4gIC8qKiAgV2hldGhlciBvciBub3QgdGhlIHN0aWNrZXIgaXMgYXZhaWxhYmxlICovXG4gIGF2YWlsYWJsZT86IGJvb2xlYW5cbiAgLyoqIElkIG9mIHRoZSBndWlsZCB0aGF0IG93bnMgdGhpcyBzdGlja2VyICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB0aGF0IHVwbG9hZGVkIHRoZSBzdGlja2VyICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogQSBzdGlja2VyJ3Mgc29ydCBvcmRlciB3aXRoaW4gYSBwYWNrICovXG4gIHNvcnRfdmFsdWU/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9yZWNlaXZpbmctYW5kLXJlc3BvbmRpbmcjbWVzc2FnZS1pbnRlcmFjdGlvbi1vYmplY3QtbWVzc2FnZS1pbnRlcmFjdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbiB7XG4gIC8qKiBJZCBvZiB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gKi9cbiAgdHlwZTogSW50ZXJhY3Rpb25UeXBlc1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIEFwcGxpY2F0aW9uQ29tbWFuZCBpbmNsdWRpbmcgdGhlIG5hbWUgb2YgdGhlIHN1YmNvbW1hbmQvc3ViY29tbWFuZCBncm91cCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHdobyBpbnZva2VkIHRoZSBpbnRlcmFjdGlvbiAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogVGhlIG1lbWJlciB3aG8gaW52b2tlZCB0aGUgaW50ZXJhY3Rpb24gaW4gdGhlIGd1aWxkICovXG4gIG1lbWJlcj86IFBhcnRpYWw8RGlzY29yZE1lbWJlcj5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI21lc3NhZ2UtaW50ZXJhY3Rpb24tbWV0YWRhdGEtb2JqZWN0LW1lc3NhZ2UtaW50ZXJhY3Rpb24tbWV0YWRhdGEtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSB7XG4gIC8qKiBJZCBvZiB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gKi9cbiAgdHlwZTogSW50ZXJhY3Rpb25UeXBlc1xuICAvKiogVXNlciB3aG8gdHJpZ2dlcmVkIHRoZSBpbnRlcmFjdGlvbiAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogSURzIGZvciBpbnN0YWxsYXRpb24gY29udGV4dChzKSByZWxhdGVkIHRvIGFuIGludGVyYWN0aW9uICovXG4gIGF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyczogUGFydGlhbDxSZWNvcmQ8YCR7RGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlfWAsIHN0cmluZz4+XG4gIC8qKiBJRCBvZiB0aGUgb3JpZ2luYWwgcmVzcG9uc2UgbWVzc2FnZSwgcHJlc2VudCBvbmx5IG9uIGZvbGxvdy11cCBtZXNzYWdlcyAqL1xuICBvcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkPzogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgbWVzc2FnZSB0aGF0IGNvbnRhaW5lZCBpbnRlcmFjdGl2ZSBjb21wb25lbnQsIHByZXNlbnQgb25seSBvbiBtZXNzYWdlcyBjcmVhdGVkIGZyb20gY29tcG9uZW50IGludGVyYWN0aW9ucyAqL1xuICBpbnRlcmFjdGVkX21lc3NhZ2VfaWQ/OiBzdHJpbmdcbiAgLyoqIE1ldGFkYXRhIGZvciB0aGUgaW50ZXJhY3Rpb24gdGhhdCB3YXMgdXNlZCB0byBvcGVuIHRoZSBtb2RhbCwgcHJlc2VudCBvbmx5IG9uIG1vZGFsIHN1Ym1pdCBpbnRlcmFjdGlvbnMgKi9cbiAgdHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YT86IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YVxufVxuXG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudHMgPSBEaXNjb3JkQWN0aW9uUm93W11cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjYWN0aW9ucm93ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpb25Sb3cge1xuICAvKiogQWN0aW9uIHJvd3MgYXJlIGEgZ3JvdXAgb2YgYnV0dG9ucy4gKi9cbiAgdHlwZTogMVxuICAvKiogVGhlIGNvbXBvbmVudHMgaW4gdGhpcyByb3cgKi9cbiAgY29tcG9uZW50czogQXJyYXk8RGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQgfCBEaXNjb3JkQnV0dG9uQ29tcG9uZW50IHwgRGlzY29yZElucHV0VGV4dENvbXBvbmVudD5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjc2VsZWN0LW1lbnUtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHtcbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlbGVjdE1lbnVcbiAgLyoqIEEgY3VzdG9tIGlkZW50aWZpZXIgZm9yIHRoaXMgY29tcG9uZW50LiBNYXhpbXVtIDEwMCBjaGFyYWN0ZXJzLiAqL1xuICBjdXN0b21faWQ6IHN0cmluZ1xuICAvKiogQSBjdXN0b20gcGxhY2Vob2xkZXIgdGV4dCBpZiBub3RoaW5nIGlzIHNlbGVjdGVkLiBNYXhpbXVtIDE1MCBjaGFyYWN0ZXJzLiAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICAvKiogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgbXVzdCBiZSBzZWxlY3RlZC4gRGVmYXVsdCAxLiBCZXR3ZWVuIDEtMjUuICovXG4gIG1pbl92YWx1ZXM/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IGNhbiBiZSBzZWxlY3RlZC4gRGVmYXVsdCAxLiBCZXR3ZWVuIDEtMjUuICovXG4gIG1heF92YWx1ZXM/OiBudW1iZXJcbiAgLyoqIExpc3Qgb2YgY2hhbm5lbCB0eXBlcyB0byBpbmNsdWRlIGluIGEgY2hhbm5lbCBzZWxlY3QgbWVudSBvcHRpb25zIGxpc3QgKi9cbiAgY2hhbm5lbFR5cGVzPzogQ2hhbm5lbFR5cGVzW11cbiAgLyoqIFRoZSBjaG9pY2VzISBNYXhpbXVtIG9mIDI1IGl0ZW1zLiAqL1xuICBvcHRpb25zOiBEaXNjb3JkU2VsZWN0T3B0aW9uW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0T3B0aW9uIHtcbiAgLyoqIFRoZSB1c2VyLWZhY2luZyBuYW1lIG9mIHRoZSBvcHRpb24uIE1heGltdW0gMjUgY2hhcmFjdGVycy4gKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogVGhlIGRldi1kZWZpbmVkIHZhbHVlIG9mIHRoZSBvcHRpb24uIE1heGltdW0gMTAwIGNoYXJhY3RlcnMuICovXG4gIHZhbHVlOiBzdHJpbmdcbiAgLyoqIEFuIGFkZGl0aW9uYWwgZGVzY3JpcHRpb24gb2YgdGhlIG9wdGlvbi4gTWF4aW11bSA1MCBjaGFyYWN0ZXJzLiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogVGhlIGlkLCBuYW1lLCBhbmQgYW5pbWF0ZWQgcHJvcGVydGllcyBvZiBhbiBlbW9qaS4gKi9cbiAgZW1vamk/OiB7XG4gICAgLyoqIEVtb2ppIGlkICovXG4gICAgaWQ/OiBzdHJpbmdcbiAgICAvKiogRW1vamkgbmFtZSAqL1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gICAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIH1cbiAgLyoqIFdpbGwgcmVuZGVyIHRoaXMgb3B0aW9uIGFzIGFscmVhZHktc2VsZWN0ZWQgYnkgZGVmYXVsdC4gKi9cbiAgZGVmYXVsdD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjc2VsZWN0LW1lbnUtb2JqZWN0LXNlbGVjdC1kZWZhdWx0LXZhbHVlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0TWVudURlZmF1bHRWYWx1ZSB7XG4gIC8qKiBJRCBvZiBhIHVzZXIsIHJvbGUsIG9yIGNoYW5uZWwgKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogVHlwZSBvZiB2YWx1ZSB0aGF0IGlkIHJlcHJlc2VudHMuICovXG4gIHR5cGU6ICd1c2VyJyB8ICdyb2xlJyB8ICdjaGFubmVsJ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyNidXR0b25zLWJ1dHRvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB7XG4gIC8qKiBBbGwgYnV0dG9uIGNvbXBvbmVudHMgaGF2ZSB0eXBlIDIgKi9cbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvblxuICAvKipcbiAgICogVGV4dCB0aGF0IGFwcGVhcnMgb24gdGhlIGJ1dHRvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIGxhYmVsIGNhbiBoYXZlIGEgbWF4IG9mIDgwIGNoYXJhY3RlcnNcbiAgICogQSBidXR0b24gb2Ygc3R5bGUge0BsaW5rIEJ1dHRvblN0eWxlcy5QcmVtaXVtIHwgUHJlbWl1bX0gY2Fubm90IGhhdmUgYSBsYWJlbFxuICAgKi9cbiAgbGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEEgZGV2LWRlZmluZWQgdW5pcXVlIHN0cmluZyBzZW50IG9uIGNsaWNrIChtYXggMTAwIGNoYXJhY3RlcnMpLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIGJ1dHRvbiBvZiBzdHlsZSB7QGxpbmsgQnV0dG9uU3R5bGVzLkxpbmsgfCBMaW5rfSBvciB7QGxpbmsgQnV0dG9uU3R5bGVzLlByZW1pdW0gfCBQcmVtaXVtfSBjYW5ub3QgaGF2ZSBhIGN1c3RvbV9pZFxuICAgKi9cbiAgY3VzdG9tX2lkPzogc3RyaW5nXG4gIC8qKiBGb3IgZGlmZmVyZW50IHN0eWxlcy9jb2xvcnMgb2YgdGhlIGJ1dHRvbnMgKi9cbiAgc3R5bGU6IEJ1dHRvblN0eWxlc1xuICAvKipcbiAgICogRW1vamkgb2JqZWN0IHRoYXQgaW5jbHVkZXMgZmllbGRzIG9mIG5hbWUsIGlkLCBhbmQgYW5pbWF0ZWQgc3VwcG9ydGluZyB1bmljb2RlIGFuZCBjdXN0b20gZW1vamlzLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIGJ1dHRvbiBvZiBzdHlsZSB7QGxpbmsgQnV0dG9uU3R5bGVzLlByZW1pdW0gfCBQcmVtaXVtfSBjYW5ub3QgaGF2ZSBhbiBlbW9qaVxuICAgKi9cbiAgZW1vamk/OiB7XG4gICAgLyoqIEVtb2ppIGlkICovXG4gICAgaWQ/OiBzdHJpbmdcbiAgICAvKiogRW1vamkgbmFtZSAqL1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gICAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIH1cbiAgLyoqXG4gICAqIFVybCBmb3Ige0BsaW5rIEJ1dHRvblN0eWxlcy5MaW5rIHwgbGlua30gYnV0dG9ucyB0aGF0IGNhbiBuYXZpZ2F0ZSBhIHVzZXIgdG8gdGhlIHdlYi5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogQnV0dG9ucyBvZiBzdHlsZSB7QGxpbmsgQnV0dG9uU3R5bGVzLkxpbmsgfCBMaW5rfSBtdXN0IGhhdmUgYW4gdXJsLCBhbnkgb3RoZXIgYnV0dG9uIHdpdGggYSBkaWZmZXJlbnQgc3R5bGUgY2FuIG5vdCBoYXZlIGFuIHVybFxuICAgKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGJ1dHRvbiBpcyBkaXNhYmxlZCAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFNLVSBmb3Ige0BsaW5rIEJ1dHRvblN0eWxlcy5QcmVtaXVtIHwgcHJlbWl1bX0gYnV0dG9ucyB0aGF0IGNhbiBuYXZpZ2F0ZSBhIHVzZXIgdG8gdGhlIGFwcGxpY2F0aW9uIHNob3AuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEJ1dHRvbnMgb2Ygc3R5bGUge0BsaW5rIEJ1dHRvblN0eWxlcy5QcmVtaXVtIHwgUHJlbWl1bX0gbXVzdCBoYXZlIGEgc2t1X2lkLCBhbnkgb3RoZXIgYnV0dG9uIHdpdGggYSBkaWZmZXJlbnQgc3R5bGUgY2FuIG5vdCBoYXZlIGEgYSBza3VfaWRcbiAgICovXG4gIHNrdV9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyN0ZXh0LWlucHV0cy10ZXh0LWlucHV0LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW5wdXRUZXh0Q29tcG9uZW50IHtcbiAgLyoqIElucHV0VGV4dCBDb21wb25lbnQgaXMgb2YgdHlwZSAzICovXG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5JbnB1dFRleHRcbiAgLyoqIFRoZSBzdHlsZSBvZiB0aGUgSW5wdXRUZXh0ICovXG4gIHN0eWxlOiBUZXh0U3R5bGVzXG4gIC8qKiB3aGV0aGVyIHRoaXMgY29tcG9uZW50IGlzIHJlcXVpcmVkIHRvIGJlIGZpbGxlZCwgZGVmYXVsdCB0cnVlICovXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICAvKiogVGhlIGN1c3RvbUlkIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBsYWJlbCBvZiB0aGUgSW5wdXRUZXh0IChtYXggNDUgY2hhcmFjdGVycykgKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogVGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqIFRoZSBtaW5pbXVtIGxlbmd0aCBvZiB0aGUgdGV4dCB0aGUgdXNlciBoYXMgdG8gcHJvdmlkZSAqL1xuICBtaW5fbGVuZ3RoPzogbnVtYmVyXG4gIC8qKiBUaGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIHRleHQgdGhlIHVzZXIgaGFzIHRvIHByb3ZpZGUgKi9cbiAgbWF4X2xlbmd0aD86IG51bWJlclxuICAvKiogUHJlLWZpbGxlZCB2YWx1ZSBmb3IgaW5wdXQgdGV4dC4gKi9cbiAgdmFsdWU/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItaXRlbS1vYmplY3Qtc3RpY2tlci1pdGVtLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU3RpY2tlckl0ZW0ge1xuICAvKiogSWQgb2YgdGhlIHN0aWNrZXIgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogTmFtZSBvZiB0aGUgc3RpY2tlciAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFtUeXBlIG9mIHN0aWNrZXIgZm9ybWF0XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLW9iamVjdC1zdGlja2VyLWZvcm1hdC10eXBlcykgKi9cbiAgZm9ybWF0X3R5cGU6IFN0aWNrZXJGb3JtYXRUeXBlc1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1wYWNrLW9iamVjdC1zdGlja2VyLXBhY2stc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdGlja2VyUGFjayB7XG4gIC8qKiBpZCBvZiB0aGUgc3RpY2tlciBwYWNrICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIHRoZSBzdGlja2VycyBpbiB0aGUgcGFjayAqL1xuICBzdGlja2VyczogRGlzY29yZFN0aWNrZXJbXVxuICAvKiogbmFtZSBvZiB0aGUgc3RpY2tlciBwYWNrICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHBhY2sncyBTS1UgKi9cbiAgc2t1X2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIGEgc3RpY2tlciBpbiB0aGUgcGFjayB3aGljaCBpcyBzaG93biBhcyB0aGUgcGFjaydzIGljb24gKi9cbiAgY292ZXJfc3RpY2tlcl9pZD86IHN0cmluZ1xuICAvKiogZGVzY3JpcHRpb24gb2YgdGhlIHN0aWNrZXIgcGFjayAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgc3RpY2tlciBwYWNrJ3MgW2Jhbm5lciBpbWFnZV0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI2ltYWdlLWZvcm1hdHRpbmcpICovXG4gIGJhbm5lcl9hc3NldF9pZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbiB7XG4gIC8qKiBJZCBvZiB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWQgb2YgdGhlIGFwcGxpY2F0aW9uIHRoaXMgaW50ZXJhY3Rpb24gaXMgZm9yICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGludGVyYWN0aW9uICovXG4gIHR5cGU6IEludGVyYWN0aW9uVHlwZXNcbiAgLyoqIEd1aWxkIHRoYXQgdGhlIGludGVyYWN0aW9uIHdhcyBzZW50IGZyb20gKi9cbiAgZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIFRoZSBndWlsZCBpdCB3YXMgc2VudCBmcm9tICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgY2hhbm5lbCBpdCB3YXMgc2VudCBmcm9tICovXG4gIGNoYW5uZWw6IFBhcnRpYWw8RGlzY29yZENoYW5uZWw+XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgY2hhbm5lbCBpdCB3YXMgc2VudCBmcm9tXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IGJlZ2luIHVzaW5nIHRoaXMgY2hhbm5lbCBmaWVsZCB0byBpZGVudGlmeSB0aGUgc291cmNlIGNoYW5uZWwgb2YgdGhlIGludGVyYWN0aW9uIGFzIHRoZXkgbWF5IGRlcHJlY2F0ZSB0aGUgZXhpc3RpbmcgY2hhbm5lbF9pZCBmaWVsZCBpbiB0aGUgZnV0dXJlLlxuICAgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAvKiogR3VpbGQgbWVtYmVyIGRhdGEgZm9yIHRoZSBpbnZva2luZyB1c2VyLCBpbmNsdWRpbmcgcGVybWlzc2lvbnMgKi9cbiAgbWVtYmVyPzogRGlzY29yZEludGVyYWN0aW9uTWVtYmVyXG4gIC8qKiBVc2VyIG9iamVjdCBmb3IgdGhlIGludm9raW5nIHVzZXIsIGlmIGludm9rZWQgaW4gYSBETSAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIEEgY29udGludWF0aW9uIHRva2VuIGZvciByZXNwb25kaW5nIHRvIHRoZSBpbnRlcmFjdGlvbiAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBSZWFkLW9ubHkgcHJvcGVydHksIGFsd2F5cyBgMWAgKi9cbiAgdmVyc2lvbjogMVxuICAvKiogRm9yIHRoZSBtZXNzYWdlIHRoZSBidXR0b24gd2FzIGF0dGFjaGVkIHRvICovXG4gIG1lc3NhZ2U/OiBEaXNjb3JkTWVzc2FnZVxuICAvKiogdGhlIGNvbW1hbmQgZGF0YSBwYXlsb2FkICovXG4gIGRhdGE/OiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhXG4gIC8qKiBUaGUgc2VsZWN0ZWQgbGFuZ3VhZ2Ugb2YgdGhlIGludm9raW5nIHVzZXIgKi9cbiAgbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQncyBwcmVmZXJyZWQgbG9jYWxlLCBpZiBpbnZva2VkIGluIGEgZ3VpbGQgKi9cbiAgZ3VpbGRfbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgY29tcHV0ZWQgcGVybWlzc2lvbnMgZm9yIGEgYm90IG9yIGFwcCBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIGludGVyYWN0aW9uIChpbmNsdWRpbmcgY2hhbm5lbCBvdmVyd3JpdGVzKSAqL1xuICBhcHBfcGVybWlzc2lvbnM6IHN0cmluZ1xuICAvKiogRm9yIG1vbmV0aXplZCBhcHBzLCBhbnkgZW50aXRsZW1lbnRzIGZvciB0aGUgaW52b2tpbmcgdXNlciwgcmVwcmVzZW50aW5nIGFjY2VzcyB0byBwcmVtaXVtIFNLVXMgKi9cbiAgZW50aXRsZW1lbnRzOiBEaXNjb3JkRW50aXRsZW1lbnRbXVxuICAvKiogTWFwcGluZyBvZiBpbnN0YWxsYXRpb24gY29udGV4dHMgdGhhdCB0aGUgaW50ZXJhY3Rpb24gd2FzIGF1dGhvcml6ZWQgZm9yIHRvIHJlbGF0ZWQgdXNlciBvciBndWlsZCBJRHMuICovXG4gIGF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyczogUGFydGlhbDxSZWNvcmQ8RGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLCBzdHJpbmc+PlxuICAvKiogQ29udGV4dCB3aGVyZSB0aGUgaW50ZXJhY3Rpb24gd2FzIHRyaWdnZXJlZCBmcm9tICovXG4gIGNvbnRleHQ/OiBEaXNjb3JkSW50ZXJhY3Rpb25Db250ZXh0VHlwZVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW1lbWJlci1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uTWVtYmVyIGV4dGVuZHMgRGlzY29yZE1lbWJlcldpdGhVc2VyIHtcbiAgLyoqIFRvdGFsIHBlcm1pc3Npb25zIG9mIHRoZSBtZW1iZXIgaW4gdGhlIGNoYW5uZWwsIGluY2x1ZGluZyBvdmVyd3JpdGVzLCByZXR1cm5lZCB3aGVuIGluIHRoZSBpbnRlcmFjdGlvbiBvYmplY3QgKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGEge1xuICAvKiogVGhlIHR5cGUgb2YgY29tcG9uZW50ICovXG4gIGNvbXBvbmVudF90eXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzXG4gIC8qKiBUaGUgY3VzdG9tIGlkIHByb3ZpZGVkIGZvciB0aGlzIGNvbXBvbmVudC4gKi9cbiAgY3VzdG9tX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgY29tcG9uZW50cyBpZiBpdHMgYSBNb2RhbCBTdWJtaXQgaW50ZXJhY3Rpb24uICovXG4gIGNvbXBvbmVudHM/OiBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudHNcbiAgLyoqIFRoZSB2YWx1ZXMgY2hvc2VuIGJ5IHRoZSB1c2VyLiAqL1xuICB2YWx1ZXM/OiBzdHJpbmdbXVxuICAvKiogVGhlIElkIG9mIHRoZSBpbnZva2VkIGNvbW1hbmQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIGludm9rZWQgY29tbWFuZCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIHRoZSB0eXBlIG9mIHRoZSBpbnZva2VkIGNvbW1hbmQgKi9cbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kVHlwZXNcbiAgLyoqIENvbnZlcnRlZCB1c2VycyArIHJvbGVzICsgY2hhbm5lbHMgKyBhdHRhY2htZW50cyAqL1xuICByZXNvbHZlZD86IHtcbiAgICAvKiogVGhlIElkcyBhbmQgTWVzc2FnZSBvYmplY3RzICovXG4gICAgbWVzc2FnZXM/OiBSZWNvcmQ8c3RyaW5nLCBEaXNjb3JkTWVzc2FnZT5cbiAgICAvKiogVGhlIElkcyBhbmQgVXNlciBvYmplY3RzICovXG4gICAgdXNlcnM/OiBSZWNvcmQ8c3RyaW5nLCBEaXNjb3JkVXNlcj5cbiAgICAvKiogVGhlIElkcyBhbmQgcGFydGlhbCBNZW1iZXIgb2JqZWN0cyAqL1xuICAgIG1lbWJlcnM/OiBSZWNvcmQ8c3RyaW5nLCBPbWl0PERpc2NvcmRJbnRlcmFjdGlvbk1lbWJlciwgJ3VzZXInIHwgJ2RlYWYnIHwgJ211dGUnPj5cbiAgICAvKiogVGhlIElkcyBhbmQgUm9sZSBvYmplY3RzICovXG4gICAgcm9sZXM/OiBSZWNvcmQ8c3RyaW5nLCBEaXNjb3JkUm9sZT5cbiAgICAvKiogVGhlIElkcyBhbmQgcGFydGlhbCBDaGFubmVsIG9iamVjdHMgKi9cbiAgICBjaGFubmVscz86IFJlY29yZDxzdHJpbmcsIFBpY2s8RGlzY29yZENoYW5uZWwsICdpZCcgfCAnbmFtZScgfCAndHlwZScgfCAncGVybWlzc2lvbnMnPj5cbiAgICAvKiogVGhlIGlkcyBhbmQgYXR0YWNobWVudCBvYmplY3RzICovXG4gICAgYXR0YWNobWVudHM6IFJlY29yZDxzdHJpbmcsIERpc2NvcmRBdHRhY2htZW50PlxuICB9XG4gIC8qKiBUaGUgcGFyYW1zICsgdmFsdWVzIGZyb20gdGhlIHVzZXIgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb25bXVxuICAvKiogVGhlIHRhcmdldCBpZCBpZiB0aGlzIGlzIGEgY29udGV4dCBtZW51IGNvbW1hbmQuICovXG4gIHRhcmdldF9pZD86IHN0cmluZ1xuICAvKiogdGhlIGlkIG9mIHRoZSBndWlsZCB0aGUgY29tbWFuZCBpcyByZWdpc3RlcmVkIHRvICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbiB7XG4gIC8qKiBOYW1lIG9mIHRoZSBwYXJhbWV0ZXIgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBWYWx1ZSBvZiBhcHBsaWNhdGlvbiBjb21tYW5kIG9wdGlvbiB0eXBlICovXG4gIHR5cGU6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzXG4gIC8qKiBWYWx1ZSBvZiB0aGUgb3B0aW9uIHJlc3VsdGluZyBmcm9tIHVzZXIgaW5wdXQgKi9cbiAgdmFsdWU/OiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyXG4gIC8qKiBQcmVzZW50IGlmIHRoaXMgb3B0aW9uIGlzIGEgZ3JvdXAgb3Igc3ViY29tbWFuZCAqL1xuICBvcHRpb25zPzogRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbltdXG4gIC8qKiBgdHJ1ZWAgaWYgdGhpcyBvcHRpb24gaXMgdGhlIGN1cnJlbnRseSBmb2N1c2VkIG9wdGlvbiBmb3IgYXV0b2NvbXBsZXRlICovXG4gIGZvY3VzZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZExpc3RBY3RpdmVUaHJlYWRzIHtcbiAgLyoqIFRoZSBhY3RpdmUgdGhyZWFkcyAqL1xuICB0aHJlYWRzOiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBBIHRocmVhZCBtZW1iZXIgb2JqZWN0IGZvciBlYWNoIHJldHVybmVkIHRocmVhZCB0aGUgY3VycmVudCB1c2VyIGhhcyBqb2luZWQgKi9cbiAgbWVtYmVyczogRGlzY29yZFRocmVhZE1lbWJlcltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZExpc3RBcmNoaXZlZFRocmVhZHMgZXh0ZW5kcyBEaXNjb3JkTGlzdEFjdGl2ZVRocmVhZHMge1xuICAvKiogV2hldGhlciB0aGVyZSBhcmUgcG90ZW50aWFsbHkgYWRkaXRpb25hbCB0aHJlYWRzIHRoYXQgY291bGQgYmUgcmV0dXJuZWQgb24gYSBzdWJzZXF1ZW50IGNhbGwgKi9cbiAgaGFzX21vcmU6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGhyZWFkTGlzdFN5bmMge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgcGFyZW50IGNoYW5uZWwgaWRzIHdob3NlIHRocmVhZHMgYXJlIGJlaW5nIHN5bmNlZC4gSWYgb21pdHRlZCwgdGhlbiB0aHJlYWRzIHdlcmUgc3luY2VkIGZvciB0aGUgZW50aXJlIGd1aWxkLiBUaGlzIGFycmF5IG1heSBjb250YWluIGNoYW5uZWxJZHMgdGhhdCBoYXZlIG5vIGFjdGl2ZSB0aHJlYWRzIGFzIHdlbGwsIHNvIHlvdSBrbm93IHRvIGNsZWFyIHRoYXQgZGF0YSAqL1xuICBjaGFubmVsX2lkcz86IHN0cmluZ1tdXG4gIC8qKiBBbGwgYWN0aXZlIHRocmVhZHMgaW4gdGhlIGdpdmVuIGNoYW5uZWxzIHRoYXQgdGhlIGN1cnJlbnQgdXNlciBjYW4gYWNjZXNzICovXG4gIHRocmVhZHM6IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIEFsbCB0aHJlYWQgbWVtYmVyIG9iamVjdHMgZnJvbSB0aGUgc3luY2VkIHRocmVhZHMgZm9yIHRoZSBjdXJyZW50IHVzZXIsIGluZGljYXRpbmcgd2hpY2ggdGhyZWFkcyB0aGUgY3VycmVudCB1c2VyIGhhcyBiZWVuIGFkZGVkIHRvICovXG4gIG1lbWJlcnM6IERpc2NvcmRUaHJlYWRNZW1iZXJbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdWRpdExvZyB7XG4gIC8qKiBMaXN0IG9mIHdlYmhvb2tzIGZvdW5kIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgd2ViaG9va3M6IERpc2NvcmRXZWJob29rW11cbiAgLyoqIExpc3Qgb2YgdXNlcnMgZm91bmQgaW4gdGhlIGF1ZGl0IGxvZyAqL1xuICB1c2VyczogRGlzY29yZFVzZXJbXVxuICAvKiogTGlzdCBvZiBhdWRpdCBsb2cgZW50cmllcywgc29ydGVkIGZyb20gbW9zdCB0byBsZWFzdCByZWNlbnQgKi9cbiAgYXVkaXRfbG9nX2VudHJpZXM6IERpc2NvcmRBdWRpdExvZ0VudHJ5W11cbiAgLyoqIExpc3Qgb2YgcGFydGlhbCBpbnRlZ3JhdGlvbiBvYmplY3RzICovXG4gIGludGVncmF0aW9uczogUGFydGlhbDxEaXNjb3JkSW50ZWdyYXRpb24+W11cbiAgLyoqXG4gICAqIExpc3Qgb2YgdGhyZWFkcyBmb3VuZCBpbiB0aGUgYXVkaXQgbG9nLlxuICAgKiBUaHJlYWRzIHJlZmVyZW5jZWQgaW4gYFRIUkVBRF9DUkVBVEVgIGFuZCBgVEhSRUFEX1VQREFURWAgZXZlbnRzIGFyZSBpbmNsdWRlZCBpbiB0aGUgdGhyZWFkcyBtYXAgc2luY2UgYXJjaGl2ZWQgdGhyZWFkcyBtaWdodCBub3QgYmUga2VwdCBpbiBtZW1vcnkgYnkgY2xpZW50cy5cbiAgICovXG4gIHRocmVhZHM6IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIExpc3Qgb2YgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50cyBmb3VuZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudHM/OiBEaXNjb3JkU2NoZWR1bGVkRXZlbnRbXVxuICAvKiogTGlzdCBvZiBhdXRvIG1vZGVyYXRpb24gcnVsZXMgcmVmZXJlbmNlZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIGF1dG9fbW9kZXJhdGlvbl9ydWxlcz86IERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVbXVxuICAvKiogTGlzdCBvZiBhcHBsaWNhdGlvbiBjb21tYW5kcyByZWZlcmVuY2VkIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgYXBwbGljYXRpb25fY29tbWFuZHM6IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1dG8tbW9kZXJhdGlvbiNhdXRvLW1vZGVyYXRpb24tcnVsZS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhpcyBydWxlICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCBvZiB0aGUgcnVsZSAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgcnVsZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlciB3aG8gY3JlYXRlZCB0aGlzIHJ1bGUuICovXG4gIGNyZWF0b3JfaWQ6IHN0cmluZ1xuICAvKiogSW5kaWNhdGVzIGluIHdoYXQgZXZlbnQgY29udGV4dCBhIHJ1bGUgc2hvdWxkIGJlIGNoZWNrZWQuICovXG4gIGV2ZW50X3R5cGU6IEF1dG9Nb2RlcmF0aW9uRXZlbnRUeXBlc1xuICAvKiogVGhlIHR5cGUgb2YgdHJpZ2dlciBmb3IgdGhpcyBydWxlICovXG4gIHRyaWdnZXJfdHlwZTogQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXNcbiAgLyoqIFRoZSBtZXRhZGF0YSB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIGEgcnVsZSBzaG91bGQgYmUgdHJpZ2dlcmVkLiAqL1xuICB0cmlnZ2VyX21ldGFkYXRhOiBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhXG4gIC8qKiBBY3Rpb25zIHdoaWNoIHdpbGwgZXhlY3V0ZSB3aGVuZXZlciBhIHJ1bGUgaXMgdHJpZ2dlcmVkLiAqL1xuICBhY3Rpb25zOiBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25bXVxuICAvKiogV2hldGhlciB0aGUgcnVsZSBpcyBlbmFibGVkLiAqL1xuICBlbmFibGVkOiBib29sZWFuXG4gIC8qKiBUaGUgcm9sZSBpZHMgdGhhdCBhcmUgd2hpdGVsaXN0ZWQuIE1heCAyMC4gKi9cbiAgZXhlbXB0X3JvbGVzOiBzdHJpbmdbXVxuICAvKiogVGhlIGNoYW5uZWwgaWRzIHRoYXQgYXJlIHdoaXRlbGlzdGVkLiBNYXggNTAuICovXG4gIGV4ZW1wdF9jaGFubmVsczogc3RyaW5nW11cbn1cblxuZXhwb3J0IGVudW0gQXV0b01vZGVyYXRpb25FdmVudFR5cGVzIHtcbiAgLyoqIFdoZW4gYSB1c2VyIHNlbmRzIGEgbWVzc2FnZSAqL1xuICBNZXNzYWdlU2VuZCA9IDEsXG4gIC8qKiBXZW4gYSBtZW1iZXIgZWRpdHMgdGhlaXIgcHJvZmlsZSAqL1xuICBNZW1iZXJVcGRhdGUsXG59XG5cbmV4cG9ydCBlbnVtIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzIHtcbiAgLyoqIENoZWNrIGlmIGNvbnRlbnQgY29udGFpbnMgd29yZHMgZnJvbSBhIHVzZXIgZGVmaW5lZCBsaXN0IG9mIGtleXdvcmRzLiBNYXggNiBwZXIgZ3VpbGQgKi9cbiAgS2V5d29yZCA9IDEsXG4gIC8qKiBDaGVjayBpZiBjb250ZW50IHJlcHJlc2VudHMgZ2VuZXJpYyBzcGFtLiBNYXggMSBwZXIgZ3VpbGQgKi9cbiAgU3BhbSA9IDMsXG4gIC8qKiBDaGVjayBpZiBjb250ZW50IGNvbnRhaW5zIHdvcmRzIGZyb20gaW50ZXJuYWwgcHJlLWRlZmluZWQgd29yZCBzZXRzLiBNYXggMSBwZXIgZ3VpbGQgKi9cbiAgS2V5d29yZFByZXNldCxcbiAgLyoqIENoZWNrIGlmIGNvbnRlbnQgY29udGFpbnMgbW9yZSB1bmlxdWUgbWVudGlvbnMgdGhhbiBhbGxvd2VkLiBNYXggMSBwZXIgZ3VpbGQgKi9cbiAgTWVudGlvblNwYW0sXG4gIC8qKiBDaGVjayBpZiBtZW1iZXIgcHJvZmlsZSBjb250YWlucyB3b3JkcyBmcm9tIGEgdXNlciBkZWZpbmVkIGxpc3Qgb2Yga2V5d29yZHMuIE1heCAxIHBlciBndWlsZCAqL1xuICBNZW1iZXJQcm9maWxlLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGEge1xuICAvKipcbiAgICogVGhlIGtleXdvcmRzIG5lZWRlZCB0byBtYXRjaC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSBwcmVzZW50IHdpdGgge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLktleXdvcmR9IGFuZCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuTWVtYmVyUHJvZmlsZX0uXG4gICAqXG4gICAqIENhbiBoYXZlIHVwIHRvIDEwMDAgZWxlbWVudHMgaW4gdGhlIGFycmF5IGFuZCBlYWNoIHN0cmluZyBjYW4gaGF2ZSB1cCB0byA2MCBjaGFyYWN0ZXJzXG4gICAqL1xuICBrZXl3b3JkX2ZpbHRlcj86IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBSZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybnMgd2hpY2ggd2lsbCBiZSBtYXRjaGVkIGFnYWluc3QgY29udGVudC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSBwcmVzZW50IHdpdGgge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLktleXdvcmR9IGFuZCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuTWVtYmVyUHJvZmlsZX0uXG4gICAqXG4gICAqIENhbiBoYXZlIHVwIHRvIDEwIGVsZW1lbnRzIGluIHRoZSBhcnJheSBhbmQgZWFjaCBzdHJpbmcgY2FuIGhhdmUgdXAgdG8gMjYwIGNoYXJhY3RlcnNcbiAgICovXG4gIHJlZ2V4X3BhdHRlcm5zOiBzdHJpbmdbXVxuICAvKipcbiAgICogVGhlIHByZS1kZWZpbmVkIGxpc3RzIG9mIHdvcmRzIHRvIG1hdGNoIGZyb20uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgcHJlc2VudCB3aXRoIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5LZXl3b3JkUHJlc2V0fS5cbiAgICovXG4gIHByZXNldHM/OiBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhUHJlc2V0c1tdXG4gIC8qKlxuICAgKiBUaGUgc3Vic3RyaW5ncyB3aGljaCB3aWxsIGV4ZW1wdCBmcm9tIHRyaWdnZXJpbmcgdGhlIHByZXNldCB0cmlnZ2VyIHR5cGUuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgcHJlc2VudCB3aXRoIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5LZXl3b3JkfSwge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLktleXdvcmRQcmVzZXR9IGFuZCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuTWVtYmVyUHJvZmlsZX0uXG4gICAqXG4gICAqIFdoZW4gdXNlZCB3aXRoIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5LZXl3b3JkfSBhbmQge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLk1lbWJlclByb2ZpbGV9IHRoZXJlIGNhbiBoYXZlIHVwIHRvIDEwMCBlbGVtZW50cyBpbiB0aGUgYXJyYXkgYW5kIGVhY2ggc3RyaW5nIGNhbiBoYXZlIHVwIHRvIDYwIGNoYXJhY3RlcnMuXG4gICAqIFdoZW4gdXNlZCB3aXRoIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5LZXl3b3JkUHJlc2V0fSB0aGVyZSBjYW4gaGF2ZSB1cCB0byAxMDAwIGVsZW1lbnRzIGluIHRoZSBhcnJheSBhbmQgZWFjaCBzdHJpbmcgY2FuIGhhdmUgdXAgdG8gNjAgY2hhcmFjdGVycy5cbiAgICovXG4gIGFsbG93X2xpc3Q/OiBzdHJpbmdbXVxuICAvKipcbiAgICogVG90YWwgbnVtYmVyIG9mIG1lbnRpb25zIChyb2xlICYgdXNlcikgYWxsb3dlZCBwZXIgbWVzc2FnZS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSBwcmVzZW50IHdpdGgge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLk1lbnRpb25TcGFtfS5cbiAgICpcbiAgICogTWF4aW11bSBvZiA1MFxuICAgKi9cbiAgbWVudGlvbl90b3RhbF9saW1pdD86IG51bWJlclxuICAvKipcbiAgICogV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IGRldGVjdCBtZW50aW9uIHJhaWRzLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHByZXNlbnQgd2l0aCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuTWVudGlvblNwYW19LlxuICAgKi9cbiAgbWVudGlvbl9yYWlkX3Byb3RlY3Rpb25fZW5hYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGVudW0gRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YVByZXNldHMge1xuICAvKiogV29yZHMgdGhhdCBtYXkgYmUgY29uc2lkZXJlZCBmb3JtcyBvZiBzd2VhcmluZyBvciBjdXJzaW5nICovXG4gIFByb2Zhbml0eSA9IDEsXG4gIC8qKiBXb3JkcyB0aGF0IHJlZmVyIHRvIHNleHVhbGx5IGV4cGxpY2l0IGJlaGF2aW9yIG9yIGFjdGl2aXR5ICovXG4gIFNleHVhbENvbnRlbnQsXG4gIC8qKiBQZXJzb25hbCBpbnN1bHRzIG9yIHdvcmRzIHRoYXQgbWF5IGJlIGNvbnNpZGVyZWQgaGF0ZSBzcGVlY2ggKi9cbiAgU2x1cnMsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uIHtcbiAgLyoqIFRoZSB0eXBlIG9mIGFjdGlvbiB0byB0YWtlIHdoZW4gYSBydWxlIGlzIHRyaWdnZXJlZCAqL1xuICB0eXBlOiBBdXRvTW9kZXJhdGlvbkFjdGlvblR5cGVcbiAgLyoqIGFkZGl0aW9uYWwgbWV0YWRhdGEgbmVlZGVkIGR1cmluZyBleGVjdXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgYWN0aW9uIHR5cGUgKi9cbiAgbWV0YWRhdGE6IERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbk1ldGFkYXRhXG59XG5cbmV4cG9ydCBlbnVtIEF1dG9Nb2RlcmF0aW9uQWN0aW9uVHlwZSB7XG4gIC8qKiBCbG9ja3MgdGhlIGNvbnRlbnQgb2YgYSBtZXNzYWdlIGFjY29yZGluZyB0byB0aGUgcnVsZSAqL1xuICBCbG9ja01lc3NhZ2UgPSAxLFxuICAvKiogTG9ncyB1c2VyIGNvbnRlbnQgdG8gYSBzcGVjaWZpZWQgY2hhbm5lbCAqL1xuICBTZW5kQWxlcnRNZXNzYWdlLFxuICAvKipcbiAgICogVGltZXMgb3V0IHVzZXIgZm9yIHNwZWNpZmllZCBkdXJhdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIHRpbWVvdXQgYWN0aW9uIGNhbiBvbmx5IGJlIHNldCB1cCBmb3Ige0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLktleXdvcmR9IGFuZCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuTWVudGlvblNwYW19IHJ1bGVzLlxuICAgKlxuICAgKiBUaGUgYE1PREVSQVRFX01FTUJFUlNgIHBlcm1pc3Npb24gaXMgcmVxdWlyZWQgdG8gdXNlIHRoZSB0aW1lb3V0IGFjdGlvbiB0eXBlLlxuICAgKi9cbiAgVGltZW91dCxcbiAgLyoqIHByZXZlbnRzIGEgbWVtYmVyIGZyb20gdXNpbmcgdGV4dCwgdm9pY2UsIG9yIG90aGVyIGludGVyYWN0aW9ucyAqL1xuICBCbG9ja01lbWJlckludGVyYWN0aW9uLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbk1ldGFkYXRhIHtcbiAgLyoqIFRoZSBpZCBvZiBjaGFubmVsIHRvIHdoaWNoIHVzZXIgY29udGVudCBzaG91bGQgYmUgbG9nZ2VkLiBPbmx5IGluIEFjdGlvblR5cGUuU2VuZEFsZXJ0TWVzc2FnZSAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nXG4gIC8qKiBBZGRpdGlvbmFsIGV4cGxhbmF0aW9uIHRoYXQgd2lsbCBiZSBzaG93biB0byBtZW1iZXJzIHdoZW5ldmVyIHRoZWlyIG1lc3NhZ2UgaXMgYmxvY2tlZC4gTWF4aW11bSBvZiAxNTAgY2hhcmFjdGVycy4gT25seSBzdXBwb3J0ZWQgZm9yIEF1dG9Nb2RlcmF0aW9uQWN0aW9uVHlwZS5CbG9ja01lc3NhZ2UgKi9cbiAgY3VzdG9tX21lc3NhZ2U/OiBzdHJpbmdcbiAgLyoqIFRpbWVvdXQgZHVyYXRpb24gaW4gc2Vjb25kcyBtYXhpbXVtIG9mIDI0MTkyMDAgc2Vjb25kcyAoNCB3ZWVrcykuIE9ubHkgc3VwcG9ydGVkIGZvciBUcmlnZ2VyVHlwZS5LZXl3b3JkICYmIE9ubHkgaW4gQWN0aW9uVHlwZS5UaW1lb3V0ICovXG4gIGR1cmF0aW9uX3NlY29uZHM/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5LWV2ZW50cyNhdXRvLW1vZGVyYXRpb24tYWN0aW9uLWV4ZWN1dGlvbi1hdXRvLW1vZGVyYXRpb24tYWN0aW9uLWV4ZWN1dGlvbi1ldmVudC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBydWxlIHRoYXQgd2FzIGV4ZWN1dGVkICovXG4gIHJ1bGVfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VyIHdoaWNoIGdlbmVyYXRlZCB0aGUgY29udGVudCB3aGljaCB0cmlnZ2VyZWQgdGhlIHJ1bGUgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgY29udGVudCBmcm9tIHRoZSB1c2VyICovXG4gIGNvbnRlbnQ6IHN0cmluZ1xuICAvKiogQWN0aW9uIHdoaWNoIHdhcyBleGVjdXRlZCAqL1xuICBhY3Rpb246IERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvblxuICAvKiogVGhlIHRyaWdnZXIgdHlwZSBvZiB0aGUgcnVsZSB0aGF0IHdhcyBleGVjdXRlZC4gKi9cbiAgcnVsZV90cmlnZ2VyX3R5cGU6IEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgaW4gd2hpY2ggdXNlciBjb250ZW50IHdhcyBwb3N0ZWQgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBpZCBvZiB0aGUgbWVzc2FnZS4gV2lsbCBub3QgZXhpc3QgaWYgbWVzc2FnZSB3YXMgYmxvY2tlZCBieSBhdXRvbW9kIG9yIGNvbnRlbnQgd2FzIG5vdCBwYXJ0IG9mIGFueSBtZXNzYWdlICovXG4gIG1lc3NhZ2VfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgYW55IHN5c3RlbSBhdXRvIG1vZGVyYXRpb24gbWVzc2FnZXMgcG9zdGVkIGFzIGEgcmVzdWx0IG9mIHRoaXMgYWN0aW9uICovXG4gIGFsZXJ0X3N5c3RlbV9tZXNzYWdlX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHdvcmQgb3IgcGhyYXNlIHRoYXQgdHJpZ2dlcnJlZCB0aGUgcnVsZS4gKi9cbiAgbWF0Y2hlZF9rZXl3b3JkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgc3Vic3RyaW5nIGluIGNvbnRlbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIHJ1bGUgKi9cbiAgbWF0Y2hlZF9jb250ZW50OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXVkaXQtbG9nI2F1ZGl0LWxvZy1lbnRyeS1vYmplY3QtYXVkaXQtbG9nLWVudHJ5LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXVkaXRMb2dFbnRyeSB7XG4gIC8qKiBJRCBvZiB0aGUgYWZmZWN0ZWQgZW50aXR5ICh3ZWJob29rLCB1c2VyLCByb2xlLCBldGMuKSAqL1xuICB0YXJnZXRfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIENoYW5nZXMgbWFkZSB0byB0aGUgYHRhcmdldF9pZGAgKi9cbiAgY2hhbmdlcz86IERpc2NvcmRBdWRpdExvZ0NoYW5nZVtdXG4gIC8qKiBVc2VyIG9yIGFwcCB0aGF0IG1hZGUgdGhlIGNoYW5nZXMgKi9cbiAgdXNlcl9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogSUQgb2YgdGhlIGVudHJ5ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgYWN0aW9uIHRoYXQgb2NjdXJyZWQgKi9cbiAgYWN0aW9uX3R5cGU6IEF1ZGl0TG9nRXZlbnRzXG4gIC8qKiBBZGRpdGlvbmFsIGluZm8gZm9yIGNlcnRhaW4gZXZlbnQgdHlwZXMgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRPcHRpb25hbEF1ZGl0RW50cnlJbmZvXG4gIC8qKiBSZWFzb24gZm9yIHRoZSBjaGFuZ2UgKDEtNTEyIGNoYXJhY3RlcnMpICovXG4gIHJlYXNvbj86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctY2hhbmdlLW9iamVjdC1hdWRpdC1sb2ctY2hhbmdlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlID1cbiAgfCB7XG4gICAgICBuZXdfdmFsdWU6IHN0cmluZ1xuICAgICAgb2xkX3ZhbHVlOiBzdHJpbmdcbiAgICAgIGtleTpcbiAgICAgICAgfCAnbmFtZSdcbiAgICAgICAgfCAnZGVzY3JpcHRpb24nXG4gICAgICAgIHwgJ2Rpc2NvdmVyeV9zcGxhc2hfaGFzaCdcbiAgICAgICAgfCAnYmFubmVyX2hhc2gnXG4gICAgICAgIHwgJ3ByZWZlcnJlZF9sb2NhbGUnXG4gICAgICAgIHwgJ3J1bGVzX2NoYW5uZWxfaWQnXG4gICAgICAgIHwgJ3B1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQnXG4gICAgICAgIHwgJ2ljb25faGFzaCdcbiAgICAgICAgfCAnaW1hZ2VfaGFzaCdcbiAgICAgICAgfCAnc3BsYXNoX2hhc2gnXG4gICAgICAgIHwgJ293bmVyX2lkJ1xuICAgICAgICB8ICdyZWdpb24nXG4gICAgICAgIHwgJ2Fma19jaGFubmVsX2lkJ1xuICAgICAgICB8ICd2YW5pdHlfdXJsX2NvZGUnXG4gICAgICAgIHwgJ3dpZGdldF9jaGFubmVsX2lkJ1xuICAgICAgICB8ICdzeXN0ZW1fY2hhbm5lbF9pZCdcbiAgICAgICAgfCAndG9waWMnXG4gICAgICAgIHwgJ2FwcGxpY2F0aW9uX2lkJ1xuICAgICAgICB8ICdwZXJtaXNzaW9ucydcbiAgICAgICAgfCAnYWxsb3cnXG4gICAgICAgIHwgJ2RlbnknXG4gICAgICAgIHwgJ2NvZGUnXG4gICAgICAgIHwgJ2NoYW5uZWxfaWQnXG4gICAgICAgIHwgJ2ludml0ZXJfaWQnXG4gICAgICAgIHwgJ25pY2snXG4gICAgICAgIHwgJ2F2YXRhcl9oYXNoJ1xuICAgICAgICB8ICdpZCdcbiAgICAgICAgfCAnbG9jYXRpb24nXG4gICAgICAgIHwgJ2NvbW1hbmRfaWQnXG4gICAgfVxuICB8IHtcbiAgICAgIG5ld192YWx1ZTogbnVtYmVyXG4gICAgICBvbGRfdmFsdWU6IG51bWJlclxuICAgICAga2V5OlxuICAgICAgICB8ICdhZmtfdGltZW91dCdcbiAgICAgICAgfCAnbWZhX2xldmVsJ1xuICAgICAgICB8ICd2ZXJpZmljYXRpb25fbGV2ZWwnXG4gICAgICAgIHwgJ2V4cGxpY2l0X2NvbnRlbnRfZmlsdGVyJ1xuICAgICAgICB8ICdkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucydcbiAgICAgICAgfCAncHJ1bmVfZGVsZXRlX2RheXMnXG4gICAgICAgIHwgJ3Bvc2l0aW9uJ1xuICAgICAgICB8ICdiaXRyYXRlJ1xuICAgICAgICB8ICdyYXRlX2xpbWl0X3Blcl91c2VyJ1xuICAgICAgICB8ICdjb2xvcidcbiAgICAgICAgfCAnbWF4X3VzZXMnXG4gICAgICAgIHwgJ3VzZXMnXG4gICAgICAgIHwgJ21heF9hZ2UnXG4gICAgICAgIHwgJ2V4cGlyZV9iZWhhdmlvcidcbiAgICAgICAgfCAnZXhwaXJlX2dyYWNlX3BlcmlvZCdcbiAgICAgICAgfCAndXNlcl9saW1pdCdcbiAgICAgICAgfCAncHJpdmFjeV9sZXZlbCdcbiAgICAgICAgfCAnYXV0b19hcmNoaXZlX2R1cmF0aW9uJ1xuICAgICAgICB8ICdkZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbidcbiAgICAgICAgfCAnZW50aXR5X3R5cGUnXG4gICAgICAgIHwgJ3N0YXR1cydcbiAgICAgICAgfCAnY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbCdcbiAgICB9XG4gIHwge1xuICAgICAgbmV3X3ZhbHVlOiBQYXJ0aWFsPERpc2NvcmRSb2xlPltdXG4gICAgICBvbGRfdmFsdWU/OiBQYXJ0aWFsPERpc2NvcmRSb2xlPltdXG4gICAgICBrZXk6ICckYWRkJyB8ICckcmVtb3ZlJ1xuICAgIH1cbiAgfCB7XG4gICAgICBuZXdfdmFsdWU6IGJvb2xlYW5cbiAgICAgIG9sZF92YWx1ZTogYm9vbGVhblxuICAgICAga2V5OlxuICAgICAgICB8ICd3aWRnZXRfZW5hYmxlZCdcbiAgICAgICAgfCAnbnNmdydcbiAgICAgICAgfCAnaG9pc3QnXG4gICAgICAgIHwgJ21lbnRpb25hYmxlJ1xuICAgICAgICB8ICd0ZW1wb3JhcnknXG4gICAgICAgIHwgJ2RlYWYnXG4gICAgICAgIHwgJ211dGUnXG4gICAgICAgIHwgJ2VuYWJsZV9lbW90aWNvbnMnXG4gICAgICAgIHwgJ2FyY2hpdmVkJ1xuICAgICAgICB8ICdsb2NrZWQnXG4gICAgICAgIHwgJ2ludml0YWJsZSdcbiAgICB9XG4gIHwge1xuICAgICAgbmV3X3ZhbHVlOiBEaXNjb3JkT3ZlcndyaXRlW11cbiAgICAgIG9sZF92YWx1ZTogRGlzY29yZE92ZXJ3cml0ZVtdXG4gICAgICBrZXk6ICdwZXJtaXNzaW9uX292ZXJ3cml0ZXMnXG4gICAgfVxuICB8IHtcbiAgICAgIG5ld192YWx1ZTogc3RyaW5nIHwgbnVtYmVyXG4gICAgICBvbGRfdmFsdWU6IHN0cmluZyB8IG51bWJlclxuICAgICAga2V5OiAndHlwZSdcbiAgICB9XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXVkaXQtbG9nI2F1ZGl0LWxvZy1lbnRyeS1vYmplY3Qtb3B0aW9uYWwtYXVkaXQtZW50cnktaW5mbyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkT3B0aW9uYWxBdWRpdEVudHJ5SW5mbyB7XG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgYXBwIHdob3NlIHBlcm1pc3Npb25zIHdlcmUgdGFyZ2V0ZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQVBQTElDQVRJT05fQ09NTUFORF9QRVJNSVNTSU9OX1VQREFURWBcbiAgICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIEF1dG8gTW9kZXJhdGlvbiBydWxlIHRoYXQgd2FzIHRyaWdnZXJlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBBVVRPX01PREVSQVRJT05fQkxPQ0tfTUVTU0FHRWAsIGBBVVRPX01PREVSQVRJT05fRkxBR19UT19DSEFOTkVMYCwgYEFVVE9fTU9ERVJBVElPTl9VU0VSX0NPTU1VTklDQVRJT05fRElTQUJMRURgXG4gICAqL1xuICBhdXRvX21vZGVyYXRpb25fcnVsZV9uYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRyaWdnZXIgdHlwZSBvZiB0aGUgQXV0byBNb2RlcmF0aW9uIHJ1bGUgdGhhdCB3YXMgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYEFVVE9fTU9ERVJBVElPTl9CTE9DS19NRVNTQUdFYCwgYEFVVE9fTU9ERVJBVElPTl9GTEFHX1RPX0NIQU5ORUxgLCBgQVVUT19NT0RFUkFUSU9OX1VTRVJfQ09NTVVOSUNBVElPTl9ESVNBQkxFRGBcbiAgICovXG4gIGF1dG9fbW9kZXJhdGlvbl9ydWxlX3RyaWdnZXJfdHlwZTogc3RyaW5nXG4gIC8qKlxuICAgKiBDaGFubmVsIGluIHdoaWNoIHRoZSBlbnRpdGllcyB3ZXJlIHRhcmdldGVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FTUJFUl9NT1ZFYCwgYE1FU1NBR0VfUElOYCwgYE1FU1NBR0VfVU5QSU5gLCBgTUVTU0FHRV9ERUxFVEVgLCBgU1RBR0VfSU5TVEFOQ0VfQ1JFQVRFYCwgYFNUQUdFX0lOU1RBTkNFX1VQREFURWAsIGBTVEFHRV9JTlNUQU5DRV9ERUxFVEVgXG4gICAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqXG4gICAqIE51bWJlciBvZiBlbnRpdGllcyB0aGF0IHdlcmUgdGFyZ2V0ZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVTU0FHRV9ERUxFVEVgLCBgTUVTU0FHRV9CVUxLX0RFTEVURWAsIGBNRU1CRVJfRElTQ09OTkVDVGAsIGBNRU1CRVJfTU9WRWBcbiAgICovXG4gIGNvdW50OiBzdHJpbmdcbiAgLyoqXG4gICAqIE51bWJlciBvZiBkYXlzIGFmdGVyIHdoaWNoIGluYWN0aXZlIG1lbWJlcnMgd2VyZSBraWNrZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVNQkVSX1BSVU5FYFxuICAgKi9cbiAgZGVsZXRlX21lbWJlcl9kYXlzOiBzdHJpbmdcbiAgLyoqXG4gICAqIElEIG9mIHRoZSBvdmVyd3JpdHRlbiBlbnRpdHkuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQ0hBTk5FTF9PVkVSV1JJVEVfQ1JFQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX1VQREFURWAsIGBDSEFOTkVMX09WRVJXUklURV9ERUxFVEVgXG4gICAqL1xuICBpZDogc3RyaW5nXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbWVtYmVycyByZW1vdmVkIGJ5IHRoZSBwcnVuZS5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRU1CRVJfUFJVTkVgXG4gICAqL1xuICBtZW1iZXJzX3JlbW92ZWQ6IHN0cmluZ1xuICAvKipcbiAgICogSUQgb2YgdGhlIG1lc3NhZ2UgdGhhdCB3YXMgdGFyZ2V0ZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVTU0FHRV9QSU5gLCBgTUVTU0FHRV9VTlBJTmAsIGBTVEFHRV9JTlNUQU5DRV9DUkVBVEVgLCBgU1RBR0VfSU5TVEFOQ0VfVVBEQVRFYCwgYFNUQUdFX0lOU1RBTkNFX0RFTEVURWBcbiAgICovXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgcm9sZSBpZiB0eXBlIGlzIFwiMFwiIChub3QgcHJlc2VudCBpZiB0eXBlIGlzIFwiMVwiKS5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBDSEFOTkVMX09WRVJXUklURV9DUkVBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfVVBEQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX0RFTEVURWBcbiAgICovXG4gIHJvbGVfbmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUeXBlIG9mIG92ZXJ3cml0dGVuIGVudGl0eSAtIFwiMFwiLCBmb3IgXCJyb2xlXCIsIG9yIFwiMVwiIGZvciBcIm1lbWJlclwiLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYENIQU5ORUxfT1ZFUldSSVRFX0NSRUFURWAsIGBDSEFOTkVMX09WRVJXUklURV9VUERBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfREVMRVRFYFxuICAgKi9cbiAgdHlwZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBpbnRlZ3JhdGlvbiB3aGljaCBwZXJmb3JtZWQgdGhlIGFjdGlvblxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FTUJFUl9LSUNLYCwgYE1FTUJFUl9ST0xFX1VQREFURWBcbiAgICovXG4gIGludGVncmF0aW9uX3R5cGU6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudCB7XG4gIC8qKiB0aGUgaWQgb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB0aGUgZ3VpbGQgaWQgd2hpY2ggdGhlIHNjaGVkdWxlZCBldmVudCBiZWxvbmdzIHRvICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIHRoZSBjaGFubmVsIGlkIGluIHdoaWNoIHRoZSBzY2hlZHVsZWQgZXZlbnQgd2lsbCBiZSBob3N0ZWQgaWYgc3BlY2lmaWVkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSBpZCBvZiB0aGUgdXNlciB0aGF0IGNyZWF0ZWQgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBjcmVhdG9yX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIG5hbWUgb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIC8qKiB0aGUgdGltZSB0aGUgc2NoZWR1bGVkIGV2ZW50IHdpbGwgc3RhcnQgKi9cbiAgc2NoZWR1bGVkX3N0YXJ0X3RpbWU6IHN0cmluZ1xuICAvKiogdGhlIHRpbWUgdGhlIHNjaGVkdWxlZCBldmVudCB3aWxsIGVuZCBpZiBpdCBkb2VzIGVuZC4gKi9cbiAgc2NoZWR1bGVkX2VuZF90aW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgcHJpdmFjeSBsZXZlbCBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIHByaXZhY3lfbGV2ZWw6IFNjaGVkdWxlZEV2ZW50UHJpdmFjeUxldmVsXG4gIC8qKiB0aGUgc3RhdHVzIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgc3RhdHVzOiBTY2hlZHVsZWRFdmVudFN0YXR1c1xuICAvKiogdGhlIHR5cGUgb2YgaG9zdGluZyBlbnRpdHkgYXNzb2NpYXRlZCB3aXRoIGEgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGVudGl0eV90eXBlOiBTY2hlZHVsZWRFdmVudEVudGl0eVR5cGVcbiAgLyoqIGFueSBhZGRpdGlvbmFsIGlkIG9mIHRoZSBob3N0aW5nIGVudGl0eSBhc3NvY2lhdGVkIHdpdGggZXZlbnQgKi9cbiAgZW50aXR5X2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgZW50aXR5IG1ldGFkYXRhIGZvciB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGVudGl0eV9tZXRhZGF0YTogRGlzY29yZFNjaGVkdWxlZEV2ZW50RW50aXR5TWV0YWRhdGEgfCBudWxsXG4gIC8qKiB0aGUgdXNlciB0aGF0IGNyZWF0ZWQgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBjcmVhdG9yPzogRGlzY29yZFVzZXJcbiAgLyoqIHRoZSBudW1iZXIgb2YgdXNlcnMgc3Vic2NyaWJlZCB0byB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIHVzZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIHRoZSBjb3ZlciBpbWFnZSBoYXNoIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgaW1hZ2U/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNjaGVkdWxlZEV2ZW50RW50aXR5TWV0YWRhdGEge1xuICAvKiogbG9jYXRpb24gb2YgdGhlIGV2ZW50ICovXG4gIGxvY2F0aW9uPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNnZXQtZ2F0ZXdheS1ib3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEdldEdhdGV3YXlCb3Qge1xuICAvKiogVGhlIFdTUyBVUkwgdGhhdCBjYW4gYmUgdXNlZCBmb3IgY29ubmVjdGluZyB0byB0aGUgZ2F0ZXdheSAqL1xuICB1cmw6IHN0cmluZ1xuICAvKiogVGhlIHJlY29tbWVuZGVkIG51bWJlciBvZiBzaGFyZHMgdG8gdXNlIHdoZW4gY29ubmVjdGluZyAqL1xuICBzaGFyZHM6IG51bWJlclxuICAvKiogSW5mb3JtYXRpb24gb24gdGhlIGN1cnJlbnQgc2Vzc2lvbiBzdGFydCBsaW1pdCAqL1xuICBzZXNzaW9uX3N0YXJ0X2xpbWl0OiBEaXNjb3JkU2Vzc2lvblN0YXJ0TGltaXRcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3Nlc3Npb24tc3RhcnQtbGltaXQtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTZXNzaW9uU3RhcnRMaW1pdCB7XG4gIC8qKiBUaGUgdG90YWwgbnVtYmVyIG9mIHNlc3Npb24gc3RhcnRzIHRoZSBjdXJyZW50IHVzZXIgaXMgYWxsb3dlZCAqL1xuICB0b3RhbDogbnVtYmVyXG4gIC8qKiBUaGUgcmVtYWluaW5nIG51bWJlciBvZiBzZXNzaW9uIHN0YXJ0cyB0aGUgY3VycmVudCB1c2VyIGlzIGFsbG93ZWQgKi9cbiAgcmVtYWluaW5nOiBudW1iZXJcbiAgLyoqIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGFmdGVyIHdoaWNoIHRoZSBsaW1pdCByZXNldHMgKi9cbiAgcmVzZXRfYWZ0ZXI6IG51bWJlclxuICAvKiogVGhlIG51bWJlciBvZiBpZGVudGlmeSByZXF1ZXN0cyBhbGxvd2VkIHBlciA1IHNlY29uZHMgKi9cbiAgbWF4X2NvbmN1cnJlbmN5OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9pbnZpdGUjaW52aXRlLW1ldGFkYXRhLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW52aXRlTWV0YWRhdGEgZXh0ZW5kcyBEaXNjb3JkSW52aXRlIHtcbiAgLyoqIE51bWJlciBvZiB0aW1lcyB0aGlzIGludml0ZSBoYXMgYmVlbiB1c2VkICovXG4gIHVzZXM6IG51bWJlclxuICAvKiogTWF4IG51bWJlciBvZiB0aW1lcyB0aGlzIGludml0ZSBjYW4gYmUgdXNlZCAqL1xuICBtYXhfdXNlczogbnVtYmVyXG4gIC8qKiBEdXJhdGlvbiAoaW4gc2Vjb25kcykgYWZ0ZXIgd2hpY2ggdGhlIGludml0ZSBleHBpcmVzICovXG4gIG1heF9hZ2U6IG51bWJlclxuICAvKiogV2hldGhlciB0aGlzIGludml0ZSBvbmx5IGdyYW50cyB0ZW1wb3JhcnkgbWVtYmVyc2hpcCAqL1xuICB0ZW1wb3Jhcnk6IGJvb2xlYW5cbiAgLyoqIFdoZW4gdGhpcyBpbnZpdGUgd2FzIGNyZWF0ZWQgKi9cbiAgY3JlYXRlZF9hdDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvaW52aXRlI2ludml0ZS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludml0ZSB7XG4gIC8qKiBUaGUgdHlwZSBvZiBpbnZpdGUgKi9cbiAgdHlwZTogRGlzY29yZEludml0ZVR5cGVcbiAgLyoqIFRoZSBpbnZpdGUgY29kZSAodW5pcXVlIElkKSAqL1xuICBjb2RlOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCB0aGlzIGludml0ZSBpcyBmb3IgKi9cbiAgZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIFRoZSBjaGFubmVsIHRoaXMgaW52aXRlIGlzIGZvciAqL1xuICBjaGFubmVsOiBQYXJ0aWFsPERpc2NvcmRDaGFubmVsPiB8IG51bGxcbiAgLyoqIFRoZSB1c2VyIHdobyBjcmVhdGVkIHRoZSBpbnZpdGUgKi9cbiAgaW52aXRlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgdHlwZSBvZiB0YXJnZXQgZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBpbnZpdGUgKi9cbiAgdGFyZ2V0X3R5cGU/OiBUYXJnZXRUeXBlc1xuICAvKiogVGhlIHRhcmdldCB1c2VyIGZvciB0aGlzIGludml0ZSAqL1xuICB0YXJnZXRfdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgZW1iZWRkZWQgYXBwbGljYXRpb24gdG8gb3BlbiBmb3IgdGhpcyB2b2ljZSBjaGFubmVsIGVtYmVkZGVkIGFwcGxpY2F0aW9uIGludml0ZSAqL1xuICB0YXJnZXRfYXBwbGljYXRpb24/OiBQYXJ0aWFsPERpc2NvcmRBcHBsaWNhdGlvbj5cbiAgLyoqIEFwcHJveGltYXRlIGNvdW50IG9mIG9ubGluZSBtZW1iZXJzIChvbmx5IHByZXNlbnQgd2hlbiB0YXJnZXRfdXNlciBpcyBzZXQpICovXG4gIGFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50PzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiB0b3RhbCBtZW1iZXJzICovXG4gIGFwcHJveGltYXRlX21lbWJlcl9jb3VudD86IG51bWJlclxuICAvKiogVGhlIGV4cGlyYXRpb24gZGF0ZSBvZiB0aGlzIGludml0ZSwgcmV0dXJuZWQgZnJvbSB0aGUgYEdFVCAvaW52aXRlcy88Y29kZT5gIGVuZHBvaW50IHdoZW4gYHdpdGhfZXhwaXJhdGlvbmAgaXMgYHRydWVgICovXG4gIGV4cGlyZXNfYXQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBTdGFnZSBpbnN0YW5jZSBkYXRhIGlmIHRoZXJlIGlzIGEgcHVibGljIFN0YWdlIGluc3RhbmNlIGluIHRoZSBTdGFnZSBjaGFubmVsIHRoaXMgaW52aXRlIGlzIGZvciAqL1xuICBzdGFnZV9pbnN0YW5jZT86IERpc2NvcmRJbnZpdGVTdGFnZUluc3RhbmNlXG4gIC8qKiBndWlsZCBzY2hlZHVsZWQgZXZlbnQgZGF0YSAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnQ/OiBEaXNjb3JkU2NoZWR1bGVkRXZlbnRcbn1cblxuZXhwb3J0IGVudW0gRGlzY29yZEludml0ZVR5cGUge1xuICBHdWlsZCxcbiAgR3JvdXBEbSxcbiAgRnJpZW5kLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVTdGFnZUluc3RhbmNlIHtcbiAgLyoqIFRoZSBtZW1iZXJzIHNwZWFraW5nIGluIHRoZSBTdGFnZSAqL1xuICBtZW1iZXJzOiBQYXJ0aWFsPERpc2NvcmRNZW1iZXI+W11cbiAgLyoqIFRoZSBudW1iZXIgb2YgdXNlcnMgaW4gdGhlIFN0YWdlICovXG4gIHBhcnRpY2lwYW50X2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBudW1iZXIgb2YgdXNlcnMgc3BlYWtpbmcgaW4gdGhlIFN0YWdlICovXG4gIHNwZWFrZXJfY291bnQ6IG51bWJlclxuICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgdG9waWM6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL2FwcGxpY2F0aW9uLWNvbW1hbmRzI2FwcGxpY2F0aW9uLWNvbW1hbmQtb2JqZWN0LWFwcGxpY2F0aW9uLWNvbW1hbmQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQgZXh0ZW5kcyBEaXNjb3JkQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kIHtcbiAgLyoqIFVuaXF1ZSBJRCBvZiBjb21tYW5kICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBwYXJlbnQgYXBwbGljYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogR3VpbGQgaWQgb2YgdGhlIGNvbW1hbmQsIGlmIG5vdCBnbG9iYWwgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kIHtcbiAgLyoqIFR5cGUgb2YgY29tbWFuZCwgZGVmYXVsdHMgdG8gYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dGAgKi9cbiAgdHlwZT86IEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzXG4gIC8qKlxuICAgKiBOYW1lIG9mIGNvbW1hbmQsIDEtMzIgY2hhcmFjdGVycy5cbiAgICogYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dGAgY29tbWFuZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBmb2xsb3dpbmcgcmVnZXggYF5bLV9cXHB7TH1cXHB7Tn1cXHB7c2M9RGV2YX1cXHB7c2M9VGhhaX1dezEsMzJ9JGAgd2l0aCB0aGUgdW5pY29kZSBmbGFnIHNldC5cbiAgICogSWYgdGhlcmUgaXMgYSBsb3dlcmNhc2UgdmFyaWFudCBvZiBhbnkgbGV0dGVycyB1c2VkLCB5b3UgbXVzdCB1c2UgdGhvc2UuXG4gICAqIENoYXJhY3RlcnMgd2l0aCBubyBsb3dlcmNhc2UgdmFyaWFudHMgYW5kL29yIHVuY2FzZWQgbGV0dGVycyBhcmUgc3RpbGwgYWxsb3dlZC5cbiAgICogQXBwbGljYXRpb25Db21tYW5kVHlwZXMuVXNlcmAgYW5kIGBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5NZXNzYWdlYCBjb21tYW5kcyBtYXkgYmUgbWl4ZWQgY2FzZSBhbmQgY2FuIGluY2x1ZGUgc3BhY2VzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciBgbmFtZWAgZmllbGQuIFZhbHVlcyBmb2xsb3cgdGhlIHNhbWUgcmVzdHJpY3Rpb25zIGFzIGBuYW1lYCAqL1xuICBuYW1lX2xvY2FsaXphdGlvbnM/OiBMb2NhbGl6YXRpb24gfCBudWxsXG4gIC8qKiBEZXNjcmlwdGlvbiBmb3IgYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dGAgY29tbWFuZHMsIDEtMTAwIGNoYXJhY3RlcnMuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciBgZGVzY3JpcHRpb25gIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgZGVzY3JpcHRpb25gICovXG4gIGRlc2NyaXB0aW9uX2xvY2FsaXphdGlvbnM/OiBMb2NhbGl6YXRpb24gfCBudWxsXG4gIC8qKiBQYXJhbWV0ZXJzIGZvciB0aGUgY29tbWFuZCwgbWF4IG9mIDI1ICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uW11cbiAgLyoqIFNldCBvZiBwZXJtaXNzaW9ucyByZXByZXNlbnRlZCBhcyBhIGJpdCBzZXQgKi9cbiAgZGVmYXVsdF9tZW1iZXJfcGVybWlzc2lvbnM/OiBzdHJpbmcgfCBudWxsXG4gIC8qKlxuICAgKiBJbnN0YWxsYXRpb24gY29udGV4dHMgd2hlcmUgdGhlIGNvbW1hbmQgaXMgYXZhaWxhYmxlXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgdmFsdWUgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIGdsb2JhbGx5LXNjb3BlZCBjb21tYW5kc1xuICAgKiBEZWZhdWx0cyB0byB0aGUgYXBwbGljYXRpb24gY29uZmlndXJlZCBjb250ZXh0c1xuICAgKi9cbiAgaW50ZWdyYXRpb25fdHlwZXM/OiBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGVbXVxuICAvKipcbiAgICogSW50ZXJhY3Rpb24gY29udGV4dChzKSB3aGVyZSB0aGUgY29tbWFuZCBjYW4gYmUgdXNlZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHZhbHVlIGlzIGF2YWlsYWJsZSBvbmx5IGZvciBnbG9iYWxseS1zY29wZWQgY29tbWFuZHNcbiAgICogQnkgZGVmYXVsdCwgYWxsIGludGVyYWN0aW9uIGNvbnRleHQgdHlwZXMgaW5jbHVkZWQgZm9yIG5ldyBjb21tYW5kcy5cbiAgICovXG4gIGNvbnRleHRzPzogRGlzY29yZEludGVyYWN0aW9uQ29udGV4dFR5cGVbXSB8IG51bGxcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb21tYW5kIGlzIGF2YWlsYWJsZSBpbiBETXMgd2l0aCB0aGUgYXBwLCBvbmx5IGZvciBnbG9iYWxseS1zY29wZWQgY29tbWFuZHMuIEJ5IGRlZmF1bHQsIGNvbW1hbmRzIGFyZSB2aXNpYmxlLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIGNvbnRleHRzfSBpbnN0ZWFkXG4gICAqL1xuICBkbV9wZXJtaXNzaW9uPzogYm9vbGVhblxuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbW1hbmQgaXMgYWdlLXJlc3RyaWN0ZWQsIGRlZmF1bHRzIHRvIGZhbHNlICovXG4gIG5zZnc/OiBib29sZWFuXG4gIC8qKiBBdXRvIGluY3JlbWVudGluZyB2ZXJzaW9uIGlkZW50aWZpZXIgdXBkYXRlZCBkdXJpbmcgc3Vic3RhbnRpYWwgcmVjb3JkIGNoYW5nZXMgKi9cbiAgdmVyc2lvbj86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL2FwcGxpY2F0aW9uLWNvbW1hbmRzI2FwcGxpY2F0aW9uLWNvbW1hbmQtb2JqZWN0LWFwcGxpY2F0aW9uLWNvbW1hbmQtb3B0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIHtcbiAgLyoqIFR5cGUgb2Ygb3B0aW9uICovXG4gIHR5cGU6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzXG4gIC8qKlxuICAgKiBOYW1lIG9mIGNvbW1hbmQsIDEtMzIgY2hhcmFjdGVycy5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB2YWx1ZSBzaG91bGQgYmUgdW5pcXVlIHdpdGhpbiBhbiBhcnJheSBvZiB7QGxpbmsgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbn1cbiAgICpcbiAgICoge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dCB8IENoYXRJbnB1dH0gY29tbWFuZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBmb2xsb3dpbmcgcmVnZXggYF5bLV9cXHB7TH1cXHB7Tn1cXHB7c2M9RGV2YX1cXHB7c2M9VGhhaX1dezEsMzJ9JGAgd2l0aCB0aGUgdW5pY29kZSBmbGFnIHNldC5cbiAgICogSWYgdGhlcmUgaXMgYSBsb3dlcmNhc2UgdmFyaWFudCBvZiBhbnkgbGV0dGVycyB1c2VkLCB5b3UgbXVzdCB1c2UgdGhvc2UuXG4gICAqIENoYXJhY3RlcnMgd2l0aCBubyBsb3dlcmNhc2UgdmFyaWFudHMgYW5kL29yIHVuY2FzZWQgbGV0dGVycyBhcmUgc3RpbGwgYWxsb3dlZC5cbiAgICpcbiAgICoge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLlVzZXIgfCBVc2VyfSBhbmQge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLk1lc3NhZ2UgfCBNZXNzYWdlfSBjb21tYW5kcyBtYXkgYmUgbWl4ZWQgY2FzZSBhbmQgY2FuIGluY2x1ZGUgc3BhY2VzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciB0aGUgYG5hbWVgIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgbmFtZWAgKi9cbiAgbmFtZV9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKiogMS0xMDAgY2hhcmFjdGVyIGRlc2NyaXB0aW9uICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIExvY2FsaXphdGlvbiBvYmplY3QgZm9yIHRoZSBgZGVzY3JpcHRpb25gIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgZGVzY3JpcHRpb25gICovXG4gIGRlc2NyaXB0aW9uX2xvY2FsaXphdGlvbnM/OiBMb2NhbGl6YXRpb24gfCBudWxsXG4gIC8qKlxuICAgKiBJZiB0aGUgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIG9yIG9wdGlvbmFsLiBkZWZhdWx0IGBmYWxzZWBcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVmFsaWQgaW4gYWxsIG9wdGlvbiB0eXBlcyBleGNlcHQge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmQgfCBTdWJDb21tYW5kfSBhbmQge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmRHcm91cCB8IFN1YkNvbW1hbmRHcm91cH1cbiAgICovXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICAvKipcbiAgICogQ2hvaWNlcyBmb3IgdGhlIG9wdGlvbiBmcm9tIHdoaWNoIHRoZSB1c2VyIGNhbiBjaG9vc2UsIG1heCAyNVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfSwge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSwgb3Ige0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLk51bWJlciB8IE51bWJlcn1cbiAgICpcbiAgICogSWYgeW91IHByb3ZpZGUgYW4gYXJyYXkgb2YgY2hvaWNlcywgdGhleSB3aWxsIGJlIHRoZSBPTkxZIGFjY2VwdGVkIHZhbHVlcyBmb3IgdGhpcyBvcHRpb25cbiAgICovXG4gIGNob2ljZXM/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlW11cbiAgLyoqXG4gICAqIElmIHRoZSBvcHRpb24gaXMgYSBzdWJjb21tYW5kIG9yIHN1YmNvbW1hbmQgZ3JvdXAgdHlwZSwgdGhlc2UgbmVzdGVkIG9wdGlvbnMgd2lsbCBiZSB0aGUgcGFyYW1ldGVyc1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbiBvZiB0eXBlIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kIHwgU3ViQ29tbWFuZH0gb3Ige0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmRHcm91cCB8IFN1YkNvbW1hbmRHcm91cH1cbiAgICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uW11cbiAgLyoqXG4gICAqIElmIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbnMgYXJlIGVuYWJsZWQgZm9yIHRoaXMgb3B0aW9uLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfSwge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSwgb3Ige0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLk51bWJlciB8IE51bWJlcn1cbiAgICpcbiAgICogV2hlbiB7QGxpbmsgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbi5jaG9pY2VzIHwgY2hvaWNlc30gYXJlIHByb3ZpZGVkLCB0aGlzIG1heSBub3QgYmUgc2V0IHRvIHRydWVcbiAgICovXG4gIGF1dG9jb21wbGV0ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFRoZSBjaGFubmVscyBzaG93biB3aWxsIGJlIHJlc3RyaWN0ZWQgdG8gdGhlc2UgdHlwZXNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb24gb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuQ2hhbm5lbCB8IENoYW5uZWx9XG4gICAqL1xuICBjaGFubmVsX3R5cGVzPzogQ2hhbm5lbFR5cGVzW11cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHBlcm1pdHRlZCB2YWx1ZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuSW50ZWdlciB8IEludGVnZXJ9IG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqL1xuICBtaW5fdmFsdWU/OiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHBlcm1pdHRlZCB2YWx1ZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuSW50ZWdlciB8IEludGVnZXJ9IG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqL1xuICBtYXhfdmFsdWU/OiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHBlcm1pdHRlZCBsZW5ndGgsIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2Ugb2YgZnJvbSAwIHRvIDYwMFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfVxuICAgKi9cbiAgbWluX2xlbmd0aD86IG51bWJlclxuICAvKipcbiAgICogVGhlIG1heGltdW0gcGVybWl0dGVkIGxlbmd0aCwgc2hvdWxkIGJlIGluIHRoZSByYW5nZSBvZiBmcm9tIDAgdG8gNjAwXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgdmFsaWQgaW4gb3B0aW9ucyBvZiB0eXBlIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdHJpbmcgfCBTdHJpbmd9XG4gICAqL1xuICBtYXhfbGVuZ3RoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvYXBwbGljYXRpb24tY29tbWFuZHMjYXBwbGljYXRpb24tY29tbWFuZC1wZXJtaXNzaW9ucy1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSB7XG4gIC8qKiAxLTEwMCBjaGFyYWN0ZXIgY2hvaWNlIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciB0aGUgYG5hbWVgIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgbmFtZWAgKi9cbiAgbmFtZV9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKiogVmFsdWUgZm9yIHRoZSBjaG9pY2UsIHVwIHRvIDEwMCBjaGFyYWN0ZXJzIGlmIHN0cmluZyAqL1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvc2xhc2gtY29tbWFuZHMjZ3VpbGRhcHBsaWNhdGlvbmNvbW1hbmRwZXJtaXNzaW9ucyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyB7XG4gIC8qKiBJRCBvZiB0aGUgY29tbWFuZCBvciB0aGUgYXBwbGljYXRpb24gSUQuIFdoZW4gdGhlIGBpZGAgZmllbGQgaXMgdGhlIGFwcGxpY2F0aW9uIElEIGluc3RlYWQgb2YgYSBjb21tYW5kIElELCB0aGUgcGVybWlzc2lvbnMgYXBwbHkgdG8gYWxsIGNvbW1hbmRzIHRoYXQgZG8gbm90IGNvbnRhaW4gZXhwbGljaXQgb3ZlcndyaXRlcy4gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8gKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFBlcm1pc3Npb25zIGZvciB0aGUgY29tbWFuZCBpbiB0aGUgZ3VpbGQsIG1heCBvZiAxMDAgKi9cbiAgcGVybWlzc2lvbnM6IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvc2xhc2gtY29tbWFuZHMjYXBwbGljYXRpb25jb21tYW5kcGVybWlzc2lvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIHtcbiAgLyoqIElEIG9mIHRoZSByb2xlLCB1c2VyLCBvciBjaGFubmVsLiBJdCBjYW4gYWxzbyBiZSBhIHBlcm1pc3Npb24gY29uc3RhbnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvblR5cGVzLlJvbGUsIEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25UeXBlcy5Vc2VyLCBvciBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMuQ2hhbm5lbCAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXNcbiAgLyoqIGB0cnVlYCB0byBhbGxvdywgYGZhbHNlYCwgdG8gZGlzYWxsb3cgKi9cbiAgcGVybWlzc2lvbjogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2dldC1ndWlsZC13aWRnZXQtZXhhbXBsZS1nZXQtZ3VpbGQtd2lkZ2V0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFdpZGdldCB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGluc3RhbnRfaW52aXRlOiBzdHJpbmdcbiAgY2hhbm5lbHM6IEFycmF5PHtcbiAgICBpZDogc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gICAgcG9zaXRpb246IG51bWJlclxuICB9PlxuICBtZW1iZXJzOiBBcnJheTx7XG4gICAgaWQ6IHN0cmluZ1xuICAgIHVzZXJuYW1lOiBzdHJpbmdcbiAgICBkaXNjcmltaW5hdG9yOiBzdHJpbmdcbiAgICBhdmF0YXI/OiBzdHJpbmcgfCBudWxsXG4gICAgc3RhdHVzOiBzdHJpbmdcbiAgICBhdmF0YXJfdXJsOiBzdHJpbmdcbiAgfT5cbiAgcHJlc2VuY2VfY291bnQ6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLXByZXZpZXctb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFByZXZpZXcge1xuICAvKiogR3VpbGQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogR3VpbGQgbmFtZSAoMi0xMDAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBJY29uIGhhc2ggKi9cbiAgaWNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogU3BsYXNoIGhhc2ggKi9cbiAgc3BsYXNoOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBEaXNjb3Zlcnkgc3BsYXNoIGhhc2ggKi9cbiAgZGlzY292ZXJ5X3NwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogQ3VzdG9tIGd1aWxkIGVtb2ppcyAqL1xuICBlbW9qaXM6IERpc2NvcmRFbW9qaVtdXG4gIC8qKiBFbmFibGVkIGd1aWxkIGZlYXR1cmVzICovXG4gIGZlYXR1cmVzOiBHdWlsZEZlYXR1cmVzW11cbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBtZW1iZXJzIGluIHRoaXMgZ3VpbGQgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBvbmxpbmUgbWVtYmVycyBpbiB0aGlzIGd1aWxkICovXG4gIGFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGd1aWxkLCBpZiB0aGUgZ3VpbGQgaXMgZGlzY292ZXJhYmxlICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBDdXN0b20gZ3VpbGQgc3RpY2tlcnMgKi9cbiAgc3RpY2tlcnM6IERpc2NvcmRTdGlja2VyW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2ZvbGxvd2VkLWNoYW5uZWwtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRGb2xsb3dlZENoYW5uZWwge1xuICAvKiogU291cmNlIG1lc3NhZ2UgaWQgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBDcmVhdGVkIHRhcmdldCB3ZWJob29rIGlkICovXG4gIHdlYmhvb2tfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjcGF5bG9hZHMtZ2F0ZXdheS1wYXlsb2FkLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR2F0ZXdheVBheWxvYWQge1xuICAvKiogb3Bjb2RlIGZvciB0aGUgcGF5bG9hZCAqL1xuICBvcDogbnVtYmVyXG4gIC8qKiBFdmVudCBkYXRhICovXG4gIGQ6IHVua25vd24gfCBudWxsXG4gIC8qKiBTZXF1ZW5jZSBudW1iZXIsIHVzZWQgZm9yIHJlc3VtaW5nIHNlc3Npb25zIGFuZCBoZWFydGJlYXRzICovXG4gIHM6IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBldmVudCBuYW1lIGZvciB0aGlzIHBheWxvYWQgKi9cbiAgdDogR2F0ZXdheUV2ZW50TmFtZXMgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1tZW1iZXJzLWNodW5rICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE1lbWJlcnNDaHVuayB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFNldCBvZiBndWlsZCBtZW1iZXJzICovXG4gIG1lbWJlcnM6IERpc2NvcmRNZW1iZXJXaXRoVXNlcltdXG4gIC8qKiBUaGUgY2h1bmsgaW5kZXggaW4gdGhlIGV4cGVjdGVkIGNodW5rcyBmb3IgdGhpcyByZXNwb25zZSAoMCA8PSBjaHVua19pbmRleCA8IGNodW5rX2NvdW50KSAqL1xuICBjaHVua19pbmRleDogbnVtYmVyXG4gIC8qKiBUaGUgdG90YWwgbnVtYmVyIG9mIGV4cGVjdGVkIGNodW5rcyBmb3IgdGhpcyByZXNwb25zZSAqL1xuICBjaHVua19jb3VudDogbnVtYmVyXG4gIC8qKiBJZiBwYXNzaW5nIGFuIGludmFsaWQgaWQgdG8gYFJFUVVFU1RfR1VJTERfTUVNQkVSU2AsIGl0IHdpbGwgYmUgcmV0dXJuZWQgaGVyZSAqL1xuICBub3RfZm91bmQ/OiBzdHJpbmdbXVxuICAvKiogSWYgcGFzc2luZyB0cnVlIHRvIGBSRVFVRVNUX0dVSUxEX01FTUJFUlNgLCBwcmVzZW5jZXMgb2YgdGhlIHJldHVybmVkIG1lbWJlcnMgd2lsbCBiZSBoZXJlICovXG4gIHByZXNlbmNlcz86IERpc2NvcmRQcmVzZW5jZVVwZGF0ZVtdXG4gIC8qKiBUaGUgbm9uY2UgdXNlZCBpbiB0aGUgR3VpbGQgTWVtYmVycyBSZXF1ZXN0ICovXG4gIG5vbmNlPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNjaGFubmVsLXBpbnMtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGFubmVsUGluc1VwZGF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgbW9zdCByZWNlbnQgcGlubmVkIG1lc3NhZ2Ugd2FzIHBpbm5lZCAqL1xuICBsYXN0X3Bpbl90aW1lc3RhbXA/OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1yb2xlLWRlbGV0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRSb2xlRGVsZXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgcm9sZSAqL1xuICByb2xlX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLWJhbi1hZGQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkQmFuQWRkUmVtb3ZlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgYmFubmVkIHVzZXIgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I21lc3NhZ2UtcmVhY3Rpb24tcmVtb3ZlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25SZW1vdmUgZXh0ZW5kcyBPbWl0PERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQsICdtZW1iZXInIHwgJ2J1cnN0X2NvbG9ycyc+IHt9XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNtZXNzYWdlLXJlYWN0aW9uLWFkZCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZVJlYWN0aW9uQWRkIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgbWVzc2FnZSAqL1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBtZW1iZXIgd2hvIHJlYWN0ZWQgaWYgdGhpcyBoYXBwZW5lZCBpbiBhIGd1aWxkICovXG4gIG1lbWJlcj86IERpc2NvcmRNZW1iZXJXaXRoVXNlclxuICAvKiogVGhlIGVtb2ppIHVzZWQgdG8gcmVhY3QgKi9cbiAgZW1vamk6IFBhcnRpYWw8RGlzY29yZEVtb2ppPlxuICAvKiogVGhlIGlkIG9mIHRoZSBhdXRob3Igb2YgdGhpcyBtZXNzYWdlICovXG4gIG1lc3NhZ2VfYXV0aG9yX2lkPzogc3RyaW5nXG4gIC8qKiB0cnVlIGlmIHRoaXMgaXMgYSBzdXBlci1yZWFjdGlvbiAqL1xuICBidXJzdDogYm9vbGVhblxuICAvKiogQ29sb3JzIHVzZWQgZm9yIHN1cGVyLXJlYWN0aW9uIGFuaW1hdGlvbiBpbiBcIiNycmdnYmJcIiBmb3JtYXQgKi9cbiAgYnVyc3RfY29sb3JzPzogc3RyaW5nW11cbiAgLyoqIFRoZSB0eXBlIG9mIHJlYWN0aW9uICovXG4gIHR5cGU6IERpc2NvcmRSZWFjdGlvblR5cGVcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3ZvaWNlLXNlcnZlci11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZvaWNlU2VydmVyVXBkYXRlIHtcbiAgLyoqIFZvaWNlIGNvbm5lY3Rpb24gdG9rZW4gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHRoaXMgdm9pY2Ugc2VydmVyIHVwZGF0ZSBpcyBmb3IgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHZvaWNlIHNlcnZlciBob3N0ICovXG4gIGVuZHBvaW50OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNpbnZpdGUtY3JlYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVDcmVhdGUge1xuICAvKiogVGhlIGNoYW5uZWwgdGhlIGludml0ZSBpcyBmb3IgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdW5pcXVlIGludml0ZSBjb2RlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGludml0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBvZiB0aGUgaW52aXRlICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB0aGF0IGNyZWF0ZWQgdGhlIGludml0ZSAqL1xuICBpbnZpdGVyPzogRGlzY29yZFVzZXJcbiAgLyoqIEhvdyBsb25nIHRoZSBpbnZpdGUgaXMgdmFsaWQgZm9yIChpbiBzZWNvbmRzKSAqL1xuICBtYXhfYWdlOiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGUgaW52aXRlIGNhbiBiZSB1c2VkICovXG4gIG1heF91c2VzOiBudW1iZXJcbiAgLyoqIFRoZSB0eXBlIG9mIHRhcmdldCBmb3IgdGhpcyB2b2ljZSBjaGFubmVsIGludml0ZSAqL1xuICB0YXJnZXRfdHlwZTogVGFyZ2V0VHlwZXNcbiAgLyoqIFRoZSB0YXJnZXQgdXNlciBmb3IgdGhpcyBpbnZpdGUgKi9cbiAgdGFyZ2V0X3VzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGVtYmVkZGVkIGFwcGxpY2F0aW9uIHRvIG9wZW4gZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBlbWJlZGRlZCBhcHBsaWNhdGlvbiBpbnZpdGUgKi9cbiAgdGFyZ2V0X2FwcGxpY2F0aW9uPzogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgaW52aXRlIGlzIHRlbXBvcmFyeSAoaW52aXRlZCB1c2VycyB3aWxsIGJlIGtpY2tlZCBvbiBkaXNjb25uZWN0IHVubGVzcyB0aGV5J3JlIGFzc2lnbmVkIGEgcm9sZSkgKi9cbiAgdGVtcG9yYXJ5OiBib29sZWFuXG4gIC8qKiBIb3cgbWFueSB0aW1lcyB0aGUgaW52aXRlIGhhcyBiZWVuIHVzZWQgKGFsd2F5cyB3aWxsIGJlIDApICovXG4gIHVzZXM6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjaGVsbG8gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEhlbGxvIHtcbiAgLyoqIFRoZSBpbnRlcnZhbCAoaW4gbWlsbGlzZWNvbmRzKSB0aGUgY2xpZW50IHNob3VsZCBoZWFydGJlYXQgd2l0aCAqL1xuICBoZWFydGJlYXRfaW50ZXJ2YWw6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjcmVhZHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWR5IHtcbiAgLyoqIEdhdGV3YXkgdmVyc2lvbiAqL1xuICB2OiBudW1iZXJcbiAgLyoqIEluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIGluY2x1ZGluZyBlbWFpbCAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGd1aWxkcyB0aGUgdXNlciBpcyBpbiAqL1xuICBndWlsZHM6IERpc2NvcmRVbmF2YWlsYWJsZUd1aWxkW11cbiAgLyoqIFVzZWQgZm9yIHJlc3VtaW5nIGNvbm5lY3Rpb25zICovXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICAvKiogR2F0ZXdheSB1cmwgZm9yIHJlc3VtaW5nIGNvbm5lY3Rpb25zICovXG4gIHJlc3VtZV9nYXRld2F5X3VybDogc3RyaW5nXG4gIC8qKiBUaGUgc2hhcmQgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoaXMgc2Vzc2lvbiwgaWYgc2VudCB3aGVuIGlkZW50aWZ5aW5nICovXG4gIHNoYXJkPzogW251bWJlciwgbnVtYmVyXVxuICAvKiogQ29udGFpbnMgaWQgYW5kIGZsYWdzICovXG4gIGFwcGxpY2F0aW9uOiBQYXJ0aWFsPERpc2NvcmRBcHBsaWNhdGlvbj4gJiBQaWNrPERpc2NvcmRBcHBsaWNhdGlvbiwgJ2lkJyB8ICdmbGFncyc+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjdW5hdmFpbGFibGUtZ3VpbGQtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRVbmF2YWlsYWJsZUd1aWxkIGV4dGVuZHMgUGljazxEaXNjb3JkR3VpbGQsICdpZCcgfCAndW5hdmFpbGFibGUnPiB7fVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjbWVzc2FnZS1kZWxldGUtYnVsayAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZURlbGV0ZUJ1bGsge1xuICAvKiogVGhlIGlkcyBvZiB0aGUgbWVzc2FnZXMgKi9cbiAgaWRzOiBzdHJpbmdbXVxuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3RlbXBsYXRlI3RlbXBsYXRlLW9iamVjdC10ZW1wbGF0ZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRlbXBsYXRlIHtcbiAgLyoqIFRoZSB0ZW1wbGF0ZSBjb2RlICh1bmlxdWUgSWQpICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGVtcGxhdGUgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIHRlbXBsYXRlICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBOdW1iZXIgb2YgdGltZXMgdGhpcyB0ZW1wbGF0ZSBoYXMgYmVlbiB1c2VkICovXG4gIHVzYWdlX2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBJZCBvZiB0aGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgdGVtcGxhdGUgKi9cbiAgY3JlYXRvcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgdGVtcGxhdGUgKi9cbiAgY3JlYXRvcjogRGlzY29yZFVzZXJcbiAgLyoqIFdoZW4gdGhpcyB0ZW1wbGF0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhpcyB0ZW1wbGF0ZSB3YXMgbGFzdCBzeW5jZWQgdG8gdGhlIHNvdXJjZSBndWlsZCAqL1xuICB1cGRhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBJZCBvZiB0aGUgZ3VpbGQgdGhpcyB0ZW1wbGF0ZSBpcyBiYXNlZCBvbiAqL1xuICBzb3VyY2VfZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHNuYXBzaG90IHRoaXMgdGVtcGxhdGUgY29udGFpbnMgKi9cbiAgc2VyaWFsaXplZF9zb3VyY2VfZ3VpbGQ6IERpc2NvcmRUZW1wbGF0ZVNlcmlhbGl6ZWRTb3VyY2VHdWlsZFxuICBpc19kaXJ0eTogYm9vbGVhbiB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgRGlzY29yZFRlbXBsYXRlU2VyaWFsaXplZFNvdXJjZUd1aWxkID0gT21pdDxcbiAgUGlja1BhcnRpYWw8XG4gICAgRGlzY29yZEd1aWxkLFxuICAgIHwgJ25hbWUnXG4gICAgfCAnZGVzY3JpcHRpb24nXG4gICAgfCAndmVyaWZpY2F0aW9uX2xldmVsJ1xuICAgIHwgJ2RlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zJ1xuICAgIHwgJ2V4cGxpY2l0X2NvbnRlbnRfZmlsdGVyJ1xuICAgIHwgJ3ByZWZlcnJlZF9sb2NhbGUnXG4gICAgfCAnYWZrX3RpbWVvdXQnXG4gICAgfCAnY2hhbm5lbHMnXG4gICAgfCAnYWZrX2NoYW5uZWxfaWQnXG4gICAgfCAnc3lzdGVtX2NoYW5uZWxfaWQnXG4gICAgfCAnc3lzdGVtX2NoYW5uZWxfZmxhZ3MnXG4gID4sXG4gICdyb2xlcydcbj4gJiB7XG4gIHJvbGVzOiBBcnJheTxcbiAgICBPbWl0PFBpY2tQYXJ0aWFsPERpc2NvcmRSb2xlLCAnbmFtZScgfCAnY29sb3InIHwgJ2hvaXN0JyB8ICdtZW50aW9uYWJsZScgfCAncGVybWlzc2lvbnMnIHwgJ2ljb24nIHwgJ3VuaWNvZGVfZW1vamknPiwgJ2lkJz4gJiB7XG4gICAgICBpZDogbnVtYmVyXG4gICAgfVxuICA+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNndWlsZC1tZW1iZXItYWRkICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE1lbWJlckFkZCBleHRlbmRzIERpc2NvcmRNZW1iZXJXaXRoVXNlciB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjbWVzc2FnZS1kZWxldGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VEZWxldGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBtZXNzYWdlICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I3RocmVhZC1tZW1iZXJzLXVwZGF0ZS10aHJlYWQtbWVtYmVycy11cGRhdGUtZXZlbnQtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHJlYWRNZW1iZXJzVXBkYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdGhyZWFkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVzZXJzIHdobyB3ZXJlIGFkZGVkIHRvIHRoZSB0aHJlYWQgKi9cbiAgYWRkZWRfbWVtYmVycz86IERpc2NvcmRUaHJlYWRNZW1iZXJbXVxuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VycyB3aG8gd2VyZSByZW1vdmVkIGZyb20gdGhlIHRocmVhZCAqL1xuICByZW1vdmVkX21lbWJlcl9pZHM/OiBzdHJpbmdbXVxuICAvKiogdGhlIGFwcHJveGltYXRlIG51bWJlciBvZiBtZW1iZXJzIGluIHRoZSB0aHJlYWQsIGNhcHBlZCBhdCA1MCAqL1xuICBtZW1iZXJfY291bnQ6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjdGhyZWFkLW1lbWJlci11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZE1lbWJlclVwZGF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIHRocmVhZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB0aW1lc3RhbXAgd2hlbiB0aGUgYm90IGpvaW5lZCB0aGlzIHRocmVhZC4gKi9cbiAgam9pbmVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBmbGFncyB0aGlzIHVzZXIgaGFzIGZvciB0aGlzIHRocmVhZC4gTm90IHVzZWZ1bCBmb3IgYm90cy4gKi9cbiAgZmxhZ3M6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtcm9sZS1jcmVhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkUm9sZUNyZWF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSByb2xlIGNyZWF0ZWQgKi9cbiAgcm9sZTogRGlzY29yZFJvbGVcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLWVtb2ppcy11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkRW1vamlzVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBBcnJheSBvZiBlbW9qaXMgKi9cbiAgZW1vamlzOiBEaXNjb3JkRW1vamlbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXktZXZlbnRzI2d1aWxkLXN0aWNrZXJzLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRTdGlja2Vyc1VwZGF0ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogQXJyYXkgb2Ygc3RpY2tlciAqL1xuICBzdGlja2VyczogRGlzY29yZFN0aWNrZXJbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtbWVtYmVyLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBVc2VyIHJvbGUgaWRzICovXG4gIHJvbGVzOiBzdHJpbmdbXVxuICAvKiogVGhlIHVzZXIgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbiAgLyoqIE5pY2tuYW1lIG9mIHRoZSB1c2VyIGluIHRoZSBndWlsZCAqL1xuICBuaWNrPzogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIG1lbWJlcidzIFtndWlsZCBhdmF0YXIgaGFzaF0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI2ltYWdlLWZvcm1hdHRpbmcpICovXG4gIGF2YXRhcjogc3RyaW5nXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGpvaW5lZCB0aGUgZ3VpbGQgKi9cbiAgam9pbmVkX2F0OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhlIHVzZXIgc3RhcnRpbmcgYm9vc3RpbmcgdGhlIGd1aWxkICovXG4gIHByZW1pdW1fc2luY2U/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiB3aGV0aGVyIHRoZSB1c2VyIGlzIGRlYWZlbmVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIGRlYWY/OiBib29sZWFuXG4gIC8qKiB3aGV0aGVyIHRoZSB1c2VyIGlzIG11dGVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIG11dGU/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyBub3QgeWV0IHBhc3NlZCB0aGUgZ3VpbGQncyBNZW1iZXJzaGlwIFNjcmVlbmluZyByZXF1aXJlbWVudHMgKi9cbiAgcGVuZGluZz86IGJvb2xlYW5cbiAgLyoqIHdoZW4gdGhlIHVzZXIncyBbdGltZW91dF0oaHR0cHM6Ly9zdXBwb3J0LmRpc2NvcmQuY29tL2hjL2VuLXVzL2FydGljbGVzLzQ0MTMzMDUyMzkxOTEtVGltZS1PdXQtRkFRKSB3aWxsIGV4cGlyZSBhbmQgdGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGNvbW11bmljYXRlIGluIHRoZSBndWlsZCBhZ2FpbiwgbnVsbCBvciBhIHRpbWUgaW4gdGhlIHBhc3QgaWYgdGhlIHVzZXIgaXMgbm90IHRpbWVkIG91dC4gV2lsbCB0aHJvdyBhIDQwMyBlcnJvciBpZiB0aGUgdXNlciBoYXMgdGhlIEFETUlOSVNUUkFUT1IgcGVybWlzc2lvbiBvciBpcyB0aGUgb3duZXIgb2YgdGhlIGd1aWxkICovXG4gIGNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWw/OiBzdHJpbmdcbiAgLyoqIERhdGEgZm9yIHRoZSBtZW1iZXIncyBndWlsZCBhdmF0YXIgZGVjb3JhdGlvbiAqL1xuICBhdmF0YXJfZGVjb3JhdGlvbl9kYXRhPzogRGlzY29yZEF2YXRhckRlY29yYXRpb25EYXRhXG4gIC8qKiBHdWlsZCBtZW1iZXIgZmxhZ3MgKi9cbiAgZmxhZ3M/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I21lc3NhZ2UtcmVhY3Rpb24tcmVtb3ZlLWFsbCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZVJlYWN0aW9uUmVtb3ZlQWxsIGV4dGVuZHMgUGljazxEaXNjb3JkTWVzc2FnZVJlYWN0aW9uQWRkLCAnY2hhbm5lbF9pZCcgfCAnbWVzc2FnZV9pZCcgfCAnZ3VpbGRfaWQnPiB7fVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXkjZ3VpbGQtcm9sZS11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkUm9sZVVwZGF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSByb2xlIHVwZGF0ZWQgKi9cbiAgcm9sZTogRGlzY29yZFJvbGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2NoZWR1bGVkRXZlbnRVc2VyQWRkIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCBzY2hlZHVsZWQgZXZlbnQgICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgdXNlciAgICAgICAgICAgICAgICAgICAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheSNtZXNzYWdlLXJlYWN0aW9uLXJlbW92ZS1lbW9qaSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZE1lc3NhZ2VSZWFjdGlvblJlbW92ZUVtb2ppID0gUGljazxEaXNjb3JkTWVzc2FnZVJlYWN0aW9uQWRkLCAnY2hhbm5lbF9pZCcgfCAnZ3VpbGRfaWQnIHwgJ21lc3NhZ2VfaWQnIHwgJ2Vtb2ppJz5cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2d1aWxkLW1lbWJlci1yZW1vdmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkTWVtYmVyUmVtb3ZlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVzZXIgd2hvIHdhcyByZW1vdmVkICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjYmFuLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQmFuIHtcbiAgLyoqIFRoZSByZWFzb24gZm9yIHRoZSBiYW4gKi9cbiAgcmVhc29uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgYmFubmVkIHVzZXIgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2NoZWR1bGVkRXZlbnRVc2VyUmVtb3ZlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgZ3VpbGRfc2NoZWR1bGVkX2V2ZW50X2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSB1c2VyICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5I2ludml0ZS1kZWxldGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludml0ZURlbGV0ZSB7XG4gIC8qKiBUaGUgY2hhbm5lbCBvZiB0aGUgaW52aXRlICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBpbnZpdGUgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSB1bmlxdWUgaW52aXRlIGNvZGUgKi9cbiAgY29kZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdm9pY2Ujdm9pY2UtcmVnaW9uLW9iamVjdC12b2ljZS1yZWdpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRWb2ljZVJlZ2lvbiB7XG4gIC8qKiBVbmlxdWUgSWQgZm9yIHRoZSByZWdpb24gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogTmFtZSBvZiB0aGUgcmVnaW9uICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogdHJ1ZSBmb3IgYSBzaW5nbGUgc2VydmVyIHRoYXQgaXMgY2xvc2VzdCB0byB0aGUgY3VycmVudCB1c2VyJ3MgY2xpZW50ICovXG4gIG9wdGltYWw6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBhIGRlcHJlY2F0ZWQgdm9pY2UgcmVnaW9uIChhdm9pZCBzd2l0Y2hpbmcgdG8gdGhlc2UpICovXG4gIGRlcHJlY2F0ZWQ6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBhIGN1c3RvbSB2b2ljZSByZWdpb24gKHVzZWQgZm9yIGV2ZW50cy9ldGMpICovXG4gIGN1c3RvbTogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzIHtcbiAgLyoqIHdoZXRoZXIgdGhlIHdpZGdldCBpcyBlbmFibGVkICovXG4gIGVuYWJsZWQ6IGJvb2xlYW5cbiAgLyoqIHRoZSB3aWRnZXQgY2hhbm5lbCBpZCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEluc3RhbGxQYXJhbXMge1xuICAvKiogU2NvcGVzIHRvIGFkZCB0aGUgYXBwbGljYXRpb24gdG8gdGhlIHNlcnZlciB3aXRoICovXG4gIHNjb3BlczogT0F1dGgyU2NvcGVbXVxuICAvKiogUGVybWlzc2lvbnMgdG8gcmVxdWVzdCBmb3IgdGhlIGJvdCByb2xlICovXG4gIHBlcm1pc3Npb25zOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRm9ydW1UYWcge1xuICAvKiogVGhlIGlkIG9mIHRoZSB0YWcgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIHRhZyAoMC0yMCBjaGFyYWN0ZXJzKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhpcyB0YWcgY2FuIG9ubHkgYmUgYWRkZWQgdG8gb3IgcmVtb3ZlZCBmcm9tIHRocmVhZHMgYnkgYSBtZW1iZXIgd2l0aCB0aGUgTUFOQUdFX1RIUkVBRFMgcGVybWlzc2lvbiAqL1xuICBtb2RlcmF0ZWQ6IGJvb2xlYW5cbiAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppIEF0IG1vc3Qgb25lIG9mIGVtb2ppX2lkIGFuZCBlbW9qaV9uYW1lIG1heSBiZSBzZXQuICovXG4gIGVtb2ppX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkgKi9cbiAgZW1vamlfbmFtZTogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmREZWZhdWx0UmVhY3Rpb25FbW9qaSB7XG4gIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaSAqL1xuICBlbW9qaV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppICovXG4gIGVtb2ppX25hbWU6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTW9kaWZ5Q2hhbm5lbCB7XG4gIC8qKiAxLTEwMCBjaGFyYWN0ZXIgY2hhbm5lbCBuYW1lICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGNoYW5uZWw7IG9ubHkgY29udmVyc2lvbiBiZXR3ZWVuIHRleHQgYW5kIG5ld3MgaXMgc3VwcG9ydGVkIGFuZCBvbmx5IGluIGd1aWxkcyB3aXRoIHRoZSBcIk5FV1NcIiBmZWF0dXJlICovXG4gIHR5cGU/OiBDaGFubmVsVHlwZXNcbiAgLyoqIFRoZSBwb3NpdGlvbiBvZiB0aGUgY2hhbm5lbCBpbiB0aGUgbGVmdC1oYW5kIGxpc3RpbmcgKi9cbiAgcG9zaXRpb24/OiBudW1iZXIgfCBudWxsXG4gIC8qKiAwLTEwMjQgY2hhcmFjdGVyIGNoYW5uZWwgdG9waWMgKi9cbiAgdG9waWM/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGFubmVsIGlzIG5zZncgKi9cbiAgbnNmdz86IGJvb2xlYW4gfCBudWxsXG4gIC8qKiBBbW91bnQgb2Ygc2Vjb25kcyBhIHVzZXIgaGFzIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlICgwLTIxNjAwKTsgYm90cywgYXMgd2VsbCBhcyB1c2VycyB3aXRoIHRoZSBwZXJtaXNzaW9uIGBtYW5hZ2VfbWVzc2FnZXNgIG9yIGBtYW5hZ2VfY2hhbm5lbGAsIGFyZSB1bmFmZmVjdGVkICovXG4gIHJhdGVfbGltaXRfcGVyX3VzZXI/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBUaGUgYml0cmF0ZSAoaW4gYml0cykgb2YgdGhlIHZvaWNlIGNoYW5uZWw7IDgwMDAgdG8gOTYwMDAgKDEyODAwMCBmb3IgVklQIHNlcnZlcnMpICovXG4gIGJpdHJhdGU/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBUaGUgdXNlciBsaW1pdCBvZiB0aGUgdm9pY2UgY2hhbm5lbDsgMCByZWZlcnMgdG8gbm8gbGltaXQsIDEgdG8gOTkgcmVmZXJzIHRvIGEgdXNlciBsaW1pdCAqL1xuICB1c2VyX2xpbWl0PzogbnVtYmVyIHwgbnVsbFxuICAvKiogQ2hhbm5lbCBvciBjYXRlZ29yeS1zcGVjaWZpYyBwZXJtaXNzaW9ucyAqL1xuICBwZXJtaXNzaW9uX292ZXJ3cml0ZXM/OiBEaXNjb3JkT3ZlcndyaXRlW10gfCBudWxsXG4gIC8qKiBJZCBvZiB0aGUgbmV3IHBhcmVudCBjYXRlZ29yeSBmb3IgYSBjaGFubmVsICovXG4gIHBhcmVudF9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFZvaWNlIHJlZ2lvbiBpZCBmb3IgdGhlIHZvaWNlIGNoYW5uZWwsIGF1dG9tYXRpYyB3aGVuIHNldCB0byBudWxsICovXG4gIHJ0Y19yZWdpb24/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgY2FtZXJhIHZpZGVvIHF1YWxpdHkgbW9kZSBvZiB0aGUgdm9pY2UgY2hhbm5lbCAqL1xuICB2aWRlb19xdWFsaXR5X21vZGU/OiBWaWRlb1F1YWxpdHlNb2Rlc1xuICAvKiogV2hldGhlciB0aGUgdGhyZWFkIGlzIGFyY2hpdmVkICovXG4gIGFyY2hpdmVkPzogYm9vbGVhblxuICAvKiogRHVyYXRpb24gaW4gbWludXRlcyB0byBhdXRvbWF0aWNhbGx5IGFyY2hpdmUgdGhlIHRocmVhZCBhZnRlciByZWNlbnQgYWN0aXZpdHkgKi9cbiAgYXV0b19hcmNoaXZlX2R1cmF0aW9uPzogNjAgfCAxNDQwIHwgNDMyMCB8IDEwMDgwXG4gIC8qKiBXaGVuIGEgdGhyZWFkIGlzIGxvY2tlZCwgb25seSB1c2VycyB3aXRoIGBNQU5BR0VfVEhSRUFEU2AgY2FuIHVuYXJjaGl2ZSBpdCAqL1xuICBsb2NrZWQ/OiBib29sZWFuXG4gIC8qKiB3aGV0aGVyIG5vbi1tb2RlcmF0b3JzIGNhbiBhZGQgb3RoZXIgbm9uLW1vZGVyYXRvcnMgdG8gYSB0aHJlYWQ7IG9ubHkgYXZhaWxhYmxlIG9uIHByaXZhdGUgdGhyZWFkcyAqL1xuICBpbnZpdGFibGU/OiBib29sZWFuXG4gIC8qKiBUaGUgc2V0IG9mIHRhZ3MgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXZhaWxhYmxlX3RhZ3M/OiBBcnJheTx7XG4gICAgLyoqIFRoZSBpZCBvZiB0aGUgdGFnICovXG4gICAgaWQ6IHN0cmluZ1xuICAgIC8qKiBUaGUgbmFtZSBvZiB0aGUgdGFnICgwLTIwIGNoYXJhY3RlcnMpICovXG4gICAgbmFtZTogc3RyaW5nXG4gICAgLyoqIFdoZXRoZXIgdGhpcyB0YWcgY2FuIG9ubHkgYmUgYWRkZWQgdG8gb3IgcmVtb3ZlZCBmcm9tIHRocmVhZHMgYnkgYSBtZW1iZXIgd2l0aCB0aGUgTUFOQUdFX1RIUkVBRFMgcGVybWlzc2lvbiAqL1xuICAgIG1vZGVyYXRlZDogYm9vbGVhblxuICAgIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaSBBdCBtb3N0IG9uZSBvZiBlbW9qaV9pZCBhbmQgZW1vamlfbmFtZSBtYXkgYmUgc2V0LiAqL1xuICAgIGVtb2ppX2lkOiBzdHJpbmdcbiAgICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICAgIGVtb2ppX25hbWU6IHN0cmluZ1xuICB9PlxuICAvKiogVGhlIElEcyBvZiB0aGUgc2V0IG9mIHRhZ3MgdGhhdCBoYXZlIGJlZW4gYXBwbGllZCB0byBhIHRocmVhZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWw7IGxpbWl0ZWQgdG8gNSAqL1xuICBhcHBsaWVkX3RhZ3M/OiBzdHJpbmdbXVxuICAvKiogdGhlIGVtb2ppIHRvIHNob3cgaW4gdGhlIGFkZCByZWFjdGlvbiBidXR0b24gb24gYSB0aHJlYWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGRlZmF1bHRfcmVhY3Rpb25fZW1vamk/OiB7XG4gICAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppICovXG4gICAgZW1vamlfaWQ6IHN0cmluZ1xuICAgIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppICovXG4gICAgZW1vamlfbmFtZTogc3RyaW5nIHwgbnVsbFxuICB9XG4gIC8qKiB0aGUgaW5pdGlhbCByYXRlX2xpbWl0X3Blcl91c2VyIHRvIHNldCBvbiBuZXdseSBjcmVhdGVkIHRocmVhZHMgaW4gYSBjaGFubmVsLiB0aGlzIGZpZWxkIGlzIGNvcGllZCB0byB0aGUgdGhyZWFkIGF0IGNyZWF0aW9uIHRpbWUgYW5kIGRvZXMgbm90IGxpdmUgdXBkYXRlLiAqL1xuICBkZWZhdWx0X3RocmVhZF9yYXRlX2xpbWl0X3Blcl91c2VyPzogbnVtYmVyXG4gIC8qKiB0aGUgZGVmYXVsdCBzb3J0IG9yZGVyIHR5cGUgdXNlZCB0byBvcmRlciBwb3N0cyBpbiBmb3J1bSBjaGFubmVscyAqL1xuICBkZWZhdWx0X3NvcnRfb3JkZXI/OiBTb3J0T3JkZXJUeXBlcyB8IG51bGxcbiAgLyoqIHRoZSBkZWZhdWx0IGZvcnVtIGxheW91dCB2aWV3IHVzZWQgdG8gZGlzcGxheSBwb3N0cyBpbiBgR1VJTERfRk9SVU1gIGNoYW5uZWxzLiBEZWZhdWx0cyB0byBgMGAsIHdoaWNoIGluZGljYXRlcyBhIGxheW91dCB2aWV3IGhhcyBub3QgYmVlbiBzZXQgYnkgYSBjaGFubmVsIGFkbWluICovXG4gIGRlZmF1bHRfZm9ydW1fbGF5b3V0PzogRm9ydW1MYXlvdXRcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9lbW9qaSNjcmVhdGUtZ3VpbGQtZW1vamkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENyZWF0ZUd1aWxkRW1vamkge1xuICAvKiogTmFtZSBvZiB0aGUgZW1vamkgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgMTI4eDEyOCBlbW9qaSBpbWFnZS4gRW1vamlzIGFuZCBhbmltYXRlZCBlbW9qaXMgaGF2ZSBhIG1heGltdW0gZmlsZSBzaXplIG9mIDI1NmtiLiBBdHRlbXB0aW5nIHRvIHVwbG9hZCBhbiBlbW9qaSBsYXJnZXIgdGhhbiB0aGlzIGxpbWl0IHdpbGwgZmFpbCBhbmQgcmV0dXJuIDQwMCBCYWQgUmVxdWVzdCBhbmQgYW4gZXJyb3IgbWVzc2FnZSwgYnV0IG5vdCBhIEpTT04gc3RhdHVzIGNvZGUuIElmIGEgVVJMIGlzIHByb3ZpZGVkIHRvIHRoZSBpbWFnZSBwYXJhbWV0ZXIsIERpc2NvcmRlbm8gd2lsbCBhdXRvbWF0aWNhbGx5IGNvbnZlcnQgaXQgdG8gYSBiYXNlNjQgc3RyaW5nIGludGVybmFsbHkuICovXG4gIGltYWdlOiBzdHJpbmdcbiAgLyoqIFJvbGVzIGFsbG93ZWQgdG8gdXNlIHRoaXMgZW1vamkgKi9cbiAgcm9sZXM/OiBzdHJpbmdbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2Vtb2ppI21vZGlmeS1ndWlsZC1lbW9qaSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTW9kaWZ5R3VpbGRFbW9qaSB7XG4gIC8qKiBOYW1lIG9mIHRoZSBlbW9qaSAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBSb2xlcyBhbGxvd2VkIHRvIHVzZSB0aGlzIGVtb2ppICovXG4gIHJvbGVzPzogc3RyaW5nW10gfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENyZWF0ZUd1aWxkQ2hhbm5lbCB7XG4gIC8qKiBDaGFubmVsIG5hbWUgKDEtMTAwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgY2hhbm5lbCAqL1xuICB0eXBlPzogQ2hhbm5lbFR5cGVzXG4gIC8qKiBDaGFubmVsIHRvcGljICgwLTEwMjQgY2hhcmFjdGVycykgKi9cbiAgdG9waWM/OiBzdHJpbmdcbiAgLyoqIFRoZSBiaXRyYXRlIChpbiBiaXRzKSBvZiB0aGUgdm9pY2UgY2hhbm5lbCAodm9pY2Ugb25seSkgKi9cbiAgYml0cmF0ZT86IG51bWJlclxuICAvKiogVGhlIHVzZXIgbGltaXQgb2YgdGhlIHZvaWNlIGNoYW5uZWwgKHZvaWNlIG9ubHkpICovXG4gIHVzZXJfbGltaXQ/OiBudW1iZXJcbiAgLyoqIEFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApOyBib3RzLCBhcyB3ZWxsIGFzIHVzZXJzIHdpdGggdGhlIHBlcm1pc3Npb24gYG1hbmFnZV9tZXNzYWdlc2Agb3IgYG1hbmFnZV9jaGFubmVsYCwgYXJlIHVuYWZmZWN0ZWQgKi9cbiAgcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogU29ydGluZyBwb3NpdGlvbiBvZiB0aGUgY2hhbm5lbCAqL1xuICBwb3NpdGlvbj86IG51bWJlclxuICAvKiogVGhlIGNoYW5uZWwncyBwZXJtaXNzaW9uIG92ZXJ3cml0ZXMgKi9cbiAgcGVybWlzc2lvbl9vdmVyd3JpdGVzPzogRGlzY29yZE92ZXJ3cml0ZVtdXG4gIC8qKiBJZCBvZiB0aGUgcGFyZW50IGNhdGVnb3J5IGZvciBhIGNoYW5uZWwgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGFubmVsIGlzIG5zZncgKi9cbiAgbnNmdz86IGJvb2xlYW5cbiAgLyoqIERlZmF1bHQgZHVyYXRpb24gKGluIG1pbnV0ZXMpIHRoYXQgY2xpZW50cyAobm90IHRoZSBBUEkpIHVzZSBmb3IgbmV3bHkgY3JlYXRlZCB0aHJlYWRzIGluIHRoaXMgY2hhbm5lbCwgdG8gZGV0ZXJtaW5lIHdoZW4gdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgdGhlIGxhc3QgYWN0aXZpdHkgKi9cbiAgZGVmYXVsdF9hdXRvX2FyY2hpdmVfZHVyYXRpb24/OiBudW1iZXJcbiAgLyoqIEVtb2ppIHRvIHNob3cgaW4gdGhlIGFkZCByZWFjdGlvbiBidXR0b24gb24gYSB0aHJlYWQgaW4gYSBmb3J1bSBjaGFubmVsICovXG4gIGRlZmF1bHRfcmVhY3Rpb25fZW1vamk/OiB7XG4gICAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppLiBFeGFjdGx5IG9uZSBvZiBgZW1vamlJZGAgYW5kIGBlbW9qaU5hbWVgIG11c3QgYmUgc2V0LiAqL1xuICAgIGVtb2ppX2lkPzogc3RyaW5nIHwgbnVsbFxuICAgIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppLiBFeGFjdGx5IG9uZSBvZiBgZW1vamlJZGAgYW5kIGBlbW9qaU5hbWVgIG11c3QgYmUgc2V0LiAqL1xuICAgIGVtb2ppX25hbWU/OiBzdHJpbmcgfCBudWxsXG4gIH1cbiAgLyoqIFNldCBvZiB0YWdzIHRoYXQgY2FuIGJlIHVzZWQgaW4gYSBmb3J1bSBjaGFubmVsICovXG4gIGF2YWlsYWJsZV90YWdzPzogQXJyYXk8e1xuICAgIC8qKiBUaGUgaWQgb2YgdGhlIHRhZyAqL1xuICAgIGlkOiBzdHJpbmdcbiAgICAvKiogVGhlIG5hbWUgb2YgdGhlIHRhZyAoMC0yMCBjaGFyYWN0ZXJzKSAqL1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIC8qKiB3aGV0aGVyIHRoaXMgdGFnIGNhbiBvbmx5IGJlIGFkZGVkIHRvIG9yIHJlbW92ZWQgZnJvbSB0aHJlYWRzIGJ5IGEgbWVtYmVyIHdpdGggdGhlIE1BTkFHRV9USFJFQURTIHBlcm1pc3Npb24gKi9cbiAgICBtb2RlcmF0ZWQ6IGJvb2xlYW5cbiAgICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgKi9cbiAgICBlbW9qaV9pZDogc3RyaW5nXG4gICAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkgKi9cbiAgICBlbW9qaV9uYW1lPzogc3RyaW5nXG4gIH0+XG4gIC8qKiB0aGUgZGVmYXVsdCBzb3J0IG9yZGVyIHR5cGUgdXNlZCB0byBvcmRlciBwb3N0cyBpbiBmb3J1bSBjaGFubmVscyAqL1xuICBkZWZhdWx0X3NvcnRfb3JkZXI/OiBTb3J0T3JkZXJUeXBlcyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlTWVzc2FnZSB7XG4gIC8qKiBUaGUgbWVzc2FnZSBjb250ZW50cyAodXAgdG8gMjAwMCBjaGFyYWN0ZXJzKSAqL1xuICBjb250ZW50Pzogc3RyaW5nXG4gIC8qKiBDYW4gYmUgdXNlZCB0byB2ZXJpZnkgYSBtZXNzYWdlIHdhcyBzZW50ICh1cCB0byAyNSBjaGFyYWN0ZXJzKS4gVmFsdWUgd2lsbCBhcHBlYXIgaW4gdGhlIE1lc3NhZ2UgQ3JlYXRlIGV2ZW50LiAqL1xuICBub25jZT86IHN0cmluZyB8IG51bWJlclxuICAvKiogdHJ1ZSBpZiB0aGlzIGlzIGEgVFRTIG1lc3NhZ2UgKi9cbiAgdHRzPzogYm9vbGVhblxuICAvKiogRW1iZWRkZWQgYHJpY2hgIGNvbnRlbnQgKHVwIHRvIDYwMDAgY2hhcmFjdGVycykgKi9cbiAgZW1iZWRzPzogRGlzY29yZEVtYmVkW11cbiAgLyoqIEFsbG93ZWQgbWVudGlvbnMgZm9yIHRoZSBtZXNzYWdlICovXG4gIGFsbG93ZWRfbWVudGlvbnM/OiBEaXNjb3JkQWxsb3dlZE1lbnRpb25zXG4gIC8qKiBJbmNsdWRlIHRvIG1ha2UgeW91ciBtZXNzYWdlIGEgcmVwbHkgKi9cbiAgbWVzc2FnZV9yZWZlcmVuY2U/OiB7XG4gICAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlICovXG4gICAgbWVzc2FnZV9pZD86IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgY2hhbm5lbFxuICAgICAqIE5vdGU6IGBjaGFubmVsX2lkYCBpcyBvcHRpb25hbCB3aGVuIGNyZWF0aW5nIGEgcmVwbHksIGJ1dCB3aWxsIGFsd2F5cyBiZSBwcmVzZW50IHdoZW4gcmVjZWl2aW5nIGFuIGV2ZW50L3Jlc3BvbnNlIHRoYXQgaW5jbHVkZXMgdGhpcyBkYXRhIG1vZGVsLlxuICAgICAqL1xuICAgIGNoYW5uZWxfaWQ/OiBzdHJpbmdcbiAgICAvKiogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UncyBndWlsZCAqL1xuICAgIGd1aWxkX2lkPzogc3RyaW5nXG4gICAgLyoqIFdoZW4gc2VuZGluZywgd2hldGhlciB0byBlcnJvciBpZiB0aGUgcmVmZXJlbmNlZCBtZXNzYWdlIGRvZXNuJ3QgZXhpc3QgaW5zdGVhZCBvZiBzZW5kaW5nIGFzIGEgbm9ybWFsIChub24tcmVwbHkpIG1lc3NhZ2UsIGRlZmF1bHQgdHJ1ZSAqL1xuICAgIGZhaWxfaWZfbm90X2V4aXN0czogYm9vbGVhblxuICB9XG4gIC8qKiBUaGUgY29tcG9uZW50cyB5b3Ugd291bGQgbGlrZSB0byBoYXZlIHNlbnQgaW4gdGhpcyBtZXNzYWdlICovXG4gIGNvbXBvbmVudHM/OiBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudHNcbiAgLyoqIElEcyBvZiB1cCB0byAzIHN0aWNrZXJzIGluIHRoZSBzZXJ2ZXIgdG8gc2VuZCBpbiB0aGUgbWVzc2FnZSAqL1xuICBzdGlja2VySWRzPzogW3N0cmluZ10gfCBbc3RyaW5nLCBzdHJpbmddIHwgW3N0cmluZywgc3RyaW5nLCBzdHJpbmddXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjbW9kaWZ5LWd1aWxkLXdlbGNvbWUtc2NyZWVuICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNb2RpZnlHdWlsZFdlbGNvbWVTY3JlZW4ge1xuICAvKiogV2hldGhlciB0aGUgd2VsY29tZSBzY3JlZW4gaXMgZW5hYmxlZCAqL1xuICBlbmFibGVkPzogYm9vbGVhbiB8IG51bGxcbiAgLyoqIENoYW5uZWxzIGxpbmtlZCBpbiB0aGUgd2VsY29tZSBzY3JlZW4gYW5kIHRoZWlyIGRpc3BsYXkgb3B0aW9ucyAqL1xuICB3ZWxjb21lX3NjcmVlbj86IERpc2NvcmRXZWxjb21lU2NyZWVuQ2hhbm5lbFtdIHwgbnVsbFxuICAvKiogVGhlIHNlcnZlciBkZXNjcmlwdGlvbiB0byBzaG93IGluIHRoZSB3ZWxjb21lIHNjcmVlbiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRm9sbG93QW5ub3VuY2VtZW50Q2hhbm5lbCB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgdG8gc2VuZCBhbm5vdW5jZW1lbnRzIHRvLiAqL1xuICB3ZWJob29rX2NoYW5uZWxfaWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXNPcHRpb25zIHtcbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBhbGxvdzogc3RyaW5nXG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgZGVueTogc3RyaW5nXG4gIC8qKiBFaXRoZXIgMCAocm9sZSkgb3IgMSAobWVtYmVyKSAqL1xuICB0eXBlOiBPdmVyd3JpdGVUeXBlc1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI21vZGlmeS1ndWlsZC1jaGFubmVsLXBvc2l0aW9ucyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTW9kaWZ5R3VpbGRDaGFubmVsUG9zaXRpb25zIHtcbiAgLyoqIENoYW5uZWwgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogU29ydGluZyBwb3NpdGlvbiBvZiB0aGUgY2hhbm5lbCAqL1xuICBwb3NpdGlvbj86IG51bWJlciB8IG51bGxcbiAgLyoqIFN5bmNzIHRoZSBwZXJtaXNzaW9uIG92ZXJ3cml0ZXMgd2l0aCB0aGUgbmV3IHBhcmVudCwgaWYgbW92aW5nIHRvIGEgbmV3IGNhdGVnb3J5ICovXG4gIGxvY2tfcG9zaXRpb25zPzogYm9vbGVhbiB8IG51bGxcbiAgLyoqIFRoZSBuZXcgcGFyZW50IElEIGZvciB0aGUgY2hhbm5lbCB0aGF0IGlzIG1vdmVkICovXG4gIHBhcmVudF9pZD86IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlV2ViaG9vayB7XG4gIC8qKiBOYW1lIG9mIHRoZSB3ZWJob29rICgxLTgwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogSW1hZ2UgdXJsIGZvciB0aGUgZGVmYXVsdCB3ZWJob29rIGF2YXRhciAqL1xuICBhdmF0YXI/OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNzdGFydC10aHJlYWQtaW4tZm9ydW0tY2hhbm5lbCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlRm9ydW1Qb3N0V2l0aE1lc3NhZ2Uge1xuICAvKiogMS0xMDAgY2hhcmFjdGVyIGNoYW5uZWwgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIGR1cmF0aW9uIGluIG1pbnV0ZXMgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5LCBjYW4gYmUgc2V0IHRvOiA2MCwgMTQ0MCwgNDMyMCwgMTAwODAgKi9cbiAgYXV0b19hcmNoaXZlX2R1cmF0aW9uPzogNjAgfCAxNDQwIHwgNDMyMCB8IDEwMDgwXG4gIC8qKiBhbW91bnQgb2Ygc2Vjb25kcyBhIHVzZXIgaGFzIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlICgwLTIxNjAwKSAqL1xuICByYXRlX2xpbWl0X3Blcl91c2VyPzogbnVtYmVyXG4gIC8qKiBjb250ZW50cyBvZiB0aGUgZmlyc3QgbWVzc2FnZSBpbiB0aGUgZm9ydW0gdGhyZWFkICovXG4gIG1lc3NhZ2U6IHtcbiAgICAvKiogTWVzc2FnZSBjb250ZW50cyAodXAgdG8gMjAwMCBjaGFyYWN0ZXJzKSAqL1xuICAgIGNvbnRlbnQ/OiBzdHJpbmdcbiAgICAvKiogRW1iZWRkZWQgcmljaCBjb250ZW50ICh1cCB0byA2MDAwIGNoYXJhY3RlcnMpICovXG4gICAgZW1iZWRzPzogRGlzY29yZEVtYmVkW11cbiAgICAvKiogQWxsb3dlZCBtZW50aW9ucyBmb3IgdGhlIG1lc3NhZ2UgKi9cbiAgICBhbGxvd2VkX21lbnRpb25zPzogRGlzY29yZEFsbG93ZWRNZW50aW9uc1tdXG4gICAgLyoqIENvbXBvbmVudHMgdG8gaW5jbHVkZSB3aXRoIHRoZSBtZXNzYWdlICovXG4gICAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1tdXG4gICAgLyoqIElEcyBvZiB1cCB0byAzIHN0aWNrZXJzIGluIHRoZSBzZXJ2ZXIgdG8gc2VuZCBpbiB0aGUgbWVzc2FnZSAqL1xuICAgIHN0aWNrZXJfaWRzPzogc3RyaW5nW11cbiAgICAvKiogSlNPTi1lbmNvZGVkIGJvZHkgb2Ygbm9uLWZpbGUgcGFyYW1zLCBvbmx5IGZvciBtdWx0aXBhcnQvZm9ybS1kYXRhIHJlcXVlc3RzLiBTZWUge0BsaW5rIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3JlZmVyZW5jZSN1cGxvYWRpbmctZmlsZXMgVXBsb2FkaW5nIEZpbGVzfSAqL1xuICAgIHBheWxvYWRfanNvbj86IHN0cmluZ1xuICAgIC8qKiBBdHRhY2htZW50IG9iamVjdHMgd2l0aCBmaWxlbmFtZSBhbmQgZGVzY3JpcHRpb24uIFNlZSB7QGxpbmsgaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI3VwbG9hZGluZy1maWxlcyBVcGxvYWRpbmcgRmlsZXN9ICovXG4gICAgYXR0YWNobWVudHM/OiBEaXNjb3JkQXR0YWNobWVudFtdXG4gICAgLyoqIE1lc3NhZ2UgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCwgb25seSBTVVBQUkVTU19FTUJFRFMgY2FuIGJlIHNldCAqL1xuICAgIGZsYWdzPzogTWVzc2FnZUZsYWdzXG4gIH1cbiAgLyoqIHRoZSBJRHMgb2YgdGhlIHNldCBvZiB0YWdzIHRoYXQgaGF2ZSBiZWVuIGFwcGxpZWQgdG8gYSB0aHJlYWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGFwcGxpZWRfdGFncz86IHN0cmluZ1tdXG59XG5cbmV4cG9ydCB0eXBlIERpc2NvcmRBcmNoaXZlZFRocmVhZHMgPSBEaXNjb3JkQWN0aXZlVGhyZWFkcyAmIHtcbiAgaGFzTW9yZTogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3RpdmVUaHJlYWRzIHtcbiAgdGhyZWFkczogRGlzY29yZENoYW5uZWxbXVxuICBtZW1iZXJzOiBEaXNjb3JkVGhyZWFkTWVtYmVyW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVmFuaXR5VXJsIHtcbiAgY29kZTogc3RyaW5nIHwgbnVsbFxuICB1c2VzOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUHJ1bmVkQ291bnQge1xuICBwcnVuZWQ6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW9uYm9hcmRpbmctb2JqZWN0LWd1aWxkLW9uYm9hcmRpbmctc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE9uYm9hcmRpbmcge1xuICAvKiogSUQgb2YgdGhlIGd1aWxkIHRoaXMgb25ib2FyZGluZyBpcyBwYXJ0IG9mICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFByb21wdHMgc2hvd24gZHVyaW5nIG9uYm9hcmRpbmcgYW5kIGluIGN1c3RvbWl6ZSBjb21tdW5pdHkgKi9cbiAgcHJvbXB0czogRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdFtdXG4gIC8qKiBDaGFubmVsIElEcyB0aGF0IG1lbWJlcnMgZ2V0IG9wdGVkIGludG8gYXV0b21hdGljYWxseSAqL1xuICBkZWZhdWx0X2NoYW5uZWxfaWRzOiBzdHJpbmdbXVxuICAvKiogV2hldGhlciBvbmJvYXJkaW5nIGlzIGVuYWJsZWQgaW4gdGhlIGd1aWxkICovXG4gIGVuYWJsZWQ6IGJvb2xlYW5cbiAgLyoqIEN1cnJlbnQgbW9kZSBvZiBvbmJvYXJkaW5nICovXG4gIG1vZGU6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdNb2RlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb25ib2FyZGluZy1vYmplY3Qtb25ib2FyZGluZy1wcm9tcHQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHQge1xuICAvKiogSUQgb2YgdGhlIHByb21wdCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIHByb21wdCAqL1xuICB0eXBlOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0VHlwZVxuICAvKiogT3B0aW9ucyBhdmFpbGFibGUgd2l0aGluIHRoZSBwcm9tcHQgKi9cbiAgb3B0aW9uczogRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbltdXG4gIC8qKiBUaXRsZSBvZiB0aGUgcHJvbXB0ICovXG4gIHRpdGxlOiBzdHJpbmdcbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGFyZSBsaW1pdGVkIHRvIHNlbGVjdGluZyBvbmUgb3B0aW9uIGZvciB0aGUgcHJvbXB0ICovXG4gIHNpbmdsZV9zZWxlY3Q6IGJvb2xlYW5cbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBwcm9tcHQgaXMgcmVxdWlyZWQgYmVmb3JlIGEgdXNlciBjb21wbGV0ZXMgdGhlIG9uYm9hcmRpbmcgZmxvdyAqL1xuICByZXF1aXJlZDogYm9vbGVhblxuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHByb21wdCBpcyBwcmVzZW50IGluIHRoZSBvbmJvYXJkaW5nIGZsb3cuIElmIGBmYWxzZWAsIHRoZSBwcm9tcHQgd2lsbCBvbmx5IGFwcGVhciBpbiB0aGUgQ2hhbm5lbHMgJiBSb2xlcyB0YWIgKi9cbiAgaW5fb25ib2FyZGluZzogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW9uYm9hcmRpbmctb2JqZWN0LXByb21wdC1vcHRpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24ge1xuICAvKiogSUQgb2YgdGhlIHByb21wdCBvcHRpb24gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSURzIGZvciBjaGFubmVscyBhIG1lbWJlciBpcyBhZGRlZCB0byB3aGVuIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQgKi9cbiAgY2hhbm5lbF9pZHM6IHN0cmluZ1tdXG4gIC8qKiBJRHMgZm9yIHJvbGVzIGFzc2lnbmVkIHRvIGEgbWVtYmVyIHdoZW4gdGhlIG9wdGlvbiBpcyBzZWxlY3RlZCAqL1xuICByb2xlX2lkczogc3RyaW5nW11cbiAgLyoqXG4gICAqIEVtb2ppIG9mIHRoZSBvcHRpb25cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiBjcmVhdGluZyBvciB1cGRhdGluZyBhIHByb21wdCBvcHRpb24sIHRoZSBgZW1vamlfaWRgLCBgZW1vamlfbmFtZWAsIGFuZCBgZW1vamlfYW5pbWF0ZWRgIGZpZWxkcyBtdXN0IGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgZW1vamkgb2JqZWN0LlxuICAgKi9cbiAgZW1vamk/OiBEaXNjb3JkRW1vamlcbiAgLyoqXG4gICAqIEVtb2ppIElEIG9mIHRoZSBvcHRpb25cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiBjcmVhdGluZyBvciB1cGRhdGluZyBhIHByb21wdCBvcHRpb24sIHRoZSBgZW1vamlfaWRgLCBgZW1vamlfbmFtZWAsIGFuZCBgZW1vamlfYW5pbWF0ZWRgIGZpZWxkcyBtdXN0IGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgZW1vamkgb2JqZWN0LlxuICAgKi9cbiAgZW1vamlfaWQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEVtb2ppIG5hbWUgb2YgdGhlIG9wdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIGNyZWF0aW5nIG9yIHVwZGF0aW5nIGEgcHJvbXB0IG9wdGlvbiwgdGhlIGBlbW9qaV9pZGAsIGBlbW9qaV9uYW1lYCwgYW5kIGBlbW9qaV9hbmltYXRlZGAgZmllbGRzIG11c3QgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBlbW9qaSBvYmplY3QuXG4gICAqL1xuICBlbW9qaV9uYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBlbW9qaSBpcyBhbmltYXRlZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIGNyZWF0aW5nIG9yIHVwZGF0aW5nIGEgcHJvbXB0IG9wdGlvbiwgdGhlIGBlbW9qaV9pZGAsIGBlbW9qaV9uYW1lYCwgYW5kIGBlbW9qaV9hbmltYXRlZGAgZmllbGRzIG11c3QgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBlbW9qaSBvYmplY3QuXG4gICAqL1xuICBlbW9qaV9hbmltYXRlZD86IGJvb2xlYW5cbiAgLyoqIFRpdGxlIG9mIHRoZSBvcHRpb24gKi9cbiAgdGl0bGU6IHN0cmluZ1xuICAvKiogRGVzY3JpcHRpb24gb2YgdGhlIG9wdGlvbiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW9uYm9hcmRpbmctb2JqZWN0LXByb21wdC10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdFR5cGUge1xuICBNdWx0aXBsZUNob2ljZSxcbiAgRHJvcERvd24sXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb25ib2FyZGluZy1vYmplY3Qtb25ib2FyZGluZy1tb2RlICovXG5leHBvcnQgZW51bSBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nTW9kZSB7XG4gIC8qKiBDb3VudHMgb25seSBEZWZhdWx0IENoYW5uZWxzIHRvd2FyZHMgY29uc3RyYWludHMgKi9cbiAgT25ib2FyZGluZ0RlZmF1bHQsXG4gIC8qKiBDb3VudHMgRGVmYXVsdCBDaGFubmVscyBhbmQgUXVlc3Rpb25zIHRvd2FyZHMgY29uc3RyYWludHMgKi9cbiAgT25ib2FyZGluZ0FkdmFuY2VkLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL3RlYW1zI3RlYW0tbWVtYmVyLXJvbGVzLXRlYW0tbWVtYmVyLXJvbGUtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRUZWFtTWVtYmVyUm9sZSB7XG4gIC8qKiBPd25lcnMgYXJlIHRoZSBtb3N0IHBlcm1pc3NpYWJsZSByb2xlLCBhbmQgY2FuIHRha2UgZGVzdHJ1Y3RpdmUsIGlycmV2ZXJzaWJsZSBhY3Rpb25zIGxpa2UgZGVsZXRpbmcgdGhlIHRlYW0gaXRzZWxmLiBUZWFtcyBhcmUgbGltaXRlZCB0byAxIG93bmVyLiAqL1xuICBPd25lciA9ICdvd25lcicsXG4gIC8qKiBBZG1pbnMgaGF2ZSBzaW1pbGFyIGFjY2VzcyBhcyBvd25lcnMsIGV4Y2VwdCB0aGV5IGNhbm5vdCB0YWtlIGRlc3RydWN0aXZlIGFjdGlvbnMgb24gdGhlIHRlYW0gb3IgdGVhbS1vd25lZCBhcHBzLiAqL1xuICBBZG1pbiA9ICdhZG1pbicsXG4gIC8qKlxuICAgKiBEZXZlbG9wZXJzIGNhbiBhY2Nlc3MgaW5mb3JtYXRpb24gYWJvdXQgdGVhbS1vd25lZCBhcHBzLCBsaWtlIHRoZSBjbGllbnQgc2VjcmV0IG9yIHB1YmxpYyBrZXkuXG4gICAqIFRoZXkgY2FuIGFsc28gdGFrZSBsaW1pdGVkIGFjdGlvbnMgb24gdGVhbS1vd25lZCBhcHBzLCBsaWtlIGNvbmZpZ3VyaW5nIGludGVyYWN0aW9uIGVuZHBvaW50cyBvciByZXNldHRpbmcgdGhlIGJvdCB0b2tlbi5cbiAgICogTWVtYmVycyB3aXRoIHRoZSBEZXZlbG9wZXIgcm9sZSAqY2Fubm90KiBtYW5hZ2UgdGhlIHRlYW0gb3IgaXRzIG1lbWJlcnMsIG9yIHRha2UgZGVzdHJ1Y3RpdmUgYWN0aW9ucyBvbiB0ZWFtLW93bmVkIGFwcHMuXG4gICAqL1xuICBEZXZlbG9wZXIgPSAnZGV2ZWxvcGVyJyxcbiAgLyoqIFJlYWQtb25seSBtZW1iZXJzIGNhbiBhY2Nlc3MgaW5mb3JtYXRpb24gYWJvdXQgYSB0ZWFtIGFuZCBhbnkgdGVhbS1vd25lZCBhcHBzLiBTb21lIGV4YW1wbGVzIGluY2x1ZGUgZ2V0dGluZyB0aGUgSURzIG9mIGFwcGxpY2F0aW9ucyBhbmQgZXhwb3J0aW5nIHBheW91dCByZWNvcmRzLiAqL1xuICBSZWFkT25seSA9ICdyZWFkX29ubHknLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvbW9uZXRpemF0aW9uL2VudGl0bGVtZW50cyNlbnRpdGxlbWVudC1vYmplY3QtZW50aXRsZW1lbnQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbnRpdGxlbWVudCB7XG4gIC8qKiBJRCBvZiB0aGUgZW50aXRsZW1lbnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIFNLVSAqL1xuICBza3VfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIHVzZXIgdGhhdCBpcyBncmFudGVkIGFjY2VzcyB0byB0aGUgZW50aXRsZW1lbnQncyBza3UgKi9cbiAgdXNlcl9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGd1aWxkIHRoYXQgaXMgZ3JhbnRlZCBhY2Nlc3MgdG8gdGhlIGVudGl0bGVtZW50J3Mgc2t1ICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgcGFyZW50IGFwcGxpY2F0aW9uICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgZW50aXRsZW1lbnQgKi9cbiAgdHlwZTogRGlzY29yZEVudGl0bGVtZW50VHlwZVxuICAvKiogRW50aXRsZW1lbnQgd2FzIGRlbGV0ZWQgKi9cbiAgZGVsZXRlZDogYm9vbGVhblxuICAvKiogU3RhcnQgZGF0ZSBhdCB3aGljaCB0aGUgZW50aXRsZW1lbnQgaXMgdmFsaWQuIE5vdCBwcmVzZW50IHdoZW4gdXNpbmcgdGVzdCBlbnRpdGxlbWVudHMgKi9cbiAgc3RhcnRzX2F0Pzogc3RyaW5nXG4gIC8qKiBEYXRlIGF0IHdoaWNoIHRoZSBlbnRpdGxlbWVudCBpcyBubyBsb25nZXIgdmFsaWQuIE5vdCBwcmVzZW50IHdoZW4gdXNpbmcgdGVzdCBlbnRpdGxlbWVudHMgKi9cbiAgZW5kc19hdD86IHN0cmluZ1xuICAvKiogRm9yIGNvbnN1bWFibGUgaXRlbXMsIHdoZXRoZXIgb3Igbm90IHRoZSBlbnRpdGxlbWVudCBoYXMgYmVlbiBjb25zdW1lZCAqL1xuICBjb25zdW1lZD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL21vbmV0aXphdGlvbi9lbnRpdGxlbWVudHMjZW50aXRsZW1lbnQtb2JqZWN0LWVudGl0bGVtZW50LXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkRW50aXRsZW1lbnRUeXBlIHtcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBwdXJjaGFzZWQgYnkgdXNlciAqL1xuICBQdXJjaGFzZSA9IDEsXG4gIC8qKiBFbnRpdGxlbWVudCBmb3IgRGlzY29yZCBOaXRybyBzdWJzY3JpcHRpb24gKi9cbiAgUHJlbWl1bVN1YnNjcmlwdGlvbiA9IDIsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgZ2lmdGVkIGJ5IGRldmVsb3BlciAqL1xuICBEZXZlbG9wZXJHaWZ0ID0gMyxcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBwdXJjaGFzZWQgYnkgYSBkZXYgaW4gYXBwbGljYXRpb24gdGVzdCBtb2RlICovXG4gIFRlc3RNb2RlUHVyY2hhc2UgPSA0LFxuICAvKiogRW50aXRsZW1lbnQgd2FzIGdyYW50ZWQgd2hlbiB0aGUgU0tVIHdhcyBmcmVlICovXG4gIEZyZWVQdXJjaGFzZSA9IDUsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgZ2lmdGVkIGJ5IGFub3RoZXIgdXNlciAqL1xuICBVc2VyR2lmdCA9IDYsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgY2xhaW1lZCBieSB1c2VyIGZvciBmcmVlIGFzIGEgTml0cm8gU3Vic2NyaWJlciAqL1xuICBQcmVtaXVtUHVyY2hhc2UgPSA3LFxuICAvKiogRW50aXRsZW1lbnQgd2FzIHB1cmNoYXNlZCBhcyBhbiBhcHAgc3Vic2NyaXB0aW9uICovXG4gIEFwcGxpY2F0aW9uU3Vic2NyaXB0aW9uID0gOCxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL21vbmV0aXphdGlvbi9za3VzI3NrdS1vYmplY3Qtc2t1LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2t1IHtcbiAgLyoqIElEIG9mIFNLVSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIFNLVSAqL1xuICB0eXBlOiBEaXNjb3JkU2t1VHlwZVxuICAvKiogSUQgb2YgdGhlIHBhcmVudCBhcHBsaWNhdGlvbiAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKiBDdXN0b21lci1mYWNpbmcgbmFtZSBvZiB5b3VyIHByZW1pdW0gb2ZmZXJpbmcgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBTeXN0ZW0tZ2VuZXJhdGVkIFVSTCBzbHVnIGJhc2VkIG9uIHRoZSBTS1UncyBuYW1lICovXG4gIHNsdWc6IHN0cmluZ1xuICAvKiogU0tVIGZsYWdzIGNvbWJpbmVkIGFzIGEgYml0ZmllbGQgKi9cbiAgZmxhZ3M6IFNrdUZsYWdzXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9tb25ldGl6YXRpb24vc2t1cyNza3Utb2JqZWN0LXNrdS10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZFNrdVR5cGUge1xuICAvKiogRHVyYWJsZSBvbmUtdGltZSBwdXJjaGFzZSAqL1xuICBEdXJhYmxlID0gMixcbiAgLyoqIENvbnN1bWFibGUgb25lLXRpbWUgcHVyY2hhc2UgKi9cbiAgQ29uc3VtYWJsZSA9IDMsXG4gIC8qKiBSZXByZXNlbnRzIGEgcmVjdXJyaW5nIHN1YnNjcmlwdGlvbiAqL1xuICBTdWJzY3JpcHRpb24gPSA1LFxuICAvKiogU3lzdGVtLWdlbmVyYXRlZCBncm91cCBmb3IgZWFjaCBTVUJTQ1JJUFRJT04gU0tVIGNyZWF0ZWQgKi9cbiAgU3Vic2NyaXB0aW9uR3JvdXAgPSA2LFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3JlY2VpdmluZy1hbmQtcmVzcG9uZGluZyNpbnRlcmFjdGlvbi1vYmplY3QtaW50ZXJhY3Rpb24tY29udGV4dC10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZEludGVyYWN0aW9uQ29udGV4dFR5cGUge1xuICAvKiogSW50ZXJhY3Rpb24gY2FuIGJlIHVzZWQgd2l0aGluIHNlcnZlcnMgKi9cbiAgR3VpbGQgPSAwLFxuICAvKiogSW50ZXJhY3Rpb24gY2FuIGJlIHVzZWQgd2l0aGluIERNcyB3aXRoIHRoZSBhcHAncyBib3QgdXNlciAqL1xuICBCb3REbSA9IDEsXG4gIC8qKiBJbnRlcmFjdGlvbiBjYW4gYmUgdXNlZCB3aXRoaW4gR3JvdXAgRE1zIGFuZCBETXMgb3RoZXIgdGhhbiB0aGUgYXBwJ3MgYm90IHVzZXIgKi9cbiAgUHJpdmF0ZUNoYW5uZWwgPSAyLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2J1bGstZ3VpbGQtYmFuICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRCdWxrQmFuIHtcbiAgLyoqIGxpc3Qgb2YgdXNlciBpZHMsIHRoYXQgd2VyZSBzdWNjZXNzZnVsbHkgYmFubmVkICovXG4gIGJhbm5lZF91c2Vyczogc3RyaW5nW11cbiAgLyoqIGxpc3Qgb2YgdXNlciBpZHMsIHRoYXQgd2VyZSBub3QgYmFubmVkICovXG4gIGZhaWxlZF91c2Vyczogc3RyaW5nW11cbn1cbiJdLCJuYW1lcyI6WyJPQXV0aDJTY29wZSIsIkRpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSIsIkRpc2NvcmRDb25uZWN0aW9uU2VydmljZVR5cGUiLCJEaXNjb3JkQ29ubmVjdGlvblZpc2liaWxpdHkiLCJEaXNjb3JkUmVhY3Rpb25UeXBlIiwiRGlzY29yZFBvbGxMYXlvdXRUeXBlIiwiQXV0b01vZGVyYXRpb25FdmVudFR5cGVzIiwiQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMiLCJEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhUHJlc2V0cyIsIkF1dG9Nb2RlcmF0aW9uQWN0aW9uVHlwZSIsIkRpc2NvcmRJbnZpdGVUeXBlIiwiRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdFR5cGUiLCJEaXNjb3JkR3VpbGRPbmJvYXJkaW5nTW9kZSIsIkRpc2NvcmRUZWFtTWVtYmVyUm9sZSIsIkRpc2NvcmRFbnRpdGxlbWVudFR5cGUiLCJEaXNjb3JkU2t1VHlwZSIsIkRpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1VBdUZZQTtJQUNWOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRCxpRUFBaUU7SUFFakU7Ozs7O0dBS0M7SUFFRCwwRkFBMEY7SUFFMUY7Ozs7O0dBS0M7SUFFRCxnR0FBZ0c7SUFFaEcsbUVBQW1FO0lBRW5FLHVIQUF1SDtJQUV2SCwrRUFBK0U7SUFFL0UseUhBQXlIO0lBRXpIOzs7OztHQUtDO0lBRUQsZ0hBQWdIO0lBRWhILGdEQUFnRDtJQUVoRCx1SEFBdUg7SUFFdkgsb0lBQW9JO0lBRXBJLCtJQUErSTtJQUUvSTs7Ozs7O0dBTUM7SUFFRDs7O0dBR0M7SUFFRDs7Ozs7R0FLQztJQUVELDJFQUEyRTtJQUUzRTs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRDs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRCxrR0FBa0c7R0E1SHhGQSxnQkFBQUE7O1VBNlVBQztJQUNWLGtDQUFrQztJQUVsQyxnQ0FBZ0M7R0FIdEJBLHNDQUFBQTs7VUFnR0FDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQUFBQSxpQ0FBQUE7O1VBMEJBQztJQUNWLHFEQUFxRDtJQUVyRCx3QkFBd0I7R0FIZEEsZ0NBQUFBOztVQSsxQkFDOzs7R0FBQUEsd0JBQUFBOztVQWdFQUM7SUFDVix1QkFBdUI7R0FEYkEsMEJBQUFBOztVQStkQUM7SUFDVixnQ0FBZ0M7SUFFaEMscUNBQXFDO0dBSDNCQSw2QkFBQUE7O1VBT0FDO0lBQ1YsMEZBQTBGO0lBRTFGLDhEQUE4RDtJQUU5RCx5RkFBeUY7SUFFekYsaUZBQWlGO0lBRWpGLGlHQUFpRztHQVR2RkEsK0JBQUFBOztVQW1FQUM7SUFDViw4REFBOEQ7SUFFOUQsK0RBQStEO0lBRS9ELGlFQUFpRTtHQUx2REEsb0RBQUFBOztVQWdCQUM7SUFDViwwREFBMEQ7SUFFMUQsNkNBQTZDO0lBRTdDOzs7Ozs7O0dBT0M7SUFFRCxvRUFBb0U7R0FkMURBLDZCQUFBQTs7VUE0VkFDOzs7O0dBQUFBLHNCQUFBQTs7VUE4OUJBQzs7O0dBQUFBLHFDQUFBQTs7VUFNQUM7SUFDVixxREFBcUQ7SUFFckQsOERBQThEO0dBSHBEQSwrQkFBQUE7O1VBUUFDO0lBQ1YsdUpBQXVKO0lBRXZKLHNIQUFzSDtJQUV0SDs7OztHQUlDO0lBRUQsdUtBQXVLO0dBWDdKQSwwQkFBQUE7O1VBd0NBQztJQUNWLHNDQUFzQztJQUV0QywrQ0FBK0M7SUFFL0Msd0NBQXdDO0lBRXhDLGdFQUFnRTtJQUVoRSxrREFBa0Q7SUFFbEQsMkNBQTJDO0lBRTNDLG1FQUFtRTtJQUVuRSxxREFBcUQ7R0FmM0NBLDJCQUFBQTs7VUFvQ0FDO0lBQ1YsOEJBQThCO0lBRTlCLGlDQUFpQztJQUVqQyx3Q0FBd0M7SUFFeEMsNkRBQTZEO0dBUG5EQSxtQkFBQUE7O1VBWUFDO0lBQ1YsMkNBQTJDO0lBRTNDLCtEQUErRDtJQUUvRCxtRkFBbUY7R0FMekVBLGtDQUFBQSJ9
407
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNjb3JkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQWN0aXZpdHlUeXBlcyxcbiAgdHlwZSBBbGxvd2VkTWVudGlvbnNUeXBlcyxcbiAgdHlwZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcyxcbiAgdHlwZSBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMsXG4gIHR5cGUgQXBwbGljYXRpb25Db21tYW5kVHlwZXMsXG4gIHR5cGUgQXBwbGljYXRpb25GbGFncyxcbiAgdHlwZSBBdHRhY2htZW50RmxhZ3MsXG4gIHR5cGUgQXVkaXRMb2dFdmVudHMsXG4gIHR5cGUgQnV0dG9uU3R5bGVzLFxuICB0eXBlIENoYW5uZWxGbGFncyxcbiAgdHlwZSBDaGFubmVsVHlwZXMsXG4gIHR5cGUgRGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25MZXZlbHMsXG4gIHR5cGUgRW1iZWRUeXBlcyxcbiAgdHlwZSBFeHBsaWNpdENvbnRlbnRGaWx0ZXJMZXZlbHMsXG4gIHR5cGUgRm9ydW1MYXlvdXQsXG4gIHR5cGUgR2F0ZXdheUV2ZW50TmFtZXMsXG4gIHR5cGUgR3VpbGRGZWF0dXJlcyxcbiAgdHlwZSBHdWlsZE5zZndMZXZlbCxcbiAgdHlwZSBJbnRlZ3JhdGlvbkV4cGlyZUJlaGF2aW9ycyxcbiAgdHlwZSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMsXG4gIHR5cGUgSW50ZXJhY3Rpb25UeXBlcyxcbiAgdHlwZSBMb2NhbGl6YXRpb24sXG4gIHR5cGUgTWVzc2FnZUFjdGl2aXR5VHlwZXMsXG4gIHR5cGUgTWVzc2FnZUNvbXBvbmVudFR5cGVzLFxuICB0eXBlIE1lc3NhZ2VGbGFncyxcbiAgdHlwZSBNZXNzYWdlVHlwZXMsXG4gIHR5cGUgTWZhTGV2ZWxzLFxuICB0eXBlIE92ZXJ3cml0ZVR5cGVzLFxuICB0eXBlIFBpY2tQYXJ0aWFsLFxuICB0eXBlIFByZW1pdW1UaWVycyxcbiAgdHlwZSBQcmVtaXVtVHlwZXMsXG4gIHR5cGUgUm9sZUZsYWdzLFxuICB0eXBlIFNjaGVkdWxlZEV2ZW50RW50aXR5VHlwZSxcbiAgdHlwZSBTY2hlZHVsZWRFdmVudFByaXZhY3lMZXZlbCxcbiAgdHlwZSBTY2hlZHVsZWRFdmVudFN0YXR1cyxcbiAgdHlwZSBTa3VGbGFncyxcbiAgdHlwZSBTb3J0T3JkZXJUeXBlcyxcbiAgdHlwZSBTdGlja2VyRm9ybWF0VHlwZXMsXG4gIHR5cGUgU3RpY2tlclR5cGVzLFxuICB0eXBlIFN5c3RlbUNoYW5uZWxGbGFncyxcbiAgdHlwZSBUYXJnZXRUeXBlcyxcbiAgdHlwZSBUZWFtTWVtYmVyc2hpcFN0YXRlcyxcbiAgdHlwZSBUZXh0U3R5bGVzLFxuICB0eXBlIFZlcmlmaWNhdGlvbkxldmVscyxcbiAgdHlwZSBWaWRlb1F1YWxpdHlNb2RlcyxcbiAgdHlwZSBXZWJob29rVHlwZXMsXG59IGZyb20gJy4vc2hhcmVkLmpzJ1xuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjdXNlci1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFVzZXIge1xuICAvKiogVGhlIHVzZXIncyB1c2VybmFtZSwgbm90IHVuaXF1ZSBhY3Jvc3MgdGhlIHBsYXRmb3JtICovXG4gIHVzZXJuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3MgZGlzcGxheSBuYW1lLCBpZiBpdCBpcyBzZXQuIEZvciBib3RzLCB0aGlzIGlzIHRoZSBhcHBsaWNhdGlvbiBuYW1lICovXG4gIGdsb2JhbF9uYW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgdXNlcidzIGNob3NlbiBsYW5ndWFnZSBvcHRpb24gKi9cbiAgbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgZmxhZ3Mgb24gYSB1c2VyJ3MgYWNjb3VudCAqL1xuICBmbGFncz86IG51bWJlclxuICAvKiogVGhlIHR5cGUgb2YgTml0cm8gc3Vic2NyaXB0aW9uIG9uIGEgdXNlcidzIGFjY291bnQgKi9cbiAgcHJlbWl1bV90eXBlPzogUHJlbWl1bVR5cGVzXG4gIC8qKiBUaGUgcHVibGljIGZsYWdzIG9uIGEgdXNlcidzIGFjY291bnQgKi9cbiAgcHVibGljX2ZsYWdzPzogbnVtYmVyXG4gIC8qKiB0aGUgdXNlcidzIGJhbm5lciBjb2xvciBlbmNvZGVkIGFzIGFuIGludGVnZXIgcmVwcmVzZW50YXRpb24gb2YgaGV4YWRlY2ltYWwgY29sb3IgY29kZSAqL1xuICBhY2NlbnRfY29sb3I/OiBudW1iZXJcbiAgLyoqIFRoZSB1c2VyJ3MgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVzZXIncyBkaXNjb3JkLXRhZyAqL1xuICBkaXNjcmltaW5hdG9yOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3MgYXZhdGFyIGhhc2ggKi9cbiAgYXZhdGFyOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGJlbG9uZ3MgdG8gYW4gT0F1dGgyIGFwcGxpY2F0aW9uICovXG4gIGJvdD86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgYW4gT2ZmaWNpYWwgRGlzY29yZCBTeXN0ZW0gdXNlciAocGFydCBvZiB0aGUgdXJnZW50IG1lc3NhZ2Ugc3lzdGVtKSAqL1xuICBzeXN0ZW0/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyB0d28gZmFjdG9yIGVuYWJsZWQgb24gdGhlaXIgYWNjb3VudCAqL1xuICBtZmFfZW5hYmxlZD86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIGVtYWlsIG9uIHRoaXMgYWNjb3VudCBoYXMgYmVlbiB2ZXJpZmllZCAqL1xuICB2ZXJpZmllZD86IGJvb2xlYW5cbiAgLyoqIFRoZSB1c2VyJ3MgZW1haWwgKi9cbiAgZW1haWw/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgdXNlcidzIGJhbm5lciwgb3IgbnVsbCBpZiB1bnNldCAqL1xuICBiYW5uZXI/OiBzdHJpbmdcbiAgLyoqIGRhdGEgZm9yIHRoZSB1c2VyJ3MgYXZhdGFyIGRlY29yYXRpb24gKi9cbiAgYXZhdGFyX2RlY29yYXRpb25fZGF0YT86IERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNzaGFyZWQtcmVzb3VyY2VzLW9hdXRoMi1zY29wZXMgKi9cbmV4cG9ydCBlbnVtIE9BdXRoMlNjb3BlIHtcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byBmZXRjaCBkYXRhIGZyb20gYSB1c2VyJ3MgXCJOb3cgUGxheWluZy9SZWNlbnRseSBQbGF5ZWRcIiBsaXN0XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgaXMgbm90IGN1cnJlbnRseSBhdmFpbGFibGUgZm9yIGFwcHNcbiAgICovXG4gIEFjdGl2aXRpZXNSZWFkID0gJ2FjdGl2aXRpZXMucmVhZCcsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBkYXRlIGEgdXNlcidzIGFjdGl2aXR5XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgbm90IGN1cnJlbnRseSBhdmFpbGFibGUgZm9yIGFwcHMuXG4gICAqL1xuICBBY3Rpdml0aWVzV3JpdGUgPSAnYWN0aXZpdGllcy53cml0ZScsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gcmVhZCBidWlsZCBkYXRhIGZvciBhIHVzZXIncyBhcHBsaWNhdGlvbnMgKi9cbiAgQXBwbGljYXRpb25zQnVpbGRzUmVhZCA9ICdhcHBsaWNhdGlvbnMuYnVpbGRzLnJlYWQnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHVwbG9hZC91cGRhdGUgYnVpbGRzIGZvciBhIHVzZXIncyBhcHBsaWNhdGlvbnNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIEFwcGxpY2F0aW9uc0J1aWxkc1VwbG9hZCA9ICdhcHBsaWNhdGlvbnMuYnVpbGRzLnVwbG9hZCcsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gYWRkIGNvbW1hbmRzIHRvIGEgZ3VpbGQgLSBpbmNsdWRlZCBieSBkZWZhdWx0IHdpdGggdGhlIGBib3RgIHNjb3BlICovXG4gIEFwcGxpY2F0aW9uc0NvbW1hbmRzID0gJ2FwcGxpY2F0aW9ucy5jb21tYW5kcycsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBkYXRlIGl0cyBBcHBsaWNhdGlvbiBDb21tYW5kcyB2aWEgdGhpcyBiZWFyZXIgdG9rZW5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSBjYW4gb25seSBiZSB1c2VkIHdoZW4gdXNpbmcgYSBbQ2xpZW50IENyZWRlbnRpYWwgR3JhbnRdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjY2xpZW50LWNyZWRlbnRpYWxzLWdyYW50KVxuICAgKi9cbiAgQXBwbGljYXRpb25zQ29tbWFuZHNVcGRhdGUgPSAnYXBwbGljYXRpb25zLmNvbW1hbmRzLnVwZGF0ZScsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBkYXRlIHBlcm1pc3Npb25zIGZvciBpdHMgY29tbWFuZHMgaW4gYSBndWlsZCBhIHVzZXIgaGFzIHBlcm1pc3Npb25zIHRvICovXG4gIEFwcGxpY2F0aW9uQ29tbWFuZHNQZXJtaXNzaW9uc1VwZGF0ZSA9ICdhcHBsaWNhdGlvbnMuY29tbWFuZHMucGVybWlzc2lvbnMudXBkYXRlJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byByZWFkIGVudGl0bGVtZW50cyBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zICovXG4gIEFwcGxpY2F0aW9uc0VudGl0bGVtZW50cyA9ICdhcHBsaWNhdGlvbnMuZW50aXRsZW1lbnRzJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byByZWFkIGFuZCB1cGRhdGUgc3RvcmUgZGF0YSAoU0tVcywgc3RvcmUgbGlzdGluZ3MsIGFjaGlldmVtZW50cywgZXRjLikgZm9yIGEgdXNlcidzIGFwcGxpY2F0aW9ucyAqL1xuICBBcHBsaWNhdGlvbnNTdG9yZVVwZGF0ZSA9ICdhcHBsaWNhdGlvbnMuc3RvcmUudXBkYXRlJyxcbiAgLyoqIEZvciBvYXV0aDIgYm90cywgdGhpcyBwdXRzIHRoZSBib3QgaW4gdGhlIHVzZXIncyBzZWxlY3RlZCBndWlsZCBieSBkZWZhdWx0ICovXG4gIEJvdCA9ICdib3QnLFxuICAvKiogQWxsb3dzIHJlcXVlc3RzIHRvIFsvdXNlcnMvQG1lL2Nvbm5lY3Rpb25zXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtdXNlci1jb25uZWN0aW9ucykgKi9cbiAgQ29ubmVjdGlvbnMgPSAnY29ubmVjdGlvbnMnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHNlZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdXNlcidzIERNcyBhbmQgZ3JvdXAgRE1zXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBETUNoYW5uZWxzUmVhZCA9ICdkbV9jaGFubmVscy5yZWFkJyxcbiAgLyoqIEFkZHMgdGhlIGBlbWFpbGAgZmlsZWQgdG8gWy91c2Vycy9AbWVdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXIpICovXG4gIEVtYWlsID0gJ2VtYWlsJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byBqb2luIHVzZXJzIHRvIGEgZ3JvdXAgZG0gKi9cbiAgR3JvdXBETUpvaW5zID0gJ2dkbS5qb2luJyxcbiAgLyoqIEFsbG93cyByZXF1ZXN0cyB0byBbL3VzZXJzL0BtZS9ndWlsZHNdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXItZ3VpbGRzKSAqL1xuICBHdWlsZHMgPSAnZ3VpbGRzJyxcbiAgLyoqIEFsbG93cyByZXF1ZXN0cyB0byBbL2d1aWxkcy97Z3VpbGQuaWR9L21lbWJlcnMve3VzZXIuaWR9XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjYWRkLWd1aWxkLW1lbWJlcikgKi9cbiAgR3VpbGRzSm9pbiA9ICdndWlsZHMuam9pbicsXG4gIC8qKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy91c2Vycy9AbWUvZ3VpbGRzL3tndWlsZC5pZH0vbWVtYmVyXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyLWd1aWxkLW1lbWJlcikgKi9cbiAgR3VpbGRzTWVtYmVyc1JlYWQgPSAnZ3VpbGRzLm1lbWJlcnMucmVhZCcsXG4gIC8qKlxuICAgKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy91c2Vycy9AbWVdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXIpXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoZSByZXR1cm4gb2JqZWN0IGZyb20gWy91c2Vycy9AbWVdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXIpXG4gICAqIGRvZXMgTk9UIGNvbnRhaW4gdGhlIGBlbWFpbGAgZmllbGQgdW5sZXNzIHRoZSBzY29wZSBgZW1haWxgIGlzIGFsc28gdXNlZFxuICAgKi9cbiAgSWRlbnRpZnkgPSAnaWRlbnRpZnknLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYXBpIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIHJlYWQgbWVzc2FnZXMgZnJvbSBhbGwgY2xpZW50IGNoYW5uZWxzXG4gICAqIChvdGhlcndpc2UgcmVzdHJpY3RlZCB0byBjaGFubmVscy9ndWlsZHMgeW91ciBhcHAgY3JlYXRlcylcbiAgICovXG4gIE1lc3NhZ2VzUmVhZCA9ICdtZXNzYWdlcy5yZWFkJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byBrbm93IGEgdXNlcidzIGZyaWVuZHMgYW5kIGltcGxpY2l0IHJlbGF0aW9uc2hpcHNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJlbGF0aW9uc2hpcHNSZWFkID0gJ3JlbGF0aW9uc2hpcHMucmVhZCcsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBkYXRlIGEgdXNlcidzIGNvbm5lY3Rpb24gYW5kIG1ldGFkYXRhIGZvciB0aGUgYXBwICovXG4gIFJvbGVDb25uZWN0aW9uc1dyaXRlID0gJ3JvbGVfY29ubmVjdGlvbnMud3JpdGUnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gY29udHJvbCBhIHVzZXIncyBsb2NhbCBEaXNjb3JkIGNsaWVudFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgUlBDID0gJ3JwYycsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byB1cGRhdGUgYSB1c2VyJ3MgYWN0aXZpdHlcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ0FjdGl2aXRpZXNXcml0ZSA9ICdycGMuYWN0aXZpdGllcy53cml0ZScsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhcGkgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gcmVjZWl2ZSBub3RpZmljYXRpb25zIHB1c2hlZCBvdXQgdG8gdGhlIHVzZXJcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ05vdGlmaWNhdGlvbnNSZWFkID0gJ3JwYy5ub3RpZmljYXRpb25zLnJlYWQnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gcmVhZCBhIHVzZXIncyB2b2ljZSBzZXR0aW5ncyBhbmQgbGlzdGVuIGZvciB2b2ljZSBldmVudHNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ1ZvaWNlUmVhZCA9ICdycGMudm9pY2UucmVhZCcsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byB1cGRhdGUgYSB1c2VyJ3Mgdm9pY2Ugc2V0dGluZ3NcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ1ZvaWNlV3JpdGUgPSAncnBjLnZvaWNlLndyaXRlJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byBjb25uZWN0IHRvIHZvaWNlIG9uIHVzZXIncyBiZWhhbGYgYW5kIHNlZSBhbGwgdGhlIHZvaWNlIG1lbWJlcnNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFZvaWNlID0gJ3ZvaWNlJyxcbiAgLyoqIEdlbmVyYXRlIGEgd2ViaG9vayB0aGF0IGlzIHJldHVybmVkIGluIHRoZSBvYXV0aCB0b2tlbiByZXNwb25zZSBmb3IgYXV0aG9yaXphdGlvbiBjb2RlIGdyYW50cyAqL1xuICBXZWJob29rSW5jb21pbmcgPSAnd2ViaG9vay5pbmNvbWluZycsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjaW50ZWdyYXRpb24tb2JqZWN0LWludGVncmF0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb24ge1xuICAvKiogSW50ZWdyYXRpb24gSWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSW50ZWdyYXRpb24gbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIEludGVncmF0aW9uIHR5cGUgKHR3aXRjaCwgeW91dHViZSwgZGlzY29yZCwgb3IgZ3VpbGRfc3Vic2NyaXB0aW9uKS4gKi9cbiAgdHlwZTogJ3R3aXRjaCcgfCAneW91dHViZScgfCAnZGlzY29yZCdcbiAgLyoqIElzIHRoaXMgaW50ZWdyYXRpb24gZW5hYmxlZCAqL1xuICBlbmFibGVkPzogYm9vbGVhblxuICAvKiogSXMgdGhpcyBpbnRlZ3JhdGlvbiBzeW5jaW5nICovXG4gIHN5bmNpbmc/OiBib29sZWFuXG4gIC8qKiBSb2xlIElkIHRoYXQgdGhpcyBpbnRlZ3JhdGlvbiB1c2VzIGZvciBcInN1YnNjcmliZXJzXCIgKi9cbiAgcm9sZV9pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciBlbW90aWNvbnMgc2hvdWxkIGJlIHN5bmNlZCBmb3IgdGhpcyBpbnRlZ3JhdGlvbiAodHdpdGNoIG9ubHkgY3VycmVudGx5KSAqL1xuICBlbmFibGVfZW1vdGljb25zPzogYm9vbGVhblxuICAvKiogVGhlIGJlaGF2aW9yIG9mIGV4cGlyaW5nIHN1YnNjcmliZXJzICovXG4gIGV4cGlyZV9iZWhhdmlvcj86IEludGVncmF0aW9uRXhwaXJlQmVoYXZpb3JzXG4gIC8qKiBUaGUgZ3JhY2UgcGVyaW9kIChpbiBkYXlzKSBiZWZvcmUgZXhwaXJpbmcgc3Vic2NyaWJlcnMgKi9cbiAgZXhwaXJlX2dyYWNlX3BlcmlvZD86IG51bWJlclxuICAvKiogV2hlbiB0aGlzIGludGVncmF0aW9uIHdhcyBsYXN0IHN5bmNlZCAqL1xuICBzeW5jZWRfYXQ/OiBzdHJpbmdcbiAgLyoqIEhvdyBtYW55IHN1YnNjcmliZXJzIHRoaXMgaW50ZWdyYXRpb24gaGFzICovXG4gIHN1YnNjcmliZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIEhhcyB0aGlzIGludGVncmF0aW9uIGJlZW4gcmV2b2tlZCAqL1xuICByZXZva2VkPzogYm9vbGVhblxuICAvKiogVXNlciBmb3IgdGhpcyBpbnRlZ3JhdGlvbiAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIEludGVncmF0aW9uIGFjY291bnQgaW5mb3JtYXRpb24gKi9cbiAgYWNjb3VudDogRGlzY29yZEludGVncmF0aW9uQWNjb3VudFxuICAvKiogVGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gZm9yIGRpc2NvcmQgaW50ZWdyYXRpb25zICovXG4gIGFwcGxpY2F0aW9uPzogRGlzY29yZEludGVncmF0aW9uQXBwbGljYXRpb25cbiAgLyoqIHRoZSBzY29wZXMgdGhlIGFwcGxpY2F0aW9uIGhhcyBiZWVuIGF1dGhvcml6ZWQgZm9yICovXG4gIHNjb3BlczogT0F1dGgyU2NvcGVbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2ludGVncmF0aW9uLWFjY291bnQtb2JqZWN0LWludGVncmF0aW9uLWFjY291bnQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlZ3JhdGlvbkFjY291bnQge1xuICAvKiogSWQgb2YgdGhlIGFjY291bnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogTmFtZSBvZiB0aGUgYWNjb3VudCAqL1xuICBuYW1lOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNpbnRlZ3JhdGlvbi1hcHBsaWNhdGlvbi1vYmplY3QtaW50ZWdyYXRpb24tYXBwbGljYXRpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlZ3JhdGlvbkFwcGxpY2F0aW9uIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgYXBwICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBhcHAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0aGUgaWNvbiBoYXNoIG9mIHRoZSBhcHAgKi9cbiAgaWNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBhcHAgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKiogVGhlIGJvdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBhcHBsaWNhdGlvbiAqL1xuICBib3Q/OiBEaXNjb3JkVXNlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXktZXZlbnRzI2ludGVncmF0aW9uLXVwZGF0ZS1pbnRlZ3JhdGlvbi11cGRhdGUtZXZlbnQtYWRkaXRpb25hbC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlIGV4dGVuZHMgRGlzY29yZEludGVncmF0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheS1ldmVudHMjaW50ZWdyYXRpb24tZGVsZXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlZ3JhdGlvbkRlbGV0ZSB7XG4gIC8qKiBJbnRlZ3JhdGlvbiBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogSWQgb2YgdGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gZm9yIHRoaXMgZGlzY29yZCBpbnRlZ3JhdGlvbiAqL1xuICBhcHBsaWNhdGlvbl9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjZ3VpbGQtaW50ZWdyYXRpb25zLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRJbnRlZ3JhdGlvbnNVcGRhdGUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIHdob3NlIGludGVncmF0aW9ucyB3ZXJlIHVwZGF0ZWQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjdHlwaW5nLXN0YXJ0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUeXBpbmdTdGFydCB7XG4gIC8qKiBVbml4IHRpbWUgKGluIHNlY29uZHMpIG9mIHdoZW4gdGhlIHVzZXIgc3RhcnRlZCB0eXBpbmcgKi9cbiAgdGltZXN0YW1wOiBudW1iZXJcbiAgLyoqIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgdXNlciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBtZW1iZXIgd2hvIHN0YXJ0ZWQgdHlwaW5nIGlmIHRoaXMgaGFwcGVuZWQgaW4gYSBndWlsZCAqL1xuICBtZW1iZXI/OiBEaXNjb3JkTWVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtbWVtYmVyLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVtYmVyIHtcbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgZGVhZmVuZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgZGVhZj86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgbXV0ZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgbXV0ZT86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBwZW5kaW5nPzogYm9vbGVhblxuICAvKiogVGhlIHVzZXIgdGhpcyBndWlsZCBtZW1iZXIgcmVwcmVzZW50cyAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoaXMgdXNlcnMgZ3VpbGQgbmlja25hbWUgKi9cbiAgbmljaz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBtZW1iZXJzIGN1c3RvbSBhdmF0YXIgZm9yIHRoaXMgc2VydmVyLiAqL1xuICBhdmF0YXI/OiBzdHJpbmdcbiAgLyoqIEFycmF5IG9mIHJvbGUgb2JqZWN0IGlkcyAqL1xuICByb2xlczogc3RyaW5nW11cbiAgLyoqIFdoZW4gdGhlIHVzZXIgam9pbmVkIHRoZSBndWlsZCAqL1xuICBqb2luZWRfYXQ6IHN0cmluZ1xuICAvKiogV2hlbiB0aGUgdXNlciBzdGFydGVkIGJvb3N0aW5nIHRoZSBndWlsZCAqL1xuICBwcmVtaXVtX3NpbmNlPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHBlcm1pc3Npb25zIHRoaXMgbWVtYmVyIGhhcyBpbiB0aGUgZ3VpbGQuIE9ubHkgcHJlc2VudCBvbiBpbnRlcmFjdGlvbiBldmVudHMgYW5kIE9BdXRoMiBjdXJyZW50IG1lbWJlciBmZXRjaC4gKi9cbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdcbiAgLyoqIHdoZW4gdGhlIHVzZXIncyB0aW1lb3V0IHdpbGwgZXhwaXJlIGFuZCB0aGUgdXNlciB3aWxsIGJlIGFibGUgdG8gY29tbXVuaWNhdGUgaW4gdGhlIGd1aWxkIGFnYWluIChzZXQgbnVsbCB0byByZW1vdmUgdGltZW91dCksIG51bGwgb3IgYSB0aW1lIGluIHRoZSBwYXN0IGlmIHRoZSB1c2VyIGlzIG5vdCB0aW1lZCBvdXQgKi9cbiAgY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbD86IHN0cmluZyB8IG51bGxcbiAgLyoqIEd1aWxkIG1lbWJlciBmbGFncyAqL1xuICBmbGFnczogbnVtYmVyXG4gIC8qKiBkYXRhIGZvciB0aGUgbWVtYmVyJ3MgZ3VpbGQgYXZhdGFyIGRlY29yYXRpb24gKi9cbiAgYXZhdGFyX2RlY29yYXRpb25fZGF0YT86IERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2F2YXRhci1kZWNvcmF0aW9uLWRhdGEtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSB7XG4gIC8qKiB0aGUgYXZhdGFyIGRlY29yYXRpb24gaGFzaCAqL1xuICBhc3NldDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgYXZhdGFyIGRlY29yYXRpb24ncyBTS1UgKi9cbiAgc2t1X2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNhcHBsaWNhdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uIHtcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBhcHAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGFwcCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBBbiBhcnJheSBvZiBycGMgb3JpZ2luIHVybHMsIGlmIHJwYyBpcyBlbmFibGVkICovXG4gIHJwY19vcmlnaW5zPzogc3RyaW5nW11cbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHRlcm1zIG9mIHNlcnZpY2UgKi9cbiAgdGVybXNfb2Zfc2VydmljZV91cmw/OiBzdHJpbmdcbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHByaXZhY3kgcG9saWN5ICovXG4gIHByaXZhY3lfcG9saWN5X3VybD86IHN0cmluZ1xuICAvKiogVGhlIGhleCBlbmNvZGVkIGtleSBmb3IgdmVyaWZpY2F0aW9uIGluIGludGVyYWN0aW9ucyBhbmQgdGhlIEdhbWVTREsncyBHZXRUaWNrZXQgKi9cbiAgdmVyaWZ5X2tleTogc3RyaW5nXG4gIC8qKiBJZiB0aGlzIGFwcGxpY2F0aW9uIGlzIGEgZ2FtZSBzb2xkIG9uIERpc2NvcmQsIHRoaXMgZmllbGQgd2lsbCBiZSB0aGUgaWQgb2YgdGhlIFwiR2FtZSBTS1VcIiB0aGF0IGlzIGNyZWF0ZWQsIGlmIGV4aXN0cyAqL1xuICBwcmltYXJ5X3NrdV9pZD86IHN0cmluZ1xuICAvKiogSWYgdGhpcyBhcHBsaWNhdGlvbiBpcyBhIGdhbWUgc29sZCBvbiBEaXNjb3JkLCB0aGlzIGZpZWxkIHdpbGwgYmUgdGhlIFVSTCBzbHVnIHRoYXQgbGlua3MgdG8gdGhlIHN0b3JlIHBhZ2UgKi9cbiAgc2x1Zz86IHN0cmluZ1xuICAvKiogVGhlIGFwcGxpY2F0aW9uJ3MgcHVibGljIGZsYWdzICovXG4gIGZsYWdzPzogQXBwbGljYXRpb25GbGFnc1xuICAvKiogVGhlIGlkIG9mIHRoZSBhcHAgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGljb24gaGFzaCBvZiB0aGUgYXBwICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZW4gZmFsc2Ugb25seSBhcHAgb3duZXIgY2FuIGpvaW4gdGhlIGFwcCdzIGJvdCB0byBndWlsZHMgKi9cbiAgYm90X3B1YmxpYzogYm9vbGVhblxuICAvKiogV2hlbiB0cnVlIHRoZSBhcHAncyBib3Qgd2lsbCBvbmx5IGpvaW4gdXBvbiBjb21wbGV0aW9uIG9mIHRoZSBmdWxsIG9hdXRoMiBjb2RlIGdyYW50IGZsb3cgKi9cbiAgYm90X3JlcXVpcmVfY29kZV9ncmFudDogYm9vbGVhblxuICAvKiogUGFydGlhbCB1c2VyIG9iamVjdCBjb250YWluaW5nIGluZm8gb24gdGhlIG93bmVyIG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBvd25lcj86IFBhcnRpYWw8RGlzY29yZFVzZXI+XG4gIC8qKiBJZiB0aGUgYXBwbGljYXRpb24gYmVsb25ncyB0byBhIHRlYW0sIHRoaXMgd2lsbCBiZSBhIGxpc3Qgb2YgdGhlIG1lbWJlcnMgb2YgdGhhdCB0ZWFtICovXG4gIHRlYW06IERpc2NvcmRUZWFtIHwgbnVsbFxuICAvKiogR3VpbGQgYXNzb2NpYXRlZCB3aXRoIHRoZSBhcHAuIEZvciBleGFtcGxlLCBhIGRldmVsb3BlciBzdXBwb3J0IHNlcnZlci4gKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIEEgcGFydGlhbCBvYmplY3Qgb2YgdGhlIGFzc29jaWF0ZWQgZ3VpbGQgKi9cbiAgZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIElmIHRoaXMgYXBwbGljYXRpb24gaXMgYSBnYW1lIHNvbGQgb24gRGlzY29yZCwgdGhpcyBmaWVsZCB3aWxsIGJlIHRoZSBoYXNoIG9mIHRoZSBpbWFnZSBvbiBzdG9yZSBlbWJlZHMgKi9cbiAgY292ZXJfaW1hZ2U/OiBzdHJpbmdcbiAgLyoqIHVwIHRvIDUgdGFncyBkZXNjcmliaW5nIHRoZSBjb250ZW50IGFuZCBmdW5jdGlvbmFsaXR5IG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICB0YWdzPzogc3RyaW5nW11cbiAgLyoqIHNldHRpbmdzIGZvciB0aGUgYXBwbGljYXRpb24ncyBkZWZhdWx0IGluLWFwcCBhdXRob3JpemF0aW9uIGxpbmssIGlmIGVuYWJsZWQgKi9cbiAgaW5zdGFsbF9wYXJhbXM/OiBEaXNjb3JkSW5zdGFsbFBhcmFtc1xuICAvKiogRGVmYXVsdCBzY29wZXMgYW5kIHBlcm1pc3Npb25zIGZvciBlYWNoIHN1cHBvcnRlZCBpbnN0YWxsYXRpb24gY29udGV4dC4gKi9cbiAgaW50ZWdyYXRpb25fdHlwZXNfY29uZmlnPzogUGFydGlhbDxSZWNvcmQ8YCR7RGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlfWAsIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZUNvbmZpZ3VyYXRpb24+PlxuICAvKiogdGhlIGFwcGxpY2F0aW9uJ3MgZGVmYXVsdCBjdXN0b20gYXV0aG9yaXphdGlvbiBsaW5rLCBpZiBlbmFibGVkICovXG4gIGN1c3RvbV9pbnN0YWxsX3VybD86IHN0cmluZ1xuICAvKiogdGhlIGFwcGxpY2F0aW9uJ3Mgcm9sZSBjb25uZWN0aW9uIHZlcmlmaWNhdGlvbiBlbnRyeSBwb2ludCwgd2hpY2ggd2hlbiBjb25maWd1cmVkIHdpbGwgcmVuZGVyIHRoZSBhcHAgYXMgYSB2ZXJpZmljYXRpb24gbWV0aG9kIGluIHRoZSBndWlsZCByb2xlIHZlcmlmaWNhdGlvbiBjb25maWd1cmF0aW9uICovXG4gIHJvbGVfY29ubmVjdGlvbnNfdmVyaWZpY2F0aW9uX3VybD86IHN0cmluZyB8IG51bGxcbiAgLyoqIEFuIGFwcHJveGltYXRlIGNvdW50IG9mIHRoZSBhcHAncyBndWlsZCBtZW1iZXJzaGlwLiAqL1xuICBhcHByb3hpbWF0ZV9ndWlsZF9jb3VudD86IG51bWJlclxuICAvKiogQXBwcm94aW1hdGUgY291bnQgb2YgdXNlcnMgdGhhdCBoYXZlIGluc3RhbGxlZCB0aGUgYXBwLiAqL1xuICBhcHByb3hpbWF0ZV91c2VyX2luc3RhbGxfY291bnQ/OiBudW1iZXJcbiAgLyoqIFBhcnRpYWwgdXNlciBvYmplY3QgZm9yIHRoZSBib3QgdXNlciBhc3NvY2lhdGVkIHdpdGggdGhlIGFwcCAqL1xuICBib3Q/OiBQYXJ0aWFsPERpc2NvcmRVc2VyPlxuICAvKiogQXJyYXkgb2YgcmVkaXJlY3QgVVJJcyBmb3IgdGhlIGFwcCAqL1xuICByZWRpcmVjdF91cmlzPzogc3RyaW5nW11cbiAgLyoqIEludGVyYWN0aW9ucyBlbmRwb2ludCBVUkwgZm9yIHRoZSBhcHAgKi9cbiAgaW50ZXJhY3Rpb25zX2VuZHBvaW50X3VybD86IHN0cmluZyB8IG51bGxcbiAgLyoqIEV2ZW50IHdlYmhvb2sgVVJMIGZvciB0aGUgYXBwIHRvIHJlY2VpdmUgd2ViaG9vayBldmVudHMgKi9cbiAgZXZlbnRfd2ViaG9va3NfdXJsPzogc3RyaW5nIHwgbnVsbFxuICAvKiogSWYgd2ViaG9vayBldmVudHMgYXJlIGVuYWJsZWQgZm9yIHRoZSBhcHAuIDEgdG8gZGlzYWJsZSwgYW5kIDIgdG8gZW5hYmxlLiAqL1xuICBldmVudF93ZWJob29rc19zdGF0dXM6IERpc2NvcmRBcHBsaWNhdGlvbkV2ZW50V2ViaG9va1N0YXR1c1xuICAvKiogTGlzdCBvZiBXZWJob29rIGV2ZW50IHR5cGVzIHRoZSBhcHAgc3Vic2NyaWJlcyB0byAqL1xuICBldmVudF93ZWJob29rc190eXBlcz86IERpc2NvcmRXZWJob29rRXZlbnRUeXBlW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNhcHBsaWNhdGlvbi1vYmplY3QtYXBwbGljYXRpb24taW50ZWdyYXRpb24tdHlwZS1jb25maWd1cmF0aW9uLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGVDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEluc3RhbGwgcGFyYW1zIGZvciBlYWNoIGluc3RhbGxhdGlvbiBjb250ZXh0J3MgZGVmYXVsdCBpbi1hcHAgYXV0aG9yaXphdGlvbiBsaW5rXG4gICAqXG4gICAqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNpbnN0YWxsLXBhcmFtcy1vYmplY3QtaW5zdGFsbC1wYXJhbXMtc3RydWN0dXJlXG4gICAqL1xuICBvYXV0aDJfaW5zdGFsbF9wYXJhbXM/OiBEaXNjb3JkSW5zdGFsbFBhcmFtc1xufVxuXG5leHBvcnQgZW51bSBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUge1xuICAvKiogQXBwIGlzIGluc3RhbGxhYmxlIHRvIHNlcnZlcnMgKi9cbiAgR3VpbGRJbnN0YWxsID0gMCxcbiAgLyoqIEFwcCBpcyBpbnN0YWxsYWJsZSB0byB1c2VycyAqL1xuICBVc2VySW5zdGFsbCA9IDEsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXBwbGljYXRpb24jYXBwbGljYXRpb24tb2JqZWN0LWFwcGxpY2F0aW9uLWV2ZW50LXdlYmhvb2stc3RhdHVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkQXBwbGljYXRpb25FdmVudFdlYmhvb2tTdGF0dXMge1xuICAvKiogV2ViaG9vayBldmVudHMgYXJlIGRpc2FibGVkIGJ5IGRldmVsb3BlciAqL1xuICBEaXNhYmxlZCA9IDEsXG4gIC8qKiBXZWJob29rIGV2ZW50cyBhcmUgZW5hYmxlZCBieSBkZXZlbG9wZXIgKi9cbiAgRW5hYmxlZCA9IDIsXG4gIC8qKiBXZWJob29rIGV2ZW50cyBhcmUgZGlzYWJsZWQgYnkgRGlzY29yZCwgdXN1YWxseSBkdWUgdG8gaW5hY3Rpdml0eSAqL1xuICBEaXNhYmxlZEJ5RGlzY29yZCA9IDMsXG59XG5cbmV4cG9ydCB0eXBlIERpc2NvcmRUb2tlbkV4Y2hhbmdlID0gRGlzY29yZFRva2VuRXhjaGFuZ2VBdXRob3JpemF0aW9uQ29kZSB8IERpc2NvcmRUb2tlbkV4Y2hhbmdlUmVmcmVzaFRva2VuIHwgRGlzY29yZFRva2VuRXhjaGFuZ2VDbGllbnRDcmVkZW50aWFsc1xuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlbkV4Y2hhbmdlQXV0aG9yaXphdGlvbkNvZGUge1xuICBncmFudF90eXBlOiAnYXV0aG9yaXphdGlvbl9jb2RlJ1xuICAvKiogVGhlIGNvZGUgZm9yIHRoZSB0b2tlbiBleGNoYW5nZSAqL1xuICBjb2RlOiBzdHJpbmdcbiAgLyoqIFRoZSByZWRpcmVjdF91cmkgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYXV0aG9yaXphdGlvbiAqL1xuICByZWRpcmVjdF91cmk6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNjbGllbnQtY3JlZGVudGlhbHMtZ3JhbnQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuRXhjaGFuZ2VSZWZyZXNoVG9rZW4ge1xuICBncmFudF90eXBlOiAncmVmcmVzaF90b2tlbidcbiAgLyoqIHRoZSB1c2VyJ3MgcmVmcmVzaCB0b2tlbiAqL1xuICByZWZyZXNoX3Rva2VuOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjY2xpZW50LWNyZWRlbnRpYWxzLWdyYW50ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlbkV4Y2hhbmdlQ2xpZW50Q3JlZGVudGlhbHMge1xuICBncmFudF90eXBlOiAnY2xpZW50X2NyZWRlbnRpYWxzJ1xuICAvKiogVGhlIHNjb3BlKHMpIGZvciB0aGUgYWNjZXNzIHRva2VuICovXG4gIHNjb3BlOiBPQXV0aDJTY29wZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjY2Vzc1Rva2VuUmVzcG9uc2Uge1xuICAvKiogVGhlIGFjY2VzcyB0b2tlbiBvZiB0aGUgdXNlciAqL1xuICBhY2Nlc3NfdG9rZW46IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgdG9rZW4gKi9cbiAgdG9rZW5fdHlwZTogc3RyaW5nXG4gIC8qKiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYWZ0ZXIgdGhhdCB0aGUgYWNjZXNzIHRva2VuIGlzIGV4cGlyZWQgKi9cbiAgZXhwaXJlc19pbjogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgcmVmcmVzaCB0b2tlbiB0byByZWZyZXNoIHRoZSBhY2Nlc3MgdG9rZW5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiB0aGUgdG9rZW4gZXhjaGFuZ2UgaXMgYSBjbGllbnQgY3JlZGVudGlhbHMgdHlwZSBncmFudCB0aGlzIHZhbHVlIGlzIG5vdCBkZWZpbmVkLlxuICAgKi9cbiAgcmVmcmVzaF90b2tlbjogc3RyaW5nXG4gIC8qKiBUaGUgc2NvcGVzIGZvciB0aGUgYWNjZXNzIHRva2VuICovXG4gIHNjb3BlOiBzdHJpbmdcbiAgLyoqIFRoZSB3ZWJob29rIHRoZSB1c2VyIGNyZWF0ZWQgZm9yIHRoZSBhcHBsaWNhdGlvbi4gUmVxdWlyZXMgdGhlIGB3ZWJob29rLmluY29taW5nYCBzY29wZSAqL1xuICB3ZWJob29rPzogRGlzY29yZEluY29taW5nV2ViaG9va1xuICAvKiogVGhlIGd1aWxkIHRoZSBib3QgaGFzIGJlZW4gYWRkZWQuIFJlcXVpcmVzIHRoZSBgYm90YCBzY29wZSAqL1xuICBndWlsZD86IERpc2NvcmRHdWlsZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlblJldm9jYXRpb24ge1xuICAvKiogVGhlIGFjY2VzcyB0b2tlbiB0byByZXZva2UgKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogT3B0aW9uYWwsIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcgZm9yIHRoZSByZXZvY2F0aW9uICovXG4gIHRva2VuX3R5cGVfaGludD86ICdhY2Nlc3NfdG9rZW4nIHwgJ3JlZnJlc2hfdG9rZW4nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2dldC1jdXJyZW50LWF1dGhvcml6YXRpb24taW5mb3JtYXRpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDdXJyZW50QXV0aG9yaXphdGlvbiB7XG4gIGFwcGxpY2F0aW9uOiBEaXNjb3JkQXBwbGljYXRpb25cbiAgLyoqIHRoZSBzY29wZXMgdGhlIHVzZXIgaGFzIGF1dGhvcml6ZWQgdGhlIGFwcGxpY2F0aW9uIGZvciAqL1xuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbiAgLyoqIHdoZW4gdGhlIGFjY2VzcyB0b2tlbiBleHBpcmVzICovXG4gIGV4cGlyZXM6IHN0cmluZ1xuICAvKiogdGhlIHVzZXIgd2hvIGhhcyBhdXRob3JpemVkLCBpZiB0aGUgdXNlciBoYXMgYXV0aG9yaXplZCB3aXRoIHRoZSBgaWRlbnRpZnlgIHNjb3BlICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjY29ubmVjdGlvbi1vYmplY3QtY29ubmVjdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENvbm5lY3Rpb24ge1xuICAvKiogaWQgb2YgdGhlIGNvbm5lY3Rpb24gYWNjb3VudCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB0aGUgdXNlcm5hbWUgb2YgdGhlIGNvbm5lY3Rpb24gYWNjb3VudCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIHRoZSBzZXJ2aWNlIG9mIHRoaXMgY29ubmVjdGlvbiAqL1xuICB0eXBlOiBEaXNjb3JkQ29ubmVjdGlvblNlcnZpY2VUeXBlXG4gIC8qKiB3aGV0aGVyIHRoZSBjb25uZWN0aW9uIGlzIHJldm9rZWQgKi9cbiAgcmV2b2tlZD86IGJvb2xlYW5cbiAgLyoqIGFuIGFycmF5IG9mIHBhcnRpYWwgc2VydmVyIGludGVncmF0aW9ucyAqL1xuICBpbnRlZ3JhdGlvbnM/OiBQYXJ0aWFsPERpc2NvcmRJbnRlZ3JhdGlvbj5bXVxuICAvKiogd2hldGhlciB0aGUgY29ubmVjdGlvbiBpcyB2ZXJpZmllZCAqL1xuICB2ZXJpZmllZDogYm9vbGVhblxuICAvKiogd2hldGhlciBmcmllbmQgc3luYyBpcyBlbmFibGVkIGZvciB0aGlzIGNvbm5lY3Rpb24gKi9cbiAgZnJpZW5kX3N5bmM6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgYWN0aXZpdGllcyByZWxhdGVkIHRvIHRoaXMgY29ubmVjdGlvbiB3aWxsIGJlIHNob3duIGluIHByZXNlbmNlIHVwZGF0ZXMgKi9cbiAgc2hvd19hY3Rpdml0eTogYm9vbGVhblxuICAvKiogd2hldGhlciB0aGlzIGNvbm5lY3Rpb24gaGFzIGEgY29ycmVzcG9uZGluZyB0aGlyZCBwYXJ0eSBPQXV0aDIgdG9rZW4gKi9cbiAgdHdvX3dheV9saW5rOiBib29sZWFuXG4gIC8qKiB2aXNpYmlsaXR5IG9mIHRoaXMgY29ubmVjdGlvbiAqL1xuICB2aXNpYmlsaXR5OiBEaXNjb3JkQ29ubmVjdGlvblZpc2liaWxpdHlcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2Nvbm5lY3Rpb24tb2JqZWN0LXNlcnZpY2VzICovXG5leHBvcnQgZW51bSBEaXNjb3JkQ29ubmVjdGlvblNlcnZpY2VUeXBlIHtcbiAgQW1hem9uTXVzaWMgPSAnYW1hem9uLW11c2ljJyxcbiAgQmF0dGxlTmV0ID0gJ2JhdHRsZW5ldCcsXG4gIEJ1bmdpZSA9ICdCdW5naWUubmV0JyxcbiAgRG9tYWluID0gJ2RvbWFpbicsXG4gIGVCYXkgPSAnZWJheScsXG4gIEVwaWNHYW1lcyA9ICdlcGljZ2FtZXMnLFxuICBGYWNlYm9vayA9ICdmYWNlYm9vaycsXG4gIEdpdEh1YiA9ICdnaXRodWInLFxuICBJbnN0YWdyYW0gPSAnaW5zdGFncmFtJyxcbiAgTGVhZ3VlT2ZMZWdlbmRzID0gJ2xlYWd1ZW9mbGVnZW5kcycsXG4gIFBheVBhbCA9ICdwYXlwYWwnLFxuICBQbGF5U3RhdGlvbk5ldHdvcmsgPSAncGxheXN0YXRpb24nLFxuICBSZWRkaXQgPSAncmVkZGl0JyxcbiAgUmlvdEdhbWVzID0gJ3Jpb3RnYW1lcycsXG4gIFJvYmxveCA9ICdyb2Jsb3gnLFxuICBTcG90aWZ5ID0gJ3Nwb3RpZnknLFxuICBTa3lwZSA9ICdza3lwZScsXG4gIFN0ZWFtID0gJ3N0ZWFtJyxcbiAgVGlrVG9rID0gJ3Rpa3RvaycsXG4gIFR3aXRjaCA9ICd0d2l0Y2gnLFxuICBUd2l0dGVyID0gJ3R3aXR0ZXInLFxuICBYYm94ID0gJ3hib3gnLFxuICBZb3VUdWJlID0gJ3lvdXR1YmUnLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjY29ubmVjdGlvbi1vYmplY3QtdmlzaWJpbGl0eS10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZENvbm5lY3Rpb25WaXNpYmlsaXR5IHtcbiAgLyoqIGludmlzaWJsZSB0byBldmVyeW9uZSBleGNlcHQgdGhlIHVzZXIgdGhlbXNlbHZlcyAqL1xuICBOb25lID0gMCxcbiAgLyoqIHZpc2libGUgdG8gZXZlcnlvbmUgKi9cbiAgRXZlcnlvbmUgPSAxLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjYXBwbGljYXRpb24tcm9sZS1jb25uZWN0aW9uLW9iamVjdC1hcHBsaWNhdGlvbi1yb2xlLWNvbm5lY3Rpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uIHtcbiAgLyoqIHRoZSB2YW5pdHkgbmFtZSBvZiB0aGUgcGxhdGZvcm0gYSBib3QgaGFzIGNvbm5lY3RlZCAobWF4IDUwIGNoYXJhY3RlcnMpICovXG4gIHBsYXRmb3JtX25hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSB1c2VybmFtZSBvbiB0aGUgcGxhdGZvcm0gYSBib3QgaGFzIGNvbm5lY3RlZCAobWF4IDEwMCBjaGFyYWN0ZXJzKSAqL1xuICBwbGF0Zm9ybV91c2VybmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogb2JqZWN0IG1hcHBpbmcgYXBwbGljYXRpb24gcm9sZSBjb25uZWN0aW9uIG1ldGFkYXRhIGtleXMgdG8gdGhlaXIgc3RyaW5naWZpZWQgdmFsdWUgKG1heCAxMDAgY2hhcmFjdGVycykgZm9yIHRoZSB1c2VyIG9uIHRoZSBwbGF0Zm9ybSBhIGJvdCBoYXMgY29ubmVjdGVkICovXG4gIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvdGVhbXMjZGF0YS1tb2RlbHMtdGVhbS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRlYW0ge1xuICAvKiogSGFzaCBvZiB0aGUgaW1hZ2Ugb2YgdGhlIHRlYW0ncyBpY29uICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFVuaXF1ZSBJRCBvZiB0aGUgdGVhbSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBNZW1iZXJzIG9mIHRoZSB0ZWFtICovXG4gIG1lbWJlcnM6IERpc2NvcmRUZWFtTWVtYmVyW11cbiAgLyoqIFVzZXIgSUQgb2YgdGhlIGN1cnJlbnQgdGVhbSBvd25lciAqL1xuICBvd25lcl91c2VyX2lkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIHRlYW0gKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvdGVhbXMjZGF0YS1tb2RlbHMtdGVhbS1tZW1iZXJzLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGVhbU1lbWJlciB7XG4gIC8qKiBUaGUgdXNlcidzIG1lbWJlcnNoaXAgc3RhdGUgb24gdGhlIHRlYW0gKi9cbiAgbWVtYmVyc2hpcF9zdGF0ZTogVGVhbU1lbWJlcnNoaXBTdGF0ZXNcbiAgLyoqIFRoZSBpZCBvZiB0aGUgcGFyZW50IHRlYW0gb2Ygd2hpY2ggdGhleSBhcmUgYSBtZW1iZXIgKi9cbiAgdGVhbV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgYXZhdGFyLCBkaXNjcmltaW5hdG9yLCBpZCwgdXNlcm5hbWUsIGFuZCBnbG9iYWxfbmFtZSBvZiB0aGUgdXNlciAqL1xuICB1c2VyOiBQYXJ0aWFsPERpc2NvcmRVc2VyPiAmIFBpY2s8RGlzY29yZFVzZXIsICdhdmF0YXInIHwgJ2Rpc2NyaW1pbmF0b3InIHwgJ2lkJyB8ICd1c2VybmFtZScgfCAnZ2xvYmFsX25hbWUnPlxuICAvKiogUm9sZSBvZiB0aGUgdGVhbSBtZW1iZXIgKi9cbiAgcm9sZTogRGlzY29yZFRlYW1NZW1iZXJSb2xlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSN3ZWJob29rcy11cGRhdGUtd2ViaG9vay11cGRhdGUtZXZlbnQtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRXZWJob29rVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2FsbG93ZWQtbWVudGlvbnMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBbGxvd2VkTWVudGlvbnMge1xuICAvKiogQW4gYXJyYXkgb2YgYWxsb3dlZCBtZW50aW9uIHR5cGVzIHRvIHBhcnNlIGZyb20gdGhlIGNvbnRlbnQuICovXG4gIHBhcnNlPzogQWxsb3dlZE1lbnRpb25zVHlwZXNbXVxuICAvKiogRm9yIHJlcGxpZXMsIHdoZXRoZXIgdG8gbWVudGlvbiB0aGUgYXV0aG9yIG9mIHRoZSBtZXNzYWdlIGJlaW5nIHJlcGxpZWQgdG8gKGRlZmF1bHQgZmFsc2UpICovXG4gIHJlcGxpZWRfdXNlcj86IGJvb2xlYW5cbiAgLyoqIEFycmF5IG9mIHJvbGVfaWRzIHRvIG1lbnRpb24gKE1heCBzaXplIG9mIDEwMCkgKi9cbiAgcm9sZXM/OiBzdHJpbmdbXVxuICAvKiogQXJyYXkgb2YgdXNlcl9pZHMgdG8gbWVudGlvbiAoTWF4IHNpemUgb2YgMTAwKSAqL1xuICB1c2Vycz86IHN0cmluZ1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkIHtcbiAgLyoqIFRpdGxlIG9mIGVtYmVkICovXG4gIHRpdGxlPzogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIGVtYmVkIChhbHdheXMgXCJyaWNoXCIgZm9yIHdlYmhvb2sgZW1iZWRzKSAqL1xuICB0eXBlPzogRW1iZWRUeXBlc1xuICAvKiogRGVzY3JpcHRpb24gb2YgZW1iZWQgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIFVybCBvZiBlbWJlZCAqL1xuICB1cmw/OiBzdHJpbmdcbiAgLyoqIENvbG9yIGNvZGUgb2YgdGhlIGVtYmVkICovXG4gIGNvbG9yPzogbnVtYmVyXG4gIC8qKiBUaW1lc3RhbXAgb2YgZW1iZWQgY29udGVudCAqL1xuICB0aW1lc3RhbXA/OiBzdHJpbmdcbiAgLyoqIEZvb3RlciBpbmZvcm1hdGlvbiAqL1xuICBmb290ZXI/OiBEaXNjb3JkRW1iZWRGb290ZXJcbiAgLyoqIEltYWdlIGluZm9ybWF0aW9uICovXG4gIGltYWdlPzogRGlzY29yZEVtYmVkSW1hZ2VcbiAgLyoqIFRodW1ibmFpbCBpbmZvcm1hdGlvbiAqL1xuICB0aHVtYm5haWw/OiBEaXNjb3JkRW1iZWRUaHVtYm5haWxcbiAgLyoqIFZpZGVvIGluZm9ybWF0aW9uICovXG4gIHZpZGVvPzogRGlzY29yZEVtYmVkVmlkZW9cbiAgLyoqIFByb3ZpZGVyIGluZm9ybWF0aW9uICovXG4gIHByb3ZpZGVyPzogRGlzY29yZEVtYmVkUHJvdmlkZXJcbiAgLyoqIEF1dGhvciBpbmZvcm1hdGlvbiAqL1xuICBhdXRob3I/OiBEaXNjb3JkRW1iZWRBdXRob3JcbiAgLyoqIEZpZWxkcyBpbmZvcm1hdGlvbiAqL1xuICBmaWVsZHM/OiBEaXNjb3JkRW1iZWRGaWVsZFtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtYXV0aG9yLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRBdXRob3Ige1xuICAvKiogTmFtZSBvZiBhdXRob3IgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBVcmwgb2YgYXV0aG9yICovXG4gIHVybD86IHN0cmluZ1xuICAvKiogVXJsIG9mIGF1dGhvciBpY29uIChvbmx5IHN1cHBvcnRzIGh0dHAocykgYW5kIGF0dGFjaG1lbnRzKSAqL1xuICBpY29uX3VybD86IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiBhdXRob3IgaWNvbiAqL1xuICBwcm94eV9pY29uX3VybD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjZW1iZWQtb2JqZWN0LWVtYmVkLWZpZWxkLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRGaWVsZCB7XG4gIC8qKiBOYW1lIG9mIHRoZSBmaWVsZCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFZhbHVlIG9mIHRoZSBmaWVsZCAqL1xuICB2YWx1ZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGZpZWxkIHNob3VsZCBkaXNwbGF5IGlubGluZSAqL1xuICBpbmxpbmU/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtZm9vdGVyLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRGb290ZXIge1xuICAvKiogRm9vdGVyIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nXG4gIC8qKiBVcmwgb2YgZm9vdGVyIGljb24gKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIGljb25fdXJsPzogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIGZvb3RlciBpY29uICovXG4gIHByb3h5X2ljb25fdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtaW1hZ2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZEltYWdlIHtcbiAgLyoqIFNvdXJjZSB1cmwgb2YgaW1hZ2UgKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSBpbWFnZSAqL1xuICBwcm94eV91cmw/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiBpbWFnZSAqL1xuICBoZWlnaHQ/OiBudW1iZXJcbiAgLyoqIFdpZHRoIG9mIGltYWdlICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkUHJvdmlkZXIge1xuICAvKiogTmFtZSBvZiBwcm92aWRlciAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBVcmwgb2YgcHJvdmlkZXIgKi9cbiAgdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtdGh1bWJuYWlsLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRUaHVtYm5haWwge1xuICAvKiogU291cmNlIHVybCBvZiB0aHVtYm5haWwgKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSB0aHVtYm5haWwgKi9cbiAgcHJveHlfdXJsPzogc3RyaW5nXG4gIC8qKiBIZWlnaHQgb2YgdGh1bWJuYWlsICovXG4gIGhlaWdodD86IG51bWJlclxuICAvKiogV2lkdGggb2YgdGh1bWJuYWlsICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtdmlkZW8tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZFZpZGVvIHtcbiAgLyoqIFNvdXJjZSB1cmwgb2YgdmlkZW8gKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIHRoZSB2aWRlbyAqL1xuICBwcm94eV91cmw/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiB2aWRlbyAqL1xuICBoZWlnaHQ/OiBudW1iZXJcbiAgLyoqIFdpZHRoIG9mIHZpZGVvICovXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNhdHRhY2htZW50LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXR0YWNobWVudCB7XG4gIC8qKiBOYW1lIG9mIGZpbGUgYXR0YWNoZWQgKi9cbiAgZmlsZW5hbWU6IHN0cmluZ1xuICAvKiogVGhlIHRpdGxlIG9mIHRoZSBmaWxlICovXG4gIHRpdGxlPzogc3RyaW5nXG4gIC8qKiBUaGUgYXR0YWNobWVudCdzIFttZWRpYSB0eXBlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NZWRpYV90eXBlKSAqL1xuICBjb250ZW50X3R5cGU/OiBzdHJpbmdcbiAgLyoqIFNpemUgb2YgZmlsZSBpbiBieXRlcyAqL1xuICBzaXplOiBudW1iZXJcbiAgLyoqIFNvdXJjZSB1cmwgb2YgZmlsZSAqL1xuICB1cmw6IHN0cmluZ1xuICAvKiogQSBwcm94aWVkIHVybCBvZiBmaWxlICovXG4gIHByb3h5X3VybDogc3RyaW5nXG4gIC8qKiBBdHRhY2htZW50IGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIGRlc2NyaXB0aW9uIGZvciB0aGUgZmlsZSAobWF4IDEwMjQgY2hhcmFjdGVycykgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiBmaWxlIChpZiBpbWFnZSkgKi9cbiAgaGVpZ2h0PzogbnVtYmVyIHwgbnVsbFxuICAvKiogV2lkdGggb2YgZmlsZSAoaWYgaW1hZ2UpICovXG4gIHdpZHRoPzogbnVtYmVyIHwgbnVsbFxuICAvKiogd2hldGhlciB0aGlzIGF0dGFjaG1lbnQgaXMgZXBoZW1lcmFsLiBFcGhlbWVyYWwgYXR0YWNobWVudHMgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIHJlbW92ZWQgYWZ0ZXIgYSBzZXQgcGVyaW9kIG9mIHRpbWUuIEVwaGVtZXJhbCBhdHRhY2htZW50cyBvbiBtZXNzYWdlcyBhcmUgZ3VhcmFudGVlZCB0byBiZSBhdmFpbGFibGUgYXMgbG9uZyBhcyB0aGUgbWVzc2FnZSBpdHNlbGYgZXhpc3RzLiAqL1xuICBlcGhlbWVyYWw/OiBib29sZWFuXG4gIC8qKiBUaGUgZHVyYXRpb24gb2YgdGhlIGF1ZGlvIGZpbGUgZm9yIGEgdm9pY2UgbWVzc2FnZSAqL1xuICBkdXJhdGlvbl9zZWNzPzogbnVtYmVyXG4gIC8qKiBBIGJhc2U2NCBlbmNvZGVkIGJ5dGVhcnJheSByZXByZXNlbnRpbmcgYSBzYW1wbGVkIHdhdmVmb3JtIGZvciBhIHZvaWNlIG1lc3NhZ2UgKi9cbiAgd2F2ZWZvcm0/OiBzdHJpbmdcbiAgLyoqIEF0dGFjaG1lbnQgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCAqL1xuICBmbGFncz86IEF0dGFjaG1lbnRGbGFnc1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3dlYmhvb2sjd2ViaG9vay1vYmplY3Qtd2ViaG9vay1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRXZWJob29rID0gRGlzY29yZEluY29taW5nV2ViaG9vayB8IERpc2NvcmRBcHBsaWNhdGlvbldlYmhvb2tcblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW5jb21pbmdXZWJob29rIHtcbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSB3ZWJob29rICovXG4gIHR5cGU6IFdlYmhvb2tUeXBlc1xuICAvKiogVGhlIHNlY3VyZSB0b2tlbiBvZiB0aGUgd2ViaG9vayAocmV0dXJuZWQgZm9yIEluY29taW5nIFdlYmhvb2tzKSAqL1xuICB0b2tlbj86IHN0cmluZ1xuICAvKiogVGhlIHVybCB1c2VkIGZvciBleGVjdXRpbmcgdGhlIHdlYmhvb2sgKHJldHVybmVkIGJ5IHRoZSB3ZWJob29rcyBPQXV0aDIgZmxvdykgKi9cbiAgdXJsPzogc3RyaW5nXG5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgd2ViaG9vayAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHRoaXMgd2ViaG9vayB3YXMgY3JlYXRlZCBieSAobm90IHJldHVybmVkIHdoZW4gZ2V0dGluZyBhIHdlYmhvb2sgd2l0aCBpdHMgdG9rZW4pICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGRlZmF1bHQgbmFtZSBvZiB0aGUgd2ViaG9vayAqL1xuICBuYW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZGVmYXVsdCB1c2VyIGF2YXRhciBoYXNoIG9mIHRoZSB3ZWJob29rICovXG4gIGF2YXRhcjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gdGhhdCBjcmVhdGVkIHRoaXMgd2ViaG9vayAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBjaGFubmVsIHRoYXQgdGhpcyB3ZWJob29rIGlzIGZvbGxvd2luZyAocmV0dXJuZWQgZm9yIENoYW5uZWwgRm9sbG93ZXIgV2ViaG9va3MpICovXG4gIHNvdXJjZV9ndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogVGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcykgKi9cbiAgc291cmNlX2NoYW5uZWw/OiBQYXJ0aWFsPERpc2NvcmRDaGFubmVsPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbldlYmhvb2sge1xuICAvKiogVGhlIHR5cGUgb2YgdGhlIHdlYmhvb2sgKi9cbiAgdHlwZTogV2ViaG9va1R5cGVzLkFwcGxpY2F0aW9uXG4gIC8qKiBUaGUgc2VjdXJlIHRva2VuIG9mIHRoZSB3ZWJob29rIChyZXR1cm5lZCBmb3IgSW5jb21pbmcgV2ViaG9va3MpICovXG4gIHRva2VuPzogc3RyaW5nXG4gIC8qKiBUaGUgdXJsIHVzZWQgZm9yIGV4ZWN1dGluZyB0aGUgd2ViaG9vayAocmV0dXJuZWQgYnkgdGhlIHdlYmhvb2tzIE9BdXRoMiBmbG93KSAqL1xuICB1cmw/OiBzdHJpbmdcblxuICAvKiogVGhlIGlkIG9mIHRoZSB3ZWJob29rICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCB0aGlzIHdlYmhvb2sgaXMgZm9yICovXG4gIGd1aWxkX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB3ZWJob29rIGlzIGZvciAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHVzZXIgdGhpcyB3ZWJob29rIHdhcyBjcmVhdGVkIGJ5IChub3QgcmV0dXJuZWQgd2hlbiBnZXR0aW5nIGEgd2ViaG9vayB3aXRoIGl0cyB0b2tlbikgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgZGVmYXVsdCBuYW1lIG9mIHRoZSB3ZWJob29rICovXG4gIG5hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZWZhdWx0IHVzZXIgYXZhdGFyIGhhc2ggb2YgdGhlIHdlYmhvb2sgKi9cbiAgYXZhdGFyOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgYm90L09BdXRoMiBhcHBsaWNhdGlvbiB0aGF0IGNyZWF0ZWQgdGhpcyB3ZWJob29rICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZ3VpbGQgb2YgdGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcyksIGZpZWxkIHdpbGwgYmUgYWJzZW50IGlmIHRoZSB3ZWJob29rIGNyZWF0b3IgaGFzIHNpbmNlIGxvc3QgYWNjZXNzIHRvIHRoZSBndWlsZCB3aGVyZSB0aGUgZm9sbG93ZWQgY2hhbm5lbCByZXNpZGVzICovXG4gIHNvdXJjZV9ndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogVGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcyksIGZpZWxkIHdpbGwgYmUgYWJzZW50IGlmIHRoZSB3ZWJob29rIGNyZWF0b3IgaGFzIHNpbmNlIGxvc3QgYWNjZXNzIHRvIHRoZSBndWlsZCB3aGVyZSB0aGUgZm9sbG93ZWQgY2hhbm5lbCByZXNpZGVzICovXG4gIHNvdXJjZV9jaGFubmVsPzogUGFydGlhbDxEaXNjb3JkQ2hhbm5lbD5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkIHtcbiAgLyoqIEd1aWxkIG5hbWUgKDItMTAwIGNoYXJhY3RlcnMsIGV4Y2x1ZGluZyB0cmFpbGluZyBhbmQgbGVhZGluZyB3aGl0ZXNwYWNlKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRydWUgaWYgdGhlIHVzZXIgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcj86IGJvb2xlYW5cbiAgLyoqIEFmayB0aW1lb3V0IGluIHNlY29uZHMgKi9cbiAgYWZrX3RpbWVvdXQ6IG51bWJlclxuICAvKiogVHJ1ZSBpZiB0aGUgc2VydmVyIHdpZGdldCBpcyBlbmFibGVkICovXG4gIHdpZGdldF9lbmFibGVkPzogYm9vbGVhblxuICAvKiogVmVyaWZpY2F0aW9uIGxldmVsIHJlcXVpcmVkIGZvciB0aGUgZ3VpbGQgKi9cbiAgdmVyaWZpY2F0aW9uX2xldmVsOiBWZXJpZmljYXRpb25MZXZlbHNcbiAgLyoqIERlZmF1bHQgbWVzc2FnZSBub3RpZmljYXRpb25zIGxldmVsICovXG4gIGRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zOiBEZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbkxldmVsc1xuICAvKiogRXhwbGljaXQgY29udGVudCBmaWx0ZXIgbGV2ZWwgKi9cbiAgZXhwbGljaXRfY29udGVudF9maWx0ZXI6IEV4cGxpY2l0Q29udGVudEZpbHRlckxldmVsc1xuICAvKiogRW5hYmxlZCBndWlsZCBmZWF0dXJlcyAqL1xuICBmZWF0dXJlczogR3VpbGRGZWF0dXJlc1tdXG4gIC8qKiBSZXF1aXJlZCBNRkEgbGV2ZWwgZm9yIHRoZSBndWlsZCAqL1xuICBtZmFfbGV2ZWw6IE1mYUxldmVsc1xuICAvKiogU3lzdGVtIGNoYW5uZWwgZmxhZ3MgKi9cbiAgc3lzdGVtX2NoYW5uZWxfZmxhZ3M6IFN5c3RlbUNoYW5uZWxGbGFnc1xuICAvKiogVHJ1ZSBpZiB0aGlzIGlzIGNvbnNpZGVyZWQgYSBsYXJnZSBndWlsZCAqL1xuICBsYXJnZT86IGJvb2xlYW5cbiAgLyoqIFRydWUgaWYgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIHVuYXZhaWxhYmxlPzogYm9vbGVhblxuICAvKiogVG90YWwgbnVtYmVyIG9mIG1lbWJlcnMgaW4gdGhpcyBndWlsZCAqL1xuICBtZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcmVzZW5jZXMgZm9yIHRoZSBndWlsZCAodGhlIGRlZmF1bHQgdmFsdWUsIGN1cnJlbnRseSAyNTAwMCwgaXMgaW4gZWZmZWN0IHdoZW4gbnVsbCBpcyByZXR1cm5lZCkgKi9cbiAgbWF4X3ByZXNlbmNlcz86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtZW1iZXJzIGZvciB0aGUgZ3VpbGQgKi9cbiAgbWF4X21lbWJlcnM/OiBudW1iZXJcbiAgLyoqIFRoZSB2YW5pdHkgdXJsIGNvZGUgZm9yIHRoZSBndWlsZCAqL1xuICB2YW5pdHlfdXJsX2NvZGU6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBvZiBhIGd1aWxkICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBQcmVtaXVtIHRpZXIgKFNlcnZlciBCb29zdCBsZXZlbCkgKi9cbiAgcHJlbWl1bV90aWVyOiBQcmVtaXVtVGllcnNcbiAgLyoqIFRoZSBudW1iZXIgb2YgYm9vc3RzIHRoaXMgZ3VpbGQgY3VycmVudGx5IGhhcyAqL1xuICBwcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudD86IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gYW1vdW50IG9mIHVzZXJzIGluIGEgdmlkZW8gY2hhbm5lbCAqL1xuICBtYXhfdmlkZW9fY2hhbm5lbF91c2Vycz86IG51bWJlclxuICAvKiogTWF4aW11bSBhbW91bnQgb2YgdXNlcnMgaW4gYSBzdGFnZSB2aWRlbyBjaGFubmVsICovXG4gIG1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzPzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygbm9uLW9mZmxpbmUgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEd1aWxkIE5TRlcgbGV2ZWwgKi9cbiAgbnNmd19sZXZlbDogR3VpbGROc2Z3TGV2ZWxcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZDogYm9vbGVhblxuICAvKiogR3VpbGQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWNvbiBoYXNoICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIEljb24gaGFzaCwgcmV0dXJuZWQgd2hlbiBpbiB0aGUgdGVtcGxhdGUgb2JqZWN0ICovXG4gIGljb25faGFzaD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFNwbGFzaCBoYXNoICovXG4gIHNwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogRGlzY292ZXJ5IHNwbGFzaCBoYXNoOyBvbmx5IHByZXNlbnQgZm9yIGd1aWxkcyB3aXRoIHRoZSBcIkRJU0NPVkVSQUJMRVwiIGZlYXR1cmUgKi9cbiAgZGlzY292ZXJ5X3NwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogSWQgb2YgdGhlIG93bmVyICovXG4gIG93bmVyX2lkOiBzdHJpbmdcbiAgLyoqIFRvdGFsIHBlcm1pc3Npb25zIGZvciB0aGUgdXNlciBpbiB0aGUgZ3VpbGQgKGV4Y2x1ZGVzIG92ZXJ3cml0ZXMgYW5kIGltcGxpY2l0IHBlcm1pc3Npb25zKSAqL1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1xuICAvKiogSWQgb2YgYWZrIGNoYW5uZWwgKi9cbiAgYWZrX2NoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjaGFubmVsIGlkIHRoYXQgdGhlIHdpZGdldCB3aWxsIGdlbmVyYXRlIGFuIGludml0ZSB0bywgb3IgbnVsbCBpZiBzZXQgdG8gbm8gaW52aXRlICovXG4gIHdpZGdldF9jaGFubmVsX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogUm9sZXMgaW4gdGhlIGd1aWxkICovXG4gIHJvbGVzOiBEaXNjb3JkUm9sZVtdXG4gIC8qKiBDdXN0b20gZ3VpbGQgZW1vamlzICovXG4gIGVtb2ppczogRGlzY29yZEVtb2ppW11cbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBndWlsZCBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgZ3VpbGQgbm90aWNlcyBzdWNoIGFzIHdlbGNvbWUgbWVzc2FnZXMgYW5kIGJvb3N0IGV2ZW50cyBhcmUgcG9zdGVkICovXG4gIHN5c3RlbV9jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgY29tbXVuaXR5IGd1aWxkcyBjYW4gZGlzcGxheSBydWxlcyBhbmQvb3IgZ3VpZGVsaW5lcyAqL1xuICBydWxlc19jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGVuIHRoaXMgZ3VpbGQgd2FzIGpvaW5lZCBhdCAqL1xuICBqb2luZWRfYXQ/OiBzdHJpbmdcbiAgLyoqIFN0YXRlcyBvZiBtZW1iZXJzIGN1cnJlbnRseSBpbiB2b2ljZSBjaGFubmVsczsgbGFja3MgdGhlIGd1aWxkX2lkIGtleSAqL1xuICB2b2ljZV9zdGF0ZXM/OiBPbWl0PERpc2NvcmRWb2ljZVN0YXRlLCAnZ3VpbGRJZCc+W11cbiAgLyoqIFVzZXJzIGluIHRoZSBndWlsZCAqL1xuICBtZW1iZXJzPzogRGlzY29yZE1lbWJlcltdXG4gIC8qKiBDaGFubmVscyBpbiB0aGUgZ3VpbGQgKi9cbiAgY2hhbm5lbHM/OiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBBbGwgYWN0aXZlIHRocmVhZHMgaW4gdGhlIGd1aWxkIHRoYXQgdGhlIGN1cnJlbnQgdXNlciBoYXMgcGVybWlzc2lvbiB0byB2aWV3ICovXG4gIHRocmVhZHM/OiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBQcmVzZW5jZXMgb2YgdGhlIG1lbWJlcnMgaW4gdGhlIGd1aWxkLCB3aWxsIG9ubHkgaW5jbHVkZSBub24tb2ZmbGluZSBtZW1iZXJzIGlmIHRoZSBzaXplIGlzIGdyZWF0ZXIgdGhhbiBsYXJnZSB0aHJlc2hvbGQgKi9cbiAgcHJlc2VuY2VzPzogUGFydGlhbDxEaXNjb3JkUHJlc2VuY2VVcGRhdGU+W11cbiAgLyoqIEJhbm5lciBoYXNoICovXG4gIGJhbm5lcjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHByZWZlcnJlZCBsb2NhbGUgb2YgYSBDb21tdW5pdHkgZ3VpbGQ7IHVzZWQgaW4gc2VydmVyIGRpc2NvdmVyeSBhbmQgbm90aWNlcyBmcm9tIERpc2NvcmQ7IGRlZmF1bHRzIHRvIFwiZW4tVVNcIiAqL1xuICBwcmVmZXJyZWRfbG9jYWxlOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB3aGVyZSBhZG1pbnMgYW5kIG1vZGVyYXRvcnMgb2YgQ29tbXVuaXR5IGd1aWxkcyByZWNlaXZlIG5vdGljZXMgZnJvbSBEaXNjb3JkICovXG4gIHB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB3ZWxjb21lIHNjcmVlbiBvZiBhIENvbW11bml0eSBndWlsZCwgc2hvd24gdG8gbmV3IG1lbWJlcnMsIHJldHVybmVkIGluIGFuIEludml0ZSdzIGd1aWxkIG9iamVjdCAqL1xuICB3ZWxjb21lX3NjcmVlbj86IERpc2NvcmRXZWxjb21lU2NyZWVuXG4gIC8qKiBTdGFnZSBpbnN0YW5jZXMgaW4gdGhlIGd1aWxkICovXG4gIHN0YWdlX2luc3RhbmNlcz86IERpc2NvcmRTdGFnZUluc3RhbmNlW11cbiAgLyoqIEN1c3RvbSBndWlsZCBzdGlja2VycyAqL1xuICBzdGlja2Vycz86IERpc2NvcmRTdGlja2VyW11cbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB3aGVyZSBhZG1pbnMgYW5kIG1vZGVyYXRvcnMgb2YgQ29tbXVuaXR5IGd1aWxkcyByZWNlaXZlIHNhZmV0eSBhbGVydHMgZnJvbSBEaXNjb3JkICovXG4gIHNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZDogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL3Blcm1pc3Npb25zI3JvbGUtb2JqZWN0LXJvbGUtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSb2xlIHtcbiAgLyoqIFJvbGUgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWYgdGhpcyByb2xlIGlzIHNob3dlZCBzZXBhcmF0ZWx5IGluIHRoZSB1c2VyIGxpc3RpbmcgKi9cbiAgaG9pc3Q6IGJvb2xlYW5cbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgcm9sZSBpcyBtYW5hZ2VkIGJ5IGFuIGludGVncmF0aW9uICovXG4gIG1hbmFnZWQ6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIG1lbnRpb25hYmxlICovXG4gIG1lbnRpb25hYmxlOiBib29sZWFuXG4gIC8qKiBUaGUgdGFncyB0aGlzIHJvbGUgaGFzICovXG4gIHRhZ3M/OiBEaXNjb3JkUm9sZVRhZ3NcbiAgLyoqIHRoZSByb2xlIGVtb2ppIGhhc2ggKi9cbiAgaWNvbj86IHN0cmluZ1xuICAvKiogUm9sZSBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogSW50ZWdlciByZXByZXNlbnRhdGlvbiBvZiBoZXhhZGVjaW1hbCBjb2xvciBjb2RlICovXG4gIGNvbG9yOiBudW1iZXJcbiAgLyoqIFBvc2l0aW9uIG9mIHRoaXMgcm9sZSAocm9sZXMgd2l0aCB0aGUgc2FtZSBwb3NpdGlvbiBhcmUgc29ydGVkIGJ5IGlkKSAqL1xuICBwb3NpdGlvbjogbnVtYmVyXG4gIC8qKiByb2xlIHVuaWNvZGUgZW1vamkgKi9cbiAgdW5pY29kZV9lbW9qaT86IHN0cmluZ1xuICAvKiogUm9sZSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzOiBSb2xlRmxhZ3Ncbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9wZXJtaXNzaW9ucyNyb2xlLW9iamVjdC1yb2xlLXRhZ3Mtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSb2xlVGFncyB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGJvdCB0aGlzIHJvbGUgYmVsb25ncyB0byAqL1xuICBib3RfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgaW50ZWdyYXRpb24gdGhpcyByb2xlIGJlbG9uZ3MgdG8gKi9cbiAgaW50ZWdyYXRpb25faWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyB0aGUgZ3VpbGQncyBwcmVtaXVtIHN1YnNjcmliZXIgcm9sZSAqL1xuICBwcmVtaXVtX3N1YnNjcmliZXI/OiBudWxsXG4gIC8qKiBJZCBvZiB0aGlzIHJvbGUncyBzdWJzY3JpcHRpb24gc2t1IGFuZCBsaXN0aW5nLiAqL1xuICBzdWJzY3JpcHRpb25fbGlzdGluZ19pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIHJvbGUgaXMgYXZhaWxhYmxlIGZvciBwdXJjaGFzZS4gKi9cbiAgYXZhaWxhYmxlX2Zvcl9wdXJjaGFzZT86IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBhIGd1aWxkJ3MgbGlua2VkIHJvbGUgKi9cbiAgZ3VpbGRfY29ubmVjdGlvbnM/OiBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZW1vamkjZW1vamktb2JqZWN0LWVtb2ppLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1vamkge1xuICAvKiogRW1vamkgbmFtZSAoY2FuIG9ubHkgYmUgbnVsbCBpbiByZWFjdGlvbiBlbW9qaSBvYmplY3RzKSAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBFbW9qaSBpZCAqL1xuICBpZD86IHN0cmluZ1xuICAvKiogUm9sZXMgYWxsb3dlZCB0byB1c2UgdGhpcyBlbW9qaSAqL1xuICByb2xlcz86IHN0cmluZ1tdXG4gIC8qKiBVc2VyIHRoYXQgY3JlYXRlZCB0aGlzIGVtb2ppICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIG11c3QgYmUgd3JhcHBlZCBpbiBjb2xvbnMgKi9cbiAgcmVxdWlyZV9jb2xvbnM/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgbWFuYWdlZCAqL1xuICBtYW5hZ2VkPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gIGFuaW1hdGVkPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGNhbiBiZSB1c2VkLCBtYXkgYmUgZmFsc2UgZHVlIHRvIGxvc3Mgb2YgU2VydmVyIEJvb3N0cyAqL1xuICBhdmFpbGFibGU/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdm9pY2Ujdm9pY2Utc3RhdGUtb2JqZWN0LXZvaWNlLXN0YXRlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVm9pY2VTdGF0ZSB7XG4gIC8qKiBUaGUgc2Vzc2lvbiBpZCBmb3IgdGhpcyB2b2ljZSBzdGF0ZSAqL1xuICBzZXNzaW9uX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCB0aGlzIHZvaWNlIHN0YXRlIGlzIGZvciAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhpcyB1c2VyIGlzIGNvbm5lY3RlZCB0byAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgdXNlciBpZCB0aGlzIHZvaWNlIHN0YXRlIGlzIGZvciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBtZW1iZXIgdGhpcyB2b2ljZSBzdGF0ZSBpcyBmb3IgKi9cbiAgbWVtYmVyPzogRGlzY29yZE1lbWJlcldpdGhVc2VyXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBkZWFmZW5lZCBieSB0aGUgc2VydmVyICovXG4gIGRlYWY6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIG11dGVkIGJ5IHRoZSBzZXJ2ZXIgKi9cbiAgbXV0ZTogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIHVzZXIgaXMgbG9jYWxseSBkZWFmZW5lZCAqL1xuICBzZWxmX2RlYWY6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIGxvY2FsbHkgbXV0ZWQgKi9cbiAgc2VsZl9tdXRlOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlciBpcyBzdHJlYW1pbmcgdXNpbmcgXCJHbyBMaXZlXCIgKi9cbiAgc2VsZl9zdHJlYW0/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgdXNlcidzIGNhbWVyYSBpcyBlbmFibGVkICovXG4gIHNlbGZfdmlkZW86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyB1c2VyIGlzIG11dGVkIGJ5IHRoZSBjdXJyZW50IHVzZXIgKi9cbiAgc3VwcHJlc3M6IGJvb2xlYW5cbiAgLyoqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSB1c2VyIHJlcXVlc3RlZCB0byBzcGVhayAqL1xuICByZXF1ZXN0X3RvX3NwZWFrX3RpbWVzdGFtcDogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjY2hhbm5lbC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENoYW5uZWwge1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGNoYW5uZWwgKi9cbiAgdHlwZTogQ2hhbm5lbFR5cGVzXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBTb3J0aW5nIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsIChjaGFubmVscyB3aXRoIHRoZSBzYW1lIHBvc2l0aW9uIGFyZSBzb3J0ZWQgYnkgaWQpICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBFeHBsaWNpdCBwZXJtaXNzaW9uIG92ZXJ3cml0ZXMgZm9yIG1lbWJlcnMgYW5kIHJvbGVzICovXG4gIHBlcm1pc3Npb25fb3ZlcndyaXRlcz86IERpc2NvcmRPdmVyd3JpdGVbXVxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGNoYW5uZWwgKDEtMTAwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIFRoZSBjaGFubmVsIHRvcGljICgwLTQwOTYgY2hhcmFjdGVycyBmb3IgR1VJTERfRk9SVU0gY2hhbm5lbHMsIDAtMTAyNCBjaGFyYWN0ZXJzIGZvciBhbGwgb3RoZXJzKSAqL1xuICB0b3BpYz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbnNmdyAqL1xuICBuc2Z3PzogYm9vbGVhblxuICAvKiogVGhlIGlkIG9mIHRoZSBsYXN0IG1lc3NhZ2Ugc2VudCBpbiB0aGlzIGNoYW5uZWwgKG1heSBub3QgcG9pbnQgdG8gYW4gZXhpc3Rpbmcgb3IgdmFsaWQgbWVzc2FnZSkgKi9cbiAgbGFzdF9tZXNzYWdlX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJpdHJhdGUgKGluIGJpdHMpIG9mIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsICovXG4gIGJpdHJhdGU/OiBudW1iZXJcbiAgLyoqIFRoZSB1c2VyIGxpbWl0IG9mIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsICovXG4gIHVzZXJfbGltaXQ/OiBudW1iZXJcbiAgLyoqIEFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApOyBib3RzLCBhcyB3ZWxsIGFzIHVzZXJzIHdpdGggdGhlIHBlcm1pc3Npb24gYG1hbmFnZV9tZXNzYWdlc2Agb3IgYG1hbmFnZV9jaGFubmVsYCwgYXJlIHVuYWZmZWN0ZWQgKi9cbiAgcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogdGhlIHJlY2lwaWVudHMgb2YgdGhlIERNICovXG4gIHJlY2lwaWVudHM/OiBEaXNjb3JkVXNlcltdXG4gIC8qKiBpY29uIGhhc2ggb2YgdGhlIGdyb3VwIERNICovXG4gIGljb24/OiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBjcmVhdG9yIG9mIHRoZSB0aHJlYWQgKi9cbiAgb3duZXJfaWQ/OiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBncm91cCBETSBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uX2lkPzogc3RyaW5nXG4gIC8qKiBGb3IgZ3JvdXAgRE0gY2hhbm5lbHM6IHdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbWFuYWdlZCBieSBhbiBhcHBsaWNhdGlvbiB2aWEgdGhlIGBnZG0uam9pbmAgT0F1dGgyIHNjb3BlLiAqL1xuICBtYW5hZ2VkPzogYm9vbGVhblxuICAvKiogRm9yIGd1aWxkIGNoYW5uZWxzOiBJZCBvZiB0aGUgcGFyZW50IGNhdGVnb3J5IGZvciBhIGNoYW5uZWwgKGVhY2ggcGFyZW50IGNhdGVnb3J5IGNhbiBjb250YWluIHVwIHRvIDUwIGNoYW5uZWxzKSwgZm9yIHRocmVhZHM6IGlkIG9mIHRoZSB0ZXh0IGNoYW5uZWwgdGhpcyB0aHJlYWQgd2FzIGNyZWF0ZWQgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hlbiB0aGUgbGFzdCBwaW5uZWQgbWVzc2FnZSB3YXMgcGlubmVkLiBUaGlzIG1heSBiZSBudWxsIGluIGV2ZW50cyBzdWNoIGFzIEdVSUxEX0NSRUFURSB3aGVuIGEgbWVzc2FnZSBpcyBub3QgcGlubmVkLiAqL1xuICBsYXN0X3Bpbl90aW1lc3RhbXA/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBWb2ljZSByZWdpb24gaWQgZm9yIHRoZSB2b2ljZSBvciBzdGFnZSBjaGFubmVsLCBhdXRvbWF0aWMgd2hlbiBzZXQgdG8gbnVsbCAqL1xuICBydGNfcmVnaW9uPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNhbWVyYSB2aWRlbyBxdWFsaXR5IG1vZGUgb2YgdGhlIHZvaWNlIGNoYW5uZWwsIDEgd2hlbiBub3QgcHJlc2VudCAqL1xuICB2aWRlb19xdWFsaXR5X21vZGU/OiBWaWRlb1F1YWxpdHlNb2Rlc1xuICAvKiogQW4gYXBwcm94aW1hdGUgY291bnQgb2YgbWVzc2FnZXMgaW4gYSB0aHJlYWQsIHN0b3BzIGNvdW50aW5nIGF0IDUwICovXG4gIG1lc3NhZ2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEFuIGFwcHJveGltYXRlIGNvdW50IG9mIHVzZXJzIGluIGEgdGhyZWFkLCBzdG9wcyBjb3VudGluZyBhdCA1MCAqL1xuICBtZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIFRocmVhZC1zcGVjaWZpYyBmaWVsZHMgbm90IG5lZWRlZCBieSBvdGhlciBjaGFubmVscyAqL1xuICB0aHJlYWRfbWV0YWRhdGE/OiBEaXNjb3JkVGhyZWFkTWV0YWRhdGFcbiAgLyoqIFRocmVhZCBtZW1iZXIgb2JqZWN0IGZvciB0aGUgY3VycmVudCB1c2VyLCBpZiB0aGV5IGhhdmUgam9pbmVkIHRoZSB0aHJlYWQsIG9ubHkgaW5jbHVkZWQgb24gY2VydGFpbiBBUEkgZW5kcG9pbnRzICovXG4gIG1lbWJlcj86IERpc2NvcmRUaHJlYWRNZW1iZXJcbiAgLyoqIERlZmF1bHQgZHVyYXRpb24gZm9yIG5ld2x5IGNyZWF0ZWQgdGhyZWFkcywgaW4gbWludXRlcywgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5LCBjYW4gYmUgc2V0IHRvOiA2MCwgMTQ0MCwgNDMyMCwgMTAwODAgKi9cbiAgZGVmYXVsdF9hdXRvX2FyY2hpdmVfZHVyYXRpb24/OiBudW1iZXJcbiAgLyoqIGNvbXB1dGVkIHBlcm1pc3Npb25zIGZvciB0aGUgaW52b2tpbmcgdXNlciBpbiB0aGUgY2hhbm5lbCwgaW5jbHVkaW5nIG92ZXJ3cml0ZXMsIG9ubHkgaW5jbHVkZWQgd2hlbiBwYXJ0IG9mIHRoZSByZXNvbHZlZCBkYXRhIHJlY2VpdmVkIG9uIGEgc2xhc2ggY29tbWFuZCBpbnRlcmFjdGlvbi4gVGhpcyBkb2VzIG5vdCBpbmNsdWRlIGltcGxpY2l0IHBlcm1pc3Npb25zLCB3aGljaCBtYXkgbmVlZCB0byBiZSBjaGVja2VkIHNlcGFyYXRlbHkuICovXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nXG4gIC8qKiBUaGUgZmxhZ3Mgb2YgdGhlIGNoYW5uZWwgKi9cbiAgZmxhZ3M/OiBDaGFubmVsRmxhZ3NcbiAgLyoqIG51bWJlciBvZiBtZXNzYWdlcyBldmVyIHNlbnQgaW4gYSB0aHJlYWQsIGl0J3Mgc2ltaWxhciB0byBgbWVzc2FnZV9jb3VudGAgb24gbWVzc2FnZSBjcmVhdGlvbiwgYnV0IHdpbGwgbm90IGRlY3JlbWVudCB0aGUgbnVtYmVyIHdoZW4gYSBtZXNzYWdlIGlzIGRlbGV0ZWQgKi9cbiAgdG90YWxfbWVzc2FnZV9zZW50PzogbnVtYmVyXG4gIC8qKiBUaGUgc2V0IG9mIHRhZ3MgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXZhaWxhYmxlX3RhZ3M/OiBEaXNjb3JkRm9ydW1UYWdbXVxuICAvKiogVGhlIElEcyBvZiB0aGUgc2V0IG9mIHRhZ3MgdGhhdCBoYXZlIGJlZW4gYXBwbGllZCB0byBhIHRocmVhZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXBwbGllZF90YWdzPzogc3RyaW5nW11cbiAgLyoqIHRoZSBlbW9qaSB0byBzaG93IGluIHRoZSBhZGQgcmVhY3Rpb24gYnV0dG9uIG9uIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBkZWZhdWx0X3JlYWN0aW9uX2Vtb2ppPzogRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppIHwgbnVsbFxuICAvKiogdGhlIGluaXRpYWwgcmF0ZV9saW1pdF9wZXJfdXNlciB0byBzZXQgb24gbmV3bHkgY3JlYXRlZCB0aHJlYWRzIGluIGEgY2hhbm5lbC4gdGhpcyBmaWVsZCBpcyBjb3BpZWQgdG8gdGhlIHRocmVhZCBhdCBjcmVhdGlvbiB0aW1lIGFuZCBkb2VzIG5vdCBsaXZlIHVwZGF0ZS4gKi9cbiAgZGVmYXVsdF90aHJlYWRfcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogdGhlIGRlZmF1bHQgc29ydCBvcmRlciB0eXBlIHVzZWQgdG8gb3JkZXIgcG9zdHMgaW4gR1VJTERfRk9SVU0gY2hhbm5lbHMuIERlZmF1bHRzIHRvIG51bGwsIHdoaWNoIGluZGljYXRlcyBhIHByZWZlcnJlZCBzb3J0IG9yZGVyIGhhc24ndCBiZWVuIHNldCBieSBhIGNoYW5uZWwgYWRtaW4gKi9cbiAgZGVmYXVsdF9zb3J0X29yZGVyPzogU29ydE9yZGVyVHlwZXMgfCBudWxsXG4gIC8qKiB0aGUgZGVmYXVsdCBmb3J1bSBsYXlvdXQgdmlldyB1c2VkIHRvIGRpc3BsYXkgcG9zdHMgaW4gYEdVSUxEX0ZPUlVNYCBjaGFubmVscy4gRGVmYXVsdHMgdG8gYDBgLCB3aGljaCBpbmRpY2F0ZXMgYSBsYXlvdXQgdmlldyBoYXMgbm90IGJlZW4gc2V0IGJ5IGEgY2hhbm5lbCBhZG1pbiAqL1xuICBkZWZhdWx0X2ZvcnVtX2xheW91dD86IEZvcnVtTGF5b3V0XG4gIC8qKiBXaGVuIGEgdGhyZWFkIGlzIGNyZWF0ZWQgdGhpcyB3aWxsIGJlIHRydWUgb24gdGhhdCBjaGFubmVsIHBheWxvYWQgZm9yIHRoZSB0aHJlYWQuICovXG4gIG5ld2x5X2NyZWF0ZWQ/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNwcmVzZW5jZS11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFByZXNlbmNlVXBkYXRlIHtcbiAgLyoqIEVpdGhlciBcImlkbGVcIiwgXCJkbmRcIiwgXCJvbmxpbmVcIiwgb3IgXCJvZmZsaW5lXCIgKi9cbiAgc3RhdHVzOiAnaWRsZScgfCAnZG5kJyB8ICdvbmxpbmUnIHwgJ29mZmxpbmUnXG4gIC8qKiBUaGUgdXNlciBwcmVzZW5jZSBpcyBiZWluZyB1cGRhdGVkIGZvciAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFVzZXIncyBjdXJyZW50IGFjdGl2aXRpZXMgKi9cbiAgYWN0aXZpdGllczogRGlzY29yZEFjdGl2aXR5W11cbiAgLyoqIFVzZXIncyBwbGF0Zm9ybS1kZXBlbmRlbnQgc3RhdHVzICovXG4gIGNsaWVudF9zdGF0dXM6IERpc2NvcmRDbGllbnRTdGF0dXNcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCN3ZWxjb21lLXNjcmVlbi1vYmplY3Qtd2VsY29tZS1zY3JlZW4tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRXZWxjb21lU2NyZWVuIHtcbiAgLyoqIFRoZSBzZXJ2ZXIgZGVzY3JpcHRpb24gc2hvd24gaW4gdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgY2hhbm5lbHMgc2hvd24gaW4gdGhlIHdlbGNvbWUgc2NyZWVuLCB1cCB0byA1ICovXG4gIHdlbGNvbWVfY2hhbm5lbHM6IERpc2NvcmRXZWxjb21lU2NyZWVuQ2hhbm5lbFtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjd2VsY29tZS1zY3JlZW4tb2JqZWN0LXdlbGNvbWUtc2NyZWVuLWNoYW5uZWwtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRXZWxjb21lU2NyZWVuQ2hhbm5lbCB7XG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gc2hvd24gZm9yIHRoZSBjaGFubmVsICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIFRoZSBjaGFubmVsJ3MgaWQgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgZW1vamkgaWQsIGlmIHRoZSBlbW9qaSBpcyBjdXN0b20gKi9cbiAgZW1vamlfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBlbW9qaSBuYW1lIGlmIGN1c3RvbSwgdGhlIHVuaWNvZGUgY2hhcmFjdGVyIGlmIHN0YW5kYXJkLCBvciBgbnVsbGAgaWYgbm8gZW1vamkgaXMgc2V0ICovXG4gIGVtb2ppX25hbWU6IHN0cmluZyB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGFnZS1pbnN0YW5jZSNhdXRvLWNsb3Npbmctc3RhZ2UtaW5zdGFuY2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdGFnZUluc3RhbmNlIHtcbiAgLyoqIFRoZSB0b3BpYyBvZiB0aGUgU3RhZ2UgaW5zdGFuY2UgKDEtMTIwIGNoYXJhY3RlcnMpICovXG4gIHRvcGljOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGlzIFN0YWdlIGluc3RhbmNlICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgZm9yIHRoaXMgU3RhZ2UgaW5zdGFuY2UgKi9cbiAgZ3VpbGRfc2NoZWR1bGVkX2V2ZW50X2lkPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZE1ldGFkYXRhIHtcbiAgLyoqIFdoZXRoZXIgdGhlIHRocmVhZCBpcyBhcmNoaXZlZCAqL1xuICBhcmNoaXZlZDogYm9vbGVhblxuICAvKiogRHVyYXRpb24gaW4gbWludXRlcyB0byBhdXRvbWF0aWNhbGx5IGFyY2hpdmUgdGhlIHRocmVhZCBhZnRlciByZWNlbnQgYWN0aXZpdHkgKi9cbiAgYXV0b19hcmNoaXZlX2R1cmF0aW9uOiA2MCB8IDE0NDAgfCA0MzIwIHwgMTAwODBcbiAgLyoqIFdoZW4gYSB0aHJlYWQgaXMgbG9ja2VkLCBvbmx5IHVzZXJzIHdpdGggYE1BTkFHRV9USFJFQURTYCBjYW4gdW5hcmNoaXZlIGl0ICovXG4gIGxvY2tlZDogYm9vbGVhblxuICAvKiogd2hldGhlciBub24tbW9kZXJhdG9ycyBjYW4gYWRkIG90aGVyIG5vbi1tb2RlcmF0b3JzIHRvIGEgdGhyZWFkOyBvbmx5IGF2YWlsYWJsZSBvbiBwcml2YXRlIHRocmVhZHMgKi9cbiAgaW52aXRhYmxlPzogYm9vbGVhblxuICAvKiogVGltZXN0YW1wIHdoZW4gdGhlIHRocmVhZCdzIGFyY2hpdmUgc3RhdHVzIHdhcyBsYXN0IGNoYW5nZWQsIHVzZWQgZm9yIGNhbGN1bGF0aW5nIHJlY2VudCBhY3Rpdml0eSAqL1xuICBhcmNoaXZlX3RpbWVzdGFtcDogc3RyaW5nXG4gIC8qKiBUaW1lc3RhbXAgd2hlbiB0aGUgdGhyZWFkIHdhcyBjcmVhdGVkOyBvbmx5IHBvcHVsYXRlZCBmb3IgdGhyZWFkcyBjcmVhdGVkIGFmdGVyIDIwMjItMDEtMDkgKi9cbiAgY3JlYXRlX3RpbWVzdGFtcD86IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGhyZWFkTWVtYmVyIHtcbiAgLyoqIEFueSB1c2VyLXRocmVhZCBzZXR0aW5ncywgY3VycmVudGx5IG9ubHkgdXNlZCBmb3Igbm90aWZpY2F0aW9ucyAqL1xuICBmbGFnczogbnVtYmVyXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHRocmVhZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHVzZXIgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdGltZSB0aGUgY3VycmVudCB1c2VyIGxhc3Qgam9pbmVkIHRoZSB0aHJlYWQgKi9cbiAgam9pbl90aW1lc3RhbXA6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXktZXZlbnRzI2FjdGl2aXR5LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZpdHkge1xuICAvKiogVGhlIGFjdGl2aXR5J3MgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIEFjdGl2aXR5IHR5cGUgKi9cbiAgdHlwZTogQWN0aXZpdHlUeXBlc1xuICAvKiogU3RyZWFtIHVybCwgaXMgdmFsaWRhdGVkIHdoZW4gdHlwZSBpcyAxICovXG4gIHVybD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFVuaXggdGltZXN0YW1wIG9mIHdoZW4gdGhlIGFjdGl2aXR5IHdhcyBhZGRlZCB0byB0aGUgdXNlcidzIHNlc3Npb24gKi9cbiAgY3JlYXRlZF9hdDogbnVtYmVyXG4gIC8qKiBXaGF0IHRoZSBwbGF5ZXIgaXMgY3VycmVudGx5IGRvaW5nICovXG4gIGRldGFpbHM/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgdXNlcidzIGN1cnJlbnQgcGFydHkgc3RhdHVzICovXG4gIHN0YXRlPzogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hldGhlciBvciBub3QgdGhlIGFjdGl2aXR5IGlzIGFuIGluc3RhbmNlZCBnYW1lIHNlc3Npb24gKi9cbiAgaW5zdGFuY2U/OiBib29sZWFuXG4gIC8qKiBBY3Rpdml0eSBmbGFncyBgT1JgZCB0b2dldGhlciwgZGVzY3JpYmVzIHdoYXQgdGhlIHBheWxvYWQgaW5jbHVkZXMgKi9cbiAgZmxhZ3M/OiBudW1iZXJcbiAgLyoqIFVuaXggdGltZXN0YW1wcyBmb3Igc3RhcnQgYW5kL29yIGVuZCBvZiB0aGUgZ2FtZSAqL1xuICB0aW1lc3RhbXBzPzogRGlzY29yZEFjdGl2aXR5VGltZXN0YW1wc1xuICAvKiogQXBwbGljYXRpb24gaWQgZm9yIHRoZSBnYW1lICovXG4gIGFwcGxpY2F0aW9uX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgZW1vamkgdXNlZCBmb3IgYSBjdXN0b20gc3RhdHVzICovXG4gIGVtb2ppPzogRGlzY29yZEFjdGl2aXR5RW1vamkgfCBudWxsXG4gIC8qKiBJbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgcGFydHkgb2YgdGhlIHBsYXllciAqL1xuICBwYXJ0eT86IERpc2NvcmRBY3Rpdml0eVBhcnR5XG4gIC8qKiBJbWFnZXMgZm9yIHRoZSBwcmVzZW5jZSBhbmQgdGhlaXIgaG92ZXIgdGV4dHMgKi9cbiAgYXNzZXRzPzogRGlzY29yZEFjdGl2aXR5QXNzZXRzXG4gIC8qKiBTZWNyZXRzIGZvciBSaWNoIFByZXNlbmNlIGpvaW5pbmcgYW5kIHNwZWN0YXRpbmcgKi9cbiAgc2VjcmV0cz86IERpc2NvcmRBY3Rpdml0eVNlY3JldHNcbiAgLyoqIFRoZSBjdXN0b20gYnV0dG9ucyBzaG93biBpbiB0aGUgUmljaCBQcmVzZW5jZSAobWF4IDIpICovXG4gIGJ1dHRvbnM/OiBEaXNjb3JkQWN0aXZpdHlCdXR0b25bXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2FwcGxpY2F0aW9uI2dldC1hcHBsaWNhdGlvbi1hY3Rpdml0eS1pbnN0YW5jZS1hY3Rpdml0eS1pbnN0YW5jZS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5SW5zdGFuY2Uge1xuICAvKiogQXBwbGljYXRpb24gSUQgKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogQWN0aXZpdHkgSW5zdGFuY2UgSUQgKi9cbiAgaW5zdGFuY2VfaWQ6IHN0cmluZ1xuICAvKiogVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBsYXVuY2ggKi9cbiAgbGF1bmNoX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBMb2NhdGlvbiB0aGUgaW5zdGFuY2UgaXMgcnVubm5pbmcgaW4gKi9cbiAgbG9jYXRpb246IERpc2NvcmRBY3Rpdml0eUxvY2F0aW9uXG4gIC8qKiBUaGUgSURzIG9mIHRoZSBVc2VycyBjdXJyZW50bHkgY29ubmVjdGVkIHRvIHRoZSBpbnN0YW5jZSAqL1xuICB1c2Vyczogc3RyaW5nW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNnZXQtYXBwbGljYXRpb24tYWN0aXZpdHktaW5zdGFuY2UtYWN0aXZpdHktbG9jYXRpb24tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eUxvY2F0aW9uIHtcbiAgLyoqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGxvY2F0aW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEVudW0gZGVzY3JpYmluZyBraW5kIG9mIGxvY2F0aW9uICovXG4gIGtpbmQ6IERpc2NvcmRBY3Rpdml0eUxvY2F0aW9uS2luZFxuICAvKiogVGhlIGlkIG9mIHRoZSBDaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBHdWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZyB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNnZXQtYXBwbGljYXRpb24tYWN0aXZpdHktaW5zdGFuY2UtYWN0aXZpdHktbG9jYXRpb24ta2luZC1lbnVtICovXG5leHBvcnQgZW51bSBEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbktpbmQge1xuICAvKiogVGhlIExvY2F0aW9uIGlzIGEgR3VpbGQgQ2hhbm5lbCAqL1xuICBHdWlsZENoYW5uZWwgPSAnZ2MnLFxuICAvKiogVGhlIExvY2F0aW9uIGlzIGEgUHJpdmF0ZSBDaGFubmVsLCBzdWNoIGFzIGEgRE0gb3IgR0RNICovXG4gIFByaXZhdGVDaGFubmVsID0gJ3BjJyxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I2NsaWVudC1zdGF0dXMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDbGllbnRTdGF0dXMge1xuICAvKiogVGhlIHVzZXIncyBzdGF0dXMgc2V0IGZvciBhbiBhY3RpdmUgZGVza3RvcCAoV2luZG93cywgTGludXgsIE1hYykgYXBwbGljYXRpb24gc2Vzc2lvbiAqL1xuICBkZXNrdG9wPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlcidzIHN0YXR1cyBzZXQgZm9yIGFuIGFjdGl2ZSBtb2JpbGUgKGlPUywgQW5kcm9pZCkgYXBwbGljYXRpb24gc2Vzc2lvbiAqL1xuICBtb2JpbGU/OiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3Mgc3RhdHVzIHNldCBmb3IgYW4gYWN0aXZlIHdlYiAoYnJvd3NlciwgYm90IGFjY291bnQpIGFwcGxpY2F0aW9uIHNlc3Npb24gKi9cbiAgd2ViPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktdGltZXN0YW1wcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZpdHlUaW1lc3RhbXBzIHtcbiAgLyoqIFVuaXggdGltZSAoaW4gbWlsbGlzZWNvbmRzKSBvZiB3aGVuIHRoZSBhY3Rpdml0eSBzdGFydGVkICovXG4gIHN0YXJ0PzogbnVtYmVyXG4gIC8qKiBVbml4IHRpbWUgKGluIG1pbGxpc2Vjb25kcykgb2Ygd2hlbiB0aGUgYWN0aXZpdHkgZW5kcyAqL1xuICBlbmQ/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1lbW9qaSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZpdHlFbW9qaSB7XG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgZW1vamkgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgZW1vamkgaXMgYW5pbWF0ZWQgKi9cbiAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGVtb2ppICovXG4gIGlkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNhY3Rpdml0eS1vYmplY3QtYWN0aXZpdHktcGFydHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5UGFydHkge1xuICAvKiogVXNlZCB0byBzaG93IHRoZSBwYXJ0eSdzIGN1cnJlbnQgYW5kIG1heGltdW0gc2l6ZSAqL1xuICBzaXplPzogW2N1cnJlbnRTaXplOiBudW1iZXIsIG1heFNpemU6IG51bWJlcl1cbiAgLyoqIFRoZSBpZCBvZiB0aGUgcGFydHkgKi9cbiAgaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1hc3NldHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5QXNzZXRzIHtcbiAgLyoqIFRleHQgZGlzcGxheWVkIHdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgbGFyZ2UgaW1hZ2Ugb2YgdGhlIGFjdGl2aXR5ICovXG4gIGxhcmdlX3RleHQ/OiBzdHJpbmdcbiAgLyoqIFRleHQgZGlzcGxheWVkIHdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgc21hbGwgaW1hZ2Ugb2YgdGhlIGFjdGl2aXR5ICovXG4gIHNtYWxsX3RleHQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBmb3IgYSBsYXJnZSBhc3NldCBvZiB0aGUgYWN0aXZpdHksIHVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgbGFyZ2VfaW1hZ2U/OiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBmb3IgYSBzbWFsbCBhc3NldCBvZiB0aGUgYWN0aXZpdHksIHVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgc21hbGxfaW1hZ2U/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I2FjdGl2aXR5LW9iamVjdC1hY3Rpdml0eS1zZWNyZXRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eVNlY3JldHMge1xuICAvKiogVGhlIHNlY3JldCBmb3Igam9pbmluZyBhIHBhcnR5ICovXG4gIGpvaW4/OiBzdHJpbmdcbiAgLyoqIFRoZSBzZWNyZXQgZm9yIHNwZWN0YXRpbmcgYSBnYW1lICovXG4gIHNwZWN0YXRlPzogc3RyaW5nXG4gIC8qKiBUaGUgc2VjcmV0IGZvciBhIHNwZWNpZmljIGluc3RhbmNlZCBtYXRjaCAqL1xuICBtYXRjaD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjYWN0aXZpdHktb2JqZWN0LWFjdGl2aXR5LWJ1dHRvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2aXR5QnV0dG9uIHtcbiAgLyoqIFRoZSB0ZXh0IHNob3duIG9uIHRoZSBidXR0b24gKDEtMzIgY2hhcmFjdGVycykgKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogVGhlIHVybCBvcGVuZWQgd2hlbiBjbGlja2luZyB0aGUgYnV0dG9uICgxLTUxMiBjaGFyYWN0ZXJzKSAqL1xuICB1cmw6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRPdmVyd3JpdGUge1xuICAvKiogRWl0aGVyIDAgKHJvbGUpIG9yIDEgKG1lbWJlcikgKi9cbiAgdHlwZTogT3ZlcndyaXRlVHlwZXNcbiAgLyoqIFJvbGUgb3IgdXNlciBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgYWxsb3c/OiBzdHJpbmdcbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBkZW55Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lbWJlcldpdGhVc2VyIGV4dGVuZHMgRGlzY29yZE1lbWJlciB7XG4gIC8qKiBUaGUgdXNlciBvYmplY3QgZm9yIHRoaXMgbWVtYmVyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZSB7XG4gIC8qKiBpZCBvZiB0aGUgbWVzc2FnZSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpbiAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqXG4gICAqIGlkIG9mIHRoZSBndWlsZCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpblxuICAgKiBOb3RlOiBGb3IgTUVTU0FHRV9DUkVBVEUgYW5kIE1FU1NBR0VfVVBEQVRFIGV2ZW50cywgdGhlIG1lc3NhZ2Ugb2JqZWN0IG1heSBub3QgY29udGFpbiBhIGd1aWxkX2lkIG9yIG1lbWJlciBmaWVsZCBzaW5jZSB0aGUgZXZlbnRzIGFyZSBzZW50IGRpcmVjdGx5IHRvIHRoZSByZWNlaXZpbmcgdXNlciBhbmQgdGhlIGJvdCB3aG8gc2VudCB0aGUgbWVzc2FnZSwgcmF0aGVyIHRoYW4gYmVpbmcgc2VudCB0aHJvdWdoIHRoZSBndWlsZCBsaWtlIG5vbi1lcGhlbWVyYWwgbWVzc2FnZXMuXG4gICAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIGF1dGhvciBvZiB0aGlzIG1lc3NhZ2UgKG5vdCBndWFyYW50ZWVkIHRvIGJlIGEgdmFsaWQgdXNlcilcbiAgICogTm90ZTogVGhlIGF1dGhvciBvYmplY3QgZm9sbG93cyB0aGUgc3RydWN0dXJlIG9mIHRoZSB1c2VyIG9iamVjdCwgYnV0IGlzIG9ubHkgYSB2YWxpZCB1c2VyIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHVzZXIgb3IgYm90IHVzZXIuIElmIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2ssIHRoZSBhdXRob3Igb2JqZWN0IGNvcnJlc3BvbmRzIHRvIHRoZSB3ZWJob29rJ3MgaWQsIHVzZXJuYW1lLCBhbmQgYXZhdGFyLiBZb3UgY2FuIHRlbGwgaWYgYSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2sgYnkgY2hlY2tpbmcgZm9yIHRoZSB3ZWJob29rX2lkIG9uIHRoZSBtZXNzYWdlIG9iamVjdC5cbiAgICovXG4gIGF1dGhvcjogRGlzY29yZFVzZXJcbiAgLyoqXG4gICAqIE1lbWJlciBwcm9wZXJ0aWVzIGZvciB0aGlzIG1lc3NhZ2UncyBhdXRob3JcbiAgICogTm90ZTogVGhlIG1lbWJlciBvYmplY3QgZXhpc3RzIGluIGBNRVNTQUdFX0NSRUFURWAgYW5kIGBNRVNTQUdFX1VQREFURWAgZXZlbnRzIGZyb20gdGV4dC1iYXNlZCBndWlsZCBjaGFubmVscy4gVGhpcyBhbGxvd3MgYm90cyB0byBvYnRhaW4gcmVhbC10aW1lIG1lbWJlciBkYXRhIHdpdGhvdXQgcmVxdWlyaW5nIGJvdHMgdG8gc3RvcmUgbWVtYmVyIHN0YXRlIGluIG1lbW9yeS5cbiAgICovXG4gIG1lbWJlcj86IERpc2NvcmRNZW1iZXJcbiAgLyoqIENvbnRlbnRzIG9mIHRoZSBtZXNzYWdlICovXG4gIGNvbnRlbnQ/OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhpcyBtZXNzYWdlIHdhcyBzZW50ICovXG4gIHRpbWVzdGFtcDogc3RyaW5nXG4gIC8qKiBXaGVuIHRoaXMgbWVzc2FnZSB3YXMgZWRpdGVkIChvciBudWxsIGlmIG5ldmVyKSAqL1xuICBlZGl0ZWRfdGltZXN0YW1wOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIHRoaXMgd2FzIGEgVFRTIG1lc3NhZ2UgKi9cbiAgdHRzOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBtZW50aW9ucyBldmVyeW9uZSAqL1xuICBtZW50aW9uX2V2ZXJ5b25lOiBib29sZWFuXG4gIC8qKlxuICAgKiBVc2VycyBzcGVjaWZpY2FsbHkgbWVudGlvbmVkIGluIHRoZSBtZXNzYWdlXG4gICAqIE5vdGU6IFRoZSB1c2VyIG9iamVjdHMgaW4gdGhlIG1lbnRpb25zIGFycmF5IHdpbGwgb25seSBoYXZlIHRoZSBwYXJ0aWFsIG1lbWJlciBmaWVsZCBwcmVzZW50IGluIGBNRVNTQUdFX0NSRUFURWAgYW5kIGBNRVNTQUdFX1VQREFURWAgZXZlbnRzIGZyb20gdGV4dC1iYXNlZCBndWlsZCBjaGFubmVscy5cbiAgICovXG4gIG1lbnRpb25zOiBBcnJheTxEaXNjb3JkVXNlciAmIHsgbWVtYmVyPzogUGFydGlhbDxEaXNjb3JkTWVtYmVyPiB9PlxuICAvKiogUm9sZXMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCBpbiB0aGlzIG1lc3NhZ2UgKi9cbiAgbWVudGlvbl9yb2xlcz86IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBDaGFubmVscyBzcGVjaWZpY2FsbHkgbWVudGlvbmVkIGluIHRoaXMgbWVzc2FnZVxuICAgKiBOb3RlOiBOb3QgYWxsIGNoYW5uZWwgbWVudGlvbnMgaW4gYSBtZXNzYWdlIHdpbGwgYXBwZWFyIGluIGBtZW50aW9uX2NoYW5uZWxzYC4gT25seSB0ZXh0dWFsIGNoYW5uZWxzIHRoYXQgYXJlIHZpc2libGUgdG8gZXZlcnlvbmUgaW4gYSBkaXNjb3ZlcmFibGUgZ3VpbGQgd2lsbCBldmVyIGJlIGluY2x1ZGVkLiBPbmx5IGNyb3NzcG9zdGVkIG1lc3NhZ2VzICh2aWEgQ2hhbm5lbCBGb2xsb3dpbmcpIGN1cnJlbnRseSBpbmNsdWRlIGBtZW50aW9uX2NoYW5uZWxzYCBhdCBhbGwuIElmIG5vIG1lbnRpb25zIGluIHRoZSBtZXNzYWdlIG1lZXQgdGhlc2UgcmVxdWlyZW1lbnRzLCB0aGlzIGZpZWxkIHdpbGwgbm90IGJlIHNlbnQuXG4gICAqL1xuICBtZW50aW9uX2NoYW5uZWxzPzogRGlzY29yZENoYW5uZWxNZW50aW9uW11cbiAgLyoqIEFueSBhdHRhY2hlZCBmaWxlcyAqL1xuICBhdHRhY2htZW50czogRGlzY29yZEF0dGFjaG1lbnRbXVxuICAvKiogQW55IGVtYmVkZGVkIGNvbnRlbnQgKi9cbiAgZW1iZWRzOiBEaXNjb3JkRW1iZWRbXVxuICAvKiogUmVhY3Rpb25zIHRvIHRoZSBtZXNzYWdlICovXG4gIHJlYWN0aW9ucz86IERpc2NvcmRSZWFjdGlvbltdXG4gIC8qKiBVc2VkIGZvciB2YWxpZGF0aW5nIGEgbWVzc2FnZSB3YXMgc2VudCAqL1xuICBub25jZT86IG51bWJlciB8IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIG1lc3NhZ2UgaXMgcGlubmVkICovXG4gIHBpbm5lZDogYm9vbGVhblxuICAvKiogSWYgdGhlIG1lc3NhZ2UgaXMgZ2VuZXJhdGVkIGJ5IGEgd2ViaG9vaywgdGhpcyBpcyB0aGUgd2ViaG9vaydzIGlkICovXG4gIHdlYmhvb2tfaWQ/OiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgbWVzc2FnZSAqL1xuICB0eXBlOiBNZXNzYWdlVHlwZXNcbiAgLyoqIFNlbnQgd2l0aCBSaWNoIFByZXNlbmNlLXJlbGF0ZWQgY2hhdCBlbWJlZHMgKi9cbiAgYWN0aXZpdHk/OiBEaXNjb3JkTWVzc2FnZUFjdGl2aXR5XG4gIC8qKiBTZW50IHdpdGggUmljaCBQcmVzZW5jZS1yZWxhdGVkIGNoYXQgZW1iZWRzICovXG4gIGFwcGxpY2F0aW9uPzogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+XG4gIC8qKiBpZiB0aGUgbWVzc2FnZSBpcyBhbiBJbnRlcmFjdGlvbiBvciBhcHBsaWNhdGlvbi1vd25lZCB3ZWJob29rLCB0aGlzIGlzIHRoZSBpZCBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ/OiBzdHJpbmdcbiAgLyoqIERhdGEgc2hvd2luZyB0aGUgc291cmNlIG9mIGEgY3Jvc3Nwb3N0LCBjaGFubmVsIGZvbGxvdyBhZGQsIHBpbiwgb3IgcmVwbHkgbWVzc2FnZSAqL1xuICBtZXNzYWdlX3JlZmVyZW5jZT86IE9taXQ8RGlzY29yZE1lc3NhZ2VSZWZlcmVuY2UsICdmYWlsSWZOb3RFeGlzdHMnPlxuICAvKiogTWVzc2FnZSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzPzogTWVzc2FnZUZsYWdzXG4gIC8qKlxuICAgKiBUaGUgc3RpY2tlcnMgc2VudCB3aXRoIHRoZSBtZXNzYWdlIChib3RzIGN1cnJlbnRseSBjYW4gb25seSByZWNlaXZlIG1lc3NhZ2VzIHdpdGggc3RpY2tlcnMsIG5vdCBzZW5kKVxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgc3RpY2tlcnM/OiBEaXNjb3JkU3RpY2tlcltdXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSBhc3NvY2lhdGVkIHdpdGggdGhlICdtZXNzYWdlX3JlZmVyZW5jZSdcbiAgICogTm90ZTogVGhpcyBmaWVsZCBpcyBvbmx5IHJldHVybmVkIGZvciBtZXNzYWdlcyB3aXRoIGEgJ3R5cGUnIG9mICcxOScsICcyMScsIG9yICcyMycuIElmIHRoZSBtZXNzYWdlIGlzIG9uZSBvZiB0aGVzZSBidXQgdGhlICdyZWZlcmVuY2VkX21lc3NhZ2UnIGZpZWxkIGlzIG5vdCBwcmVzZW50LCB0aGUgYmFja2VuZCBkaWQgbm90IGF0dGVtcHQgdG8gZmV0Y2ggdGhlIG1lc3NhZ2UgdGhhdCB3YXMgYmVpbmcgcmVwbGllZCB0bywgc28gaXRzIHN0YXRlIGlzIHVua25vd24uIElmIHRoZSBmaWVsZCBleGlzdHMgYnV0IGlzIG51bGwsIHRoZSByZWZlcmVuY2VkIG1lc3NhZ2Ugd2FzIGRlbGV0ZWQuXG4gICAqL1xuICByZWZlcmVuY2VkX21lc3NhZ2U/OiBEaXNjb3JkTWVzc2FnZVxuICAvKiogVGhlIG1lc3NhZ2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBgbWVzc2FnZV9yZWZlcmVuY2VgLiBUaGlzIGlzIGEgbWluaW1hbCBzdWJzZXQgb2YgZmllbGRzIGluIGEgbWVzc2FnZSAoZS5nLiBgYXV0aG9yYCBpcyBleGNsdWRlZC4pICAqL1xuICBtZXNzYWdlX3NuYXBzaG90cz86IERpc2NvcmRNZXNzYWdlU25hcHNob3RbXVxuICAvKiogc2VudCBpZiB0aGUgbWVzc2FnZSBpcyBzZW50IGFzIGEgcmVzdWx0IG9mIGFuIGludGVyYWN0aW9uICovXG4gIGludGVyYWN0aW9uX21ldGFkYXRhPzogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhXG4gIC8qKlxuICAgKiBTZW50IGlmIHRoZSBtZXNzYWdlIGlzIGEgcmVzcG9uc2UgdG8gYW4gSW50ZXJhY3Rpb25cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgRGVwcmVjYXRlZCBpbiBmYXZvciBvZiB7QGxpbmsgaW50ZXJhY3Rpb25fbWV0YWRhdGF9XG4gICAqL1xuICBpbnRlcmFjdGlvbj86IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25cbiAgLyoqIFRoZSB0aHJlYWQgdGhhdCB3YXMgc3RhcnRlZCBmcm9tIHRoaXMgbWVzc2FnZSwgaW5jbHVkZXMgdGhyZWFkIG1lbWJlciBvYmplY3QgKi9cbiAgdGhyZWFkPzogT21pdDxEaXNjb3JkQ2hhbm5lbCwgJ21lbWJlcic+ICYgeyBtZW1iZXI6IERpc2NvcmRUaHJlYWRNZW1iZXIgfVxuICAvKiogVGhlIGNvbXBvbmVudHMgcmVsYXRlZCB0byB0aGlzIG1lc3NhZ2UgKi9cbiAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1xuICAvKiogU2VudCBpZiB0aGUgbWVzc2FnZSBjb250YWlucyBzdGlja2VycyAqL1xuICBzdGlja2VyX2l0ZW1zPzogRGlzY29yZFN0aWNrZXJJdGVtW11cbiAgLyoqIEEgZ2VuZXJhbGx5IGluY3JlYXNpbmcgaW50ZWdlciAodGhlcmUgbWF5IGJlIGdhcHMgb3IgZHVwbGljYXRlcykgdGhhdCByZXByZXNlbnRzIHRoZSBhcHByb3hpbWF0ZSBwb3NpdGlvbiBvZiB0aGUgbWVzc2FnZSBpbiBhIHRocmVhZCwgaXQgY2FuIGJlIHVzZWQgdG8gZXN0aW1hdGUgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBtZXNzYWdlIGluIGEgdGhyZWFkIGluIGNvbXBhbnkgd2l0aCBgdG90YWxfbWVzc2FnZV9zZW50YCBvbiBwYXJlbnQgdGhyZWFkICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBUaGUgcG9sbCBvYmplY3QgKi9cbiAgcG9sbD86IERpc2NvcmRQb2xsXG4gIC8qKiBUaGUgY2FsbCBhc3NvY2lhdGVkIHdpdGggdGhlIG1lc3NhZ2UgKi9cbiAgY2FsbD86IERpc2NvcmRNZXNzYWdlQ2FsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1jYWxsLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZUNhbGwge1xuICAvKiogQXJyYXkgb2YgdXNlciBvYmplY3QgaWRzIHRoYXQgcGFydGljaXBhdGVkIGluIHRoZSBjYWxsICovXG4gIHBhcnRpY2lwYW50czogc3RyaW5nW11cbiAgLyoqIFRpbWUgd2hlbiBjYWxsIGVuZGVkICovXG4gIGVuZGVkX3RpbWVzdGFtcDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNjaGFubmVsLW1lbnRpb24tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGFubmVsTWVudGlvbiB7XG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgY29udGFpbmluZyB0aGUgY2hhbm5lbCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsICovXG4gIHR5cGU6IG51bWJlclxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGNoYW5uZWwgKi9cbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNyZWFjdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWN0aW9uIHtcbiAgLyoqIFRvdGFsIG51bWJlciBvZiB0aW1lcyB0aGlzIGVtb2ppIGhhcyBiZWVuIHVzZWQgdG8gcmVhY3QgKGluY2x1ZGluZyBzdXBlciByZWFjdHMpICovXG4gIGNvdW50OiBudW1iZXJcbiAgLyoqXHRSZWFjdGlvbiBjb3VudCBkZXRhaWxzIG9iamVjdCAqL1xuICBjb3VudF9kZXRhaWxzOiBEaXNjb3JkUmVhY3Rpb25Db3VudERldGFpbHNcbiAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgdXNlciByZWFjdGVkIHVzaW5nIHRoaXMgZW1vamkgKi9cbiAgbWU6IGJvb2xlYW5cbiAgLyoqXHRXaGV0aGVyIHRoZSBjdXJyZW50IHVzZXIgc3VwZXItcmVhY3RlZCB1c2luZyB0aGlzIGVtb2ppICovXG4gIG1lX2J1cnN0OiBib29sZWFuXG4gIC8qKiBFbW9qaSBpbmZvcm1hdGlvbiAqL1xuICBlbW9qaTogUGFydGlhbDxEaXNjb3JkRW1vamk+XG4gIC8qKiBIRVggY29sb3JzIHVzZWQgZm9yIHN1cGVyIHJlYWN0aW9uICovXG4gIGJ1cnN0X2NvbG9yczogc3RyaW5nW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2dldC1yZWFjdGlvbnMtcmVhY3Rpb24tdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRSZWFjdGlvblR5cGUge1xuICBOb3JtYWwsXG4gIEJ1cnN0LFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjcmVhY3Rpb24tY291bnQtZGV0YWlscy1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWN0aW9uQ291bnREZXRhaWxzIHtcbiAgLyoqIENvdW50IG9mIHN1cGVyIHJlYWN0aW9ucyAqL1xuICBidXJzdDogbnVtYmVyXG4gIC8qKlx0Q291bnQgb2Ygbm9ybWFsIHJlYWN0aW9ucyAqL1xuICBub3JtYWw6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjbWVzc2FnZS1vYmplY3QtbWVzc2FnZS1hY3Rpdml0eS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VBY3Rpdml0eSB7XG4gIC8qKiBUeXBlIG9mIG1lc3NhZ2UgYWN0aXZpdHkgKi9cbiAgdHlwZTogTWVzc2FnZUFjdGl2aXR5VHlwZXNcbiAgLyoqIGBwYXJ0eV9pZGAgZnJvbSBhIFJpY2ggUHJlc2VuY2UgZXZlbnQgKi9cbiAgcGFydHlfaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI21lc3NhZ2Utb2JqZWN0LW1lc3NhZ2UtcmVmZXJlbmNlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZVJlZmVyZW5jZSB7XG4gIC8qKiBUeXBlIG9mIHJlZmVyZW5jZSAqL1xuICB0eXBlPzogRGlzY29yZE1lc3NhZ2VSZWZlcmVuY2VUeXBlXG4gIC8qKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSAqL1xuICBtZXNzYWdlX2lkPzogc3RyaW5nXG4gIC8qKlxuICAgKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSdzIGNoYW5uZWxcbiAgICogTm90ZTogYGNoYW5uZWxfaWRgIGlzIG9wdGlvbmFsIHdoZW4gY3JlYXRpbmcgYSByZXBseSwgYnV0IHdpbGwgYWx3YXlzIGJlIHByZXNlbnQgd2hlbiByZWNlaXZpbmcgYW4gZXZlbnQvcmVzcG9uc2UgdGhhdCBpbmNsdWRlcyB0aGlzIGRhdGEgbW9kZWwuXG4gICAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSdzIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBXaGVuIHNlbmRpbmcsIHdoZXRoZXIgdG8gZXJyb3IgaWYgdGhlIHJlZmVyZW5jZWQgbWVzc2FnZSBkb2Vzbid0IGV4aXN0IGluc3RlYWQgb2Ygc2VuZGluZyBhcyBhIG5vcm1hbCAobm9uLXJlcGx5KSBtZXNzYWdlLCBkZWZhdWx0IHRydWUgKi9cbiAgZmFpbF9pZl9ub3RfZXhpc3RzOiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNtZXNzYWdlLXJlZmVyZW5jZS1vYmplY3QtbWVzc2FnZS1yZWZlcmVuY2UtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRNZXNzYWdlUmVmZXJlbmNlVHlwZSB7XG4gIC8qKlxuICAgKiBBIHN0YW5kYXJkIHJlZmVyZW5jZSB1c2VkIGJ5IHJlcGxpZXMuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gdGhlIHR5cGUgaXMgc2V0IHRvIHRoaXMgdmFsdWUsIHRoZSBmaWVsZCByZWZlcmVuY2VkX21lc3NhZ2Ugb24gdGhlIG1lc3NhZ2Ugd2lsbCBiZSBwcmVzZW50XG4gICAqL1xuICBEZWZhdWx0LFxuICAvKipcbiAgICogUmVmZXJlbmNlIHVzZWQgdG8gcG9pbnQgdG8gYSBtZXNzYWdlIGF0IGEgcG9pbnQgaW4gdGltZS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiB0aGUgdHlwZSBpcyBzZXQgdG8gdGhpcyB2YWx1ZSwgdGhlIGZpZWxkIG1lc3NhZ2Vfc25hcHNob3Qgb24gdGhlIG1lc3NhZ2Ugd2lsbCBiZSBwcmVzZW50XG4gICAqXG4gICAqIFRoaXMgdmFsdWUgY2FuIG9ubHkgYmUgdXNlZCBmb3IgYmFzaWMgbWVzc2FnZXM7XG4gICAqIGkuZS4gbWVzc2FnZXMgd2hpY2ggZG8gbm90IGhhdmUgc3Ryb25nIGJpbmRpbmdzIHRvIGEgbm9uIGdsb2JhbCBlbnRpdHkuXG4gICAqIFRodXMgd2Ugc3VwcG9ydCBvbmx5IG1lc3NhZ2VzIHdpdGggYERFRkFVTFRgIG9yIGBSRVBMWWAgdHlwZXMsIGJ1dCBkaXNhbGxvd2VkIGlmIHRoZXJlIGFyZSBhbnkgcG9sbHMsIGNhbGxzLCBvciBjb21wb25lbnRzLlxuICAgKi9cbiAgRm9yd2FyZCxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI21lc3NhZ2Utc25hcHNob3Qtb2JqZWN0LW1lc3NhZ2Utc25hcHNob3Qtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlU25hcHNob3Qge1xuICAvKiogTWluaW1hbCBzdWJzZXQgb2YgZmllbGRzIGluIHRoZSBmb3J3YXJkZWQgbWVzc2FnZSAqL1xuICBtZXNzYWdlOiBQaWNrPFxuICAgIERpc2NvcmRNZXNzYWdlLFxuICAgIHwgJ3R5cGUnXG4gICAgfCAnY29udGVudCdcbiAgICB8ICdlbWJlZHMnXG4gICAgfCAnYXR0YWNobWVudHMnXG4gICAgfCAndGltZXN0YW1wJ1xuICAgIHwgJ2VkaXRlZF90aW1lc3RhbXAnXG4gICAgfCAnZmxhZ3MnXG4gICAgfCAnbWVudGlvbnMnXG4gICAgfCAnbWVudGlvbl9yb2xlcydcbiAgICB8ICdzdGlja2VycydcbiAgICB8ICdzdGlja2VyX2l0ZW1zJ1xuICAgIHwgJ2NvbXBvbmVudHMnXG4gID5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI3BvbGwtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQb2xsIHtcbiAgLyoqIFRoZSBxdWVzdGlvbiBvZiB0aGUgcG9sbC4gT25seSBgdGV4dGAgaXMgc3VwcG9ydGVkLiAqL1xuICBxdWVzdGlvbjogRGlzY29yZFBvbGxNZWRpYVxuICAvKiogRWFjaCBvZiB0aGUgYW5zd2VycyBhdmFpbGFibGUgaW4gdGhlIHBvbGwuIFRoZXJlIGlzIGEgbWF4aW11bSBvZiAxMCBhbnN3ZXJzIHBlciBwb2xsLiAqL1xuICBhbnN3ZXJzOiBEaXNjb3JkUG9sbEFuc3dlcltdXG4gIC8qKlxuICAgKiBUaGUgdGltZSB3aGVuIHRoZSBwb2xsIGVuZHMuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIGBleHBpcnlgIGlzIG1hcmtlZCBhcyBudWxsYWJsZSB0byBzdXBwb3J0IG5vbi1leHBpcmluZyBwb2xscyBpbiB0aGUgZnV0dXJlLCBidXQgYWxsIHBvbGxzIGhhdmUgYW4gZXhwaXJ5IGN1cnJlbnRseS5cbiAgICovXG4gIGV4cGlyeTogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hldGhlciBhIHVzZXIgY2FuIHNlbGVjdCBtdWx0aXBsZSBhbnN3ZXJzICovXG4gIGFsbG93X211bHRpc2VsZWN0OiBib29sZWFuXG4gIC8qKiBUaGUgbGF5b3V0IHR5cGUgb2YgdGhlIHBvbGwgKi9cbiAgbGF5b3V0X3R5cGU6IERpc2NvcmRQb2xsTGF5b3V0VHlwZVxuICAvKipcbiAgICogVGhlIHJlc3VsdHMgb2YgdGhlIHBvbGxcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB2YWx1ZSB3aWxsIG5vdCBiZSBzZW50IGJ5IGRpc2NvcmQgdW5kZXIgc3BlY2lmaWMgY29uZGl0aW9ucyB3aGVyZSB0aGV5IGRvbid0IGZldGNoIHRoZW0gb24gdGhlaXIgYmFja2VuZC4gV2hlbiB0aGlzIHZhbHVlIGlzIG1pc3NpbmcgaXQgc2hvdWxkIGJlIGludGVycHJldGVkIGFzIFwiVW5rbm93biByZXN1bHRzXCIgYW5kIG5vdCBhcyBcIk5vIHJlc3VsdHNcIlxuICAgKiBUaGUgcmVzdWx0cyBtYXkgbm90IGJlIHRvdGFsbHkgYWNjdXJhdGUgd2hpbGUgdGhlIHBvbGwgaGFzIG5vdCBlbmRlZC4gV2hlbiBpdCBlbmRzIGRpc2NvcmQgd2lsbCByZS1jYWxjdWxhdGUgYWxsIHRoZSByZXN1bHRzIGFuZCBzZXQge0BsaW5rIERpc2NvcmRQb2xsUmVzdWx0LmlzX2ZpbmFsaXplZH0gdG8gdHJ1ZVxuICAgKi9cbiAgcmVzdWx0cz86IERpc2NvcmRQb2xsUmVzdWx0XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvcG9sbCNsYXlvdXQtdHlwZSAqL1xuZXhwb3J0IGVudW0gRGlzY29yZFBvbGxMYXlvdXRUeXBlIHtcbiAgLyoqIFRoZSBkZWZhdWx0IGxheW91dCAqL1xuICBEZWZhdWx0ID0gMSxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI3BvbGwtbWVkaWEtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQb2xsTWVkaWEge1xuICAvKipcbiAgICogVGhlIHRleHQgb2YgdGhlIGZpZWxkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIGB0ZXh0YCBzaG91bGQgYWx3YXlzIGJlIG5vbi1udWxsIGZvciBib3RoIHF1ZXN0aW9ucyBhbmQgYW5zd2VycywgYnV0IHRoaXMgaXMgc3ViamVjdCB0byBjaGFuZ2VzLlxuICAgKiBUaGUgbWF4aW11bSBsZW5ndGggb2YgYHRleHRgIGlzIDMwMCBmb3IgdGhlIHF1ZXN0aW9uLCBhbmQgNTUgZm9yIGFueSBhbnN3ZXIuXG4gICAqL1xuICB0ZXh0Pzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgZW1vamkgb2YgdGhlIGZpZWxkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgYSBwb2xsIGFuc3dlciB3aXRoIGFuIGVtb2ppLCBvbmUgb25seSBuZWVkcyB0byBzZW5kIGVpdGhlciB0aGUgYGlkYCAoY3VzdG9tIGVtb2ppKSBvciBgbmFtZWAgKGRlZmF1bHQgZW1vamkpIGFzIHRoZSBvbmx5IGZpZWxkLlxuICAgKi9cbiAgZW1vamk/OiBQYXJ0aWFsPERpc2NvcmRFbW9qaT5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI3BvbGwtYW5zd2VyLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkUG9sbEFuc3dlciB7XG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIGFuc3dlclxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIGlkIGxhYmVscyBlYWNoIGFuc3dlci4gSXQgc3RhcnRzIGF0IDEgYW5kIGdvZXMgdXAgc2VxdWVudGlhbGx5LiBEaXNjb3JkIHJlY29tbWVuZCBhZ2FpbnN0IGRlcGVuZGluZyBvbiB0aGlzIHZhbHVlIGFzIGlzIGEgaW1wbGVtZW50YXRpb24gZGV0YWlsLlxuICAgKi9cbiAgYW5zd2VyX2lkOiBudW1iZXJcbiAgLyoqIFRoZSBkYXRhIG9mIHRoZSBhbnN3ZXIgKi9cbiAgcG9sbF9tZWRpYTogRGlzY29yZFBvbGxNZWRpYVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQb2xsQW5zd2VyQ291bnQge1xuICAvKiogVGhlIHtAbGluayBEaXNjb3JkUG9sbEFuc3dlci5hbnN3ZXJfaWQgfCBhbnN3ZXJfaWR9ICovXG4gIGlkOiBudW1iZXJcbiAgLyoqIFRoZSBudW1iZXIgb2Ygdm90ZXMgZm9yIHRoaXMgYW5zd2VyICovXG4gIGNvdW50OiBudW1iZXJcbiAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgdXNlciB2b3RlZCBmb3IgdGhpcyBhbnN3ZXIgKi9cbiAgbWVfdm90ZWQ6IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9wb2xsI3BvbGwtcmVzdWx0cy1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGxSZXN1bHQge1xuICAvKiogV2hldGhlciB0aGUgdm90ZXMgaGF2ZSBiZWVuIHByZWNpc2VseSBjb3VudGVkICovXG4gIGlzX2ZpbmFsaXplZDogYm9vbGVhblxuICAvKiogVGhlIGNvdW50cyBmb3IgZWFjaCBhbnN3ZXIgKi9cbiAgYW5zd2VyX2NvdW50czogRGlzY29yZFBvbGxBbnN3ZXJDb3VudFtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvcG9sbCNnZXQtYW5zd2VyLXZvdGVycy1yZXNwb25zZS1ib2R5ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHZXRBbnN3ZXJWb3Rlc1Jlc3BvbnNlIHtcbiAgLyoqIFVzZXJzIHdobyB2b3RlZCBmb3IgdGhpcyBhbnN3ZXIgKi9cbiAgdXNlcnM6IERpc2NvcmRVc2VyW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5LWV2ZW50cyNtZXNzYWdlLXBvbGwtdm90ZS1hZGQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGxWb3RlQWRkIHtcbiAgLyoqIElEIG9mIHRoZSB1c2VyLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGNoYW5uZWwuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgbWVzc2FnZS4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZC4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGFuc3dlci4gKi9cbiAgYW5zd2VyX2lkOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5LWV2ZW50cyNtZXNzYWdlLXBvbGwtdm90ZS1yZW1vdmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBvbGxWb3RlUmVtb3ZlIHtcbiAgLyoqIElEIG9mIHRoZSB1c2VyLiBVc3VhbGx5IGEgc25vd2ZsYWtlICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGNoYW5uZWwuIFVzdWFsbHkgYSBzbm93Zmxha2UgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgbWVzc2FnZS4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZC4gVXN1YWxseSBhIHNub3dmbGFrZSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGFuc3dlci4gKi9cbiAgYW5zd2VyX2lkOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItb2JqZWN0LXN0aWNrZXItc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdGlja2VyIHtcbiAgLyoqIFtJZCBvZiB0aGUgc3RpY2tlcl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI2ltYWdlLWZvcm1hdHRpbmcpICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElkIG9mIHRoZSBwYWNrIHRoZSBzdGlja2VyIGlzIGZyb20gKi9cbiAgcGFja19pZD86IHN0cmluZ1xuICAvKiogTmFtZSBvZiB0aGUgc3RpY2tlciAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIERlc2NyaXB0aW9uIG9mIHRoZSBzdGlja2VyICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIGEgdW5pY29kZSBlbW9qaSByZXByZXNlbnRpbmcgdGhlIHN0aWNrZXIncyBleHByZXNzaW9uICovXG4gIHRhZ3M6IHN0cmluZ1xuICAvKiogW3R5cGUgb2Ygc3RpY2tlcl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1vYmplY3Qtc3RpY2tlci10eXBlcykgKi9cbiAgdHlwZTogU3RpY2tlclR5cGVzXG4gIC8qKiBbVHlwZSBvZiBzdGlja2VyIGZvcm1hdF0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1vYmplY3Qtc3RpY2tlci1mb3JtYXQtdHlwZXMpICovXG4gIGZvcm1hdF90eXBlOiBTdGlja2VyRm9ybWF0VHlwZXNcbiAgLyoqICBXaGV0aGVyIG9yIG5vdCB0aGUgc3RpY2tlciBpcyBhdmFpbGFibGUgKi9cbiAgYXZhaWxhYmxlPzogYm9vbGVhblxuICAvKiogSWQgb2YgdGhlIGd1aWxkIHRoYXQgb3ducyB0aGlzIHN0aWNrZXIgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHRoYXQgdXBsb2FkZWQgdGhlIHN0aWNrZXIgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBBIHN0aWNrZXIncyBzb3J0IG9yZGVyIHdpdGhpbiBhIHBhY2sgKi9cbiAgc29ydF92YWx1ZT86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3JlY2VpdmluZy1hbmQtcmVzcG9uZGluZyNtZXNzYWdlLWludGVyYWN0aW9uLW9iamVjdC1tZXNzYWdlLWludGVyYWN0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBpbnRlcmFjdGlvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBpbnRlcmFjdGlvbiAqL1xuICB0eXBlOiBJbnRlcmFjdGlvblR5cGVzXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgQXBwbGljYXRpb25Db21tYW5kIGluY2x1ZGluZyB0aGUgbmFtZSBvZiB0aGUgc3ViY29tbWFuZC9zdWJjb21tYW5kIGdyb3VwICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVGhlIHVzZXIgd2hvIGludm9rZWQgdGhlIGludGVyYWN0aW9uICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgbWVtYmVyIHdobyBpbnZva2VkIHRoZSBpbnRlcmFjdGlvbiBpbiB0aGUgZ3VpbGQgKi9cbiAgbWVtYmVyPzogUGFydGlhbDxEaXNjb3JkTWVtYmVyPlxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL21lc3NhZ2UjbWVzc2FnZS1pbnRlcmFjdGlvbi1tZXRhZGF0YS1vYmplY3QgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSA9XG4gIHwgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZEludGVyYWN0aW9uTWV0YWRhdGFcbiAgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEludGVyYWN0aW9uTWV0YWRhdGFcbiAgfCBEaXNjb3JkTW9kYWxTdWJtaXRJbnRlcmFjdGlvbk1ldGFkYXRhXG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvbWVzc2FnZSNtZXNzYWdlLWludGVyYWN0aW9uLW1ldGFkYXRhLW9iamVjdC1hcHBsaWNhdGlvbi1jb21tYW5kLWludGVyYWN0aW9uLW1ldGFkYXRhLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kSW50ZXJhY3Rpb25NZXRhZGF0YSB7XG4gIC8qKiBJZCBvZiB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gKi9cbiAgdHlwZTogSW50ZXJhY3Rpb25UeXBlc1xuICAvKiogVXNlciB3aG8gdHJpZ2dlcmVkIHRoZSBpbnRlcmFjdGlvbiAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogSURzIGZvciBpbnN0YWxsYXRpb24gY29udGV4dChzKSByZWxhdGVkIHRvIGFuIGludGVyYWN0aW9uICovXG4gIGF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyczogUGFydGlhbDxSZWNvcmQ8YCR7RGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlfWAsIHN0cmluZz4+XG4gIC8qKiBJRCBvZiB0aGUgb3JpZ2luYWwgcmVzcG9uc2UgbWVzc2FnZSwgcHJlc2VudCBvbmx5IG9uIGZvbGxvdy11cCBtZXNzYWdlcyAqL1xuICBvcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB0aGUgY29tbWFuZCB3YXMgcnVuIG9uLCBwcmVzZW50IG9ubHkgb24gdXNlciBjb21tYW5kIGludGVyYWN0aW9ucyAqL1xuICB0YXJnZXRfdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgSUQgb2YgdGhlIG1lc3NhZ2UgdGhlIGNvbW1hbmQgd2FzIHJ1biBvbiwgcHJlc2VudCBvbmx5IG9uIG1lc3NhZ2UgY29tbWFuZCBpbnRlcmFjdGlvbnMuIFRoZSBvcmlnaW5hbCByZXNwb25zZSBtZXNzYWdlIHdpbGwgYWxzbyBoYXZlIG1lc3NhZ2VfcmVmZXJlbmNlIGFuZCByZWZlcmVuY2VkX21lc3NhZ2UgcG9pbnRpbmcgdG8gdGhpcyBtZXNzYWdlLiAqL1xuICB0YXJnZXRfbWVzc2FnZV9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL21lc3NhZ2UjbWVzc2FnZS1pbnRlcmFjdGlvbi1tZXRhZGF0YS1vYmplY3QtbWVzc2FnZS1jb21wb25lbnQtaW50ZXJhY3Rpb24tbWV0YWRhdGEtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50SW50ZXJhY3Rpb25NZXRhZGF0YSB7XG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGludGVyYWN0aW9uICovXG4gIHR5cGU6IEludGVyYWN0aW9uVHlwZXNcbiAgLyoqIFVzZXIgd2hvIHRyaWdnZXJlZCB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbiAgLyoqIElEcyBmb3IgaW5zdGFsbGF0aW9uIGNvbnRleHQocykgcmVsYXRlZCB0byBhbiBpbnRlcmFjdGlvbiAqL1xuICBhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnM6IFBhcnRpYWw8UmVjb3JkPGAke0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZX1gLCBzdHJpbmc+PlxuICAvKiogSUQgb2YgdGhlIG9yaWdpbmFsIHJlc3BvbnNlIG1lc3NhZ2UsIHByZXNlbnQgb25seSBvbiBmb2xsb3ctdXAgbWVzc2FnZXMgKi9cbiAgb3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIG1lc3NhZ2UgdGhhdCBjb250YWluZWQgaW50ZXJhY3RpdmUgY29tcG9uZW50LCBwcmVzZW50IG9ubHkgb24gbWVzc2FnZXMgY3JlYXRlZCBmcm9tIGNvbXBvbmVudCBpbnRlcmFjdGlvbnMgKi9cbiAgaW50ZXJhY3RlZF9tZXNzYWdlX2lkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvbWVzc2FnZSNtZXNzYWdlLWludGVyYWN0aW9uLW1ldGFkYXRhLW9iamVjdC1tb2RhbC1zdWJtaXQtaW50ZXJhY3Rpb24tbWV0YWRhdGEtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNb2RhbFN1Ym1pdEludGVyYWN0aW9uTWV0YWRhdGEge1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBpbnRlcmFjdGlvbiAqL1xuICB0eXBlOiBJbnRlcmFjdGlvblR5cGVzXG4gIC8qKiBVc2VyIHdobyB0cmlnZ2VyZWQgdGhlIGludGVyYWN0aW9uICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG4gIC8qKiBJRHMgZm9yIGluc3RhbGxhdGlvbiBjb250ZXh0KHMpIHJlbGF0ZWQgdG8gYW4gaW50ZXJhY3Rpb24gKi9cbiAgYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzOiBQYXJ0aWFsPFJlY29yZDxgJHtEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGV9YCwgc3RyaW5nPj5cbiAgLyoqIElEIG9mIHRoZSBvcmlnaW5hbCByZXNwb25zZSBtZXNzYWdlLCBwcmVzZW50IG9ubHkgb24gZm9sbG93LXVwIG1lc3NhZ2VzICovXG4gIG9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQ/OiBzdHJpbmdcbiAgLyoqIE1ldGFkYXRhIGZvciB0aGUgaW50ZXJhY3Rpb24gdGhhdCB3YXMgdXNlZCB0byBvcGVuIHRoZSBtb2RhbCwgcHJlc2VudCBvbmx5IG9uIG1vZGFsIHN1Ym1pdCBpbnRlcmFjdGlvbnMgKi9cbiAgdHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YT86IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YVxufVxuXG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudHMgPSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudFtdXG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCA9IERpc2NvcmRBY3Rpb25Sb3cgfCBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudCB8IERpc2NvcmRCdXR0b25Db21wb25lbnQgfCBEaXNjb3JkSW5wdXRUZXh0Q29tcG9uZW50XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvbWVzc2FnZS1jb21wb25lbnRzI2FjdGlvbnJvdyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aW9uUm93IHtcbiAgLyoqIEFjdGlvbiByb3dzIGFyZSBhIGdyb3VwIG9mIGJ1dHRvbnMuICovXG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3dcbiAgLyoqIFRoZSBjb21wb25lbnRzIGluIHRoaXMgcm93ICovXG4gIGNvbXBvbmVudHM6IEV4Y2x1ZGU8RGlzY29yZE1lc3NhZ2VDb21wb25lbnQsIERpc2NvcmRBY3Rpb25Sb3c+W11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjc2VsZWN0LW1lbnUtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHtcbiAgdHlwZTpcbiAgICB8IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TZWxlY3RNZW51XG4gICAgfCBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VsZWN0TWVudUNoYW5uZWxzXG4gICAgfCBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VsZWN0TWVudVJvbGVzXG4gICAgfCBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VsZWN0TWVudVVzZXJzXG4gICAgfCBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VsZWN0TWVudVVzZXJzQW5kUm9sZXNcbiAgLyoqIEEgY3VzdG9tIGlkZW50aWZpZXIgZm9yIHRoaXMgY29tcG9uZW50LiBNYXhpbXVtIDEwMCBjaGFyYWN0ZXJzLiAqL1xuICBjdXN0b21faWQ6IHN0cmluZ1xuICAvKiogQSBjdXN0b20gcGxhY2Vob2xkZXIgdGV4dCBpZiBub3RoaW5nIGlzIHNlbGVjdGVkLiBNYXhpbXVtIDE1MCBjaGFyYWN0ZXJzLiAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICAvKiogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGl0ZW1zIHRoYXQgbXVzdCBiZSBzZWxlY3RlZC4gRGVmYXVsdCAxLiBCZXR3ZWVuIDEtMjUuICovXG4gIG1pbl92YWx1ZXM/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0aGF0IGNhbiBiZSBzZWxlY3RlZC4gRGVmYXVsdCAxLiBCZXR3ZWVuIDEtMjUuICovXG4gIG1heF92YWx1ZXM/OiBudW1iZXJcbiAgLyoqXG4gICAqIExpc3Qgb2YgZGVmYXVsdCB2YWx1ZXMgZm9yIGF1dG8tcG9wdWxhdGVkIHNlbGVjdCBtZW51IGNvbXBvbmVudHNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhlIG51bWJlciBvZiBkZWZhdWx0IHZhbHVlcyBtdXN0IGJlIGluIHRoZSByYW5nZSBkZWZpbmVkIGJ5IG1pbl92YWx1ZXMgYW5kIG1heF92YWx1ZXNcbiAgICovXG4gIGRlZmF1bHRfdmFsdWVzPzogRGlzY29yZFNlbGVjdE1lbnVEZWZhdWx0VmFsdWVbXVxuICAvKiogTGlzdCBvZiBjaGFubmVsIHR5cGVzIHRvIGluY2x1ZGUgaW4gYSBjaGFubmVsIHNlbGVjdCBtZW51IG9wdGlvbnMgbGlzdCAqL1xuICBjaGFubmVsX3R5cGVzPzogQ2hhbm5lbFR5cGVzW11cbiAgLyoqIFRoZSBjaG9pY2VzISBNYXhpbXVtIG9mIDI1IGl0ZW1zLiAqL1xuICBvcHRpb25zPzogRGlzY29yZFNlbGVjdE9wdGlvbltdXG4gIC8qKlxuICAgKiBXaGV0aGVyIHNlbGVjdCBtZW51IGlzIGRpc2FibGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0T3B0aW9uIHtcbiAgLyoqIFRoZSB1c2VyLWZhY2luZyBuYW1lIG9mIHRoZSBvcHRpb24uIE1heGltdW0gMjUgY2hhcmFjdGVycy4gKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogVGhlIGRldi1kZWZpbmVkIHZhbHVlIG9mIHRoZSBvcHRpb24uIE1heGltdW0gMTAwIGNoYXJhY3RlcnMuICovXG4gIHZhbHVlOiBzdHJpbmdcbiAgLyoqIEFuIGFkZGl0aW9uYWwgZGVzY3JpcHRpb24gb2YgdGhlIG9wdGlvbi4gTWF4aW11bSA1MCBjaGFyYWN0ZXJzLiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogVGhlIGlkLCBuYW1lLCBhbmQgYW5pbWF0ZWQgcHJvcGVydGllcyBvZiBhbiBlbW9qaS4gKi9cbiAgZW1vamk/OiB7XG4gICAgLyoqIEVtb2ppIGlkICovXG4gICAgaWQ/OiBzdHJpbmdcbiAgICAvKiogRW1vamkgbmFtZSAqL1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gICAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIH1cbiAgLyoqIFdpbGwgcmVuZGVyIHRoaXMgb3B0aW9uIGFzIGFscmVhZHktc2VsZWN0ZWQgYnkgZGVmYXVsdC4gKi9cbiAgZGVmYXVsdD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjc2VsZWN0LW1lbnUtb2JqZWN0LXNlbGVjdC1kZWZhdWx0LXZhbHVlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0TWVudURlZmF1bHRWYWx1ZSB7XG4gIC8qKiBJRCBvZiBhIHVzZXIsIHJvbGUsIG9yIGNoYW5uZWwgKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogVHlwZSBvZiB2YWx1ZSB0aGF0IGlkIHJlcHJlc2VudHMuICovXG4gIHR5cGU6ICd1c2VyJyB8ICdyb2xlJyB8ICdjaGFubmVsJ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyNidXR0b25zLWJ1dHRvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB7XG4gIC8qKiBBbGwgYnV0dG9uIGNvbXBvbmVudHMgaGF2ZSB0eXBlIDIgKi9cbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvblxuICAvKipcbiAgICogVGV4dCB0aGF0IGFwcGVhcnMgb24gdGhlIGJ1dHRvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIGxhYmVsIGNhbiBoYXZlIGEgbWF4IG9mIDgwIGNoYXJhY3RlcnNcbiAgICogQSBidXR0b24gb2Ygc3R5bGUge0BsaW5rIEJ1dHRvblN0eWxlcy5QcmVtaXVtIHwgUHJlbWl1bX0gY2Fubm90IGhhdmUgYSBsYWJlbFxuICAgKi9cbiAgbGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEEgZGV2LWRlZmluZWQgdW5pcXVlIHN0cmluZyBzZW50IG9uIGNsaWNrIChtYXggMTAwIGNoYXJhY3RlcnMpLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIGJ1dHRvbiBvZiBzdHlsZSB7QGxpbmsgQnV0dG9uU3R5bGVzLkxpbmsgfCBMaW5rfSBvciB7QGxpbmsgQnV0dG9uU3R5bGVzLlByZW1pdW0gfCBQcmVtaXVtfSBjYW5ub3QgaGF2ZSBhIGN1c3RvbV9pZFxuICAgKi9cbiAgY3VzdG9tX2lkPzogc3RyaW5nXG4gIC8qKiBGb3IgZGlmZmVyZW50IHN0eWxlcy9jb2xvcnMgb2YgdGhlIGJ1dHRvbnMgKi9cbiAgc3R5bGU6IEJ1dHRvblN0eWxlc1xuICAvKipcbiAgICogRW1vamkgb2JqZWN0IHRoYXQgaW5jbHVkZXMgZmllbGRzIG9mIG5hbWUsIGlkLCBhbmQgYW5pbWF0ZWQgc3VwcG9ydGluZyB1bmljb2RlIGFuZCBjdXN0b20gZW1vamlzLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIGJ1dHRvbiBvZiBzdHlsZSB7QGxpbmsgQnV0dG9uU3R5bGVzLlByZW1pdW0gfCBQcmVtaXVtfSBjYW5ub3QgaGF2ZSBhbiBlbW9qaVxuICAgKi9cbiAgZW1vamk/OiB7XG4gICAgLyoqIEVtb2ppIGlkICovXG4gICAgaWQ/OiBzdHJpbmdcbiAgICAvKiogRW1vamkgbmFtZSAqL1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gICAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIH1cbiAgLyoqXG4gICAqIFVybCBmb3Ige0BsaW5rIEJ1dHRvblN0eWxlcy5MaW5rIHwgbGlua30gYnV0dG9ucyB0aGF0IGNhbiBuYXZpZ2F0ZSBhIHVzZXIgdG8gdGhlIHdlYi5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogQnV0dG9ucyBvZiBzdHlsZSB7QGxpbmsgQnV0dG9uU3R5bGVzLkxpbmsgfCBMaW5rfSBtdXN0IGhhdmUgYW4gdXJsLCBhbnkgb3RoZXIgYnV0dG9uIHdpdGggYSBkaWZmZXJlbnQgc3R5bGUgY2FuIG5vdCBoYXZlIGFuIHVybFxuICAgKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGJ1dHRvbiBpcyBkaXNhYmxlZCAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFNLVSBmb3Ige0BsaW5rIEJ1dHRvblN0eWxlcy5QcmVtaXVtIHwgcHJlbWl1bX0gYnV0dG9ucyB0aGF0IGNhbiBuYXZpZ2F0ZSBhIHVzZXIgdG8gdGhlIGFwcGxpY2F0aW9uIHNob3AuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEJ1dHRvbnMgb2Ygc3R5bGUge0BsaW5rIEJ1dHRvblN0eWxlcy5QcmVtaXVtIHwgUHJlbWl1bX0gbXVzdCBoYXZlIGEgc2t1X2lkLCBhbnkgb3RoZXIgYnV0dG9uIHdpdGggYSBkaWZmZXJlbnQgc3R5bGUgY2FuIG5vdCBoYXZlIGEgYSBza3VfaWRcbiAgICovXG4gIHNrdV9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyN0ZXh0LWlucHV0cy10ZXh0LWlucHV0LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW5wdXRUZXh0Q29tcG9uZW50IHtcbiAgLyoqIElucHV0VGV4dCBDb21wb25lbnQgaXMgb2YgdHlwZSAzICovXG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5JbnB1dFRleHRcbiAgLyoqIFRoZSBzdHlsZSBvZiB0aGUgSW5wdXRUZXh0ICovXG4gIHN0eWxlOiBUZXh0U3R5bGVzXG4gIC8qKiB3aGV0aGVyIHRoaXMgY29tcG9uZW50IGlzIHJlcXVpcmVkIHRvIGJlIGZpbGxlZCwgZGVmYXVsdCB0cnVlICovXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICAvKiogVGhlIGN1c3RvbUlkIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBsYWJlbCBvZiB0aGUgSW5wdXRUZXh0IChtYXggNDUgY2hhcmFjdGVycykgKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogVGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqIFRoZSBtaW5pbXVtIGxlbmd0aCBvZiB0aGUgdGV4dCB0aGUgdXNlciBoYXMgdG8gcHJvdmlkZSAqL1xuICBtaW5fbGVuZ3RoPzogbnVtYmVyXG4gIC8qKiBUaGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIHRleHQgdGhlIHVzZXIgaGFzIHRvIHByb3ZpZGUgKi9cbiAgbWF4X2xlbmd0aD86IG51bWJlclxuICAvKiogUHJlLWZpbGxlZCB2YWx1ZSBmb3IgaW5wdXQgdGV4dC4gKi9cbiAgdmFsdWU/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItaXRlbS1vYmplY3Qtc3RpY2tlci1pdGVtLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU3RpY2tlckl0ZW0ge1xuICAvKiogSWQgb2YgdGhlIHN0aWNrZXIgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogTmFtZSBvZiB0aGUgc3RpY2tlciAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFtUeXBlIG9mIHN0aWNrZXIgZm9ybWF0XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLW9iamVjdC1zdGlja2VyLWZvcm1hdC10eXBlcykgKi9cbiAgZm9ybWF0X3R5cGU6IFN0aWNrZXJGb3JtYXRUeXBlc1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1wYWNrLW9iamVjdC1zdGlja2VyLXBhY2stc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdGlja2VyUGFjayB7XG4gIC8qKiBpZCBvZiB0aGUgc3RpY2tlciBwYWNrICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIHRoZSBzdGlja2VycyBpbiB0aGUgcGFjayAqL1xuICBzdGlja2VyczogRGlzY29yZFN0aWNrZXJbXVxuICAvKiogbmFtZSBvZiB0aGUgc3RpY2tlciBwYWNrICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHBhY2sncyBTS1UgKi9cbiAgc2t1X2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIGEgc3RpY2tlciBpbiB0aGUgcGFjayB3aGljaCBpcyBzaG93biBhcyB0aGUgcGFjaydzIGljb24gKi9cbiAgY292ZXJfc3RpY2tlcl9pZD86IHN0cmluZ1xuICAvKiogZGVzY3JpcHRpb24gb2YgdGhlIHN0aWNrZXIgcGFjayAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgc3RpY2tlciBwYWNrJ3MgW2Jhbm5lciBpbWFnZV0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI2ltYWdlLWZvcm1hdHRpbmcpICovXG4gIGJhbm5lcl9hc3NldF9pZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbiB7XG4gIC8qKiBJZCBvZiB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWQgb2YgdGhlIGFwcGxpY2F0aW9uIHRoaXMgaW50ZXJhY3Rpb24gaXMgZm9yICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGludGVyYWN0aW9uICovXG4gIHR5cGU6IEludGVyYWN0aW9uVHlwZXNcbiAgLyoqIEd1aWxkIHRoYXQgdGhlIGludGVyYWN0aW9uIHdhcyBzZW50IGZyb20gKi9cbiAgZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIFRoZSBndWlsZCBpdCB3YXMgc2VudCBmcm9tICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgY2hhbm5lbCBpdCB3YXMgc2VudCBmcm9tICovXG4gIGNoYW5uZWw6IFBhcnRpYWw8RGlzY29yZENoYW5uZWw+XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgY2hhbm5lbCBpdCB3YXMgc2VudCBmcm9tXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IGJlZ2luIHVzaW5nIHRoaXMgY2hhbm5lbCBmaWVsZCB0byBpZGVudGlmeSB0aGUgc291cmNlIGNoYW5uZWwgb2YgdGhlIGludGVyYWN0aW9uIGFzIHRoZXkgbWF5IGRlcHJlY2F0ZSB0aGUgZXhpc3RpbmcgY2hhbm5lbF9pZCBmaWVsZCBpbiB0aGUgZnV0dXJlLlxuICAgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAvKiogR3VpbGQgbWVtYmVyIGRhdGEgZm9yIHRoZSBpbnZva2luZyB1c2VyLCBpbmNsdWRpbmcgcGVybWlzc2lvbnMgKi9cbiAgbWVtYmVyPzogRGlzY29yZEludGVyYWN0aW9uTWVtYmVyXG4gIC8qKiBVc2VyIG9iamVjdCBmb3IgdGhlIGludm9raW5nIHVzZXIsIGlmIGludm9rZWQgaW4gYSBETSAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIEEgY29udGludWF0aW9uIHRva2VuIGZvciByZXNwb25kaW5nIHRvIHRoZSBpbnRlcmFjdGlvbiAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBSZWFkLW9ubHkgcHJvcGVydHksIGFsd2F5cyBgMWAgKi9cbiAgdmVyc2lvbjogMVxuICAvKiogRm9yIHRoZSBtZXNzYWdlIHRoZSBidXR0b24gd2FzIGF0dGFjaGVkIHRvICovXG4gIG1lc3NhZ2U/OiBEaXNjb3JkTWVzc2FnZVxuICAvKiogdGhlIGNvbW1hbmQgZGF0YSBwYXlsb2FkICovXG4gIGRhdGE/OiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhXG4gIC8qKiBUaGUgc2VsZWN0ZWQgbGFuZ3VhZ2Ugb2YgdGhlIGludm9raW5nIHVzZXIgKi9cbiAgbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQncyBwcmVmZXJyZWQgbG9jYWxlLCBpZiBpbnZva2VkIGluIGEgZ3VpbGQgKi9cbiAgZ3VpbGRfbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgY29tcHV0ZWQgcGVybWlzc2lvbnMgZm9yIGEgYm90IG9yIGFwcCBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIGludGVyYWN0aW9uIChpbmNsdWRpbmcgY2hhbm5lbCBvdmVyd3JpdGVzKSAqL1xuICBhcHBfcGVybWlzc2lvbnM6IHN0cmluZ1xuICAvKiogRm9yIG1vbmV0aXplZCBhcHBzLCBhbnkgZW50aXRsZW1lbnRzIGZvciB0aGUgaW52b2tpbmcgdXNlciwgcmVwcmVzZW50aW5nIGFjY2VzcyB0byBwcmVtaXVtIFNLVXMgKi9cbiAgZW50aXRsZW1lbnRzOiBEaXNjb3JkRW50aXRsZW1lbnRbXVxuICAvKiogTWFwcGluZyBvZiBpbnN0YWxsYXRpb24gY29udGV4dHMgdGhhdCB0aGUgaW50ZXJhY3Rpb24gd2FzIGF1dGhvcml6ZWQgZm9yIHRvIHJlbGF0ZWQgdXNlciBvciBndWlsZCBJRHMuICovXG4gIGF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyczogUGFydGlhbDxSZWNvcmQ8RGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLCBzdHJpbmc+PlxuICAvKiogQ29udGV4dCB3aGVyZSB0aGUgaW50ZXJhY3Rpb24gd2FzIHRyaWdnZXJlZCBmcm9tICovXG4gIGNvbnRleHQ/OiBEaXNjb3JkSW50ZXJhY3Rpb25Db250ZXh0VHlwZVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3JlY2VpdmluZy1hbmQtcmVzcG9uZGluZyNpbnRlcmFjdGlvbi1jYWxsYmFjay1pbnRlcmFjdGlvbi1jYWxsYmFjay1yZXNwb25zZS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSB7XG4gIC8qKiBUaGUgaW50ZXJhY3Rpb24gb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgaW50ZXJhY3Rpb24gcmVzcG9uc2UgKi9cbiAgaW50ZXJhY3Rpb246IERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrXG4gIC8qKiBUaGUgcmVzb3VyY2UgdGhhdCB3YXMgY3JlYXRlZCBieSB0aGUgaW50ZXJhY3Rpb24gcmVzcG9uc2UuICovXG4gIHJlc291cmNlPzogRGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2Vcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9yZWNlaXZpbmctYW5kLXJlc3BvbmRpbmcjaW50ZXJhY3Rpb24tY2FsbGJhY2staW50ZXJhY3Rpb24tY2FsbGJhY2stb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrIHtcbiAgLyoqIElEIG9mIHRoZSBpbnRlcmFjdGlvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJbnRlcmFjdGlvbiB0eXBlICovXG4gIHR5cGU6IEludGVyYWN0aW9uVHlwZXNcbiAgLyoqIEluc3RhbmNlIElEIG9mIHRoZSBBY3Rpdml0eSBpZiBvbmUgd2FzIGxhdW5jaGVkIG9yIGpvaW5lZCAqL1xuICBhY3Rpdml0eV9pbnN0YW5jZV9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIG1lc3NhZ2UgdGhhdCB3YXMgY3JlYXRlZCBieSB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgcmVzcG9uc2VfbWVzc2FnZV9pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciBvciBub3QgdGhlIG1lc3NhZ2UgaXMgaW4gYSBsb2FkaW5nIHN0YXRlICovXG4gIHJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZz86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSByZXNwb25zZSBtZXNzYWdlIHdhcyBlcGhlbWVyYWwgKi9cbiAgcmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWw/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvcmVjZWl2aW5nLWFuZC1yZXNwb25kaW5nI2ludGVyYWN0aW9uLWNhbGxiYWNrLWludGVyYWN0aW9uLWNhbGxiYWNrLXJlc291cmNlLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSB7XG4gIHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlc1xuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgQWN0aXZpdHkgbGF1bmNoZWQgYnkgdGhpcyBpbnRlcmFjdGlvbi5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSBwcmVzZW50IGlmIHR5cGUgaXMgYExBVU5DSF9BQ1RJVklUWWAuXG4gICAqL1xuICBhY3Rpdml0eV9pbnN0YW5jZT86IERpc2NvcmRBY3Rpdml0eUluc3RhbmNlUmVzb3VyY2VcbiAgLyoqXG4gICAqIE1lc3NhZ2UgY3JlYXRlZCBieSB0aGUgaW50ZXJhY3Rpb24uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgcHJlc2VudCBpZiB0eXBlIGlzIGVpdGhlciBgQ0hBTk5FTF9NRVNTQUdFX1dJVEhfU09VUkNFYCBvciBgVVBEQVRFX01FU1NBR0VgLlxuICAgKi9cbiAgbWVzc2FnZT86IERpc2NvcmRNZXNzYWdlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvcmVjZWl2aW5nLWFuZC1yZXNwb25kaW5nI2ludGVyYWN0aW9uLWNhbGxiYWNrLWludGVyYWN0aW9uLWNhbGxiYWNrLWFjdGl2aXR5LWluc3RhbmNlLXJlc291cmNlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eUluc3RhbmNlUmVzb3VyY2Uge1xuICAvKiogSW5zdGFuY2UgSUQgb2YgdGhlIEFjdGl2aXR5IGlmIG9uZSB3YXMgbGF1bmNoZWQgb3Igam9pbmVkLiAqL1xuICBpZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtbWVtYmVyLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZXJhY3Rpb25NZW1iZXIgZXh0ZW5kcyBEaXNjb3JkTWVtYmVyV2l0aFVzZXIge1xuICAvKiogVG90YWwgcGVybWlzc2lvbnMgb2YgdGhlIG1lbWJlciBpbiB0aGUgY2hhbm5lbCwgaW5jbHVkaW5nIG92ZXJ3cml0ZXMsIHJldHVybmVkIHdoZW4gaW4gdGhlIGludGVyYWN0aW9uIG9iamVjdCAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uRGF0YSB7XG4gIC8qKiBUaGUgdHlwZSBvZiBjb21wb25lbnQgKi9cbiAgY29tcG9uZW50X3R5cGU/OiBNZXNzYWdlQ29tcG9uZW50VHlwZXNcbiAgLyoqIFRoZSBjdXN0b20gaWQgcHJvdmlkZWQgZm9yIHRoaXMgY29tcG9uZW50LiAqL1xuICBjdXN0b21faWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBjb21wb25lbnRzIGlmIGl0cyBhIE1vZGFsIFN1Ym1pdCBpbnRlcmFjdGlvbi4gKi9cbiAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1xuICAvKiogVGhlIHZhbHVlcyBjaG9zZW4gYnkgdGhlIHVzZXIuICovXG4gIHZhbHVlcz86IHN0cmluZ1tdXG4gIC8qKiBUaGUgSWQgb2YgdGhlIGludm9rZWQgY29tbWFuZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgaW52b2tlZCBjb21tYW5kICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogdGhlIHR5cGUgb2YgdGhlIGludm9rZWQgY29tbWFuZCAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlc1xuICAvKiogQ29udmVydGVkIHVzZXJzICsgcm9sZXMgKyBjaGFubmVscyArIGF0dGFjaG1lbnRzICovXG4gIHJlc29sdmVkPzoge1xuICAgIC8qKiBUaGUgSWRzIGFuZCBNZXNzYWdlIG9iamVjdHMgKi9cbiAgICBtZXNzYWdlcz86IFJlY29yZDxzdHJpbmcsIERpc2NvcmRNZXNzYWdlPlxuICAgIC8qKiBUaGUgSWRzIGFuZCBVc2VyIG9iamVjdHMgKi9cbiAgICB1c2Vycz86IFJlY29yZDxzdHJpbmcsIERpc2NvcmRVc2VyPlxuICAgIC8qKiBUaGUgSWRzIGFuZCBwYXJ0aWFsIE1lbWJlciBvYmplY3RzICovXG4gICAgbWVtYmVycz86IFJlY29yZDxzdHJpbmcsIE9taXQ8RGlzY29yZEludGVyYWN0aW9uTWVtYmVyLCAndXNlcicgfCAnZGVhZicgfCAnbXV0ZSc+PlxuICAgIC8qKiBUaGUgSWRzIGFuZCBSb2xlIG9iamVjdHMgKi9cbiAgICByb2xlcz86IFJlY29yZDxzdHJpbmcsIERpc2NvcmRSb2xlPlxuICAgIC8qKiBUaGUgSWRzIGFuZCBwYXJ0aWFsIENoYW5uZWwgb2JqZWN0cyAqL1xuICAgIGNoYW5uZWxzPzogUmVjb3JkPHN0cmluZywgUGljazxEaXNjb3JkQ2hhbm5lbCwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJyB8ICdwZXJtaXNzaW9ucyc+PlxuICAgIC8qKiBUaGUgaWRzIGFuZCBhdHRhY2htZW50IG9iamVjdHMgKi9cbiAgICBhdHRhY2htZW50czogUmVjb3JkPHN0cmluZywgRGlzY29yZEF0dGFjaG1lbnQ+XG4gIH1cbiAgLyoqIFRoZSBwYXJhbXMgKyB2YWx1ZXMgZnJvbSB0aGUgdXNlciAqL1xuICBvcHRpb25zPzogRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbltdXG4gIC8qKiBUaGUgdGFyZ2V0IGlkIGlmIHRoaXMgaXMgYSBjb250ZXh0IG1lbnUgY29tbWFuZC4gKi9cbiAgdGFyZ2V0X2lkPzogc3RyaW5nXG4gIC8qKiB0aGUgaWQgb2YgdGhlIGd1aWxkIHRoZSBjb21tYW5kIGlzIHJlZ2lzdGVyZWQgdG8gKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgLyoqIE5hbWUgb2YgdGhlIHBhcmFtZXRlciAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFZhbHVlIG9mIGFwcGxpY2F0aW9uIGNvbW1hbmQgb3B0aW9uIHR5cGUgKi9cbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXNcbiAgLyoqIFZhbHVlIG9mIHRoZSBvcHRpb24gcmVzdWx0aW5nIGZyb20gdXNlciBpbnB1dCAqL1xuICB2YWx1ZT86IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXJcbiAgLyoqIFByZXNlbnQgaWYgdGhpcyBvcHRpb24gaXMgYSBncm91cCBvciBzdWJjb21tYW5kICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uW11cbiAgLyoqIGB0cnVlYCBpZiB0aGlzIG9wdGlvbiBpcyB0aGUgY3VycmVudGx5IGZvY3VzZWQgb3B0aW9uIGZvciBhdXRvY29tcGxldGUgKi9cbiAgZm9jdXNlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTGlzdEFjdGl2ZVRocmVhZHMge1xuICAvKiogVGhlIGFjdGl2ZSB0aHJlYWRzICovXG4gIHRocmVhZHM6IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIEEgdGhyZWFkIG1lbWJlciBvYmplY3QgZm9yIGVhY2ggcmV0dXJuZWQgdGhyZWFkIHRoZSBjdXJyZW50IHVzZXIgaGFzIGpvaW5lZCAqL1xuICBtZW1iZXJzOiBEaXNjb3JkVGhyZWFkTWVtYmVyW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTGlzdEFyY2hpdmVkVGhyZWFkcyBleHRlbmRzIERpc2NvcmRMaXN0QWN0aXZlVGhyZWFkcyB7XG4gIC8qKiBXaGV0aGVyIHRoZXJlIGFyZSBwb3RlbnRpYWxseSBhZGRpdGlvbmFsIHRocmVhZHMgdGhhdCBjb3VsZCBiZSByZXR1cm5lZCBvbiBhIHN1YnNlcXVlbnQgY2FsbCAqL1xuICBoYXNfbW9yZTogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHJlYWRMaXN0U3luYyB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBwYXJlbnQgY2hhbm5lbCBpZHMgd2hvc2UgdGhyZWFkcyBhcmUgYmVpbmcgc3luY2VkLiBJZiBvbWl0dGVkLCB0aGVuIHRocmVhZHMgd2VyZSBzeW5jZWQgZm9yIHRoZSBlbnRpcmUgZ3VpbGQuIFRoaXMgYXJyYXkgbWF5IGNvbnRhaW4gY2hhbm5lbElkcyB0aGF0IGhhdmUgbm8gYWN0aXZlIHRocmVhZHMgYXMgd2VsbCwgc28geW91IGtub3cgdG8gY2xlYXIgdGhhdCBkYXRhICovXG4gIGNoYW5uZWxfaWRzPzogc3RyaW5nW11cbiAgLyoqIEFsbCBhY3RpdmUgdGhyZWFkcyBpbiB0aGUgZ2l2ZW4gY2hhbm5lbHMgdGhhdCB0aGUgY3VycmVudCB1c2VyIGNhbiBhY2Nlc3MgKi9cbiAgdGhyZWFkczogRGlzY29yZENoYW5uZWxbXVxuICAvKiogQWxsIHRocmVhZCBtZW1iZXIgb2JqZWN0cyBmcm9tIHRoZSBzeW5jZWQgdGhyZWFkcyBmb3IgdGhlIGN1cnJlbnQgdXNlciwgaW5kaWNhdGluZyB3aGljaCB0aHJlYWRzIHRoZSBjdXJyZW50IHVzZXIgaGFzIGJlZW4gYWRkZWQgdG8gKi9cbiAgbWVtYmVyczogRGlzY29yZFRocmVhZE1lbWJlcltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXVkaXQtbG9nI2F1ZGl0LWxvZy1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1ZGl0TG9nIHtcbiAgLyoqIExpc3Qgb2Ygd2ViaG9va3MgZm91bmQgaW4gdGhlIGF1ZGl0IGxvZyAqL1xuICB3ZWJob29rczogRGlzY29yZFdlYmhvb2tbXVxuICAvKiogTGlzdCBvZiB1c2VycyBmb3VuZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIHVzZXJzOiBEaXNjb3JkVXNlcltdXG4gIC8qKiBMaXN0IG9mIGF1ZGl0IGxvZyBlbnRyaWVzLCBzb3J0ZWQgZnJvbSBtb3N0IHRvIGxlYXN0IHJlY2VudCAqL1xuICBhdWRpdF9sb2dfZW50cmllczogRGlzY29yZEF1ZGl0TG9nRW50cnlbXVxuICAvKiogTGlzdCBvZiBwYXJ0aWFsIGludGVncmF0aW9uIG9iamVjdHMgKi9cbiAgaW50ZWdyYXRpb25zOiBQYXJ0aWFsPERpc2NvcmRJbnRlZ3JhdGlvbj5bXVxuICAvKipcbiAgICogTGlzdCBvZiB0aHJlYWRzIGZvdW5kIGluIHRoZSBhdWRpdCBsb2cuXG4gICAqIFRocmVhZHMgcmVmZXJlbmNlZCBpbiBgVEhSRUFEX0NSRUFURWAgYW5kIGBUSFJFQURfVVBEQVRFYCBldmVudHMgYXJlIGluY2x1ZGVkIGluIHRoZSB0aHJlYWRzIG1hcCBzaW5jZSBhcmNoaXZlZCB0aHJlYWRzIG1pZ2h0IG5vdCBiZSBrZXB0IGluIG1lbW9yeSBieSBjbGllbnRzLlxuICAgKi9cbiAgdGhyZWFkczogRGlzY29yZENoYW5uZWxbXVxuICAvKiogTGlzdCBvZiBndWlsZCBzY2hlZHVsZWQgZXZlbnRzIGZvdW5kIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgZ3VpbGRfc2NoZWR1bGVkX2V2ZW50cz86IERpc2NvcmRTY2hlZHVsZWRFdmVudFtdXG4gIC8qKiBMaXN0IG9mIGF1dG8gbW9kZXJhdGlvbiBydWxlcyByZWZlcmVuY2VkIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgYXV0b19tb2RlcmF0aW9uX3J1bGVzPzogRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVtdXG4gIC8qKiBMaXN0IG9mIGFwcGxpY2F0aW9uIGNvbW1hbmRzIHJlZmVyZW5jZWQgaW4gdGhlIGF1ZGl0IGxvZyAqL1xuICBhcHBsaWNhdGlvbl9jb21tYW5kczogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZFtdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXV0by1tb2RlcmF0aW9uI2F1dG8tbW9kZXJhdGlvbi1ydWxlLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGlzIHJ1bGUgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIGlkIG9mIHRoZSBydWxlICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBydWxlICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VyIHdobyBjcmVhdGVkIHRoaXMgcnVsZS4gKi9cbiAgY3JlYXRvcl9pZDogc3RyaW5nXG4gIC8qKiBJbmRpY2F0ZXMgaW4gd2hhdCBldmVudCBjb250ZXh0IGEgcnVsZSBzaG91bGQgYmUgY2hlY2tlZC4gKi9cbiAgZXZlbnRfdHlwZTogQXV0b01vZGVyYXRpb25FdmVudFR5cGVzXG4gIC8qKiBUaGUgdHlwZSBvZiB0cmlnZ2VyIGZvciB0aGlzIHJ1bGUgKi9cbiAgdHJpZ2dlcl90eXBlOiBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlc1xuICAvKiogVGhlIG1ldGFkYXRhIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSBydWxlIHNob3VsZCBiZSB0cmlnZ2VyZWQuICovXG4gIHRyaWdnZXJfbWV0YWRhdGE6IERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGFcbiAgLyoqIEFjdGlvbnMgd2hpY2ggd2lsbCBleGVjdXRlIHdoZW5ldmVyIGEgcnVsZSBpcyB0cmlnZ2VyZWQuICovXG4gIGFjdGlvbnM6IERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbltdXG4gIC8qKiBXaGV0aGVyIHRoZSBydWxlIGlzIGVuYWJsZWQuICovXG4gIGVuYWJsZWQ6IGJvb2xlYW5cbiAgLyoqIFRoZSByb2xlIGlkcyB0aGF0IGFyZSB3aGl0ZWxpc3RlZC4gTWF4IDIwLiAqL1xuICBleGVtcHRfcm9sZXM6IHN0cmluZ1tdXG4gIC8qKiBUaGUgY2hhbm5lbCBpZHMgdGhhdCBhcmUgd2hpdGVsaXN0ZWQuIE1heCA1MC4gKi9cbiAgZXhlbXB0X2NoYW5uZWxzOiBzdHJpbmdbXVxufVxuXG5leHBvcnQgZW51bSBBdXRvTW9kZXJhdGlvbkV2ZW50VHlwZXMge1xuICAvKiogV2hlbiBhIHVzZXIgc2VuZHMgYSBtZXNzYWdlICovXG4gIE1lc3NhZ2VTZW5kID0gMSxcbiAgLyoqIFdlbiBhIG1lbWJlciBlZGl0cyB0aGVpciBwcm9maWxlICovXG4gIE1lbWJlclVwZGF0ZSxcbn1cblxuZXhwb3J0IGVudW0gQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMge1xuICAvKiogQ2hlY2sgaWYgY29udGVudCBjb250YWlucyB3b3JkcyBmcm9tIGEgdXNlciBkZWZpbmVkIGxpc3Qgb2Yga2V5d29yZHMuIE1heCA2IHBlciBndWlsZCAqL1xuICBLZXl3b3JkID0gMSxcbiAgLyoqIENoZWNrIGlmIGNvbnRlbnQgcmVwcmVzZW50cyBnZW5lcmljIHNwYW0uIE1heCAxIHBlciBndWlsZCAqL1xuICBTcGFtID0gMyxcbiAgLyoqIENoZWNrIGlmIGNvbnRlbnQgY29udGFpbnMgd29yZHMgZnJvbSBpbnRlcm5hbCBwcmUtZGVmaW5lZCB3b3JkIHNldHMuIE1heCAxIHBlciBndWlsZCAqL1xuICBLZXl3b3JkUHJlc2V0LFxuICAvKiogQ2hlY2sgaWYgY29udGVudCBjb250YWlucyBtb3JlIHVuaXF1ZSBtZW50aW9ucyB0aGFuIGFsbG93ZWQuIE1heCAxIHBlciBndWlsZCAqL1xuICBNZW50aW9uU3BhbSxcbiAgLyoqIENoZWNrIGlmIG1lbWJlciBwcm9maWxlIGNvbnRhaW5zIHdvcmRzIGZyb20gYSB1c2VyIGRlZmluZWQgbGlzdCBvZiBrZXl3b3Jkcy4gTWF4IDEgcGVyIGd1aWxkICovXG4gIE1lbWJlclByb2ZpbGUsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YSB7XG4gIC8qKlxuICAgKiBUaGUga2V5d29yZHMgbmVlZGVkIHRvIG1hdGNoLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHByZXNlbnQgd2l0aCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuS2V5d29yZH0gYW5kIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5NZW1iZXJQcm9maWxlfS5cbiAgICpcbiAgICogQ2FuIGhhdmUgdXAgdG8gMTAwMCBlbGVtZW50cyBpbiB0aGUgYXJyYXkgYW5kIGVhY2ggc3RyaW5nIGNhbiBoYXZlIHVwIHRvIDYwIGNoYXJhY3RlcnNcbiAgICovXG4gIGtleXdvcmRfZmlsdGVyPzogc3RyaW5nW11cbiAgLyoqXG4gICAqIFJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJucyB3aGljaCB3aWxsIGJlIG1hdGNoZWQgYWdhaW5zdCBjb250ZW50LlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHByZXNlbnQgd2l0aCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuS2V5d29yZH0gYW5kIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5NZW1iZXJQcm9maWxlfS5cbiAgICpcbiAgICogQ2FuIGhhdmUgdXAgdG8gMTAgZWxlbWVudHMgaW4gdGhlIGFycmF5IGFuZCBlYWNoIHN0cmluZyBjYW4gaGF2ZSB1cCB0byAyNjAgY2hhcmFjdGVyc1xuICAgKi9cbiAgcmVnZXhfcGF0dGVybnM6IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBUaGUgcHJlLWRlZmluZWQgbGlzdHMgb2Ygd29yZHMgdG8gbWF0Y2ggZnJvbS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSBwcmVzZW50IHdpdGgge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLktleXdvcmRQcmVzZXR9LlxuICAgKi9cbiAgcHJlc2V0cz86IERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGFQcmVzZXRzW11cbiAgLyoqXG4gICAqIFRoZSBzdWJzdHJpbmdzIHdoaWNoIHdpbGwgZXhlbXB0IGZyb20gdHJpZ2dlcmluZyB0aGUgcHJlc2V0IHRyaWdnZXIgdHlwZS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSBwcmVzZW50IHdpdGgge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLktleXdvcmR9LCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuS2V5d29yZFByZXNldH0gYW5kIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5NZW1iZXJQcm9maWxlfS5cbiAgICpcbiAgICogV2hlbiB1c2VkIHdpdGgge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLktleXdvcmR9IGFuZCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuTWVtYmVyUHJvZmlsZX0gdGhlcmUgY2FuIGhhdmUgdXAgdG8gMTAwIGVsZW1lbnRzIGluIHRoZSBhcnJheSBhbmQgZWFjaCBzdHJpbmcgY2FuIGhhdmUgdXAgdG8gNjAgY2hhcmFjdGVycy5cbiAgICogV2hlbiB1c2VkIHdpdGgge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLktleXdvcmRQcmVzZXR9IHRoZXJlIGNhbiBoYXZlIHVwIHRvIDEwMDAgZWxlbWVudHMgaW4gdGhlIGFycmF5IGFuZCBlYWNoIHN0cmluZyBjYW4gaGF2ZSB1cCB0byA2MCBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgYWxsb3dfbGlzdD86IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBUb3RhbCBudW1iZXIgb2YgbWVudGlvbnMgKHJvbGUgJiB1c2VyKSBhbGxvd2VkIHBlciBtZXNzYWdlLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHByZXNlbnQgd2l0aCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuTWVudGlvblNwYW19LlxuICAgKlxuICAgKiBNYXhpbXVtIG9mIDUwXG4gICAqL1xuICBtZW50aW9uX3RvdGFsX2xpbWl0PzogbnVtYmVyXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IG1lbnRpb24gcmFpZHMuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgcHJlc2VudCB3aXRoIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5NZW50aW9uU3BhbX0uXG4gICAqL1xuICBtZW50aW9uX3JhaWRfcHJvdGVjdGlvbl9lbmFibGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgZW51bSBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhUHJlc2V0cyB7XG4gIC8qKiBXb3JkcyB0aGF0IG1heSBiZSBjb25zaWRlcmVkIGZvcm1zIG9mIHN3ZWFyaW5nIG9yIGN1cnNpbmcgKi9cbiAgUHJvZmFuaXR5ID0gMSxcbiAgLyoqIFdvcmRzIHRoYXQgcmVmZXIgdG8gc2V4dWFsbHkgZXhwbGljaXQgYmVoYXZpb3Igb3IgYWN0aXZpdHkgKi9cbiAgU2V4dWFsQ29udGVudCxcbiAgLyoqIFBlcnNvbmFsIGluc3VsdHMgb3Igd29yZHMgdGhhdCBtYXkgYmUgY29uc2lkZXJlZCBoYXRlIHNwZWVjaCAqL1xuICBTbHVycyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb24ge1xuICAvKiogVGhlIHR5cGUgb2YgYWN0aW9uIHRvIHRha2Ugd2hlbiBhIHJ1bGUgaXMgdHJpZ2dlcmVkICovXG4gIHR5cGU6IEF1dG9Nb2RlcmF0aW9uQWN0aW9uVHlwZVxuICAvKiogYWRkaXRpb25hbCBtZXRhZGF0YSBuZWVkZWQgZHVyaW5nIGV4ZWN1dGlvbiBmb3IgdGhpcyBzcGVjaWZpYyBhY3Rpb24gdHlwZSAqL1xuICBtZXRhZGF0YTogRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGFcbn1cblxuZXhwb3J0IGVudW0gQXV0b01vZGVyYXRpb25BY3Rpb25UeXBlIHtcbiAgLyoqIEJsb2NrcyB0aGUgY29udGVudCBvZiBhIG1lc3NhZ2UgYWNjb3JkaW5nIHRvIHRoZSBydWxlICovXG4gIEJsb2NrTWVzc2FnZSA9IDEsXG4gIC8qKiBMb2dzIHVzZXIgY29udGVudCB0byBhIHNwZWNpZmllZCBjaGFubmVsICovXG4gIFNlbmRBbGVydE1lc3NhZ2UsXG4gIC8qKlxuICAgKiBUaW1lcyBvdXQgdXNlciBmb3Igc3BlY2lmaWVkIGR1cmF0aW9uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEEgdGltZW91dCBhY3Rpb24gY2FuIG9ubHkgYmUgc2V0IHVwIGZvciB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuS2V5d29yZH0gYW5kIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5NZW50aW9uU3BhbX0gcnVsZXMuXG4gICAqXG4gICAqIFRoZSBgTU9ERVJBVEVfTUVNQkVSU2AgcGVybWlzc2lvbiBpcyByZXF1aXJlZCB0byB1c2UgdGhlIHRpbWVvdXQgYWN0aW9uIHR5cGUuXG4gICAqL1xuICBUaW1lb3V0LFxuICAvKiogcHJldmVudHMgYSBtZW1iZXIgZnJvbSB1c2luZyB0ZXh0LCB2b2ljZSwgb3Igb3RoZXIgaW50ZXJhY3Rpb25zICovXG4gIEJsb2NrTWVtYmVySW50ZXJhY3Rpb24sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGEge1xuICAvKiogVGhlIGlkIG9mIGNoYW5uZWwgdG8gd2hpY2ggdXNlciBjb250ZW50IHNob3VsZCBiZSBsb2dnZWQuIE9ubHkgaW4gQWN0aW9uVHlwZS5TZW5kQWxlcnRNZXNzYWdlICovXG4gIGNoYW5uZWxfaWQ/OiBzdHJpbmdcbiAgLyoqIEFkZGl0aW9uYWwgZXhwbGFuYXRpb24gdGhhdCB3aWxsIGJlIHNob3duIHRvIG1lbWJlcnMgd2hlbmV2ZXIgdGhlaXIgbWVzc2FnZSBpcyBibG9ja2VkLiBNYXhpbXVtIG9mIDE1MCBjaGFyYWN0ZXJzLiBPbmx5IHN1cHBvcnRlZCBmb3IgQXV0b01vZGVyYXRpb25BY3Rpb25UeXBlLkJsb2NrTWVzc2FnZSAqL1xuICBjdXN0b21fbWVzc2FnZT86IHN0cmluZ1xuICAvKiogVGltZW91dCBkdXJhdGlvbiBpbiBzZWNvbmRzIG1heGltdW0gb2YgMjQxOTIwMCBzZWNvbmRzICg0IHdlZWtzKS4gT25seSBzdXBwb3J0ZWQgZm9yIFRyaWdnZXJUeXBlLktleXdvcmQgJiYgT25seSBpbiBBY3Rpb25UeXBlLlRpbWVvdXQgKi9cbiAgZHVyYXRpb25fc2Vjb25kcz86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXktZXZlbnRzI2F1dG8tbW9kZXJhdGlvbi1hY3Rpb24tZXhlY3V0aW9uLWF1dG8tbW9kZXJhdGlvbi1hY3Rpb24tZXhlY3V0aW9uLWV2ZW50LWZpZWxkcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24ge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHJ1bGUgdGhhdCB3YXMgZXhlY3V0ZWQgKi9cbiAgcnVsZV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHVzZXIgd2hpY2ggZ2VuZXJhdGVkIHRoZSBjb250ZW50IHdoaWNoIHRyaWdnZXJlZCB0aGUgcnVsZSAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBjb250ZW50IGZyb20gdGhlIHVzZXIgKi9cbiAgY29udGVudDogc3RyaW5nXG4gIC8qKiBBY3Rpb24gd2hpY2ggd2FzIGV4ZWN1dGVkICovXG4gIGFjdGlvbjogRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uXG4gIC8qKiBUaGUgdHJpZ2dlciB0eXBlIG9mIHRoZSBydWxlIHRoYXQgd2FzIGV4ZWN1dGVkLiAqL1xuICBydWxlX3RyaWdnZXJfdHlwZTogQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXNcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCBpbiB3aGljaCB1c2VyIGNvbnRlbnQgd2FzIHBvc3RlZCAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGlkIG9mIHRoZSBtZXNzYWdlLiBXaWxsIG5vdCBleGlzdCBpZiBtZXNzYWdlIHdhcyBibG9ja2VkIGJ5IGF1dG9tb2Qgb3IgY29udGVudCB3YXMgbm90IHBhcnQgb2YgYW55IG1lc3NhZ2UgKi9cbiAgbWVzc2FnZV9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBpZCBvZiBhbnkgc3lzdGVtIGF1dG8gbW9kZXJhdGlvbiBtZXNzYWdlcyBwb3N0ZWQgYXMgYSByZXN1bHQgb2YgdGhpcyBhY3Rpb24gKi9cbiAgYWxlcnRfc3lzdGVtX21lc3NhZ2VfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgd29yZCBvciBwaHJhc2UgdGhhdCB0cmlnZ2VycmVkIHRoZSBydWxlLiAqL1xuICBtYXRjaGVkX2tleXdvcmQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBzdWJzdHJpbmcgaW4gY29udGVudCB0aGF0IHRyaWdnZXJlZCB0aGUgcnVsZSAqL1xuICBtYXRjaGVkX2NvbnRlbnQ6IHN0cmluZyB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hdWRpdC1sb2cjYXVkaXQtbG9nLWVudHJ5LW9iamVjdC1hdWRpdC1sb2ctZW50cnktc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdWRpdExvZ0VudHJ5IHtcbiAgLyoqIElEIG9mIHRoZSBhZmZlY3RlZCBlbnRpdHkgKHdlYmhvb2ssIHVzZXIsIHJvbGUsIGV0Yy4pICovXG4gIHRhcmdldF9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogQ2hhbmdlcyBtYWRlIHRvIHRoZSBgdGFyZ2V0X2lkYCAqL1xuICBjaGFuZ2VzPzogRGlzY29yZEF1ZGl0TG9nQ2hhbmdlW11cbiAgLyoqIFVzZXIgb3IgYXBwIHRoYXQgbWFkZSB0aGUgY2hhbmdlcyAqL1xuICB1c2VyX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBJRCBvZiB0aGUgZW50cnkgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVHlwZSBvZiBhY3Rpb24gdGhhdCBvY2N1cnJlZCAqL1xuICBhY3Rpb25fdHlwZTogQXVkaXRMb2dFdmVudHNcbiAgLyoqIEFkZGl0aW9uYWwgaW5mbyBmb3IgY2VydGFpbiBldmVudCB0eXBlcyAqL1xuICBvcHRpb25zPzogRGlzY29yZE9wdGlvbmFsQXVkaXRFbnRyeUluZm9cbiAgLyoqIFJlYXNvbiBmb3IgdGhlIGNoYW5nZSAoMS01MTIgY2hhcmFjdGVycykgKi9cbiAgcmVhc29uPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF06IHtcbiAgICBuZXdfdmFsdWU/OiBUW0tdXG4gICAgb2xkX3ZhbHVlPzogVFtLXVxuICAgIGtleTogS1xuICB9XG59W2tleW9mIFRdXG5cbi8vIERvbmUgbWFudWFsbHkgYXMgaXQgaXMgY2xlYXJlciBpbiB0aGlzIHdheVxuLyoqIFBhcnRpYWwgcm9sZSBhdWRpdCBsb2cgZW50cnkgY2hhbmdlIGV4Y2VwdGlvbiAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlUGFydGlhbFJvbGUgPSB7IG5ld192YWx1ZTogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfVtdOyBrZXk6ICckYWRkJyB8ICckcmVtb3ZlJyB9XG5cbi8qKlxuICogSW52aXRlIGF1ZGl0IGxvZyBlbnRyeSBjaGFuZ2UgZXhjZXB0aW9uXG4gKlxuICogQHJlbWFya3NcbiAqIFdoaWxlIHRoZSBkb2NzIHNheSB0aGF0ICdjaGFubmVsLmlkJyB3aWxsIG5ldmVyIGV4aXN0LCB3ZSBrZWVwIGl0IGFzIGl0IGlzIHZlcnkgY29tcGxleCB0byByZW1vdmUsIHRoZSB1c2VyIHNob3VsZCBub3QgdXNlIGl0IGFuZCB1c2UgdGhlIHByb3ZpZGVkICdjaGFubmVsX2lkJyB2YWx1ZSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRBdWRpdExvZ0NoYW5nZUludml0ZSA9IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDxEaXNjb3JkSW52aXRlPiB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDx7IGNoYW5uZWxfaWQ6IHN0cmluZyB9PlxuXG4vKipcbiAqIEludml0ZSBNZXRhZGF0YSBhdWRpdCBsb2cgZW50cnkgY2hhbmdlIGV4Y2VwdGlvblxuICpcbiAqIEByZW1hcmtzXG4gKiBXaGlsZSB0aGUgZG9jcyBzYXkgdGhhdCAnY2hhbm5lbC5pZCcgd2lsbCBuZXZlciBleGlzdCwgd2Uga2VlcCBpdCBhcyBpdCBpcyB2ZXJ5IGNvbXBsZXggdG8gcmVtb3ZlLCB0aGUgdXNlciBzaG91bGQgbm90IHVzZSBpdCBhbmQgdXNlIHRoZSBwcm92aWRlZCAnY2hhbm5lbF9pZCcgdmFsdWUgaW5zdGVhZFxuICovXG5leHBvcnQgdHlwZSBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VJbnZpdGVNZXRhZGF0YSA9XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PERpc2NvcmRJbnZpdGVNZXRhZGF0YT5cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8eyBjaGFubmVsX2lkOiBzdHJpbmcgfT5cblxuLyoqIFdlYmhvb2sgYXVkaXQgbG9nIGVudHJ5IGNoYW5nZSBleGNlcHRpb24gKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRBdWRpdExvZ0NoYW5nZVdlYmhvb2sgPVxuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDxPbWl0PERpc2NvcmRXZWJob29rLCAnYXZhdGFyJz4+XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PHsgYXZhdGFyX2hhc2g6IERpc2NvcmRXZWJob29rWydhdmF0YXInXSB9PlxuXG4vLyBEb25lIG1hbnVhbGx5IGFzIGl0IGlzIGNsZWFyZXIgaW4gdGhpcyB3YXlcbi8qKiBDb21tYW5kIFBlcm1pc3Npb24gYXVkaXQgbG9nIGVudHJ5IGNoYW5nZSBleGNlcHRpb24gKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRBdWRpdExvZ0NoYW5nZUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zID0ge1xuICBuZXdfdmFsdWU/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNcbiAgb2xkX3ZhbHVlPzogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zXG4gIGtleTogYCR7bnVtYmVyfWBcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hdWRpdC1sb2cjYXVkaXQtbG9nLWNoYW5nZS1vYmplY3QtYXVkaXQtbG9nLWNoYW5nZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRBdWRpdExvZ0NoYW5nZSA9XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PERpc2NvcmRHdWlsZD5cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8RGlzY29yZENoYW5uZWw+XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PERpc2NvcmRPdmVyd3JpdGU+XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PERpc2NvcmRNZW1iZXI+XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlUGFydGlhbFJvbGVcbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8RGlzY29yZFJvbGU+XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlSW52aXRlXG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlSW52aXRlTWV0YWRhdGFcbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VXZWJob29rXG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PERpc2NvcmRFbW9qaT5cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8RGlzY29yZEludGVncmF0aW9uPlxuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDxEaXNjb3JkU3RhZ2VJbnN0YW5jZT5cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8RGlzY29yZFN0aWNrZXI+XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PERpc2NvcmRUaHJlYWRNZXRhZGF0YT5cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1xuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDxEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlPlxuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDxEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0PlxuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDxEaXNjb3JkR3VpbGRPbmJvYXJkaW5nPlxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctZW50cnktb2JqZWN0LW9wdGlvbmFsLWF1ZGl0LWVudHJ5LWluZm8gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE9wdGlvbmFsQXVkaXRFbnRyeUluZm8ge1xuICAvKipcbiAgICogSUQgb2YgdGhlIGFwcCB3aG9zZSBwZXJtaXNzaW9ucyB3ZXJlIHRhcmdldGVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYEFQUExJQ0FUSU9OX0NPTU1BTkRfUEVSTUlTU0lPTl9VUERBVEVgXG4gICAqL1xuICBhcHBsaWNhdGlvbl9pZD86IHN0cmluZ1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgQXV0byBNb2RlcmF0aW9uIHJ1bGUgdGhhdCB3YXMgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYEFVVE9fTU9ERVJBVElPTl9CTE9DS19NRVNTQUdFYCwgYEFVVE9fTU9ERVJBVElPTl9GTEFHX1RPX0NIQU5ORUxgLCBgQVVUT19NT0RFUkFUSU9OX1VTRVJfQ09NTVVOSUNBVElPTl9ESVNBQkxFRGBcbiAgICovXG4gIGF1dG9fbW9kZXJhdGlvbl9ydWxlX25hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRyaWdnZXIgdHlwZSBvZiB0aGUgQXV0byBNb2RlcmF0aW9uIHJ1bGUgdGhhdCB3YXMgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYEFVVE9fTU9ERVJBVElPTl9CTE9DS19NRVNTQUdFYCwgYEFVVE9fTU9ERVJBVElPTl9GTEFHX1RPX0NIQU5ORUxgLCBgQVVUT19NT0RFUkFUSU9OX1VTRVJfQ09NTVVOSUNBVElPTl9ESVNBQkxFRGBcbiAgICovXG4gIGF1dG9fbW9kZXJhdGlvbl9ydWxlX3RyaWdnZXJfdHlwZT86IHN0cmluZ1xuICAvKipcbiAgICogQ2hhbm5lbCBpbiB3aGljaCB0aGUgZW50aXRpZXMgd2VyZSB0YXJnZXRlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRU1CRVJfTU9WRWAsIGBNRVNTQUdFX1BJTmAsIGBNRVNTQUdFX1VOUElOYCwgYE1FU1NBR0VfREVMRVRFYCwgYFNUQUdFX0lOU1RBTkNFX0NSRUFURWAsIGBTVEFHRV9JTlNUQU5DRV9VUERBVEVgLCBgU1RBR0VfSU5TVEFOQ0VfREVMRVRFYFxuICAgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAvKipcbiAgICogTnVtYmVyIG9mIGVudGl0aWVzIHRoYXQgd2VyZSB0YXJnZXRlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRVNTQUdFX0RFTEVURWAsIGBNRVNTQUdFX0JVTEtfREVMRVRFYCwgYE1FTUJFUl9ESVNDT05ORUNUYCwgYE1FTUJFUl9NT1ZFYFxuICAgKi9cbiAgY291bnQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIE51bWJlciBvZiBkYXlzIGFmdGVyIHdoaWNoIGluYWN0aXZlIG1lbWJlcnMgd2VyZSBraWNrZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVNQkVSX1BSVU5FYFxuICAgKi9cbiAgZGVsZXRlX21lbWJlcl9kYXlzPzogc3RyaW5nXG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgb3ZlcndyaXR0ZW4gZW50aXR5LlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYENIQU5ORUxfT1ZFUldSSVRFX0NSRUFURWAsIGBDSEFOTkVMX09WRVJXUklURV9VUERBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfREVMRVRFYFxuICAgKi9cbiAgaWQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIE51bWJlciBvZiBtZW1iZXJzIHJlbW92ZWQgYnkgdGhlIHBydW5lLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FTUJFUl9QUlVORWBcbiAgICovXG4gIG1lbWJlcnNfcmVtb3ZlZD86IHN0cmluZ1xuICAvKipcbiAgICogSUQgb2YgdGhlIG1lc3NhZ2UgdGhhdCB3YXMgdGFyZ2V0ZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVTU0FHRV9QSU5gLCBgTUVTU0FHRV9VTlBJTmAsIGBTVEFHRV9JTlNUQU5DRV9DUkVBVEVgLCBgU1RBR0VfSU5TVEFOQ0VfVVBEQVRFYCwgYFNUQUdFX0lOU1RBTkNFX0RFTEVURWBcbiAgICovXG4gIG1lc3NhZ2VfaWQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHJvbGUgaWYgdHlwZSBpcyBcIjBcIiAobm90IHByZXNlbnQgaWYgdHlwZSBpcyBcIjFcIikuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQ0hBTk5FTF9PVkVSV1JJVEVfQ1JFQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX1VQREFURWAsIGBDSEFOTkVMX09WRVJXUklURV9ERUxFVEVgXG4gICAqL1xuICByb2xlX25hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFR5cGUgb2Ygb3ZlcndyaXR0ZW4gZW50aXR5IC0gXCIwXCIsIGZvciBcInJvbGVcIiwgb3IgXCIxXCIgZm9yIFwibWVtYmVyXCIuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQ0hBTk5FTF9PVkVSV1JJVEVfQ1JFQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX1VQREFURWAsIGBDSEFOTkVMX09WRVJXUklURV9ERUxFVEVgXG4gICAqL1xuICB0eXBlPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBpbnRlZ3JhdGlvbiB3aGljaCBwZXJmb3JtZWQgdGhlIGFjdGlvblxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FTUJFUl9LSUNLYCwgYE1FTUJFUl9ST0xFX1VQREFURWBcbiAgICovXG4gIGludGVncmF0aW9uX3R5cGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2NoZWR1bGVkRXZlbnQge1xuICAvKiogdGhlIGlkIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogdGhlIGd1aWxkIGlkIHdoaWNoIHRoZSBzY2hlZHVsZWQgZXZlbnQgYmVsb25ncyB0byAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiB0aGUgY2hhbm5lbCBpZCBpbiB3aGljaCB0aGUgc2NoZWR1bGVkIGV2ZW50IHdpbGwgYmUgaG9zdGVkIGlmIHNwZWNpZmllZCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgaWQgb2YgdGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgY3JlYXRvcl9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSBuYW1lIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogdGhlIHRpbWUgdGhlIHNjaGVkdWxlZCBldmVudCB3aWxsIHN0YXJ0ICovXG4gIHNjaGVkdWxlZF9zdGFydF90aW1lOiBzdHJpbmdcbiAgLyoqIHRoZSB0aW1lIHRoZSBzY2hlZHVsZWQgZXZlbnQgd2lsbCBlbmQgaWYgaXQgZG9lcyBlbmQuICovXG4gIHNjaGVkdWxlZF9lbmRfdGltZTogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIHByaXZhY3kgbGV2ZWwgb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBwcml2YWN5X2xldmVsOiBTY2hlZHVsZWRFdmVudFByaXZhY3lMZXZlbFxuICAvKiogdGhlIHN0YXR1cyBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIHN0YXR1czogU2NoZWR1bGVkRXZlbnRTdGF0dXNcbiAgLyoqIHRoZSB0eXBlIG9mIGhvc3RpbmcgZW50aXR5IGFzc29jaWF0ZWQgd2l0aCBhIHNjaGVkdWxlZCBldmVudCAqL1xuICBlbnRpdHlfdHlwZTogU2NoZWR1bGVkRXZlbnRFbnRpdHlUeXBlXG4gIC8qKiBhbnkgYWRkaXRpb25hbCBpZCBvZiB0aGUgaG9zdGluZyBlbnRpdHkgYXNzb2NpYXRlZCB3aXRoIGV2ZW50ICovXG4gIGVudGl0eV9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIGVudGl0eSBtZXRhZGF0YSBmb3IgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBlbnRpdHlfbWV0YWRhdGE6IERpc2NvcmRTY2hlZHVsZWRFdmVudEVudGl0eU1ldGFkYXRhIHwgbnVsbFxuICAvKiogdGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgY3JlYXRvcj86IERpc2NvcmRVc2VyXG4gIC8qKiB0aGUgbnVtYmVyIG9mIHVzZXJzIHN1YnNjcmliZWQgdG8gdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICB1c2VyX2NvdW50PzogbnVtYmVyXG4gIC8qKiB0aGUgY292ZXIgaW1hZ2UgaGFzaCBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGltYWdlPzogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIGRlZmluaXRpb24gZm9yIGhvdyBvZnRlbiB0aGlzIGV2ZW50IHNob3VsZCByZWN1ciAqL1xuICByZWN1cnJlbmNlX3J1bGU6IERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudEVudGl0eU1ldGFkYXRhIHtcbiAgLyoqIGxvY2F0aW9uIG9mIHRoZSBldmVudCAqL1xuICBsb2NhdGlvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlIHtcbiAgLyoqIFN0YXJ0aW5nIHRpbWUgb2YgdGhlIHJlY3VycmVuY2UgaW50ZXJ2YWwgKi9cbiAgc3RhcnQ6IHN0cmluZ1xuICAvKiogRW5kaW5nIHRpbWUgb2YgdGhlIHJlY3VycmVuY2UgaW50ZXJ2YWwgKi9cbiAgZW5kOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBIb3cgb2Z0ZW4gdGhlIGV2ZW50IG9jY3VycyAqL1xuICBmcmVxdWVuY3k6IERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlRnJlcXVlbmN5XG4gIC8qKiBUaGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBldmVudHMsIGRlZmluZWQgYnkgYGZyZXF1ZW5jeWAuIEZvciBleGFtcGxlLCBgZnJlcXVlbmN5YCBvZiBgV2Vla2x5YCBhbmQgYW4gYGludGVydmFsYCBvZiBgMmAgd291bGQgYmUgXCJldmVyeS1vdGhlciB3ZWVrXCIgKi9cbiAgaW50ZXJ2YWw6IG51bWJlclxuICAvKiogU2V0IG9mIHNwZWNpZmljIGRheXMgd2l0aGluIGEgd2VlayBmb3IgdGhlIGV2ZW50IHRvIHJlY3VyIG9uICovXG4gIGJ5X3dlZWtkYXk6IERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlV2Vla2RheVtdIHwgbnVsbFxuICAvKiogTGlzdCBvZiBzcGVjaWZpYyBkYXlzIHdpdGhpbiBhIHNwZWNpZmljIHdlZWsgKDEtNSkgdG8gcmVjdXIgb24gKi9cbiAgYnlfbl93ZWVrZGF5OiBEaXNjb3JkU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZU5XZWVrZGF5W10gfCBudWxsXG4gIC8qKiBTZXQgb2Ygc3BlY2lmaWMgbW9udGhzIHRvIHJlY3VyIG9uICovXG4gIGJ5X21vbnRoOiBEaXNjb3JkU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZU1vbnRoW10gfCBudWxsXG4gIC8qKiBTZXQgb2Ygc3BlY2lmaWMgZGF0ZXMgd2l0aGluIGEgbW9udGggdG8gcmVjdXIgb24gKi9cbiAgYnlfbW9udGhfZGF5OiBudW1iZXJbXSB8IG51bGxcbiAgLyoqIFNldCBvZiBkYXlzIHdpdGhpbiBhIHllYXIgdG8gcmVjdXIgb24gKDEtMzY0KSAqL1xuICBieV95ZWFyX2RheTogbnVtYmVyW10gfCBudWxsXG4gIC8qKiBUaGUgdG90YWwgYW1vdW50IG9mIHRpbWVzIHRoYXQgdGhlIGV2ZW50IGlzIGFsbG93ZWQgdG8gcmVjdXIgYmVmb3JlIHN0b3BwaW5nICovXG4gIGNvdW50OiBudW1iZXIgfCBudWxsXG59XG5cbmV4cG9ydCBlbnVtIERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlRnJlcXVlbmN5IHtcbiAgWWVhcmx5LFxuICBNb250aGx5LFxuICBXZWVrbHksXG4gIERhaWx5LFxufVxuXG5leHBvcnQgZW51bSBEaXNjb3JkU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZVdlZWtkYXkge1xuICBNb25kYXksXG4gIFR1ZXNkYXksXG4gIFdlZG5lc2RheSxcbiAgVGh1cnNkYXksXG4gIEZyaWRheSxcbiAgU2F0dXJkYXksXG4gIFN1bmRheSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZU5XZWVrZGF5IHtcbiAgLyoqIFRoZSB3ZWVrIHRvIHJlb2NjdXIgb24uIDEgLSA1ICovXG4gIG46IG51bWJlclxuICAvKiogVGhlIGRheSB3aXRoaW4gdGhlIHdlZWsgdG8gcmVvY2N1ciBvbiAqL1xuICBkYXk6IERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlV2Vla2RheVxufVxuXG5leHBvcnQgZW51bSBEaXNjb3JkU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZU1vbnRoIHtcbiAgSmFudWFyeSA9IDEsXG4gIEZlYnJ1YXJ5LFxuICBNYXJjaCxcbiAgQXByaWwsXG4gIE1heSxcbiAgSnVuZSxcbiAgSnVseSxcbiAgQXVndXN0LFxuICBTZXB0ZW1iZXIsXG4gIE9jdG9iZXIsXG4gIE5vdmVtYmVyLFxuICBEZWNlbWJlcixcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I2dldC1nYXRld2F5LWJvdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR2V0R2F0ZXdheUJvdCB7XG4gIC8qKiBUaGUgV1NTIFVSTCB0aGF0IGNhbiBiZSB1c2VkIGZvciBjb25uZWN0aW5nIHRvIHRoZSBnYXRld2F5ICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBUaGUgcmVjb21tZW5kZWQgbnVtYmVyIG9mIHNoYXJkcyB0byB1c2Ugd2hlbiBjb25uZWN0aW5nICovXG4gIHNoYXJkczogbnVtYmVyXG4gIC8qKiBJbmZvcm1hdGlvbiBvbiB0aGUgY3VycmVudCBzZXNzaW9uIHN0YXJ0IGxpbWl0ICovXG4gIHNlc3Npb25fc3RhcnRfbGltaXQ6IERpc2NvcmRTZXNzaW9uU3RhcnRMaW1pdFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjc2Vzc2lvbi1zdGFydC1saW1pdC1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNlc3Npb25TdGFydExpbWl0IHtcbiAgLyoqIFRoZSB0b3RhbCBudW1iZXIgb2Ygc2Vzc2lvbiBzdGFydHMgdGhlIGN1cnJlbnQgdXNlciBpcyBhbGxvd2VkICovXG4gIHRvdGFsOiBudW1iZXJcbiAgLyoqIFRoZSByZW1haW5pbmcgbnVtYmVyIG9mIHNlc3Npb24gc3RhcnRzIHRoZSBjdXJyZW50IHVzZXIgaXMgYWxsb3dlZCAqL1xuICByZW1haW5pbmc6IG51bWJlclxuICAvKiogVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIGxpbWl0IHJlc2V0cyAqL1xuICByZXNldF9hZnRlcjogbnVtYmVyXG4gIC8qKiBUaGUgbnVtYmVyIG9mIGlkZW50aWZ5IHJlcXVlc3RzIGFsbG93ZWQgcGVyIDUgc2Vjb25kcyAqL1xuICBtYXhfY29uY3VycmVuY3k6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2ludml0ZSNpbnZpdGUtbWV0YWRhdGEtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVNZXRhZGF0YSBleHRlbmRzIERpc2NvcmRJbnZpdGUge1xuICAvKiogTnVtYmVyIG9mIHRpbWVzIHRoaXMgaW52aXRlIGhhcyBiZWVuIHVzZWQgKi9cbiAgdXNlczogbnVtYmVyXG4gIC8qKiBNYXggbnVtYmVyIG9mIHRpbWVzIHRoaXMgaW52aXRlIGNhbiBiZSB1c2VkICovXG4gIG1heF91c2VzOiBudW1iZXJcbiAgLyoqIER1cmF0aW9uIChpbiBzZWNvbmRzKSBhZnRlciB3aGljaCB0aGUgaW52aXRlIGV4cGlyZXMgKi9cbiAgbWF4X2FnZTogbnVtYmVyXG4gIC8qKiBXaGV0aGVyIHRoaXMgaW52aXRlIG9ubHkgZ3JhbnRzIHRlbXBvcmFyeSBtZW1iZXJzaGlwICovXG4gIHRlbXBvcmFyeTogYm9vbGVhblxuICAvKiogV2hlbiB0aGlzIGludml0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9pbnZpdGUjaW52aXRlLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW52aXRlIHtcbiAgLyoqIFRoZSB0eXBlIG9mIGludml0ZSAqL1xuICB0eXBlOiBEaXNjb3JkSW52aXRlVHlwZVxuICAvKiogVGhlIGludml0ZSBjb2RlICh1bmlxdWUgSWQpICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHRoaXMgaW52aXRlIGlzIGZvciAqL1xuICBndWlsZD86IFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAvKiogVGhlIGNoYW5uZWwgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIGNoYW5uZWw6IFBhcnRpYWw8RGlzY29yZENoYW5uZWw+IHwgbnVsbFxuICAvKiogVGhlIHVzZXIgd2hvIGNyZWF0ZWQgdGhlIGludml0ZSAqL1xuICBpbnZpdGVyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSB0eXBlIG9mIHRhcmdldCBmb3IgdGhpcyB2b2ljZSBjaGFubmVsIGludml0ZSAqL1xuICB0YXJnZXRfdHlwZT86IFRhcmdldFR5cGVzXG4gIC8qKiBUaGUgdGFyZ2V0IHVzZXIgZm9yIHRoaXMgaW52aXRlICovXG4gIHRhcmdldF91c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSBlbWJlZGRlZCBhcHBsaWNhdGlvbiB0byBvcGVuIGZvciB0aGlzIHZvaWNlIGNoYW5uZWwgZW1iZWRkZWQgYXBwbGljYXRpb24gaW52aXRlICovXG4gIHRhcmdldF9hcHBsaWNhdGlvbj86IFBhcnRpYWw8RGlzY29yZEFwcGxpY2F0aW9uPlxuICAvKiogQXBwcm94aW1hdGUgY291bnQgb2Ygb25saW5lIG1lbWJlcnMgKG9ubHkgcHJlc2VudCB3aGVuIHRhcmdldF91c2VyIGlzIHNldCkgKi9cbiAgYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQ/OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIGNvdW50IG9mIHRvdGFsIG1lbWJlcnMgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50PzogbnVtYmVyXG4gIC8qKiBUaGUgZXhwaXJhdGlvbiBkYXRlIG9mIHRoaXMgaW52aXRlLCByZXR1cm5lZCBmcm9tIHRoZSBgR0VUIC9pbnZpdGVzLzxjb2RlPmAgZW5kcG9pbnQgd2hlbiBgd2l0aF9leHBpcmF0aW9uYCBpcyBgdHJ1ZWAgKi9cbiAgZXhwaXJlc19hdD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFN0YWdlIGluc3RhbmNlIGRhdGEgaWYgdGhlcmUgaXMgYSBwdWJsaWMgU3RhZ2UgaW5zdGFuY2UgaW4gdGhlIFN0YWdlIGNoYW5uZWwgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIHN0YWdlX2luc3RhbmNlPzogRGlzY29yZEludml0ZVN0YWdlSW5zdGFuY2VcbiAgLyoqIGd1aWxkIHNjaGVkdWxlZCBldmVudCBkYXRhICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudD86IERpc2NvcmRTY2hlZHVsZWRFdmVudFxufVxuXG5leHBvcnQgZW51bSBEaXNjb3JkSW52aXRlVHlwZSB7XG4gIEd1aWxkLFxuICBHcm91cERtLFxuICBGcmllbmQsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludml0ZVN0YWdlSW5zdGFuY2Uge1xuICAvKiogVGhlIG1lbWJlcnMgc3BlYWtpbmcgaW4gdGhlIFN0YWdlICovXG4gIG1lbWJlcnM6IFBhcnRpYWw8RGlzY29yZE1lbWJlcj5bXVxuICAvKiogVGhlIG51bWJlciBvZiB1c2VycyBpbiB0aGUgU3RhZ2UgKi9cbiAgcGFydGljaXBhbnRfY291bnQ6IG51bWJlclxuICAvKiogVGhlIG51bWJlciBvZiB1c2VycyBzcGVha2luZyBpbiB0aGUgU3RhZ2UgKi9cbiAgc3BlYWtlcl9jb3VudDogbnVtYmVyXG4gIC8qKiBUaGUgdG9waWMgb2YgdGhlIFN0YWdlIGluc3RhbmNlICgxLTEyMCBjaGFyYWN0ZXJzKSAqL1xuICB0b3BpYzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvYXBwbGljYXRpb24tY29tbWFuZHMjYXBwbGljYXRpb24tY29tbWFuZC1vYmplY3QtYXBwbGljYXRpb24tY29tbWFuZC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCBleHRlbmRzIERpc2NvcmRDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQge1xuICAvKiogVW5pcXVlIElEIG9mIGNvbW1hbmQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIHBhcmVudCBhcHBsaWNhdGlvbiAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKiBHdWlsZCBpZCBvZiB0aGUgY29tbWFuZCwgaWYgbm90IGdsb2JhbCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQge1xuICAvKiogVHlwZSBvZiBjb21tYW5kLCBkZWZhdWx0cyB0byBgQXBwbGljYXRpb25Db21tYW5kVHlwZXMuQ2hhdElucHV0YCAqL1xuICB0eXBlPzogQXBwbGljYXRpb25Db21tYW5kVHlwZXNcbiAgLyoqXG4gICAqIE5hbWUgb2YgY29tbWFuZCwgMS0zMiBjaGFyYWN0ZXJzLlxuICAgKiBgQXBwbGljYXRpb25Db21tYW5kVHlwZXMuQ2hhdElucHV0YCBjb21tYW5kIG5hbWVzIG11c3QgbWF0Y2ggdGhlIGZvbGxvd2luZyByZWdleCBgXlstX1xccHtMfVxccHtOfVxccHtzYz1EZXZhfVxccHtzYz1UaGFpfV17MSwzMn0kYCB3aXRoIHRoZSB1bmljb2RlIGZsYWcgc2V0LlxuICAgKiBJZiB0aGVyZSBpcyBhIGxvd2VyY2FzZSB2YXJpYW50IG9mIGFueSBsZXR0ZXJzIHVzZWQsIHlvdSBtdXN0IHVzZSB0aG9zZS5cbiAgICogQ2hhcmFjdGVycyB3aXRoIG5vIGxvd2VyY2FzZSB2YXJpYW50cyBhbmQvb3IgdW5jYXNlZCBsZXR0ZXJzIGFyZSBzdGlsbCBhbGxvd2VkLlxuICAgKiBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5Vc2VyYCBhbmQgYEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLk1lc3NhZ2VgIGNvbW1hbmRzIG1heSBiZSBtaXhlZCBjYXNlIGFuZCBjYW4gaW5jbHVkZSBzcGFjZXMuXG4gICAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIExvY2FsaXphdGlvbiBvYmplY3QgZm9yIGBuYW1lYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYG5hbWVgICovXG4gIG5hbWVfbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIERlc2NyaXB0aW9uIGZvciBgQXBwbGljYXRpb25Db21tYW5kVHlwZXMuQ2hhdElucHV0YCBjb21tYW5kcywgMS0xMDAgY2hhcmFjdGVycy4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgLyoqIExvY2FsaXphdGlvbiBvYmplY3QgZm9yIGBkZXNjcmlwdGlvbmAgZmllbGQuIFZhbHVlcyBmb2xsb3cgdGhlIHNhbWUgcmVzdHJpY3Rpb25zIGFzIGBkZXNjcmlwdGlvbmAgKi9cbiAgZGVzY3JpcHRpb25fbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIFBhcmFtZXRlcnMgZm9yIHRoZSBjb21tYW5kLCBtYXggb2YgMjUgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25bXVxuICAvKiogU2V0IG9mIHBlcm1pc3Npb25zIHJlcHJlc2VudGVkIGFzIGEgYml0IHNldCAqL1xuICBkZWZhdWx0X21lbWJlcl9wZXJtaXNzaW9ucz86IHN0cmluZyB8IG51bGxcbiAgLyoqXG4gICAqIEluc3RhbGxhdGlvbiBjb250ZXh0cyB3aGVyZSB0aGUgY29tbWFuZCBpcyBhdmFpbGFibGVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB2YWx1ZSBpcyBhdmFpbGFibGUgb25seSBmb3IgZ2xvYmFsbHktc2NvcGVkIGNvbW1hbmRzXG4gICAqIERlZmF1bHRzIHRvIHRoZSBhcHBsaWNhdGlvbiBjb25maWd1cmVkIGNvbnRleHRzXG4gICAqL1xuICBpbnRlZ3JhdGlvbl90eXBlcz86IERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZVtdXG4gIC8qKlxuICAgKiBJbnRlcmFjdGlvbiBjb250ZXh0KHMpIHdoZXJlIHRoZSBjb21tYW5kIGNhbiBiZSB1c2VkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgdmFsdWUgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIGdsb2JhbGx5LXNjb3BlZCBjb21tYW5kc1xuICAgKiBCeSBkZWZhdWx0LCBhbGwgaW50ZXJhY3Rpb24gY29udGV4dCB0eXBlcyBpbmNsdWRlZCBmb3IgbmV3IGNvbW1hbmRzLlxuICAgKi9cbiAgY29udGV4dHM/OiBEaXNjb3JkSW50ZXJhY3Rpb25Db250ZXh0VHlwZVtdIHwgbnVsbFxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbW1hbmQgaXMgYXZhaWxhYmxlIGluIERNcyB3aXRoIHRoZSBhcHAsIG9ubHkgZm9yIGdsb2JhbGx5LXNjb3BlZCBjb21tYW5kcy4gQnkgZGVmYXVsdCwgY29tbWFuZHMgYXJlIHZpc2libGUuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgY29udGV4dHN9IGluc3RlYWRcbiAgICovXG4gIGRtX3Blcm1pc3Npb24/OiBib29sZWFuXG4gIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29tbWFuZCBpcyBhZ2UtcmVzdHJpY3RlZCwgZGVmYXVsdHMgdG8gZmFsc2UgKi9cbiAgbnNmdz86IGJvb2xlYW5cbiAgLyoqIEF1dG8gaW5jcmVtZW50aW5nIHZlcnNpb24gaWRlbnRpZmllciB1cGRhdGVkIGR1cmluZyBzdWJzdGFudGlhbCByZWNvcmQgY2hhbmdlcyAqL1xuICB2ZXJzaW9uPzogc3RyaW5nXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGludGVyYWN0aW9uIGlzIGhhbmRsZWQgYnkgdGhlIGFwcCdzIGludGVyYWN0aW9ucyBoYW5kbGVyIG9yIGJ5IERpc2NvcmRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBjYW4gb25seSBiZSBzZXQgZm9yIGFwcGxpY2F0aW9uIGNvbW1hbmRzIG9mIHR5cGUgYFBSSU1BUllfRU5UUllfUE9JTlRgIGZvciBhcHBsaWNhdGlvbnMgd2l0aCB0aGUgYEVNQkVEREVEYCBmbGFnIChpLmUuIGFwcGxpY2F0aW9ucyB0aGF0IGhhdmUgYW4gQWN0aXZpdHkpLlxuICAgKi9cbiAgaGFuZGxlcj86IERpc2NvcmRJbnRlcmFjdGlvbkVudHJ5UG9pbnRDb21tYW5kSGFuZGxlclR5cGVcbn1cblxuZXhwb3J0IGVudW0gRGlzY29yZEludGVyYWN0aW9uRW50cnlQb2ludENvbW1hbmRIYW5kbGVyVHlwZSB7XG4gIC8qKiBUaGUgYXBwIGhhbmRsZXMgdGhlIGludGVyYWN0aW9uIHVzaW5nIGFuIGludGVyYWN0aW9uIHRva2VuICovXG4gIEFwcEhhbmRsZXIgPSAxLFxuICAvKiogRGlzY29yZCBoYW5kbGVzIHRoZSBpbnRlcmFjdGlvbiBieSBsYXVuY2hpbmcgYW4gQWN0aXZpdHkgYW5kIHNlbmRpbmcgYSBmb2xsb3ctdXAgbWVzc2FnZSB3aXRob3V0IGNvb3JkaW5hdGluZyB3aXRoIHRoZSBhcHAgKi9cbiAgRGlzY29yZExhdW5jaEFjdGl2aXR5ID0gMixcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9hcHBsaWNhdGlvbi1jb21tYW5kcyNhcHBsaWNhdGlvbi1jb21tYW5kLW9iamVjdC1hcHBsaWNhdGlvbi1jb21tYW5kLW9wdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiB7XG4gIC8qKiBUeXBlIG9mIG9wdGlvbiAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlc1xuICAvKipcbiAgICogTmFtZSBvZiBjb21tYW5kLCAxLTMyIGNoYXJhY3RlcnMuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgdmFsdWUgc2hvdWxkIGJlIHVuaXF1ZSB3aXRoaW4gYW4gYXJyYXkgb2Yge0BsaW5rIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb259XG4gICAqXG4gICAqIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5DaGF0SW5wdXQgfCBDaGF0SW5wdXR9IGNvbW1hbmQgbmFtZXMgbXVzdCBtYXRjaCB0aGUgZm9sbG93aW5nIHJlZ2V4IGBeWy1fXFxwe0x9XFxwe059XFxwe3NjPURldmF9XFxwe3NjPVRoYWl9XXsxLDMyfSRgIHdpdGggdGhlIHVuaWNvZGUgZmxhZyBzZXQuXG4gICAqIElmIHRoZXJlIGlzIGEgbG93ZXJjYXNlIHZhcmlhbnQgb2YgYW55IGxldHRlcnMgdXNlZCwgeW91IG11c3QgdXNlIHRob3NlLlxuICAgKiBDaGFyYWN0ZXJzIHdpdGggbm8gbG93ZXJjYXNlIHZhcmlhbnRzIGFuZC9vciB1bmNhc2VkIGxldHRlcnMgYXJlIHN0aWxsIGFsbG93ZWQuXG4gICAqXG4gICAqIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5Vc2VyIHwgVXNlcn0gYW5kIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5NZXNzYWdlIHwgTWVzc2FnZX0gY29tbWFuZHMgbWF5IGJlIG1peGVkIGNhc2UgYW5kIGNhbiBpbmNsdWRlIHNwYWNlcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogTG9jYWxpemF0aW9uIG9iamVjdCBmb3IgdGhlIGBuYW1lYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYG5hbWVgICovXG4gIG5hbWVfbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIDEtMTAwIGNoYXJhY3RlciBkZXNjcmlwdGlvbiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciB0aGUgYGRlc2NyaXB0aW9uYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYGRlc2NyaXB0aW9uYCAqL1xuICBkZXNjcmlwdGlvbl9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKipcbiAgICogSWYgdGhlIHBhcmFtZXRlciBpcyByZXF1aXJlZCBvciBvcHRpb25hbC4gZGVmYXVsdCBgZmFsc2VgXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFZhbGlkIGluIGFsbCBvcHRpb24gdHlwZXMgZXhjZXB0IHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kIHwgU3ViQ29tbWFuZH0gYW5kIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kR3JvdXAgfCBTdWJDb21tYW5kR3JvdXB9XG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIENob2ljZXMgZm9yIHRoZSBvcHRpb24gZnJvbSB3aGljaCB0aGUgdXNlciBjYW4gY2hvb3NlLCBtYXggMjVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN0cmluZyB8IFN0cmluZ30sIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5JbnRlZ2VyIHwgSW50ZWdlcn0sIG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqXG4gICAqIElmIHlvdSBwcm92aWRlIGFuIGFycmF5IG9mIGNob2ljZXMsIHRoZXkgd2lsbCBiZSB0aGUgT05MWSBhY2NlcHRlZCB2YWx1ZXMgZm9yIHRoaXMgb3B0aW9uXG4gICAqL1xuICBjaG9pY2VzPzogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVtdXG4gIC8qKlxuICAgKiBJZiB0aGUgb3B0aW9uIGlzIGEgc3ViY29tbWFuZCBvciBzdWJjb21tYW5kIGdyb3VwIHR5cGUsIHRoZXNlIG5lc3RlZCBvcHRpb25zIHdpbGwgYmUgdGhlIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb24gb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3ViQ29tbWFuZCB8IFN1YkNvbW1hbmR9IG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kR3JvdXAgfCBTdWJDb21tYW5kR3JvdXB9XG4gICAqL1xuICBvcHRpb25zPzogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbltdXG4gIC8qKlxuICAgKiBJZiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb25zIGFyZSBlbmFibGVkIGZvciB0aGlzIG9wdGlvbi5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN0cmluZyB8IFN0cmluZ30sIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5JbnRlZ2VyIHwgSW50ZWdlcn0sIG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqXG4gICAqIFdoZW4ge0BsaW5rIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24uY2hvaWNlcyB8IGNob2ljZXN9IGFyZSBwcm92aWRlZCwgdGhpcyBtYXkgbm90IGJlIHNldCB0byB0cnVlXG4gICAqL1xuICBhdXRvY29tcGxldGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBUaGUgY2hhbm5lbHMgc2hvd24gd2lsbCBiZSByZXN0cmljdGVkIHRvIHRoZXNlIHR5cGVzXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgdmFsaWQgaW4gb3B0aW9uIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkNoYW5uZWwgfCBDaGFubmVsfVxuICAgKi9cbiAgY2hhbm5lbF90eXBlcz86IENoYW5uZWxUeXBlc1tdXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBwZXJtaXR0ZWQgdmFsdWVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSBvciB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuTnVtYmVyIHwgTnVtYmVyfVxuICAgKi9cbiAgbWluX3ZhbHVlPzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBwZXJtaXR0ZWQgdmFsdWVcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSBvciB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuTnVtYmVyIHwgTnVtYmVyfVxuICAgKi9cbiAgbWF4X3ZhbHVlPzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBwZXJtaXR0ZWQgbGVuZ3RoLCBzaG91bGQgYmUgaW4gdGhlIHJhbmdlIG9mIGZyb20gMCB0byA2MDBcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb25zIG9mIHR5cGUge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN0cmluZyB8IFN0cmluZ31cbiAgICovXG4gIG1pbl9sZW5ndGg/OiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHBlcm1pdHRlZCBsZW5ndGgsIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2Ugb2YgZnJvbSAwIHRvIDYwMFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfVxuICAgKi9cbiAgbWF4X2xlbmd0aD86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL2FwcGxpY2F0aW9uLWNvbW1hbmRzI2FwcGxpY2F0aW9uLWNvbW1hbmQtcGVybWlzc2lvbnMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2Uge1xuICAvKiogMS0xMDAgY2hhcmFjdGVyIGNob2ljZSBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogTG9jYWxpemF0aW9uIG9iamVjdCBmb3IgdGhlIGBuYW1lYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYG5hbWVgICovXG4gIG5hbWVfbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbiB8IG51bGxcbiAgLyoqIFZhbHVlIGZvciB0aGUgY2hvaWNlLCB1cCB0byAxMDAgY2hhcmFjdGVycyBpZiBzdHJpbmcgKi9cbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3NsYXNoLWNvbW1hbmRzI2d1aWxkYXBwbGljYXRpb25jb21tYW5kcGVybWlzc2lvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMge1xuICAvKiogSUQgb2YgdGhlIGNvbW1hbmQgb3IgdGhlIGFwcGxpY2F0aW9uIElELiBXaGVuIHRoZSBgaWRgIGZpZWxkIGlzIHRoZSBhcHBsaWNhdGlvbiBJRCBpbnN0ZWFkIG9mIGEgY29tbWFuZCBJRCwgdGhlIHBlcm1pc3Npb25zIGFwcGx5IHRvIGFsbCBjb21tYW5kcyB0aGF0IGRvIG5vdCBjb250YWluIGV4cGxpY2l0IG92ZXJ3cml0ZXMuICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0aGUgY29tbWFuZCBiZWxvbmdzIHRvICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBQZXJtaXNzaW9ucyBmb3IgdGhlIGNvbW1hbmQgaW4gdGhlIGd1aWxkLCBtYXggb2YgMTAwICovXG4gIHBlcm1pc3Npb25zOiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3NsYXNoLWNvbW1hbmRzI2FwcGxpY2F0aW9uY29tbWFuZHBlcm1pc3Npb25zICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyB7XG4gIC8qKiBJRCBvZiB0aGUgcm9sZSwgdXNlciwgb3IgY2hhbm5lbC4gSXQgY2FuIGFsc28gYmUgYSBwZXJtaXNzaW9uIGNvbnN0YW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25UeXBlcy5Sb2xlLCBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMuVXNlciwgb3IgQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvblR5cGVzLkNoYW5uZWwgKi9cbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvblR5cGVzXG4gIC8qKiBgdHJ1ZWAgdG8gYWxsb3csIGBmYWxzZWAsIHRvIGRpc2FsbG93ICovXG4gIHBlcm1pc3Npb246IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNnZXQtZ3VpbGQtd2lkZ2V0LWV4YW1wbGUtZ2V0LWd1aWxkLXdpZGdldCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRXaWRnZXQge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBpbnN0YW50X2ludml0ZTogc3RyaW5nXG4gIGNoYW5uZWxzOiBBcnJheTx7XG4gICAgaWQ6IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIHBvc2l0aW9uOiBudW1iZXJcbiAgfT5cbiAgbWVtYmVyczogQXJyYXk8e1xuICAgIGlkOiBzdHJpbmdcbiAgICB1c2VybmFtZTogc3RyaW5nXG4gICAgZGlzY3JpbWluYXRvcjogc3RyaW5nXG4gICAgYXZhdGFyPzogc3RyaW5nIHwgbnVsbFxuICAgIHN0YXR1czogc3RyaW5nXG4gICAgYXZhdGFyX3VybDogc3RyaW5nXG4gIH0+XG4gIHByZXNlbmNlX2NvdW50OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1wcmV2aWV3LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRQcmV2aWV3IHtcbiAgLyoqIEd1aWxkIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIEd1aWxkIG5hbWUgKDItMTAwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogSWNvbiBoYXNoICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFNwbGFzaCBoYXNoICovXG4gIHNwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogRGlzY292ZXJ5IHNwbGFzaCBoYXNoICovXG4gIGRpc2NvdmVyeV9zcGxhc2g6IHN0cmluZyB8IG51bGxcbiAgLyoqIEN1c3RvbSBndWlsZCBlbW9qaXMgKi9cbiAgZW1vamlzOiBEaXNjb3JkRW1vamlbXVxuICAvKiogRW5hYmxlZCBndWlsZCBmZWF0dXJlcyAqL1xuICBmZWF0dXJlczogR3VpbGRGZWF0dXJlc1tdXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkICovXG4gIGFwcHJveGltYXRlX21lbWJlcl9jb3VudDogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygb25saW5lIG1lbWJlcnMgaW4gdGhpcyBndWlsZCAqL1xuICBhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudDogbnVtYmVyXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gZm9yIHRoZSBndWlsZCwgaWYgdGhlIGd1aWxkIGlzIGRpc2NvdmVyYWJsZSAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogQ3VzdG9tIGd1aWxkIHN0aWNrZXJzICovXG4gIHN0aWNrZXJzOiBEaXNjb3JkU3RpY2tlcltdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNmb2xsb3dlZC1jaGFubmVsLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRm9sbG93ZWRDaGFubmVsIHtcbiAgLyoqIFNvdXJjZSBtZXNzYWdlIGlkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogQ3JlYXRlZCB0YXJnZXQgd2ViaG9vayBpZCAqL1xuICB3ZWJob29rX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I3BheWxvYWRzLWdhdGV3YXktcGF5bG9hZC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEdhdGV3YXlQYXlsb2FkIHtcbiAgLyoqIG9wY29kZSBmb3IgdGhlIHBheWxvYWQgKi9cbiAgb3A6IG51bWJlclxuICAvKiogRXZlbnQgZGF0YSAqL1xuICBkOiB1bmtub3duIHwgbnVsbFxuICAvKiogU2VxdWVuY2UgbnVtYmVyLCB1c2VkIGZvciByZXN1bWluZyBzZXNzaW9ucyBhbmQgaGVhcnRiZWF0cyAqL1xuICBzOiBudW1iZXIgfCBudWxsXG4gIC8qKiBUaGUgZXZlbnQgbmFtZSBmb3IgdGhpcyBwYXlsb2FkICovXG4gIHQ6IEdhdGV3YXlFdmVudE5hbWVzIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjZ3VpbGQtbWVtYmVycy1jaHVuayAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJzQ2h1bmsge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBTZXQgb2YgZ3VpbGQgbWVtYmVycyAqL1xuICBtZW1iZXJzOiBEaXNjb3JkTWVtYmVyV2l0aFVzZXJbXVxuICAvKiogVGhlIGNodW5rIGluZGV4IGluIHRoZSBleHBlY3RlZCBjaHVua3MgZm9yIHRoaXMgcmVzcG9uc2UgKDAgPD0gY2h1bmtfaW5kZXggPCBjaHVua19jb3VudCkgKi9cbiAgY2h1bmtfaW5kZXg6IG51bWJlclxuICAvKiogVGhlIHRvdGFsIG51bWJlciBvZiBleHBlY3RlZCBjaHVua3MgZm9yIHRoaXMgcmVzcG9uc2UgKi9cbiAgY2h1bmtfY291bnQ6IG51bWJlclxuICAvKiogSWYgcGFzc2luZyBhbiBpbnZhbGlkIGlkIHRvIGBSRVFVRVNUX0dVSUxEX01FTUJFUlNgLCBpdCB3aWxsIGJlIHJldHVybmVkIGhlcmUgKi9cbiAgbm90X2ZvdW5kPzogc3RyaW5nW11cbiAgLyoqIElmIHBhc3NpbmcgdHJ1ZSB0byBgUkVRVUVTVF9HVUlMRF9NRU1CRVJTYCwgcHJlc2VuY2VzIG9mIHRoZSByZXR1cm5lZCBtZW1iZXJzIHdpbGwgYmUgaGVyZSAqL1xuICBwcmVzZW5jZXM/OiBEaXNjb3JkUHJlc2VuY2VVcGRhdGVbXVxuICAvKiogVGhlIG5vbmNlIHVzZWQgaW4gdGhlIEd1aWxkIE1lbWJlcnMgUmVxdWVzdCAqL1xuICBub25jZT86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjY2hhbm5lbC1waW5zLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ2hhbm5lbFBpbnNVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIG1vc3QgcmVjZW50IHBpbm5lZCBtZXNzYWdlIHdhcyBwaW5uZWQgKi9cbiAgbGFzdF9waW5fdGltZXN0YW1wPzogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjZ3VpbGQtcm9sZS1kZWxldGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkUm9sZURlbGV0ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHJvbGUgKi9cbiAgcm9sZV9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNndWlsZC1iYW4tYWRkICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZEJhbkFkZFJlbW92ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGJhbm5lZCB1c2VyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNtZXNzYWdlLXJlYWN0aW9uLXJlbW92ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZVJlYWN0aW9uUmVtb3ZlIGV4dGVuZHMgT21pdDxEaXNjb3JkTWVzc2FnZVJlYWN0aW9uQWRkLCAnbWVtYmVyJyB8ICdidXJzdF9jb2xvcnMnPiB7fVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjbWVzc2FnZS1yZWFjdGlvbi1hZGQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VSZWFjdGlvbkFkZCB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIHVzZXIgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIG1lc3NhZ2UgKi9cbiAgbWVzc2FnZV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgbWVtYmVyIHdobyByZWFjdGVkIGlmIHRoaXMgaGFwcGVuZWQgaW4gYSBndWlsZCAqL1xuICBtZW1iZXI/OiBEaXNjb3JkTWVtYmVyV2l0aFVzZXJcbiAgLyoqIFRoZSBlbW9qaSB1c2VkIHRvIHJlYWN0ICovXG4gIGVtb2ppOiBQYXJ0aWFsPERpc2NvcmRFbW9qaT5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgYXV0aG9yIG9mIHRoaXMgbWVzc2FnZSAqL1xuICBtZXNzYWdlX2F1dGhvcl9pZD86IHN0cmluZ1xuICAvKiogdHJ1ZSBpZiB0aGlzIGlzIGEgc3VwZXItcmVhY3Rpb24gKi9cbiAgYnVyc3Q6IGJvb2xlYW5cbiAgLyoqIENvbG9ycyB1c2VkIGZvciBzdXBlci1yZWFjdGlvbiBhbmltYXRpb24gaW4gXCIjcnJnZ2JiXCIgZm9ybWF0ICovXG4gIGJ1cnN0X2NvbG9ycz86IHN0cmluZ1tdXG4gIC8qKiBUaGUgdHlwZSBvZiByZWFjdGlvbiAqL1xuICB0eXBlOiBEaXNjb3JkUmVhY3Rpb25UeXBlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSN2b2ljZS1zZXJ2ZXItdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRWb2ljZVNlcnZlclVwZGF0ZSB7XG4gIC8qKiBWb2ljZSBjb25uZWN0aW9uIHRva2VuICovXG4gIHRva2VuOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCB0aGlzIHZvaWNlIHNlcnZlciB1cGRhdGUgaXMgZm9yICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB2b2ljZSBzZXJ2ZXIgaG9zdCAqL1xuICBlbmRwb2ludDogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXktZXZlbnRzI3ZvaWNlLWNoYW5uZWwtZWZmZWN0LXNlbmQtdm9pY2UtY2hhbm5lbC1lZmZlY3Qtc2VuZC1ldmVudC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZvaWNlQ2hhbm5lbEVmZmVjdFNlbmQge1xuICAvKiogSUQgb2YgdGhlIGNoYW5uZWwgdGhlIGVmZmVjdCB3YXMgc2VudCBpbiAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZCB0aGUgZWZmZWN0IHdhcyBzZW50IGluICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSB1c2VyIHdobyBzZW50IHRoZSBlZmZlY3QgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgZW1vamkgc2VudCwgZm9yIGVtb2ppIHJlYWN0aW9uIGFuZCBzb3VuZGJvYXJkIGVmZmVjdHMgKi9cbiAgZW1vamk/OiBEaXNjb3JkRW1vamkgfCBudWxsXG4gIC8qKiBUaGUgdHlwZSBvZiBlbW9qaSBhbmltYXRpb24sIGZvciBlbW9qaSByZWFjdGlvbiBhbmQgc291bmRib2FyZCBlZmZlY3RzICovXG4gIGFuaW1hdGlvbl90eXBlPzogRGlzY29yZFZvaWNlQ2hhbm5lbEVmZmVjdEFuaW1hdGlvblR5cGUgfCBudWxsXG4gIC8qKiBUaGUgSUQgb2YgdGhlIGVtb2ppIGFuaW1hdGlvbiwgZm9yIGVtb2ppIHJlYWN0aW9uIGFuZCBzb3VuZGJvYXJkIGVmZmVjdHMgKi9cbiAgYW5pbWF0aW9uX2lkPzogbnVtYmVyIHwgbnVsbFxuICAvKiogVGhlIElEIG9mIHRoZSBzb3VuZGJvYXJkIHNvdW5kLCBmb3Igc291bmRib2FyZCBlZmZlY3RzICovXG4gIHNvdW5kX2lkPzogc3RyaW5nIHwgbnVtYmVyXG4gIC8qKiBUaGUgdm9sdW1lIG9mIHRoZSBzb3VuZGJvYXJkIHNvdW5kLCBmcm9tIDAgdG8gMSwgZm9yIHNvdW5kYm9hcmQgZWZmZWN0cyAqL1xuICBzb3VuZF92b2x1bWU/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5LWV2ZW50cyN2b2ljZS1jaGFubmVsLWVmZmVjdC1zZW5kLWFuaW1hdGlvbi10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZFZvaWNlQ2hhbm5lbEVmZmVjdEFuaW1hdGlvblR5cGUge1xuICAvKiogQSBmdW4gYW5pbWF0aW9uLCBzZW50IGJ5IGEgTml0cm8gc3Vic2NyaWJlciAqL1xuICBQcmVtaXVtID0gMCxcbiAgLyoqIFRoZSBzdGFuZGFyZCBhbmltYXRpb24gKi9cbiAgQmFzaWMgPSAxLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjaW52aXRlLWNyZWF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW52aXRlQ3JlYXRlIHtcbiAgLyoqIFRoZSBjaGFubmVsIHRoZSBpbnZpdGUgaXMgZm9yICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVuaXF1ZSBpbnZpdGUgY29kZSAqL1xuICBjb2RlOiBzdHJpbmdcbiAgLyoqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBpbnZpdGUgd2FzIGNyZWF0ZWQgKi9cbiAgY3JlYXRlZF9hdDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgb2YgdGhlIGludml0ZSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBpbnZpdGUgKi9cbiAgaW52aXRlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBIb3cgbG9uZyB0aGUgaW52aXRlIGlzIHZhbGlkIGZvciAoaW4gc2Vjb25kcykgKi9cbiAgbWF4X2FnZTogbnVtYmVyXG4gIC8qKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdGhlIGludml0ZSBjYW4gYmUgdXNlZCAqL1xuICBtYXhfdXNlczogbnVtYmVyXG4gIC8qKiBUaGUgdHlwZSBvZiB0YXJnZXQgZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBpbnZpdGUgKi9cbiAgdGFyZ2V0X3R5cGU6IFRhcmdldFR5cGVzXG4gIC8qKiBUaGUgdGFyZ2V0IHVzZXIgZm9yIHRoaXMgaW52aXRlICovXG4gIHRhcmdldF91c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSBlbWJlZGRlZCBhcHBsaWNhdGlvbiB0byBvcGVuIGZvciB0aGlzIHZvaWNlIGNoYW5uZWwgZW1iZWRkZWQgYXBwbGljYXRpb24gaW52aXRlICovXG4gIHRhcmdldF9hcHBsaWNhdGlvbj86IFBhcnRpYWw8RGlzY29yZEFwcGxpY2F0aW9uPlxuICAvKiogV2hldGhlciBvciBub3QgdGhlIGludml0ZSBpcyB0ZW1wb3JhcnkgKGludml0ZWQgdXNlcnMgd2lsbCBiZSBraWNrZWQgb24gZGlzY29ubmVjdCB1bmxlc3MgdGhleSdyZSBhc3NpZ25lZCBhIHJvbGUpICovXG4gIHRlbXBvcmFyeTogYm9vbGVhblxuICAvKiogSG93IG1hbnkgdGltZXMgdGhlIGludml0ZSBoYXMgYmVlbiB1c2VkIChhbHdheXMgd2lsbCBiZSAwKSAqL1xuICB1c2VzOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I2hlbGxvICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRIZWxsbyB7XG4gIC8qKiBUaGUgaW50ZXJ2YWwgKGluIG1pbGxpc2Vjb25kcykgdGhlIGNsaWVudCBzaG91bGQgaGVhcnRiZWF0IHdpdGggKi9cbiAgaGVhcnRiZWF0X2ludGVydmFsOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I3JlYWR5ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSZWFkeSB7XG4gIC8qKiBHYXRld2F5IHZlcnNpb24gKi9cbiAgdjogbnVtYmVyXG4gIC8qKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgdXNlciBpbmNsdWRpbmcgZW1haWwgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSBndWlsZHMgdGhlIHVzZXIgaXMgaW4gKi9cbiAgZ3VpbGRzOiBEaXNjb3JkVW5hdmFpbGFibGVHdWlsZFtdXG4gIC8qKiBVc2VkIGZvciByZXN1bWluZyBjb25uZWN0aW9ucyAqL1xuICBzZXNzaW9uX2lkOiBzdHJpbmdcbiAgLyoqIEdhdGV3YXkgdXJsIGZvciByZXN1bWluZyBjb25uZWN0aW9ucyAqL1xuICByZXN1bWVfZ2F0ZXdheV91cmw6IHN0cmluZ1xuICAvKiogVGhlIHNoYXJkIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHNlc3Npb24sIGlmIHNlbnQgd2hlbiBpZGVudGlmeWluZyAqL1xuICBzaGFyZD86IFtudW1iZXIsIG51bWJlcl1cbiAgLyoqIENvbnRhaW5zIGlkIGFuZCBmbGFncyAqL1xuICBhcHBsaWNhdGlvbjogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+ICYgUGljazxEaXNjb3JkQXBwbGljYXRpb24sICdpZCcgfCAnZmxhZ3MnPlxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI3VuYXZhaWxhYmxlLWd1aWxkLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVW5hdmFpbGFibGVHdWlsZCBleHRlbmRzIFBpY2s8RGlzY29yZEd1aWxkLCAnaWQnIHwgJ3VuYXZhaWxhYmxlJz4ge31cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I21lc3NhZ2UtZGVsZXRlLWJ1bGsgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VEZWxldGVCdWxrIHtcbiAgLyoqIFRoZSBpZHMgb2YgdGhlIG1lc3NhZ2VzICovXG4gIGlkczogc3RyaW5nW11cbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy90ZW1wbGF0ZSN0ZW1wbGF0ZS1vYmplY3QtdGVtcGxhdGUtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUZW1wbGF0ZSB7XG4gIC8qKiBUaGUgdGVtcGxhdGUgY29kZSAodW5pcXVlIElkKSAqL1xuICBjb2RlOiBzdHJpbmdcbiAgLyoqIFRlbXBsYXRlIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gZm9yIHRoZSB0ZW1wbGF0ZSAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogTnVtYmVyIG9mIHRpbWVzIHRoaXMgdGVtcGxhdGUgaGFzIGJlZW4gdXNlZCAqL1xuICB1c2FnZV9jb3VudDogbnVtYmVyXG4gIC8qKiBUaGUgSWQgb2YgdGhlIHVzZXIgd2hvIGNyZWF0ZWQgdGhlIHRlbXBsYXRlICovXG4gIGNyZWF0b3JfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVzZXIgd2hvIGNyZWF0ZWQgdGhlIHRlbXBsYXRlICovXG4gIGNyZWF0b3I6IERpc2NvcmRVc2VyXG4gIC8qKiBXaGVuIHRoaXMgdGVtcGxhdGUgd2FzIGNyZWF0ZWQgKi9cbiAgY3JlYXRlZF9hdDogc3RyaW5nXG4gIC8qKiBXaGVuIHRoaXMgdGVtcGxhdGUgd2FzIGxhc3Qgc3luY2VkIHRvIHRoZSBzb3VyY2UgZ3VpbGQgKi9cbiAgdXBkYXRlZF9hdDogc3RyaW5nXG4gIC8qKiBUaGUgSWQgb2YgdGhlIGd1aWxkIHRoaXMgdGVtcGxhdGUgaXMgYmFzZWQgb24gKi9cbiAgc291cmNlX2d1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBzbmFwc2hvdCB0aGlzIHRlbXBsYXRlIGNvbnRhaW5zICovXG4gIHNlcmlhbGl6ZWRfc291cmNlX2d1aWxkOiBEaXNjb3JkVGVtcGxhdGVTZXJpYWxpemVkU291cmNlR3VpbGRcbiAgaXNfZGlydHk6IGJvb2xlYW4gfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIERpc2NvcmRUZW1wbGF0ZVNlcmlhbGl6ZWRTb3VyY2VHdWlsZCA9IE9taXQ8XG4gIFBpY2tQYXJ0aWFsPFxuICAgIERpc2NvcmRHdWlsZCxcbiAgICB8ICduYW1lJ1xuICAgIHwgJ2Rlc2NyaXB0aW9uJ1xuICAgIHwgJ3ZlcmlmaWNhdGlvbl9sZXZlbCdcbiAgICB8ICdkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucydcbiAgICB8ICdleHBsaWNpdF9jb250ZW50X2ZpbHRlcidcbiAgICB8ICdwcmVmZXJyZWRfbG9jYWxlJ1xuICAgIHwgJ2Fma190aW1lb3V0J1xuICAgIHwgJ3N5c3RlbV9jaGFubmVsX2ZsYWdzJ1xuICA+LFxuICAncm9sZXMnIHwgJ2NoYW5uZWxzJyB8ICdhZmtfY2hhbm5lbF9pZCcgfCAnc3lzdGVtX2NoYW5uZWxfaWQnXG4+ICYge1xuICBhZmtfY2hhbm5lbF9pZDogbnVtYmVyIHwgbnVsbFxuICBzeXN0ZW1fY2hhbm5lbF9pZDogbnVtYmVyIHwgbnVsbFxuICByb2xlczogQXJyYXk8XG4gICAgT21pdDxQaWNrUGFydGlhbDxEaXNjb3JkUm9sZSwgJ25hbWUnIHwgJ2NvbG9yJyB8ICdob2lzdCcgfCAnbWVudGlvbmFibGUnIHwgJ3Blcm1pc3Npb25zJyB8ICdpY29uJyB8ICd1bmljb2RlX2Vtb2ppJz4sICdpZCc+ICYge1xuICAgICAgaWQ6IG51bWJlclxuICAgIH1cbiAgPlxuICBjaGFubmVsczogQXJyYXk8XG4gICAgT21pdDxcbiAgICAgIFBpY2tQYXJ0aWFsPFxuICAgICAgICBEaXNjb3JkQ2hhbm5lbCxcbiAgICAgICAgfCAnbmFtZSdcbiAgICAgICAgfCAndHlwZSdcbiAgICAgICAgfCAncG9zaXRpb24nXG4gICAgICAgIHwgJ3RvcGljJ1xuICAgICAgICB8ICdiaXRyYXRlJ1xuICAgICAgICB8ICd1c2VyX2xpbWl0J1xuICAgICAgICB8ICduc2Z3J1xuICAgICAgICB8ICdyYXRlX2xpbWl0X3Blcl91c2VyJ1xuICAgICAgICB8ICdkZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbidcbiAgICAgICAgfCAnYXZhaWxhYmxlX3RhZ3MnXG4gICAgICAgIHwgJ2RlZmF1bHRfcmVhY3Rpb25fZW1vamknXG4gICAgICAgIHwgJ2RlZmF1bHRfdGhyZWFkX3JhdGVfbGltaXRfcGVyX3VzZXInXG4gICAgICAgIHwgJ2RlZmF1bHRfc29ydF9vcmRlcidcbiAgICAgICAgfCAnZGVmYXVsdF9mb3J1bV9sYXlvdXQnXG4gICAgICA+LFxuICAgICAgJ2lkJyB8ICdwZXJtaXNzaW9uX292ZXJ3cml0ZXMnIHwgJ3BhcmVudF9pZCdcbiAgICA+ICYge1xuICAgICAgaWQ6IG51bWJlclxuICAgICAgcGVybWlzc2lvbl9vdmVyd3JpdGVzOiBEaXNjb3JkT3ZlcndyaXRlICYgeyBpZDogbnVtYmVyIH1cbiAgICAgIHBhcmVudF9pZDogbnVtYmVyIHwgbnVsbFxuICAgIH1cbiAgPlxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjZ3VpbGQtbWVtYmVyLWFkZCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJBZGQgZXh0ZW5kcyBEaXNjb3JkTWVtYmVyV2l0aFVzZXIge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I21lc3NhZ2UtZGVsZXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlRGVsZXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgbWVzc2FnZSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSN0aHJlYWQtbWVtYmVycy11cGRhdGUtdGhyZWFkLW1lbWJlcnMtdXBkYXRlLWV2ZW50LWZpZWxkcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGhyZWFkTWVtYmVyc1VwZGF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIHRocmVhZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VycyB3aG8gd2VyZSBhZGRlZCB0byB0aGUgdGhyZWFkICovXG4gIGFkZGVkX21lbWJlcnM/OiBEaXNjb3JkVGhyZWFkTWVtYmVyW11cbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlcnMgd2hvIHdlcmUgcmVtb3ZlZCBmcm9tIHRoZSB0aHJlYWQgKi9cbiAgcmVtb3ZlZF9tZW1iZXJfaWRzPzogc3RyaW5nW11cbiAgLyoqIHRoZSBhcHByb3hpbWF0ZSBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGUgdGhyZWFkLCBjYXBwZWQgYXQgNTAgKi9cbiAgbWVtYmVyX2NvdW50OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I3RocmVhZC1tZW1iZXItdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHJlYWRNZW1iZXJVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSB0aHJlYWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdGltZXN0YW1wIHdoZW4gdGhlIGJvdCBqb2luZWQgdGhpcyB0aHJlYWQuICovXG4gIGpvaW5lZF9hdDogc3RyaW5nXG4gIC8qKiBUaGUgZmxhZ3MgdGhpcyB1c2VyIGhhcyBmb3IgdGhpcyB0aHJlYWQuIE5vdCB1c2VmdWwgZm9yIGJvdHMuICovXG4gIGZsYWdzOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I2d1aWxkLXJvbGUtY3JlYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFJvbGVDcmVhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgcm9sZSBjcmVhdGVkICovXG4gIHJvbGU6IERpc2NvcmRSb2xlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNndWlsZC1lbW9qaXMtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZEVtb2ppc1VwZGF0ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogQXJyYXkgb2YgZW1vamlzICovXG4gIGVtb2ppczogRGlzY29yZEVtb2ppW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5LWV2ZW50cyNndWlsZC1zdGlja2Vycy11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkU3RpY2tlcnNVcGRhdGUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIEFycmF5IG9mIHN0aWNrZXIgKi9cbiAgc3RpY2tlcnM6IERpc2NvcmRTdGlja2VyW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I2d1aWxkLW1lbWJlci11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkTWVtYmVyVXBkYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVXNlciByb2xlIGlkcyAqL1xuICByb2xlczogc3RyaW5nW11cbiAgLyoqIFRoZSB1c2VyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG4gIC8qKiBOaWNrbmFtZSBvZiB0aGUgdXNlciBpbiB0aGUgZ3VpbGQgKi9cbiAgbmljaz86IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSBtZW1iZXIncyBbZ3VpbGQgYXZhdGFyIGhhc2hdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3JlZmVyZW5jZSNpbWFnZS1mb3JtYXR0aW5nKSAqL1xuICBhdmF0YXI6IHN0cmluZ1xuICAvKiogV2hlbiB0aGUgdXNlciBqb2luZWQgdGhlIGd1aWxkICovXG4gIGpvaW5lZF9hdDogc3RyaW5nXG4gIC8qKiBXaGVuIHRoZSB1c2VyIHN0YXJ0aW5nIGJvb3N0aW5nIHRoZSBndWlsZCAqL1xuICBwcmVtaXVtX3NpbmNlPzogc3RyaW5nIHwgbnVsbFxuICAvKiogd2hldGhlciB0aGUgdXNlciBpcyBkZWFmZW5lZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBkZWFmPzogYm9vbGVhblxuICAvKiogd2hldGhlciB0aGUgdXNlciBpcyBtdXRlZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBtdXRlPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgdXNlciBoYXMgbm90IHlldCBwYXNzZWQgdGhlIGd1aWxkJ3MgTWVtYmVyc2hpcCBTY3JlZW5pbmcgcmVxdWlyZW1lbnRzICovXG4gIHBlbmRpbmc/OiBib29sZWFuXG4gIC8qKiB3aGVuIHRoZSB1c2VyJ3MgW3RpbWVvdXRdKGh0dHBzOi8vc3VwcG9ydC5kaXNjb3JkLmNvbS9oYy9lbi11cy9hcnRpY2xlcy80NDEzMzA1MjM5MTkxLVRpbWUtT3V0LUZBUSkgd2lsbCBleHBpcmUgYW5kIHRoZSB1c2VyIHdpbGwgYmUgYWJsZSB0byBjb21tdW5pY2F0ZSBpbiB0aGUgZ3VpbGQgYWdhaW4sIG51bGwgb3IgYSB0aW1lIGluIHRoZSBwYXN0IGlmIHRoZSB1c2VyIGlzIG5vdCB0aW1lZCBvdXQuIFdpbGwgdGhyb3cgYSA0MDMgZXJyb3IgaWYgdGhlIHVzZXIgaGFzIHRoZSBBRE1JTklTVFJBVE9SIHBlcm1pc3Npb24gb3IgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBjb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsPzogc3RyaW5nXG4gIC8qKiBEYXRhIGZvciB0aGUgbWVtYmVyJ3MgZ3VpbGQgYXZhdGFyIGRlY29yYXRpb24gKi9cbiAgYXZhdGFyX2RlY29yYXRpb25fZGF0YT86IERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YVxuICAvKiogR3VpbGQgbWVtYmVyIGZsYWdzICovXG4gIGZsYWdzPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNtZXNzYWdlLXJlYWN0aW9uLXJlbW92ZS1hbGwgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VSZWFjdGlvblJlbW92ZUFsbCBleHRlbmRzIFBpY2s8RGlzY29yZE1lc3NhZ2VSZWFjdGlvbkFkZCwgJ2NoYW5uZWxfaWQnIHwgJ21lc3NhZ2VfaWQnIHwgJ2d1aWxkX2lkJz4ge31cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I2d1aWxkLXJvbGUtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFJvbGVVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgcm9sZSB1cGRhdGVkICovXG4gIHJvbGU6IERpc2NvcmRSb2xlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNjaGVkdWxlZEV2ZW50VXNlckFkZCB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50ICAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnRfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHVzZXIgICAgICAgICAgICAgICAgICAgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjbWVzc2FnZS1yZWFjdGlvbi1yZW1vdmUtZW1vamkgKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25SZW1vdmVFbW9qaSA9IFBpY2s8RGlzY29yZE1lc3NhZ2VSZWFjdGlvbkFkZCwgJ2NoYW5uZWxfaWQnIHwgJ2d1aWxkX2lkJyB8ICdtZXNzYWdlX2lkJyB8ICdlbW9qaSc+XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNndWlsZC1tZW1iZXItcmVtb3ZlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE1lbWJlclJlbW92ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyIHdobyB3YXMgcmVtb3ZlZCAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2Jhbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEJhbiB7XG4gIC8qKiBUaGUgcmVhc29uIGZvciB0aGUgYmFuICovXG4gIHJlYXNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGJhbm5lZCB1c2VyICovXG4gIHVzZXI6IERpc2NvcmRVc2VyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNjaGVkdWxlZEV2ZW50VXNlclJlbW92ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGd1aWxkX3NjaGVkdWxlZF9ldmVudF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgdXNlciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNpbnZpdGUtZGVsZXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVEZWxldGUge1xuICAvKiogVGhlIGNoYW5uZWwgb2YgdGhlIGludml0ZSAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBvZiB0aGUgaW52aXRlICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgdW5pcXVlIGludml0ZSBjb2RlICovXG4gIGNvZGU6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3ZvaWNlI3ZvaWNlLXJlZ2lvbi1vYmplY3Qtdm9pY2UtcmVnaW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVm9pY2VSZWdpb24ge1xuICAvKiogVW5pcXVlIElkIGZvciB0aGUgcmVnaW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIE5hbWUgb2YgdGhlIHJlZ2lvbiAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIHRydWUgZm9yIGEgc2luZ2xlIHNlcnZlciB0aGF0IGlzIGNsb3Nlc3QgdG8gdGhlIGN1cnJlbnQgdXNlcidzIGNsaWVudCAqL1xuICBvcHRpbWFsOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgYSBkZXByZWNhdGVkIHZvaWNlIHJlZ2lvbiAoYXZvaWQgc3dpdGNoaW5nIHRvIHRoZXNlKSAqL1xuICBkZXByZWNhdGVkOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgYSBjdXN0b20gdm9pY2UgcmVnaW9uICh1c2VkIGZvciBldmVudHMvZXRjKSAqL1xuICBjdXN0b206IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncyB7XG4gIC8qKiB3aGV0aGVyIHRoZSB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICBlbmFibGVkOiBib29sZWFuXG4gIC8qKiB0aGUgd2lkZ2V0IGNoYW5uZWwgaWQgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnN0YWxsUGFyYW1zIHtcbiAgLyoqIFNjb3BlcyB0byBhZGQgdGhlIGFwcGxpY2F0aW9uIHRvIHRoZSBzZXJ2ZXIgd2l0aCAqL1xuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbiAgLyoqIFBlcm1pc3Npb25zIHRvIHJlcXVlc3QgZm9yIHRoZSBib3Qgcm9sZSAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEZvcnVtVGFnIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdGFnICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSB0YWcgKDAtMjAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgdGFnIGNhbiBvbmx5IGJlIGFkZGVkIHRvIG9yIHJlbW92ZWQgZnJvbSB0aHJlYWRzIGJ5IGEgbWVtYmVyIHdpdGggdGhlIE1BTkFHRV9USFJFQURTIHBlcm1pc3Npb24gKi9cbiAgbW9kZXJhdGVkOiBib29sZWFuXG4gIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaSBBdCBtb3N0IG9uZSBvZiBlbW9qaV9pZCBhbmQgZW1vamlfbmFtZSBtYXkgYmUgc2V0LiAqL1xuICBlbW9qaV9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppICovXG4gIGVtb2ppX25hbWU6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamkge1xuICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgKi9cbiAgZW1vamlfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUNoYW5uZWwge1xuICAvKiogMS0xMDAgY2hhcmFjdGVyIGNoYW5uZWwgbmFtZSAqL1xuICBuYW1lPzogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsOyBvbmx5IGNvbnZlcnNpb24gYmV0d2VlbiB0ZXh0IGFuZCBuZXdzIGlzIHN1cHBvcnRlZCBhbmQgb25seSBpbiBndWlsZHMgd2l0aCB0aGUgXCJORVdTXCIgZmVhdHVyZSAqL1xuICB0eXBlPzogQ2hhbm5lbFR5cGVzXG4gIC8qKiBUaGUgcG9zaXRpb24gb2YgdGhlIGNoYW5uZWwgaW4gdGhlIGxlZnQtaGFuZCBsaXN0aW5nICovXG4gIHBvc2l0aW9uPzogbnVtYmVyIHwgbnVsbFxuICAvKiogMC0xMDI0IGNoYXJhY3RlciBjaGFubmVsIHRvcGljICovXG4gIHRvcGljPzogc3RyaW5nIHwgbnVsbFxuICAvKiogV2hldGhlciB0aGUgY2hhbm5lbCBpcyBuc2Z3ICovXG4gIG5zZnc/OiBib29sZWFuIHwgbnVsbFxuICAvKiogQW1vdW50IG9mIHNlY29uZHMgYSB1c2VyIGhhcyB0byB3YWl0IGJlZm9yZSBzZW5kaW5nIGFub3RoZXIgbWVzc2FnZSAoMC0yMTYwMCk7IGJvdHMsIGFzIHdlbGwgYXMgdXNlcnMgd2l0aCB0aGUgcGVybWlzc2lvbiBgbWFuYWdlX21lc3NhZ2VzYCBvciBgbWFuYWdlX2NoYW5uZWxgLCBhcmUgdW5hZmZlY3RlZCAqL1xuICByYXRlX2xpbWl0X3Blcl91c2VyPzogbnVtYmVyIHwgbnVsbFxuICAvKiogVGhlIGJpdHJhdGUgKGluIGJpdHMpIG9mIHRoZSB2b2ljZSBjaGFubmVsOyA4MDAwIHRvIDk2MDAwICgxMjgwMDAgZm9yIFZJUCBzZXJ2ZXJzKSAqL1xuICBiaXRyYXRlPzogbnVtYmVyIHwgbnVsbFxuICAvKiogVGhlIHVzZXIgbGltaXQgb2YgdGhlIHZvaWNlIGNoYW5uZWw7IDAgcmVmZXJzIHRvIG5vIGxpbWl0LCAxIHRvIDk5IHJlZmVycyB0byBhIHVzZXIgbGltaXQgKi9cbiAgdXNlcl9saW1pdD86IG51bWJlciB8IG51bGxcbiAgLyoqIENoYW5uZWwgb3IgY2F0ZWdvcnktc3BlY2lmaWMgcGVybWlzc2lvbnMgKi9cbiAgcGVybWlzc2lvbl9vdmVyd3JpdGVzPzogRGlzY29yZE92ZXJ3cml0ZVtdIHwgbnVsbFxuICAvKiogSWQgb2YgdGhlIG5ldyBwYXJlbnQgY2F0ZWdvcnkgZm9yIGEgY2hhbm5lbCAqL1xuICBwYXJlbnRfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBWb2ljZSByZWdpb24gaWQgZm9yIHRoZSB2b2ljZSBjaGFubmVsLCBhdXRvbWF0aWMgd2hlbiBzZXQgdG8gbnVsbCAqL1xuICBydGNfcmVnaW9uPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNhbWVyYSB2aWRlbyBxdWFsaXR5IG1vZGUgb2YgdGhlIHZvaWNlIGNoYW5uZWwgKi9cbiAgdmlkZW9fcXVhbGl0eV9tb2RlPzogVmlkZW9RdWFsaXR5TW9kZXNcbiAgLyoqIFdoZXRoZXIgdGhlIHRocmVhZCBpcyBhcmNoaXZlZCAqL1xuICBhcmNoaXZlZD86IGJvb2xlYW5cbiAgLyoqIER1cmF0aW9uIGluIG1pbnV0ZXMgdG8gYXV0b21hdGljYWxseSBhcmNoaXZlIHRoZSB0aHJlYWQgYWZ0ZXIgcmVjZW50IGFjdGl2aXR5ICovXG4gIGF1dG9fYXJjaGl2ZV9kdXJhdGlvbj86IDYwIHwgMTQ0MCB8IDQzMjAgfCAxMDA4MFxuICAvKiogV2hlbiBhIHRocmVhZCBpcyBsb2NrZWQsIG9ubHkgdXNlcnMgd2l0aCBgTUFOQUdFX1RIUkVBRFNgIGNhbiB1bmFyY2hpdmUgaXQgKi9cbiAgbG9ja2VkPzogYm9vbGVhblxuICAvKiogd2hldGhlciBub24tbW9kZXJhdG9ycyBjYW4gYWRkIG90aGVyIG5vbi1tb2RlcmF0b3JzIHRvIGEgdGhyZWFkOyBvbmx5IGF2YWlsYWJsZSBvbiBwcml2YXRlIHRocmVhZHMgKi9cbiAgaW52aXRhYmxlPzogYm9vbGVhblxuICAvKiogVGhlIHNldCBvZiB0YWdzIHRoYXQgY2FuIGJlIHVzZWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsICovXG4gIGF2YWlsYWJsZV90YWdzPzogQXJyYXk8e1xuICAgIC8qKiBUaGUgaWQgb2YgdGhlIHRhZyAqL1xuICAgIGlkOiBzdHJpbmdcbiAgICAvKiogVGhlIG5hbWUgb2YgdGhlIHRhZyAoMC0yMCBjaGFyYWN0ZXJzKSAqL1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIC8qKiBXaGV0aGVyIHRoaXMgdGFnIGNhbiBvbmx5IGJlIGFkZGVkIHRvIG9yIHJlbW92ZWQgZnJvbSB0aHJlYWRzIGJ5IGEgbWVtYmVyIHdpdGggdGhlIE1BTkFHRV9USFJFQURTIHBlcm1pc3Npb24gKi9cbiAgICBtb2RlcmF0ZWQ6IGJvb2xlYW5cbiAgICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgQXQgbW9zdCBvbmUgb2YgZW1vamlfaWQgYW5kIGVtb2ppX25hbWUgbWF5IGJlIHNldC4gKi9cbiAgICBlbW9qaV9pZDogc3RyaW5nXG4gICAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkgKi9cbiAgICBlbW9qaV9uYW1lOiBzdHJpbmdcbiAgfT5cbiAgLyoqIFRoZSBJRHMgb2YgdGhlIHNldCBvZiB0YWdzIHRoYXQgaGF2ZSBiZWVuIGFwcGxpZWQgdG8gYSB0aHJlYWQgaW4gYSBHVUlMRF9GT1JVTSBjaGFubmVsOyBsaW1pdGVkIHRvIDUgKi9cbiAgYXBwbGllZF90YWdzPzogc3RyaW5nW11cbiAgLyoqIHRoZSBlbW9qaSB0byBzaG93IGluIHRoZSBhZGQgcmVhY3Rpb24gYnV0dG9uIG9uIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBkZWZhdWx0X3JlYWN0aW9uX2Vtb2ppPzoge1xuICAgIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaSAqL1xuICAgIGVtb2ppX2lkOiBzdHJpbmdcbiAgICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICAgIGVtb2ppX25hbWU6IHN0cmluZyB8IG51bGxcbiAgfVxuICAvKiogdGhlIGluaXRpYWwgcmF0ZV9saW1pdF9wZXJfdXNlciB0byBzZXQgb24gbmV3bHkgY3JlYXRlZCB0aHJlYWRzIGluIGEgY2hhbm5lbC4gdGhpcyBmaWVsZCBpcyBjb3BpZWQgdG8gdGhlIHRocmVhZCBhdCBjcmVhdGlvbiB0aW1lIGFuZCBkb2VzIG5vdCBsaXZlIHVwZGF0ZS4gKi9cbiAgZGVmYXVsdF90aHJlYWRfcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogdGhlIGRlZmF1bHQgc29ydCBvcmRlciB0eXBlIHVzZWQgdG8gb3JkZXIgcG9zdHMgaW4gZm9ydW0gY2hhbm5lbHMgKi9cbiAgZGVmYXVsdF9zb3J0X29yZGVyPzogU29ydE9yZGVyVHlwZXMgfCBudWxsXG4gIC8qKiB0aGUgZGVmYXVsdCBmb3J1bSBsYXlvdXQgdmlldyB1c2VkIHRvIGRpc3BsYXkgcG9zdHMgaW4gYEdVSUxEX0ZPUlVNYCBjaGFubmVscy4gRGVmYXVsdHMgdG8gYDBgLCB3aGljaCBpbmRpY2F0ZXMgYSBsYXlvdXQgdmlldyBoYXMgbm90IGJlZW4gc2V0IGJ5IGEgY2hhbm5lbCBhZG1pbiAqL1xuICBkZWZhdWx0X2ZvcnVtX2xheW91dD86IEZvcnVtTGF5b3V0XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZW1vamkjY3JlYXRlLWd1aWxkLWVtb2ppICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVHdWlsZEVtb2ppIHtcbiAgLyoqIE5hbWUgb2YgdGhlIGVtb2ppICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVGhlIDEyOHgxMjggZW1vamkgaW1hZ2UuIEVtb2ppcyBhbmQgYW5pbWF0ZWQgZW1vamlzIGhhdmUgYSBtYXhpbXVtIGZpbGUgc2l6ZSBvZiAyNTZrYi4gQXR0ZW1wdGluZyB0byB1cGxvYWQgYW4gZW1vamkgbGFyZ2VyIHRoYW4gdGhpcyBsaW1pdCB3aWxsIGZhaWwgYW5kIHJldHVybiA0MDAgQmFkIFJlcXVlc3QgYW5kIGFuIGVycm9yIG1lc3NhZ2UsIGJ1dCBub3QgYSBKU09OIHN0YXR1cyBjb2RlLiBJZiBhIFVSTCBpcyBwcm92aWRlZCB0byB0aGUgaW1hZ2UgcGFyYW1ldGVyLCBEaXNjb3JkZW5vIHdpbGwgYXV0b21hdGljYWxseSBjb252ZXJ0IGl0IHRvIGEgYmFzZTY0IHN0cmluZyBpbnRlcm5hbGx5LiAqL1xuICBpbWFnZTogc3RyaW5nXG4gIC8qKiBSb2xlcyBhbGxvd2VkIHRvIHVzZSB0aGlzIGVtb2ppICovXG4gIHJvbGVzPzogc3RyaW5nW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9lbW9qaSNtb2RpZnktZ3VpbGQtZW1vamkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUd1aWxkRW1vamkge1xuICAvKiogTmFtZSBvZiB0aGUgZW1vamkgKi9cbiAgbmFtZT86IHN0cmluZ1xuICAvKiogUm9sZXMgYWxsb3dlZCB0byB1c2UgdGhpcyBlbW9qaSAqL1xuICByb2xlcz86IHN0cmluZ1tdIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVHdWlsZENoYW5uZWwge1xuICAvKiogQ2hhbm5lbCBuYW1lICgxLTEwMCBjaGFyYWN0ZXJzKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGNoYW5uZWwgKi9cbiAgdHlwZT86IENoYW5uZWxUeXBlc1xuICAvKiogQ2hhbm5lbCB0b3BpYyAoMC0xMDI0IGNoYXJhY3RlcnMpICovXG4gIHRvcGljPzogc3RyaW5nXG4gIC8qKiBUaGUgYml0cmF0ZSAoaW4gYml0cykgb2YgdGhlIHZvaWNlIGNoYW5uZWwgKHZvaWNlIG9ubHkpICovXG4gIGJpdHJhdGU/OiBudW1iZXJcbiAgLyoqIFRoZSB1c2VyIGxpbWl0IG9mIHRoZSB2b2ljZSBjaGFubmVsICh2b2ljZSBvbmx5KSAqL1xuICB1c2VyX2xpbWl0PzogbnVtYmVyXG4gIC8qKiBBbW91bnQgb2Ygc2Vjb25kcyBhIHVzZXIgaGFzIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlICgwLTIxNjAwKTsgYm90cywgYXMgd2VsbCBhcyB1c2VycyB3aXRoIHRoZSBwZXJtaXNzaW9uIGBtYW5hZ2VfbWVzc2FnZXNgIG9yIGBtYW5hZ2VfY2hhbm5lbGAsIGFyZSB1bmFmZmVjdGVkICovXG4gIHJhdGVfbGltaXRfcGVyX3VzZXI/OiBudW1iZXJcbiAgLyoqIFNvcnRpbmcgcG9zaXRpb24gb2YgdGhlIGNoYW5uZWwgKi9cbiAgcG9zaXRpb24/OiBudW1iZXJcbiAgLyoqIFRoZSBjaGFubmVsJ3MgcGVybWlzc2lvbiBvdmVyd3JpdGVzICovXG4gIHBlcm1pc3Npb25fb3ZlcndyaXRlcz86IERpc2NvcmRPdmVyd3JpdGVbXVxuICAvKiogSWQgb2YgdGhlIHBhcmVudCBjYXRlZ29yeSBmb3IgYSBjaGFubmVsICovXG4gIHBhcmVudF9pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGUgY2hhbm5lbCBpcyBuc2Z3ICovXG4gIG5zZnc/OiBib29sZWFuXG4gIC8qKiBEZWZhdWx0IGR1cmF0aW9uIChpbiBtaW51dGVzKSB0aGF0IGNsaWVudHMgKG5vdCB0aGUgQVBJKSB1c2UgZm9yIG5ld2x5IGNyZWF0ZWQgdGhyZWFkcyBpbiB0aGlzIGNoYW5uZWwsIHRvIGRldGVybWluZSB3aGVuIHRvIGF1dG9tYXRpY2FsbHkgYXJjaGl2ZSB0aGUgdGhyZWFkIGFmdGVyIHRoZSBsYXN0IGFjdGl2aXR5ICovXG4gIGRlZmF1bHRfYXV0b19hcmNoaXZlX2R1cmF0aW9uPzogbnVtYmVyXG4gIC8qKiBFbW9qaSB0byBzaG93IGluIHRoZSBhZGQgcmVhY3Rpb24gYnV0dG9uIG9uIGEgdGhyZWFkIGluIGEgZm9ydW0gY2hhbm5lbCAqL1xuICBkZWZhdWx0X3JlYWN0aW9uX2Vtb2ppPzoge1xuICAgIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaS4gRXhhY3RseSBvbmUgb2YgYGVtb2ppSWRgIGFuZCBgZW1vamlOYW1lYCBtdXN0IGJlIHNldC4gKi9cbiAgICBlbW9qaV9pZD86IHN0cmluZyB8IG51bGxcbiAgICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaS4gRXhhY3RseSBvbmUgb2YgYGVtb2ppSWRgIGFuZCBgZW1vamlOYW1lYCBtdXN0IGJlIHNldC4gKi9cbiAgICBlbW9qaV9uYW1lPzogc3RyaW5nIHwgbnVsbFxuICB9XG4gIC8qKiBTZXQgb2YgdGFncyB0aGF0IGNhbiBiZSB1c2VkIGluIGEgZm9ydW0gY2hhbm5lbCAqL1xuICBhdmFpbGFibGVfdGFncz86IEFycmF5PHtcbiAgICAvKiogVGhlIGlkIG9mIHRoZSB0YWcgKi9cbiAgICBpZDogc3RyaW5nXG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSB0YWcgKDAtMjAgY2hhcmFjdGVycykgKi9cbiAgICBuYW1lOiBzdHJpbmdcbiAgICAvKiogd2hldGhlciB0aGlzIHRhZyBjYW4gb25seSBiZSBhZGRlZCB0byBvciByZW1vdmVkIGZyb20gdGhyZWFkcyBieSBhIG1lbWJlciB3aXRoIHRoZSBNQU5BR0VfVEhSRUFEUyBwZXJtaXNzaW9uICovXG4gICAgbW9kZXJhdGVkOiBib29sZWFuXG4gICAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppICovXG4gICAgZW1vamlfaWQ6IHN0cmluZ1xuICAgIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppICovXG4gICAgZW1vamlfbmFtZT86IHN0cmluZ1xuICB9PlxuICAvKiogdGhlIGRlZmF1bHQgc29ydCBvcmRlciB0eXBlIHVzZWQgdG8gb3JkZXIgcG9zdHMgaW4gZm9ydW0gY2hhbm5lbHMgKi9cbiAgZGVmYXVsdF9zb3J0X29yZGVyPzogU29ydE9yZGVyVHlwZXMgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENyZWF0ZU1lc3NhZ2Uge1xuICAvKiogVGhlIG1lc3NhZ2UgY29udGVudHMgKHVwIHRvIDIwMDAgY2hhcmFjdGVycykgKi9cbiAgY29udGVudD86IHN0cmluZ1xuICAvKiogQ2FuIGJlIHVzZWQgdG8gdmVyaWZ5IGEgbWVzc2FnZSB3YXMgc2VudCAodXAgdG8gMjUgY2hhcmFjdGVycykuIFZhbHVlIHdpbGwgYXBwZWFyIGluIHRoZSBNZXNzYWdlIENyZWF0ZSBldmVudC4gKi9cbiAgbm9uY2U/OiBzdHJpbmcgfCBudW1iZXJcbiAgLyoqIHRydWUgaWYgdGhpcyBpcyBhIFRUUyBtZXNzYWdlICovXG4gIHR0cz86IGJvb2xlYW5cbiAgLyoqIEVtYmVkZGVkIGByaWNoYCBjb250ZW50ICh1cCB0byA2MDAwIGNoYXJhY3RlcnMpICovXG4gIGVtYmVkcz86IERpc2NvcmRFbWJlZFtdXG4gIC8qKiBBbGxvd2VkIG1lbnRpb25zIGZvciB0aGUgbWVzc2FnZSAqL1xuICBhbGxvd2VkX21lbnRpb25zPzogRGlzY29yZEFsbG93ZWRNZW50aW9uc1xuICAvKiogSW5jbHVkZSB0byBtYWtlIHlvdXIgbWVzc2FnZSBhIHJlcGx5ICovXG4gIG1lc3NhZ2VfcmVmZXJlbmNlPzoge1xuICAgIC8qKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSAqL1xuICAgIG1lc3NhZ2VfaWQ/OiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSdzIGNoYW5uZWxcbiAgICAgKiBOb3RlOiBgY2hhbm5lbF9pZGAgaXMgb3B0aW9uYWwgd2hlbiBjcmVhdGluZyBhIHJlcGx5LCBidXQgd2lsbCBhbHdheXMgYmUgcHJlc2VudCB3aGVuIHJlY2VpdmluZyBhbiBldmVudC9yZXNwb25zZSB0aGF0IGluY2x1ZGVzIHRoaXMgZGF0YSBtb2RlbC5cbiAgICAgKi9cbiAgICBjaGFubmVsX2lkPzogc3RyaW5nXG4gICAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgZ3VpbGQgKi9cbiAgICBndWlsZF9pZD86IHN0cmluZ1xuICAgIC8qKiBXaGVuIHNlbmRpbmcsIHdoZXRoZXIgdG8gZXJyb3IgaWYgdGhlIHJlZmVyZW5jZWQgbWVzc2FnZSBkb2Vzbid0IGV4aXN0IGluc3RlYWQgb2Ygc2VuZGluZyBhcyBhIG5vcm1hbCAobm9uLXJlcGx5KSBtZXNzYWdlLCBkZWZhdWx0IHRydWUgKi9cbiAgICBmYWlsX2lmX25vdF9leGlzdHM6IGJvb2xlYW5cbiAgfVxuICAvKiogVGhlIGNvbXBvbmVudHMgeW91IHdvdWxkIGxpa2UgdG8gaGF2ZSBzZW50IGluIHRoaXMgbWVzc2FnZSAqL1xuICBjb21wb25lbnRzPzogRGlzY29yZE1lc3NhZ2VDb21wb25lbnRzXG4gIC8qKiBJRHMgb2YgdXAgdG8gMyBzdGlja2VycyBpbiB0aGUgc2VydmVyIHRvIHNlbmQgaW4gdGhlIG1lc3NhZ2UgKi9cbiAgc3RpY2tlcklkcz86IFtzdHJpbmddIHwgW3N0cmluZywgc3RyaW5nXSB8IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI21vZGlmeS1ndWlsZC13ZWxjb21lLXNjcmVlbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTW9kaWZ5R3VpbGRXZWxjb21lU2NyZWVuIHtcbiAgLyoqIFdoZXRoZXIgdGhlIHdlbGNvbWUgc2NyZWVuIGlzIGVuYWJsZWQgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW4gfCBudWxsXG4gIC8qKiBDaGFubmVscyBsaW5rZWQgaW4gdGhlIHdlbGNvbWUgc2NyZWVuIGFuZCB0aGVpciBkaXNwbGF5IG9wdGlvbnMgKi9cbiAgd2VsY29tZV9zY3JlZW4/OiBEaXNjb3JkV2VsY29tZVNjcmVlbkNoYW5uZWxbXSB8IG51bGxcbiAgLyoqIFRoZSBzZXJ2ZXIgZGVzY3JpcHRpb24gdG8gc2hvdyBpbiB0aGUgd2VsY29tZSBzY3JlZW4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEZvbGxvd0Fubm91bmNlbWVudENoYW5uZWwge1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHRvIHNlbmQgYW5ub3VuY2VtZW50cyB0by4gKi9cbiAgd2ViaG9va19jaGFubmVsX2lkOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzT3B0aW9ucyB7XG4gIC8qKiBQZXJtaXNzaW9uIGJpdCBzZXQgKi9cbiAgYWxsb3c6IHN0cmluZ1xuICAvKiogUGVybWlzc2lvbiBiaXQgc2V0ICovXG4gIGRlbnk6IHN0cmluZ1xuICAvKiogRWl0aGVyIDAgKHJvbGUpIG9yIDEgKG1lbWJlcikgKi9cbiAgdHlwZTogT3ZlcndyaXRlVHlwZXNcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNtb2RpZnktZ3VpbGQtY2hhbm5lbC1wb3NpdGlvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUd1aWxkQ2hhbm5lbFBvc2l0aW9ucyB7XG4gIC8qKiBDaGFubmVsIGlkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFNvcnRpbmcgcG9zaXRpb24gb2YgdGhlIGNoYW5uZWwgKi9cbiAgcG9zaXRpb24/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBTeW5jcyB0aGUgcGVybWlzc2lvbiBvdmVyd3JpdGVzIHdpdGggdGhlIG5ldyBwYXJlbnQsIGlmIG1vdmluZyB0byBhIG5ldyBjYXRlZ29yeSAqL1xuICBsb2NrX3Bvc2l0aW9ucz86IGJvb2xlYW4gfCBudWxsXG4gIC8qKiBUaGUgbmV3IHBhcmVudCBJRCBmb3IgdGhlIGNoYW5uZWwgdGhhdCBpcyBtb3ZlZCAqL1xuICBwYXJlbnRfaWQ/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENyZWF0ZVdlYmhvb2sge1xuICAvKiogTmFtZSBvZiB0aGUgd2ViaG9vayAoMS04MCBjaGFyYWN0ZXJzKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIEltYWdlIHVybCBmb3IgdGhlIGRlZmF1bHQgd2ViaG9vayBhdmF0YXIgKi9cbiAgYXZhdGFyPzogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjc3RhcnQtdGhyZWFkLWluLWZvcnVtLWNoYW5uZWwgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENyZWF0ZUZvcnVtUG9zdFdpdGhNZXNzYWdlIHtcbiAgLyoqIDEtMTAwIGNoYXJhY3RlciBjaGFubmVsIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBkdXJhdGlvbiBpbiBtaW51dGVzIHRvIGF1dG9tYXRpY2FsbHkgYXJjaGl2ZSB0aGUgdGhyZWFkIGFmdGVyIHJlY2VudCBhY3Rpdml0eSwgY2FuIGJlIHNldCB0bzogNjAsIDE0NDAsIDQzMjAsIDEwMDgwICovXG4gIGF1dG9fYXJjaGl2ZV9kdXJhdGlvbj86IDYwIHwgMTQ0MCB8IDQzMjAgfCAxMDA4MFxuICAvKiogYW1vdW50IG9mIHNlY29uZHMgYSB1c2VyIGhhcyB0byB3YWl0IGJlZm9yZSBzZW5kaW5nIGFub3RoZXIgbWVzc2FnZSAoMC0yMTYwMCkgKi9cbiAgcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlclxuICAvKiogY29udGVudHMgb2YgdGhlIGZpcnN0IG1lc3NhZ2UgaW4gdGhlIGZvcnVtIHRocmVhZCAqL1xuICBtZXNzYWdlOiB7XG4gICAgLyoqIE1lc3NhZ2UgY29udGVudHMgKHVwIHRvIDIwMDAgY2hhcmFjdGVycykgKi9cbiAgICBjb250ZW50Pzogc3RyaW5nXG4gICAgLyoqIEVtYmVkZGVkIHJpY2ggY29udGVudCAodXAgdG8gNjAwMCBjaGFyYWN0ZXJzKSAqL1xuICAgIGVtYmVkcz86IERpc2NvcmRFbWJlZFtdXG4gICAgLyoqIEFsbG93ZWQgbWVudGlvbnMgZm9yIHRoZSBtZXNzYWdlICovXG4gICAgYWxsb3dlZF9tZW50aW9ucz86IERpc2NvcmRBbGxvd2VkTWVudGlvbnNbXVxuICAgIC8qKiBDb21wb25lbnRzIHRvIGluY2x1ZGUgd2l0aCB0aGUgbWVzc2FnZSAqL1xuICAgIGNvbXBvbmVudHM/OiBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudHNbXVxuICAgIC8qKiBJRHMgb2YgdXAgdG8gMyBzdGlja2VycyBpbiB0aGUgc2VydmVyIHRvIHNlbmQgaW4gdGhlIG1lc3NhZ2UgKi9cbiAgICBzdGlja2VyX2lkcz86IHN0cmluZ1tdXG4gICAgLyoqIEpTT04tZW5jb2RlZCBib2R5IG9mIG5vbi1maWxlIHBhcmFtcywgb25seSBmb3IgbXVsdGlwYXJ0L2Zvcm0tZGF0YSByZXF1ZXN0cy4gU2VlIHtAbGluayBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjdXBsb2FkaW5nLWZpbGVzIFVwbG9hZGluZyBGaWxlc30gKi9cbiAgICBwYXlsb2FkX2pzb24/OiBzdHJpbmdcbiAgICAvKiogQXR0YWNobWVudCBvYmplY3RzIHdpdGggZmlsZW5hbWUgYW5kIGRlc2NyaXB0aW9uLiBTZWUge0BsaW5rIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3JlZmVyZW5jZSN1cGxvYWRpbmctZmlsZXMgVXBsb2FkaW5nIEZpbGVzfSAqL1xuICAgIGF0dGFjaG1lbnRzPzogRGlzY29yZEF0dGFjaG1lbnRbXVxuICAgIC8qKiBNZXNzYWdlIGZsYWdzIGNvbWJpbmVkIGFzIGEgYml0ZmllbGQsIG9ubHkgU1VQUFJFU1NfRU1CRURTIGNhbiBiZSBzZXQgKi9cbiAgICBmbGFncz86IE1lc3NhZ2VGbGFnc1xuICB9XG4gIC8qKiB0aGUgSURzIG9mIHRoZSBzZXQgb2YgdGFncyB0aGF0IGhhdmUgYmVlbiBhcHBsaWVkIHRvIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBhcHBsaWVkX3RhZ3M/OiBzdHJpbmdbXVxufVxuXG5leHBvcnQgdHlwZSBEaXNjb3JkQXJjaGl2ZWRUaHJlYWRzID0gRGlzY29yZEFjdGl2ZVRocmVhZHMgJiB7XG4gIGhhc01vcmU6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQWN0aXZlVGhyZWFkcyB7XG4gIHRocmVhZHM6IERpc2NvcmRDaGFubmVsW11cbiAgbWVtYmVyczogRGlzY29yZFRocmVhZE1lbWJlcltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZhbml0eVVybCB7XG4gIGNvZGU6IHN0cmluZyB8IG51bGxcbiAgdXNlczogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFBydW5lZENvdW50IHtcbiAgcHJ1bmVkOiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vbmJvYXJkaW5nLW9iamVjdC1ndWlsZC1vbmJvYXJkaW5nLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nIHtcbiAgLyoqIElEIG9mIHRoZSBndWlsZCB0aGlzIG9uYm9hcmRpbmcgaXMgcGFydCBvZiAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBQcm9tcHRzIHNob3duIGR1cmluZyBvbmJvYXJkaW5nIGFuZCBpbiBjdXN0b21pemUgY29tbXVuaXR5ICovXG4gIHByb21wdHM6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRbXVxuICAvKiogQ2hhbm5lbCBJRHMgdGhhdCBtZW1iZXJzIGdldCBvcHRlZCBpbnRvIGF1dG9tYXRpY2FsbHkgKi9cbiAgZGVmYXVsdF9jaGFubmVsX2lkczogc3RyaW5nW11cbiAgLyoqIFdoZXRoZXIgb25ib2FyZGluZyBpcyBlbmFibGVkIGluIHRoZSBndWlsZCAqL1xuICBlbmFibGVkOiBib29sZWFuXG4gIC8qKiBDdXJyZW50IG1vZGUgb2Ygb25ib2FyZGluZyAqL1xuICBtb2RlOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nTW9kZVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW9uYm9hcmRpbmctb2JqZWN0LW9uYm9hcmRpbmctcHJvbXB0LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0IHtcbiAgLyoqIElEIG9mIHRoZSBwcm9tcHQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVHlwZSBvZiBwcm9tcHQgKi9cbiAgdHlwZTogRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdFR5cGVcbiAgLyoqIE9wdGlvbnMgYXZhaWxhYmxlIHdpdGhpbiB0aGUgcHJvbXB0ICovXG4gIG9wdGlvbnM6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb25bXVxuICAvKiogVGl0bGUgb2YgdGhlIHByb21wdCAqL1xuICB0aXRsZTogc3RyaW5nXG4gIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBhcmUgbGltaXRlZCB0byBzZWxlY3Rpbmcgb25lIG9wdGlvbiBmb3IgdGhlIHByb21wdCAqL1xuICBzaW5nbGVfc2VsZWN0OiBib29sZWFuXG4gIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvbXB0IGlzIHJlcXVpcmVkIGJlZm9yZSBhIHVzZXIgY29tcGxldGVzIHRoZSBvbmJvYXJkaW5nIGZsb3cgKi9cbiAgcmVxdWlyZWQ6IGJvb2xlYW5cbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBwcm9tcHQgaXMgcHJlc2VudCBpbiB0aGUgb25ib2FyZGluZyBmbG93LiBJZiBgZmFsc2VgLCB0aGUgcHJvbXB0IHdpbGwgb25seSBhcHBlYXIgaW4gdGhlIENoYW5uZWxzICYgUm9sZXMgdGFiICovXG4gIGluX29uYm9hcmRpbmc6IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vbmJvYXJkaW5nLW9iamVjdC1wcm9tcHQtb3B0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIHtcbiAgLyoqIElEIG9mIHRoZSBwcm9tcHQgb3B0aW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEcyBmb3IgY2hhbm5lbHMgYSBtZW1iZXIgaXMgYWRkZWQgdG8gd2hlbiB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkICovXG4gIGNoYW5uZWxfaWRzOiBzdHJpbmdbXVxuICAvKiogSURzIGZvciByb2xlcyBhc3NpZ25lZCB0byBhIG1lbWJlciB3aGVuIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQgKi9cbiAgcm9sZV9pZHM6IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBFbW9qaSBvZiB0aGUgb3B0aW9uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgb3IgdXBkYXRpbmcgYSBwcm9tcHQgb3B0aW9uLCB0aGUgYGVtb2ppX2lkYCwgYGVtb2ppX25hbWVgLCBhbmQgYGVtb2ppX2FuaW1hdGVkYCBmaWVsZHMgbXVzdCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGVtb2ppIG9iamVjdC5cbiAgICovXG4gIGVtb2ppPzogRGlzY29yZEVtb2ppXG4gIC8qKlxuICAgKiBFbW9qaSBJRCBvZiB0aGUgb3B0aW9uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgb3IgdXBkYXRpbmcgYSBwcm9tcHQgb3B0aW9uLCB0aGUgYGVtb2ppX2lkYCwgYGVtb2ppX25hbWVgLCBhbmQgYGVtb2ppX2FuaW1hdGVkYCBmaWVsZHMgbXVzdCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGVtb2ppIG9iamVjdC5cbiAgICovXG4gIGVtb2ppX2lkPzogc3RyaW5nXG4gIC8qKlxuICAgKiBFbW9qaSBuYW1lIG9mIHRoZSBvcHRpb25cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiBjcmVhdGluZyBvciB1cGRhdGluZyBhIHByb21wdCBvcHRpb24sIHRoZSBgZW1vamlfaWRgLCBgZW1vamlfbmFtZWAsIGFuZCBgZW1vamlfYW5pbWF0ZWRgIGZpZWxkcyBtdXN0IGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgZW1vamkgb2JqZWN0LlxuICAgKi9cbiAgZW1vamlfbmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogV2hldGhlciB0aGUgZW1vamkgaXMgYW5pbWF0ZWRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiBjcmVhdGluZyBvciB1cGRhdGluZyBhIHByb21wdCBvcHRpb24sIHRoZSBgZW1vamlfaWRgLCBgZW1vamlfbmFtZWAsIGFuZCBgZW1vamlfYW5pbWF0ZWRgIGZpZWxkcyBtdXN0IGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgZW1vamkgb2JqZWN0LlxuICAgKi9cbiAgZW1vamlfYW5pbWF0ZWQ/OiBib29sZWFuXG4gIC8qKiBUaXRsZSBvZiB0aGUgb3B0aW9uICovXG4gIHRpdGxlOiBzdHJpbmdcbiAgLyoqIERlc2NyaXB0aW9uIG9mIHRoZSBvcHRpb24gKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vbmJvYXJkaW5nLW9iamVjdC1wcm9tcHQtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRUeXBlIHtcbiAgTXVsdGlwbGVDaG9pY2UsXG4gIERyb3BEb3duLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW9uYm9hcmRpbmctb2JqZWN0LW9uYm9hcmRpbmctbW9kZSAqL1xuZXhwb3J0IGVudW0gRGlzY29yZEd1aWxkT25ib2FyZGluZ01vZGUge1xuICAvKiogQ291bnRzIG9ubHkgRGVmYXVsdCBDaGFubmVscyB0b3dhcmRzIGNvbnN0cmFpbnRzICovXG4gIE9uYm9hcmRpbmdEZWZhdWx0LFxuICAvKiogQ291bnRzIERlZmF1bHQgQ2hhbm5lbHMgYW5kIFF1ZXN0aW9ucyB0b3dhcmRzIGNvbnN0cmFpbnRzICovXG4gIE9uYm9hcmRpbmdBZHZhbmNlZCxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy90ZWFtcyN0ZWFtLW1lbWJlci1yb2xlcy10ZWFtLW1lbWJlci1yb2xlLXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkVGVhbU1lbWJlclJvbGUge1xuICAvKiogT3duZXJzIGFyZSB0aGUgbW9zdCBwZXJtaXNzaWFibGUgcm9sZSwgYW5kIGNhbiB0YWtlIGRlc3RydWN0aXZlLCBpcnJldmVyc2libGUgYWN0aW9ucyBsaWtlIGRlbGV0aW5nIHRoZSB0ZWFtIGl0c2VsZi4gVGVhbXMgYXJlIGxpbWl0ZWQgdG8gMSBvd25lci4gKi9cbiAgT3duZXIgPSAnb3duZXInLFxuICAvKiogQWRtaW5zIGhhdmUgc2ltaWxhciBhY2Nlc3MgYXMgb3duZXJzLCBleGNlcHQgdGhleSBjYW5ub3QgdGFrZSBkZXN0cnVjdGl2ZSBhY3Rpb25zIG9uIHRoZSB0ZWFtIG9yIHRlYW0tb3duZWQgYXBwcy4gKi9cbiAgQWRtaW4gPSAnYWRtaW4nLFxuICAvKipcbiAgICogRGV2ZWxvcGVycyBjYW4gYWNjZXNzIGluZm9ybWF0aW9uIGFib3V0IHRlYW0tb3duZWQgYXBwcywgbGlrZSB0aGUgY2xpZW50IHNlY3JldCBvciBwdWJsaWMga2V5LlxuICAgKiBUaGV5IGNhbiBhbHNvIHRha2UgbGltaXRlZCBhY3Rpb25zIG9uIHRlYW0tb3duZWQgYXBwcywgbGlrZSBjb25maWd1cmluZyBpbnRlcmFjdGlvbiBlbmRwb2ludHMgb3IgcmVzZXR0aW5nIHRoZSBib3QgdG9rZW4uXG4gICAqIE1lbWJlcnMgd2l0aCB0aGUgRGV2ZWxvcGVyIHJvbGUgKmNhbm5vdCogbWFuYWdlIHRoZSB0ZWFtIG9yIGl0cyBtZW1iZXJzLCBvciB0YWtlIGRlc3RydWN0aXZlIGFjdGlvbnMgb24gdGVhbS1vd25lZCBhcHBzLlxuICAgKi9cbiAgRGV2ZWxvcGVyID0gJ2RldmVsb3BlcicsXG4gIC8qKiBSZWFkLW9ubHkgbWVtYmVycyBjYW4gYWNjZXNzIGluZm9ybWF0aW9uIGFib3V0IGEgdGVhbSBhbmQgYW55IHRlYW0tb3duZWQgYXBwcy4gU29tZSBleGFtcGxlcyBpbmNsdWRlIGdldHRpbmcgdGhlIElEcyBvZiBhcHBsaWNhdGlvbnMgYW5kIGV4cG9ydGluZyBwYXlvdXQgcmVjb3Jkcy4gKi9cbiAgUmVhZE9ubHkgPSAncmVhZF9vbmx5Jyxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL21vbmV0aXphdGlvbi9lbnRpdGxlbWVudHMjZW50aXRsZW1lbnQtb2JqZWN0LWVudGl0bGVtZW50LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW50aXRsZW1lbnQge1xuICAvKiogSUQgb2YgdGhlIGVudGl0bGVtZW50ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBTS1UgKi9cbiAgc2t1X2lkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSB1c2VyIHRoYXQgaXMgZ3JhbnRlZCBhY2Nlc3MgdG8gdGhlIGVudGl0bGVtZW50J3Mgc2t1ICovXG4gIHVzZXJfaWQ/OiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBndWlsZCB0aGF0IGlzIGdyYW50ZWQgYWNjZXNzIHRvIHRoZSBlbnRpdGxlbWVudCdzIHNrdSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIHBhcmVudCBhcHBsaWNhdGlvbiAqL1xuICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIGVudGl0bGVtZW50ICovXG4gIHR5cGU6IERpc2NvcmRFbnRpdGxlbWVudFR5cGVcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBkZWxldGVkICovXG4gIGRlbGV0ZWQ6IGJvb2xlYW5cbiAgLyoqIFN0YXJ0IGRhdGUgYXQgd2hpY2ggdGhlIGVudGl0bGVtZW50IGlzIHZhbGlkLiBOb3QgcHJlc2VudCB3aGVuIHVzaW5nIHRlc3QgZW50aXRsZW1lbnRzICovXG4gIHN0YXJ0c19hdD86IHN0cmluZ1xuICAvKiogRGF0ZSBhdCB3aGljaCB0aGUgZW50aXRsZW1lbnQgaXMgbm8gbG9uZ2VyIHZhbGlkLiBOb3QgcHJlc2VudCB3aGVuIHVzaW5nIHRlc3QgZW50aXRsZW1lbnRzICovXG4gIGVuZHNfYXQ/OiBzdHJpbmdcbiAgLyoqIEZvciBjb25zdW1hYmxlIGl0ZW1zLCB3aGV0aGVyIG9yIG5vdCB0aGUgZW50aXRsZW1lbnQgaGFzIGJlZW4gY29uc3VtZWQgKi9cbiAgY29uc3VtZWQ/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9tb25ldGl6YXRpb24vZW50aXRsZW1lbnRzI2VudGl0bGVtZW50LW9iamVjdC1lbnRpdGxlbWVudC10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZEVudGl0bGVtZW50VHlwZSB7XG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgcHVyY2hhc2VkIGJ5IHVzZXIgKi9cbiAgUHVyY2hhc2UgPSAxLFxuICAvKiogRW50aXRsZW1lbnQgZm9yIERpc2NvcmQgTml0cm8gc3Vic2NyaXB0aW9uICovXG4gIFByZW1pdW1TdWJzY3JpcHRpb24gPSAyLFxuICAvKiogRW50aXRsZW1lbnQgd2FzIGdpZnRlZCBieSBkZXZlbG9wZXIgKi9cbiAgRGV2ZWxvcGVyR2lmdCA9IDMsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgcHVyY2hhc2VkIGJ5IGEgZGV2IGluIGFwcGxpY2F0aW9uIHRlc3QgbW9kZSAqL1xuICBUZXN0TW9kZVB1cmNoYXNlID0gNCxcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBncmFudGVkIHdoZW4gdGhlIFNLVSB3YXMgZnJlZSAqL1xuICBGcmVlUHVyY2hhc2UgPSA1LFxuICAvKiogRW50aXRsZW1lbnQgd2FzIGdpZnRlZCBieSBhbm90aGVyIHVzZXIgKi9cbiAgVXNlckdpZnQgPSA2LFxuICAvKiogRW50aXRsZW1lbnQgd2FzIGNsYWltZWQgYnkgdXNlciBmb3IgZnJlZSBhcyBhIE5pdHJvIFN1YnNjcmliZXIgKi9cbiAgUHJlbWl1bVB1cmNoYXNlID0gNyxcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBwdXJjaGFzZWQgYXMgYW4gYXBwIHN1YnNjcmlwdGlvbiAqL1xuICBBcHBsaWNhdGlvblN1YnNjcmlwdGlvbiA9IDgsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9tb25ldGl6YXRpb24vc2t1cyNza3Utb2JqZWN0LXNrdS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNrdSB7XG4gIC8qKiBJRCBvZiBTS1UgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVHlwZSBvZiBTS1UgKi9cbiAgdHlwZTogRGlzY29yZFNrdVR5cGVcbiAgLyoqIElEIG9mIHRoZSBwYXJlbnQgYXBwbGljYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogQ3VzdG9tZXItZmFjaW5nIG5hbWUgb2YgeW91ciBwcmVtaXVtIG9mZmVyaW5nICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogU3lzdGVtLWdlbmVyYXRlZCBVUkwgc2x1ZyBiYXNlZCBvbiB0aGUgU0tVJ3MgbmFtZSAqL1xuICBzbHVnOiBzdHJpbmdcbiAgLyoqIFNLVSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzOiBTa3VGbGFnc1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvbW9uZXRpemF0aW9uL3NrdXMjc2t1LW9iamVjdC1za3UtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRTa3VUeXBlIHtcbiAgLyoqIER1cmFibGUgb25lLXRpbWUgcHVyY2hhc2UgKi9cbiAgRHVyYWJsZSA9IDIsXG4gIC8qKiBDb25zdW1hYmxlIG9uZS10aW1lIHB1cmNoYXNlICovXG4gIENvbnN1bWFibGUgPSAzLFxuICAvKiogUmVwcmVzZW50cyBhIHJlY3VycmluZyBzdWJzY3JpcHRpb24gKi9cbiAgU3Vic2NyaXB0aW9uID0gNSxcbiAgLyoqIFN5c3RlbS1nZW5lcmF0ZWQgZ3JvdXAgZm9yIGVhY2ggU1VCU0NSSVBUSU9OIFNLVSBjcmVhdGVkICovXG4gIFN1YnNjcmlwdGlvbkdyb3VwID0gNixcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9yZWNlaXZpbmctYW5kLXJlc3BvbmRpbmcjaW50ZXJhY3Rpb24tb2JqZWN0LWludGVyYWN0aW9uLWNvbnRleHQtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlIHtcbiAgLyoqIEludGVyYWN0aW9uIGNhbiBiZSB1c2VkIHdpdGhpbiBzZXJ2ZXJzICovXG4gIEd1aWxkID0gMCxcbiAgLyoqIEludGVyYWN0aW9uIGNhbiBiZSB1c2VkIHdpdGhpbiBETXMgd2l0aCB0aGUgYXBwJ3MgYm90IHVzZXIgKi9cbiAgQm90RG0gPSAxLFxuICAvKiogSW50ZXJhY3Rpb24gY2FuIGJlIHVzZWQgd2l0aGluIEdyb3VwIERNcyBhbmQgRE1zIG90aGVyIHRoYW4gdGhlIGFwcCdzIGJvdCB1c2VyICovXG4gIFByaXZhdGVDaGFubmVsID0gMixcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNidWxrLWd1aWxkLWJhbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQnVsa0JhbiB7XG4gIC8qKiBsaXN0IG9mIHVzZXIgaWRzLCB0aGF0IHdlcmUgc3VjY2Vzc2Z1bGx5IGJhbm5lZCAqL1xuICBiYW5uZWRfdXNlcnM6IHN0cmluZ1tdXG4gIC8qKiBsaXN0IG9mIHVzZXIgaWRzLCB0aGF0IHdlcmUgbm90IGJhbm5lZCAqL1xuICBmYWlsZWRfdXNlcnM6IHN0cmluZ1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvd2ViaG9vay1ldmVudHMjcGF5bG9hZC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEV2ZW50V2ViaG9va0V2ZW50IHtcbiAgLyoqIFZlcnNpb24gc2NoZW1lIGZvciB0aGUgd2ViaG9vayBldmVudC4gQ3VycmVudGx5IGFsd2F5cyAxICovXG4gIHZlcnNpb246IDFcbiAgLyoqIElEIG9mIHlvdXIgYXBwICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIFR5cGUgb2Ygd2ViaG9vaywgZWl0aGVyIDAgZm9yIFBJTkcgb3IgMSBmb3Igd2ViaG9vayBldmVudHMgKi9cbiAgdHlwZTogRGlzY29yZEV2ZW50V2ViaG9va1R5cGVcbiAgLyoqIEV2ZW50IGRhdGEgcGF5bG9hZCAqL1xuICBldmVudD86IERpc2NvcmRFdmVudFdlYmhvb2tFdmVudEJvZHlcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy93ZWJob29rLWV2ZW50cyN3ZWJob29rLXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkRXZlbnRXZWJob29rVHlwZSB7XG4gIC8qKiBQSU5HIGV2ZW50IHNlbnQgdG8gdmVyaWZ5IHlvdXIgV2ViaG9vayBFdmVudCBVUkwgaXMgYWN0aXZlICovXG4gIFBpbmcgPSAwLFxuICAvKiogV2ViaG9vayBldmVudCAoZGV0YWlscyBmb3IgZXZlbnQgaW4gZXZlbnQgYm9keSBvYmplY3QpICovXG4gIEV2ZW50ID0gMSxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy93ZWJob29rLWV2ZW50cyNldmVudC1ib2R5LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRXZlbnRXZWJob29rRXZlbnRCb2R5IHtcbiAgLyoqIEV2ZW50IHR5cGUgKi9cbiAgdHlwZTogRGlzY29yZFdlYmhvb2tFdmVudFR5cGVcbiAgLyoqIFRpbWVzdGFtcCBvZiB3aGVuIHRoZSBldmVudCBvY2N1cnJlZCBpbiBJU084NjAxIGZvcm1hdCAqL1xuICB0aW1lc3RhbXA6IHN0cmluZ1xuICAvKiogRGF0YSBmb3IgdGhlIGV2ZW50LiBUaGUgc2hhcGUgZGVwZW5kcyBvbiB0aGUgZXZlbnQgdHlwZSAqL1xuICBkYXRhPzogRGlzY29yZEV2ZW50V2ViaG9va0FwcGxpY2F0aW9uQXV0aG9yaXplZEJvZHkgfCBEaXNjb3JkRW50aXRsZW1lbnRcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy93ZWJob29rLWV2ZW50cyNldmVudC10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZFdlYmhvb2tFdmVudFR5cGUge1xuICAvKiogU2VudCB3aGVuIGFuIGFwcCB3YXMgYXV0aG9yaXplZCBieSBhIHVzZXIgdG8gYSBzZXJ2ZXIgb3IgdGhlaXIgYWNjb3VudCAqL1xuICBBcHBsaWNhdGlvbkF1dGhvcml6ZWQgPSAnQVBQTElDQVRJT05fQVVUSE9SSVpFRCcsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgY3JlYXRlZCAqL1xuICBFbnRpdGxlbWVudENyZWF0ZSA9ICdFTlRJVExFTUVOVF9DUkVBVEUnLFxuICAvKiogVXNlciB3YXMgYWRkZWQgdG8gYSBRdWVzdCAoY3VycmVudGx5IHVuYXZhaWxhYmxlKSAqL1xuICBRdWVzdFVzZXJFbnJvbGxtZW50ID0gJ1FVRVNUX1VTRVJfRU5ST0xMTUVOVCcsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvd2ViaG9vay1ldmVudHMjYXBwbGljYXRpb24tYXV0aG9yaXplZC1hcHBsaWNhdGlvbi1hdXRob3JpemVkLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRXZlbnRXZWJob29rQXBwbGljYXRpb25BdXRob3JpemVkQm9keSB7XG4gIC8qKiBJbnN0YWxsYXRpb24gY29udGV4dCBmb3IgdGhlIGF1dGhvcml6YXRpb24uIEVpdGhlciBndWlsZCAoMCkgaWYgaW5zdGFsbGVkIHRvIGEgc2VydmVyIG9yIHVzZXIgKDEpIGlmIGluc3RhbGxlZCB0byBhIHVzZXIncyBhY2NvdW50ICovXG4gIGludGVncmF0aW9uX3R5cGU/OiBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGVcbiAgLyoqIFVzZXIgd2hvIGF1dGhvcml6ZWQgdGhlIGFwcCAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogTGlzdCBvZiBzY29wZXMgdGhlIHVzZXIgYXV0aG9yaXplZCAqL1xuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbiAgLyoqIFNlcnZlciB3aGljaCBhcHAgd2FzIGF1dGhvcml6ZWQgZm9yICh3aGVuIGludGVncmF0aW9uIHR5cGUgaXMgMCkgKi9cbiAgZ3VpbGQ/OiBEaXNjb3JkR3VpbGRcbn1cbiJdLCJuYW1lcyI6WyJPQXV0aDJTY29wZSIsIkRpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSIsIkRpc2NvcmRBcHBsaWNhdGlvbkV2ZW50V2ViaG9va1N0YXR1cyIsIkRpc2NvcmRDb25uZWN0aW9uU2VydmljZVR5cGUiLCJEaXNjb3JkQ29ubmVjdGlvblZpc2liaWxpdHkiLCJEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbktpbmQiLCJEaXNjb3JkUmVhY3Rpb25UeXBlIiwiRGlzY29yZE1lc3NhZ2VSZWZlcmVuY2VUeXBlIiwiRGlzY29yZFBvbGxMYXlvdXRUeXBlIiwiQXV0b01vZGVyYXRpb25FdmVudFR5cGVzIiwiQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMiLCJEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhUHJlc2V0cyIsIkF1dG9Nb2RlcmF0aW9uQWN0aW9uVHlwZSIsIkRpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlRnJlcXVlbmN5IiwiRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGVXZWVrZGF5IiwiRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGVNb250aCIsIkRpc2NvcmRJbnZpdGVUeXBlIiwiRGlzY29yZEludGVyYWN0aW9uRW50cnlQb2ludENvbW1hbmRIYW5kbGVyVHlwZSIsIkRpc2NvcmRWb2ljZUNoYW5uZWxFZmZlY3RBbmltYXRpb25UeXBlIiwiRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdFR5cGUiLCJEaXNjb3JkR3VpbGRPbmJvYXJkaW5nTW9kZSIsIkRpc2NvcmRUZWFtTWVtYmVyUm9sZSIsIkRpc2NvcmRFbnRpdGxlbWVudFR5cGUiLCJEaXNjb3JkU2t1VHlwZSIsIkRpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlIiwiRGlzY29yZEV2ZW50V2ViaG9va1R5cGUiLCJEaXNjb3JkV2ViaG9va0V2ZW50VHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztVQXdGWUE7SUFDVjs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQsaUVBQWlFO0lBRWpFOzs7OztHQUtDO0lBRUQsMEZBQTBGO0lBRTFGOzs7OztHQUtDO0lBRUQsZ0dBQWdHO0lBRWhHLG1FQUFtRTtJQUVuRSx1SEFBdUg7SUFFdkgsK0VBQStFO0lBRS9FLHlIQUF5SDtJQUV6SDs7Ozs7R0FLQztJQUVELGdIQUFnSDtJQUVoSCxnREFBZ0Q7SUFFaEQsdUhBQXVIO0lBRXZILG9JQUFvSTtJQUVwSSwrSUFBK0k7SUFFL0k7Ozs7OztHQU1DO0lBRUQ7OztHQUdDO0lBRUQ7Ozs7O0dBS0M7SUFFRCwyRUFBMkU7SUFFM0U7Ozs7O0dBS0M7SUFFRDs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRDs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQsa0dBQWtHO0dBNUh4RkEsZ0JBQUFBOztVQWdWQUM7SUFDVixrQ0FBa0M7SUFFbEMsZ0NBQWdDO0dBSHRCQSxzQ0FBQUE7O1VBUUFDO0lBQ1YsNkNBQTZDO0lBRTdDLDRDQUE0QztJQUU1QyxzRUFBc0U7R0FMNURBLHlDQUFBQTs7VUFrR0FDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FBQUEsaUNBQUFBOztVQTJCQUM7SUFDVixxREFBcUQ7SUFFckQsd0JBQXdCO0dBSGRBLGdDQUFBQTs7VUFncUJBQztJQUNWLG9DQUFvQztJQUVwQywyREFBMkQ7R0FIakRBLGdDQUFBQTs7VUFtT0FDOzs7R0FBQUEsd0JBQUFBOztVQXVDQUM7SUFDVjs7Ozs7R0FLQztJQUVEOzs7Ozs7Ozs7R0FTQztHQWpCU0EsZ0NBQUFBOztVQXFFQUM7SUFDVix1QkFBdUI7R0FEYkEsMEJBQUFBOztVQXVrQkFDO0lBQ1YsZ0NBQWdDO0lBRWhDLHFDQUFxQztHQUgzQkEsNkJBQUFBOztVQU9BQztJQUNWLDBGQUEwRjtJQUUxRiw4REFBOEQ7SUFFOUQseUZBQXlGO0lBRXpGLGlGQUFpRjtJQUVqRixpR0FBaUc7R0FUdkZBLCtCQUFBQTs7VUFtRUFDO0lBQ1YsOERBQThEO0lBRTlELCtEQUErRDtJQUUvRCxpRUFBaUU7R0FMdkRBLG9EQUFBQTs7VUFnQkFDO0lBQ1YsMERBQTBEO0lBRTFELDZDQUE2QztJQUU3Qzs7Ozs7OztHQU9DO0lBRUQsb0VBQW9FO0dBZDFEQSw2QkFBQUE7O1VBb1JBQzs7Ozs7R0FBQUEsaURBQUFBOztVQU9BQzs7Ozs7Ozs7R0FBQUEsK0NBQUFBOztVQWlCQUM7Ozs7Ozs7Ozs7Ozs7R0FBQUEsNkNBQUFBOztVQWlGQUM7Ozs7R0FBQUEsc0JBQUFBOztVQW1GQUM7SUFDViwrREFBK0Q7SUFFL0QsK0hBQStIO0dBSHJIQSxtREFBQUE7O1VBNFNBQztJQUNWLGdEQUFnRDtJQUVoRCwyQkFBMkI7R0FIakJBLDJDQUFBQTs7VUFrcUJBQzs7O0dBQUFBLHFDQUFBQTs7VUFNQUM7SUFDVixxREFBcUQ7SUFFckQsOERBQThEO0dBSHBEQSwrQkFBQUE7O1VBUUFDO0lBQ1YsdUpBQXVKO0lBRXZKLHNIQUFzSDtJQUV0SDs7OztHQUlDO0lBRUQsdUtBQXVLO0dBWDdKQSwwQkFBQUE7O1VBd0NBQztJQUNWLHNDQUFzQztJQUV0QywrQ0FBK0M7SUFFL0Msd0NBQXdDO0lBRXhDLGdFQUFnRTtJQUVoRSxrREFBa0Q7SUFFbEQsMkNBQTJDO0lBRTNDLG1FQUFtRTtJQUVuRSxxREFBcUQ7R0FmM0NBLDJCQUFBQTs7VUFvQ0FDO0lBQ1YsOEJBQThCO0lBRTlCLGlDQUFpQztJQUVqQyx3Q0FBd0M7SUFFeEMsNkRBQTZEO0dBUG5EQSxtQkFBQUE7O1VBWUFDO0lBQ1YsMkNBQTJDO0lBRTNDLCtEQUErRDtJQUUvRCxtRkFBbUY7R0FMekVBLGtDQUFBQTs7VUE4QkFDO0lBQ1YsK0RBQStEO0lBRS9ELDJEQUEyRDtHQUhqREEsNEJBQUFBOztVQWtCQUM7SUFDViwyRUFBMkU7SUFFM0UsNEJBQTRCO0lBRTVCLHNEQUFzRDtHQUw1Q0EsNEJBQUFBIn0=