@discordeno/types 19.0.0 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/discord.cjs +417 -0
- package/dist/cjs/discordeno.cjs +17 -0
- package/dist/cjs/index.cjs +22 -0
- package/dist/cjs/shared.cjs +940 -0
- package/dist/esm/discord.js +2 -1
- package/dist/esm/discordeno.js +1 -1
- package/dist/types/discord.d.ts +1 -0
- package/dist/types/discord.d.ts.map +1 -1
- package/dist/types/discordeno.d.ts +3 -1
- package/dist/types/discordeno.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
AutoModerationActionType: function() {
|
|
13
|
+
return AutoModerationActionType;
|
|
14
|
+
},
|
|
15
|
+
AutoModerationEventTypes: function() {
|
|
16
|
+
return AutoModerationEventTypes;
|
|
17
|
+
},
|
|
18
|
+
AutoModerationTriggerTypes: function() {
|
|
19
|
+
return AutoModerationTriggerTypes;
|
|
20
|
+
},
|
|
21
|
+
DiscordActivityLocationKind: function() {
|
|
22
|
+
return DiscordActivityLocationKind;
|
|
23
|
+
},
|
|
24
|
+
DiscordApplicationEventWebhookStatus: function() {
|
|
25
|
+
return DiscordApplicationEventWebhookStatus;
|
|
26
|
+
},
|
|
27
|
+
DiscordApplicationIntegrationType: function() {
|
|
28
|
+
return DiscordApplicationIntegrationType;
|
|
29
|
+
},
|
|
30
|
+
DiscordAutoModerationRuleTriggerMetadataPresets: function() {
|
|
31
|
+
return DiscordAutoModerationRuleTriggerMetadataPresets;
|
|
32
|
+
},
|
|
33
|
+
DiscordConnectionServiceType: function() {
|
|
34
|
+
return DiscordConnectionServiceType;
|
|
35
|
+
},
|
|
36
|
+
DiscordConnectionVisibility: function() {
|
|
37
|
+
return DiscordConnectionVisibility;
|
|
38
|
+
},
|
|
39
|
+
DiscordEntitlementType: function() {
|
|
40
|
+
return DiscordEntitlementType;
|
|
41
|
+
},
|
|
42
|
+
DiscordEventWebhookType: function() {
|
|
43
|
+
return DiscordEventWebhookType;
|
|
44
|
+
},
|
|
45
|
+
DiscordGuildOnboardingMode: function() {
|
|
46
|
+
return DiscordGuildOnboardingMode;
|
|
47
|
+
},
|
|
48
|
+
DiscordGuildOnboardingPromptType: function() {
|
|
49
|
+
return DiscordGuildOnboardingPromptType;
|
|
50
|
+
},
|
|
51
|
+
DiscordInteractionContextType: function() {
|
|
52
|
+
return DiscordInteractionContextType;
|
|
53
|
+
},
|
|
54
|
+
DiscordInteractionEntryPointCommandHandlerType: function() {
|
|
55
|
+
return DiscordInteractionEntryPointCommandHandlerType;
|
|
56
|
+
},
|
|
57
|
+
DiscordInviteType: function() {
|
|
58
|
+
return DiscordInviteType;
|
|
59
|
+
},
|
|
60
|
+
DiscordMessageReferenceType: function() {
|
|
61
|
+
return DiscordMessageReferenceType;
|
|
62
|
+
},
|
|
63
|
+
DiscordPollLayoutType: function() {
|
|
64
|
+
return DiscordPollLayoutType;
|
|
65
|
+
},
|
|
66
|
+
DiscordReactionType: function() {
|
|
67
|
+
return DiscordReactionType;
|
|
68
|
+
},
|
|
69
|
+
DiscordScheduledEventRecurrenceRuleFrequency: function() {
|
|
70
|
+
return DiscordScheduledEventRecurrenceRuleFrequency;
|
|
71
|
+
},
|
|
72
|
+
DiscordScheduledEventRecurrenceRuleMonth: function() {
|
|
73
|
+
return DiscordScheduledEventRecurrenceRuleMonth;
|
|
74
|
+
},
|
|
75
|
+
DiscordScheduledEventRecurrenceRuleWeekday: function() {
|
|
76
|
+
return DiscordScheduledEventRecurrenceRuleWeekday;
|
|
77
|
+
},
|
|
78
|
+
DiscordSkuType: function() {
|
|
79
|
+
return DiscordSkuType;
|
|
80
|
+
},
|
|
81
|
+
DiscordSubscriptionStatus: function() {
|
|
82
|
+
return DiscordSubscriptionStatus;
|
|
83
|
+
},
|
|
84
|
+
DiscordTeamMemberRole: function() {
|
|
85
|
+
return DiscordTeamMemberRole;
|
|
86
|
+
},
|
|
87
|
+
DiscordVoiceChannelEffectAnimationType: function() {
|
|
88
|
+
return DiscordVoiceChannelEffectAnimationType;
|
|
89
|
+
},
|
|
90
|
+
DiscordWebhookEventType: function() {
|
|
91
|
+
return DiscordWebhookEventType;
|
|
92
|
+
},
|
|
93
|
+
OAuth2Scope: function() {
|
|
94
|
+
return OAuth2Scope;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
var OAuth2Scope = /*#__PURE__*/ function(OAuth2Scope) {
|
|
98
|
+
/**
|
|
99
|
+
* Allows your app to fetch data from a user's "Now Playing/Recently Played" list
|
|
100
|
+
*
|
|
101
|
+
* @remarks
|
|
102
|
+
* This scope is not currently available for apps
|
|
103
|
+
*/ OAuth2Scope["ActivitiesRead"] = "activities.read";
|
|
104
|
+
/**
|
|
105
|
+
* Allows your app to update a user's activity
|
|
106
|
+
*
|
|
107
|
+
* @remarks
|
|
108
|
+
* This scope not currently available for apps.
|
|
109
|
+
*/ OAuth2Scope["ActivitiesWrite"] = "activities.write";
|
|
110
|
+
/** Allows your app to read build data for a user's applications */ OAuth2Scope["ApplicationsBuildsRead"] = "applications.builds.read";
|
|
111
|
+
/**
|
|
112
|
+
* Allows your app to upload/update builds for a user's applications
|
|
113
|
+
*
|
|
114
|
+
* @remarks
|
|
115
|
+
* This scope requires Discord approval to be used
|
|
116
|
+
*/ OAuth2Scope["ApplicationsBuildsUpload"] = "applications.builds.upload";
|
|
117
|
+
/** Allows your app to add commands to a guild - included by default with the `bot` scope */ OAuth2Scope["ApplicationsCommands"] = "applications.commands";
|
|
118
|
+
/**
|
|
119
|
+
* Allows your app to update its Application Commands via this bearer token
|
|
120
|
+
*
|
|
121
|
+
* @remarks
|
|
122
|
+
* This scope can only be used when using a [Client Credential Grant](https://discord.com/developers/docs/topics/oauth2#client-credentials-grant)
|
|
123
|
+
*/ OAuth2Scope["ApplicationsCommandsUpdate"] = "applications.commands.update";
|
|
124
|
+
/** Allows your app to update permissions for its commands in a guild a user has permissions to */ OAuth2Scope["ApplicationCommandsPermissionsUpdate"] = "applications.commands.permissions.update";
|
|
125
|
+
/** Allows your app to read entitlements for a user's applications */ OAuth2Scope["ApplicationsEntitlements"] = "applications.entitlements";
|
|
126
|
+
/** Allows your app to read and update store data (SKUs, store listings, achievements, etc.) for a user's applications */ OAuth2Scope["ApplicationsStoreUpdate"] = "applications.store.update";
|
|
127
|
+
/** For oauth2 bots, this puts the bot in the user's selected guild by default */ OAuth2Scope["Bot"] = "bot";
|
|
128
|
+
/** Allows requests to [/users/@me/connections](https://discord.com/developers/docs/resources/user#get-user-connections) */ OAuth2Scope["Connections"] = "connections";
|
|
129
|
+
/**
|
|
130
|
+
* Allows your app to see information about the user's DMs and group DMs
|
|
131
|
+
*
|
|
132
|
+
* @remarks
|
|
133
|
+
* This scope requires Discord approval to be used
|
|
134
|
+
*/ OAuth2Scope["DMChannelsRead"] = "dm_channels.read";
|
|
135
|
+
/** Adds the `email` filed to [/users/@me](https://discord.com/developers/docs/resources/user#get-current-user) */ OAuth2Scope["Email"] = "email";
|
|
136
|
+
/** Allows your app to join users to a group dm */ OAuth2Scope["GroupDMJoins"] = "gdm.join";
|
|
137
|
+
/** Allows requests to [/users/@me/guilds](https://discord.com/developers/docs/resources/user#get-current-user-guilds) */ OAuth2Scope["Guilds"] = "guilds";
|
|
138
|
+
/** Allows requests to [/guilds/{guild.id}/members/{user.id}](https://discord.com/developers/docs/resources/guild#add-guild-member) */ OAuth2Scope["GuildsJoin"] = "guilds.join";
|
|
139
|
+
/** Allows requests to [/users/@me/guilds/{guild.id}/member](https://discord.com/developers/docs/resources/user#get-current-user-guild-member) */ OAuth2Scope["GuildsMembersRead"] = "guilds.members.read";
|
|
140
|
+
/**
|
|
141
|
+
* Allows requests to [/users/@me](https://discord.com/developers/docs/resources/user#get-current-user)
|
|
142
|
+
*
|
|
143
|
+
* @remarks
|
|
144
|
+
* The return object from [/users/@me](https://discord.com/developers/docs/resources/user#get-current-user)
|
|
145
|
+
* does NOT contain the `email` field unless the scope `email` is also used
|
|
146
|
+
*/ OAuth2Scope["Identify"] = "identify";
|
|
147
|
+
/**
|
|
148
|
+
* For local rpc server api access, this allows you to read messages from all client channels
|
|
149
|
+
* (otherwise restricted to channels/guilds your app creates)
|
|
150
|
+
*/ OAuth2Scope["MessagesRead"] = "messages.read";
|
|
151
|
+
/**
|
|
152
|
+
* Allows your app to know a user's friends and implicit relationships
|
|
153
|
+
*
|
|
154
|
+
* @remarks
|
|
155
|
+
* This scope requires Discord approval to be used
|
|
156
|
+
*/ OAuth2Scope["RelationshipsRead"] = "relationships.read";
|
|
157
|
+
/** Allows your app to update a user's connection and metadata for the app */ OAuth2Scope["RoleConnectionsWrite"] = "role_connections.write";
|
|
158
|
+
/**
|
|
159
|
+
* For local rpc server access, this allows you to control a user's local Discord client
|
|
160
|
+
*
|
|
161
|
+
* @remarks
|
|
162
|
+
* This scope requires Discord approval to be used
|
|
163
|
+
*/ OAuth2Scope["RPC"] = "rpc";
|
|
164
|
+
/**
|
|
165
|
+
* For local rpc server access, this allows you to update a user's activity
|
|
166
|
+
*
|
|
167
|
+
* @remarks
|
|
168
|
+
* This scope requires Discord approval to be used
|
|
169
|
+
*/ OAuth2Scope["RPCActivitiesWrite"] = "rpc.activities.write";
|
|
170
|
+
/**
|
|
171
|
+
* For local rpc server api access, this allows you to receive notifications pushed out to the user
|
|
172
|
+
*
|
|
173
|
+
* @remarks
|
|
174
|
+
* This scope requires Discord approval to be used
|
|
175
|
+
*/ OAuth2Scope["RPCNotificationsRead"] = "rpc.notifications.read";
|
|
176
|
+
/**
|
|
177
|
+
* For local rpc server access, this allows you to read a user's voice settings and listen for voice events
|
|
178
|
+
*
|
|
179
|
+
* @remarks
|
|
180
|
+
* This scope requires Discord approval to be used
|
|
181
|
+
*/ OAuth2Scope["RPCVoiceRead"] = "rpc.voice.read";
|
|
182
|
+
/**
|
|
183
|
+
* For local rpc server access, this allows you to update a user's voice settings
|
|
184
|
+
*
|
|
185
|
+
* @remarks
|
|
186
|
+
* This scope requires Discord approval to be used
|
|
187
|
+
*/ OAuth2Scope["RPCVoiceWrite"] = "rpc.voice.write";
|
|
188
|
+
/**
|
|
189
|
+
* Allows your app to connect to voice on user's behalf and see all the voice members
|
|
190
|
+
*
|
|
191
|
+
* @remarks
|
|
192
|
+
* This scope requires Discord approval to be used
|
|
193
|
+
*/ OAuth2Scope["Voice"] = "voice";
|
|
194
|
+
/** Generate a webhook that is returned in the oauth token response for authorization code grants */ OAuth2Scope["WebhookIncoming"] = "webhook.incoming";
|
|
195
|
+
return OAuth2Scope;
|
|
196
|
+
}({});
|
|
197
|
+
var DiscordApplicationIntegrationType = /*#__PURE__*/ function(DiscordApplicationIntegrationType) {
|
|
198
|
+
/** App is installable to servers */ DiscordApplicationIntegrationType[DiscordApplicationIntegrationType["GuildInstall"] = 0] = "GuildInstall";
|
|
199
|
+
/** App is installable to users */ DiscordApplicationIntegrationType[DiscordApplicationIntegrationType["UserInstall"] = 1] = "UserInstall";
|
|
200
|
+
return DiscordApplicationIntegrationType;
|
|
201
|
+
}({});
|
|
202
|
+
var DiscordApplicationEventWebhookStatus = /*#__PURE__*/ function(DiscordApplicationEventWebhookStatus) {
|
|
203
|
+
/** Webhook events are disabled by developer */ DiscordApplicationEventWebhookStatus[DiscordApplicationEventWebhookStatus["Disabled"] = 1] = "Disabled";
|
|
204
|
+
/** Webhook events are enabled by developer */ DiscordApplicationEventWebhookStatus[DiscordApplicationEventWebhookStatus["Enabled"] = 2] = "Enabled";
|
|
205
|
+
/** Webhook events are disabled by Discord, usually due to inactivity */ DiscordApplicationEventWebhookStatus[DiscordApplicationEventWebhookStatus["DisabledByDiscord"] = 3] = "DisabledByDiscord";
|
|
206
|
+
return DiscordApplicationEventWebhookStatus;
|
|
207
|
+
}({});
|
|
208
|
+
var DiscordConnectionServiceType = /*#__PURE__*/ function(DiscordConnectionServiceType) {
|
|
209
|
+
DiscordConnectionServiceType["AmazonMusic"] = "amazon-music";
|
|
210
|
+
DiscordConnectionServiceType["BattleNet"] = "battlenet";
|
|
211
|
+
DiscordConnectionServiceType["Bungie"] = "Bungie.net";
|
|
212
|
+
DiscordConnectionServiceType["Crunchyroll"] = "crunchyroll";
|
|
213
|
+
DiscordConnectionServiceType["Domain"] = "domain";
|
|
214
|
+
DiscordConnectionServiceType["eBay"] = "ebay";
|
|
215
|
+
DiscordConnectionServiceType["EpicGames"] = "epicgames";
|
|
216
|
+
DiscordConnectionServiceType["Facebook"] = "facebook";
|
|
217
|
+
DiscordConnectionServiceType["GitHub"] = "github";
|
|
218
|
+
DiscordConnectionServiceType["Instagram"] = "instagram";
|
|
219
|
+
DiscordConnectionServiceType["LeagueOfLegends"] = "leagueoflegends";
|
|
220
|
+
DiscordConnectionServiceType["PayPal"] = "paypal";
|
|
221
|
+
DiscordConnectionServiceType["PlayStationNetwork"] = "playstation";
|
|
222
|
+
DiscordConnectionServiceType["Reddit"] = "reddit";
|
|
223
|
+
DiscordConnectionServiceType["RiotGames"] = "riotgames";
|
|
224
|
+
DiscordConnectionServiceType["Roblox"] = "roblox";
|
|
225
|
+
DiscordConnectionServiceType["Spotify"] = "spotify";
|
|
226
|
+
DiscordConnectionServiceType["Skype"] = "skype";
|
|
227
|
+
DiscordConnectionServiceType["Steam"] = "steam";
|
|
228
|
+
DiscordConnectionServiceType["TikTok"] = "tiktok";
|
|
229
|
+
DiscordConnectionServiceType["Twitch"] = "twitch";
|
|
230
|
+
DiscordConnectionServiceType["Twitter"] = "twitter";
|
|
231
|
+
DiscordConnectionServiceType["Xbox"] = "xbox";
|
|
232
|
+
DiscordConnectionServiceType["YouTube"] = "youtube";
|
|
233
|
+
return DiscordConnectionServiceType;
|
|
234
|
+
}({});
|
|
235
|
+
var DiscordConnectionVisibility = /*#__PURE__*/ function(DiscordConnectionVisibility) {
|
|
236
|
+
/** invisible to everyone except the user themselves */ DiscordConnectionVisibility[DiscordConnectionVisibility["None"] = 0] = "None";
|
|
237
|
+
/** visible to everyone */ DiscordConnectionVisibility[DiscordConnectionVisibility["Everyone"] = 1] = "Everyone";
|
|
238
|
+
return DiscordConnectionVisibility;
|
|
239
|
+
}({});
|
|
240
|
+
var DiscordActivityLocationKind = /*#__PURE__*/ function(DiscordActivityLocationKind) {
|
|
241
|
+
/** The Location is a Guild Channel */ DiscordActivityLocationKind["GuildChannel"] = "gc";
|
|
242
|
+
/** The Location is a Private Channel, such as a DM or GDM */ DiscordActivityLocationKind["PrivateChannel"] = "pc";
|
|
243
|
+
return DiscordActivityLocationKind;
|
|
244
|
+
}({});
|
|
245
|
+
var DiscordReactionType = /*#__PURE__*/ function(DiscordReactionType) {
|
|
246
|
+
DiscordReactionType[DiscordReactionType["Normal"] = 0] = "Normal";
|
|
247
|
+
DiscordReactionType[DiscordReactionType["Burst"] = 1] = "Burst";
|
|
248
|
+
return DiscordReactionType;
|
|
249
|
+
}({});
|
|
250
|
+
var DiscordMessageReferenceType = /*#__PURE__*/ function(DiscordMessageReferenceType) {
|
|
251
|
+
/**
|
|
252
|
+
* A standard reference used by replies.
|
|
253
|
+
*
|
|
254
|
+
* @remarks
|
|
255
|
+
* When the type is set to this value, the field referenced_message on the message will be present
|
|
256
|
+
*/ DiscordMessageReferenceType[DiscordMessageReferenceType["Default"] = 0] = "Default";
|
|
257
|
+
/**
|
|
258
|
+
* Reference used to point to a message at a point in time.
|
|
259
|
+
*
|
|
260
|
+
* @remarks
|
|
261
|
+
* When the type is set to this value, the field message_snapshot on the message will be present
|
|
262
|
+
*
|
|
263
|
+
* This value can only be used for basic messages;
|
|
264
|
+
* i.e. messages which do not have strong bindings to a non global entity.
|
|
265
|
+
* Thus we support only messages with `DEFAULT` or `REPLY` types, but disallowed if there are any polls, calls, or components.
|
|
266
|
+
*/ DiscordMessageReferenceType[DiscordMessageReferenceType["Forward"] = 1] = "Forward";
|
|
267
|
+
return DiscordMessageReferenceType;
|
|
268
|
+
}({});
|
|
269
|
+
var DiscordPollLayoutType = /*#__PURE__*/ function(DiscordPollLayoutType) {
|
|
270
|
+
/** The default layout */ DiscordPollLayoutType[DiscordPollLayoutType["Default"] = 1] = "Default";
|
|
271
|
+
return DiscordPollLayoutType;
|
|
272
|
+
}({});
|
|
273
|
+
var AutoModerationEventTypes = /*#__PURE__*/ function(AutoModerationEventTypes) {
|
|
274
|
+
/** When a user sends a message */ AutoModerationEventTypes[AutoModerationEventTypes["MessageSend"] = 1] = "MessageSend";
|
|
275
|
+
/** Wen a member edits their profile */ AutoModerationEventTypes[AutoModerationEventTypes["MemberUpdate"] = 2] = "MemberUpdate";
|
|
276
|
+
return AutoModerationEventTypes;
|
|
277
|
+
}({});
|
|
278
|
+
var AutoModerationTriggerTypes = /*#__PURE__*/ function(AutoModerationTriggerTypes) {
|
|
279
|
+
/** Check if content contains words from a user defined list of keywords. Max 6 per guild */ AutoModerationTriggerTypes[AutoModerationTriggerTypes["Keyword"] = 1] = "Keyword";
|
|
280
|
+
/** Check if content represents generic spam. Max 1 per guild */ AutoModerationTriggerTypes[AutoModerationTriggerTypes["Spam"] = 3] = "Spam";
|
|
281
|
+
/** Check if content contains words from internal pre-defined word sets. Max 1 per guild */ AutoModerationTriggerTypes[AutoModerationTriggerTypes["KeywordPreset"] = 4] = "KeywordPreset";
|
|
282
|
+
/** Check if content contains more unique mentions than allowed. Max 1 per guild */ AutoModerationTriggerTypes[AutoModerationTriggerTypes["MentionSpam"] = 5] = "MentionSpam";
|
|
283
|
+
/** Check if member profile contains words from a user defined list of keywords. Max 1 per guild */ AutoModerationTriggerTypes[AutoModerationTriggerTypes["MemberProfile"] = 6] = "MemberProfile";
|
|
284
|
+
return AutoModerationTriggerTypes;
|
|
285
|
+
}({});
|
|
286
|
+
var DiscordAutoModerationRuleTriggerMetadataPresets = /*#__PURE__*/ function(DiscordAutoModerationRuleTriggerMetadataPresets) {
|
|
287
|
+
/** Words that may be considered forms of swearing or cursing */ DiscordAutoModerationRuleTriggerMetadataPresets[DiscordAutoModerationRuleTriggerMetadataPresets["Profanity"] = 1] = "Profanity";
|
|
288
|
+
/** Words that refer to sexually explicit behavior or activity */ DiscordAutoModerationRuleTriggerMetadataPresets[DiscordAutoModerationRuleTriggerMetadataPresets["SexualContent"] = 2] = "SexualContent";
|
|
289
|
+
/** Personal insults or words that may be considered hate speech */ DiscordAutoModerationRuleTriggerMetadataPresets[DiscordAutoModerationRuleTriggerMetadataPresets["Slurs"] = 3] = "Slurs";
|
|
290
|
+
return DiscordAutoModerationRuleTriggerMetadataPresets;
|
|
291
|
+
}({});
|
|
292
|
+
var AutoModerationActionType = /*#__PURE__*/ function(AutoModerationActionType) {
|
|
293
|
+
/** Blocks the content of a message according to the rule */ AutoModerationActionType[AutoModerationActionType["BlockMessage"] = 1] = "BlockMessage";
|
|
294
|
+
/** Logs user content to a specified channel */ AutoModerationActionType[AutoModerationActionType["SendAlertMessage"] = 2] = "SendAlertMessage";
|
|
295
|
+
/**
|
|
296
|
+
* Times out user for specified duration
|
|
297
|
+
*
|
|
298
|
+
* @remarks
|
|
299
|
+
* A timeout action can only be set up for {@link AutoModerationTriggerTypes.Keyword} and {@link AutoModerationTriggerTypes.MentionSpam} rules.
|
|
300
|
+
*
|
|
301
|
+
* The `MODERATE_MEMBERS` permission is required to use the timeout action type.
|
|
302
|
+
*/ AutoModerationActionType[AutoModerationActionType["Timeout"] = 3] = "Timeout";
|
|
303
|
+
/** prevents a member from using text, voice, or other interactions */ AutoModerationActionType[AutoModerationActionType["BlockMemberInteraction"] = 4] = "BlockMemberInteraction";
|
|
304
|
+
return AutoModerationActionType;
|
|
305
|
+
}({});
|
|
306
|
+
var DiscordScheduledEventRecurrenceRuleFrequency = /*#__PURE__*/ function(DiscordScheduledEventRecurrenceRuleFrequency) {
|
|
307
|
+
DiscordScheduledEventRecurrenceRuleFrequency[DiscordScheduledEventRecurrenceRuleFrequency["Yearly"] = 0] = "Yearly";
|
|
308
|
+
DiscordScheduledEventRecurrenceRuleFrequency[DiscordScheduledEventRecurrenceRuleFrequency["Monthly"] = 1] = "Monthly";
|
|
309
|
+
DiscordScheduledEventRecurrenceRuleFrequency[DiscordScheduledEventRecurrenceRuleFrequency["Weekly"] = 2] = "Weekly";
|
|
310
|
+
DiscordScheduledEventRecurrenceRuleFrequency[DiscordScheduledEventRecurrenceRuleFrequency["Daily"] = 3] = "Daily";
|
|
311
|
+
return DiscordScheduledEventRecurrenceRuleFrequency;
|
|
312
|
+
}({});
|
|
313
|
+
var DiscordScheduledEventRecurrenceRuleWeekday = /*#__PURE__*/ function(DiscordScheduledEventRecurrenceRuleWeekday) {
|
|
314
|
+
DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Monday"] = 0] = "Monday";
|
|
315
|
+
DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Tuesday"] = 1] = "Tuesday";
|
|
316
|
+
DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Wednesday"] = 2] = "Wednesday";
|
|
317
|
+
DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Thursday"] = 3] = "Thursday";
|
|
318
|
+
DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Friday"] = 4] = "Friday";
|
|
319
|
+
DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Saturday"] = 5] = "Saturday";
|
|
320
|
+
DiscordScheduledEventRecurrenceRuleWeekday[DiscordScheduledEventRecurrenceRuleWeekday["Sunday"] = 6] = "Sunday";
|
|
321
|
+
return DiscordScheduledEventRecurrenceRuleWeekday;
|
|
322
|
+
}({});
|
|
323
|
+
var DiscordScheduledEventRecurrenceRuleMonth = /*#__PURE__*/ function(DiscordScheduledEventRecurrenceRuleMonth) {
|
|
324
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["January"] = 1] = "January";
|
|
325
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["February"] = 2] = "February";
|
|
326
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["March"] = 3] = "March";
|
|
327
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["April"] = 4] = "April";
|
|
328
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["May"] = 5] = "May";
|
|
329
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["June"] = 6] = "June";
|
|
330
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["July"] = 7] = "July";
|
|
331
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["August"] = 8] = "August";
|
|
332
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["September"] = 9] = "September";
|
|
333
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["October"] = 10] = "October";
|
|
334
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["November"] = 11] = "November";
|
|
335
|
+
DiscordScheduledEventRecurrenceRuleMonth[DiscordScheduledEventRecurrenceRuleMonth["December"] = 12] = "December";
|
|
336
|
+
return DiscordScheduledEventRecurrenceRuleMonth;
|
|
337
|
+
}({});
|
|
338
|
+
var DiscordInviteType = /*#__PURE__*/ function(DiscordInviteType) {
|
|
339
|
+
DiscordInviteType[DiscordInviteType["Guild"] = 0] = "Guild";
|
|
340
|
+
DiscordInviteType[DiscordInviteType["GroupDm"] = 1] = "GroupDm";
|
|
341
|
+
DiscordInviteType[DiscordInviteType["Friend"] = 2] = "Friend";
|
|
342
|
+
return DiscordInviteType;
|
|
343
|
+
}({});
|
|
344
|
+
var DiscordInteractionEntryPointCommandHandlerType = /*#__PURE__*/ function(DiscordInteractionEntryPointCommandHandlerType) {
|
|
345
|
+
/** The app handles the interaction using an interaction token */ DiscordInteractionEntryPointCommandHandlerType[DiscordInteractionEntryPointCommandHandlerType["AppHandler"] = 1] = "AppHandler";
|
|
346
|
+
/** Discord handles the interaction by launching an Activity and sending a follow-up message without coordinating with the app */ DiscordInteractionEntryPointCommandHandlerType[DiscordInteractionEntryPointCommandHandlerType["DiscordLaunchActivity"] = 2] = "DiscordLaunchActivity";
|
|
347
|
+
return DiscordInteractionEntryPointCommandHandlerType;
|
|
348
|
+
}({});
|
|
349
|
+
var DiscordVoiceChannelEffectAnimationType = /*#__PURE__*/ function(DiscordVoiceChannelEffectAnimationType) {
|
|
350
|
+
/** A fun animation, sent by a Nitro subscriber */ DiscordVoiceChannelEffectAnimationType[DiscordVoiceChannelEffectAnimationType["Premium"] = 0] = "Premium";
|
|
351
|
+
/** The standard animation */ DiscordVoiceChannelEffectAnimationType[DiscordVoiceChannelEffectAnimationType["Basic"] = 1] = "Basic";
|
|
352
|
+
return DiscordVoiceChannelEffectAnimationType;
|
|
353
|
+
}({});
|
|
354
|
+
var DiscordGuildOnboardingPromptType = /*#__PURE__*/ function(DiscordGuildOnboardingPromptType) {
|
|
355
|
+
DiscordGuildOnboardingPromptType[DiscordGuildOnboardingPromptType["MultipleChoice"] = 0] = "MultipleChoice";
|
|
356
|
+
DiscordGuildOnboardingPromptType[DiscordGuildOnboardingPromptType["DropDown"] = 1] = "DropDown";
|
|
357
|
+
return DiscordGuildOnboardingPromptType;
|
|
358
|
+
}({});
|
|
359
|
+
var DiscordGuildOnboardingMode = /*#__PURE__*/ function(DiscordGuildOnboardingMode) {
|
|
360
|
+
/** Counts only Default Channels towards constraints */ DiscordGuildOnboardingMode[DiscordGuildOnboardingMode["OnboardingDefault"] = 0] = "OnboardingDefault";
|
|
361
|
+
/** Counts Default Channels and Questions towards constraints */ DiscordGuildOnboardingMode[DiscordGuildOnboardingMode["OnboardingAdvanced"] = 1] = "OnboardingAdvanced";
|
|
362
|
+
return DiscordGuildOnboardingMode;
|
|
363
|
+
}({});
|
|
364
|
+
var DiscordTeamMemberRole = /*#__PURE__*/ function(DiscordTeamMemberRole) {
|
|
365
|
+
/** Owners are the most permissiable role, and can take destructive, irreversible actions like deleting the team itself. Teams are limited to 1 owner. */ DiscordTeamMemberRole["Owner"] = "owner";
|
|
366
|
+
/** Admins have similar access as owners, except they cannot take destructive actions on the team or team-owned apps. */ DiscordTeamMemberRole["Admin"] = "admin";
|
|
367
|
+
/**
|
|
368
|
+
* Developers can access information about team-owned apps, like the client secret or public key.
|
|
369
|
+
* They can also take limited actions on team-owned apps, like configuring interaction endpoints or resetting the bot token.
|
|
370
|
+
* Members with the Developer role *cannot* manage the team or its members, or take destructive actions on team-owned apps.
|
|
371
|
+
*/ DiscordTeamMemberRole["Developer"] = "developer";
|
|
372
|
+
/** Read-only members can access information about a team and any team-owned apps. Some examples include getting the IDs of applications and exporting payout records. */ DiscordTeamMemberRole["ReadOnly"] = "read_only";
|
|
373
|
+
return DiscordTeamMemberRole;
|
|
374
|
+
}({});
|
|
375
|
+
var DiscordEntitlementType = /*#__PURE__*/ function(DiscordEntitlementType) {
|
|
376
|
+
/** Entitlement was purchased by user */ DiscordEntitlementType[DiscordEntitlementType["Purchase"] = 1] = "Purchase";
|
|
377
|
+
/** Entitlement for Discord Nitro subscription */ DiscordEntitlementType[DiscordEntitlementType["PremiumSubscription"] = 2] = "PremiumSubscription";
|
|
378
|
+
/** Entitlement was gifted by developer */ DiscordEntitlementType[DiscordEntitlementType["DeveloperGift"] = 3] = "DeveloperGift";
|
|
379
|
+
/** Entitlement was purchased by a dev in application test mode */ DiscordEntitlementType[DiscordEntitlementType["TestModePurchase"] = 4] = "TestModePurchase";
|
|
380
|
+
/** Entitlement was granted when the SKU was free */ DiscordEntitlementType[DiscordEntitlementType["FreePurchase"] = 5] = "FreePurchase";
|
|
381
|
+
/** Entitlement was gifted by another user */ DiscordEntitlementType[DiscordEntitlementType["UserGift"] = 6] = "UserGift";
|
|
382
|
+
/** Entitlement was claimed by user for free as a Nitro Subscriber */ DiscordEntitlementType[DiscordEntitlementType["PremiumPurchase"] = 7] = "PremiumPurchase";
|
|
383
|
+
/** Entitlement was purchased as an app subscription */ DiscordEntitlementType[DiscordEntitlementType["ApplicationSubscription"] = 8] = "ApplicationSubscription";
|
|
384
|
+
return DiscordEntitlementType;
|
|
385
|
+
}({});
|
|
386
|
+
var DiscordSkuType = /*#__PURE__*/ function(DiscordSkuType) {
|
|
387
|
+
/** Durable one-time purchase */ DiscordSkuType[DiscordSkuType["Durable"] = 2] = "Durable";
|
|
388
|
+
/** Consumable one-time purchase */ DiscordSkuType[DiscordSkuType["Consumable"] = 3] = "Consumable";
|
|
389
|
+
/** Represents a recurring subscription */ DiscordSkuType[DiscordSkuType["Subscription"] = 5] = "Subscription";
|
|
390
|
+
/** System-generated group for each SUBSCRIPTION SKU created */ DiscordSkuType[DiscordSkuType["SubscriptionGroup"] = 6] = "SubscriptionGroup";
|
|
391
|
+
return DiscordSkuType;
|
|
392
|
+
}({});
|
|
393
|
+
var DiscordSubscriptionStatus = /*#__PURE__*/ function(DiscordSubscriptionStatus) {
|
|
394
|
+
/** Subscription is active and scheduled to renew. */ DiscordSubscriptionStatus[DiscordSubscriptionStatus["Active"] = 0] = "Active";
|
|
395
|
+
/** Subscription is active but will not renew. */ DiscordSubscriptionStatus[DiscordSubscriptionStatus["Ending"] = 1] = "Ending";
|
|
396
|
+
/** Subscription is inactive and not being charged. */ DiscordSubscriptionStatus[DiscordSubscriptionStatus["Inactive"] = 2] = "Inactive";
|
|
397
|
+
return DiscordSubscriptionStatus;
|
|
398
|
+
}({});
|
|
399
|
+
var DiscordInteractionContextType = /*#__PURE__*/ function(DiscordInteractionContextType) {
|
|
400
|
+
/** Interaction can be used within servers */ DiscordInteractionContextType[DiscordInteractionContextType["Guild"] = 0] = "Guild";
|
|
401
|
+
/** Interaction can be used within DMs with the app's bot user */ DiscordInteractionContextType[DiscordInteractionContextType["BotDm"] = 1] = "BotDm";
|
|
402
|
+
/** Interaction can be used within Group DMs and DMs other than the app's bot user */ DiscordInteractionContextType[DiscordInteractionContextType["PrivateChannel"] = 2] = "PrivateChannel";
|
|
403
|
+
return DiscordInteractionContextType;
|
|
404
|
+
}({});
|
|
405
|
+
var DiscordEventWebhookType = /*#__PURE__*/ function(DiscordEventWebhookType) {
|
|
406
|
+
/** PING event sent to verify your Webhook Event URL is active */ DiscordEventWebhookType[DiscordEventWebhookType["Ping"] = 0] = "Ping";
|
|
407
|
+
/** Webhook event (details for event in event body object) */ DiscordEventWebhookType[DiscordEventWebhookType["Event"] = 1] = "Event";
|
|
408
|
+
return DiscordEventWebhookType;
|
|
409
|
+
}({});
|
|
410
|
+
var DiscordWebhookEventType = /*#__PURE__*/ function(DiscordWebhookEventType) {
|
|
411
|
+
/** Sent when an app was authorized by a user to a server or their account */ DiscordWebhookEventType["ApplicationAuthorized"] = "APPLICATION_AUTHORIZED";
|
|
412
|
+
/** Entitlement was created */ DiscordWebhookEventType["EntitlementCreate"] = "ENTITLEMENT_CREATE";
|
|
413
|
+
/** User was added to a Quest (currently unavailable) */ DiscordWebhookEventType["QuestUserEnrollment"] = "QUEST_USER_ENROLLMENT";
|
|
414
|
+
return DiscordWebhookEventType;
|
|
415
|
+
}({});
|
|
416
|
+
|
|
417
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaXNjb3JkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQWN0aXZpdHlUeXBlcyxcbiAgQWxsb3dlZE1lbnRpb25zVHlwZXMsXG4gIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMsXG4gIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLFxuICBBcHBsaWNhdGlvbkZsYWdzLFxuICBBdHRhY2htZW50RmxhZ3MsXG4gIEF1ZGl0TG9nRXZlbnRzLFxuICBCdXR0b25TdHlsZXMsXG4gIENoYW5uZWxGbGFncyxcbiAgQ2hhbm5lbFR5cGVzLFxuICBEZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbkxldmVscyxcbiAgRW1iZWRUeXBlcyxcbiAgRXhwbGljaXRDb250ZW50RmlsdGVyTGV2ZWxzLFxuICBGb3J1bUxheW91dCxcbiAgR2F0ZXdheUV2ZW50TmFtZXMsXG4gIEd1aWxkRmVhdHVyZXMsXG4gIEd1aWxkTnNmd0xldmVsLFxuICBJbnRlZ3JhdGlvbkV4cGlyZUJlaGF2aW9ycyxcbiAgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLFxuICBJbnRlcmFjdGlvblR5cGVzLFxuICBMb2NhbGl6YXRpb24sXG4gIE1lc3NhZ2VBY3Rpdml0eVR5cGVzLFxuICBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG4gIE1lc3NhZ2VGbGFncyxcbiAgTWVzc2FnZVR5cGVzLFxuICBNZmFMZXZlbHMsXG4gIE92ZXJ3cml0ZVR5cGVzLFxuICBQaWNrUGFydGlhbCxcbiAgUHJlbWl1bVRpZXJzLFxuICBQcmVtaXVtVHlwZXMsXG4gIFJvbGVGbGFncyxcbiAgU2NoZWR1bGVkRXZlbnRFbnRpdHlUeXBlLFxuICBTY2hlZHVsZWRFdmVudFByaXZhY3lMZXZlbCxcbiAgU2NoZWR1bGVkRXZlbnRTdGF0dXMsXG4gIFNrdUZsYWdzLFxuICBTb3J0T3JkZXJUeXBlcyxcbiAgU3RpY2tlckZvcm1hdFR5cGVzLFxuICBTdGlja2VyVHlwZXMsXG4gIFN5c3RlbUNoYW5uZWxGbGFncyxcbiAgVGFyZ2V0VHlwZXMsXG4gIFRlYW1NZW1iZXJzaGlwU3RhdGVzLFxuICBUZXh0U3R5bGVzLFxuICBWZXJpZmljYXRpb25MZXZlbHMsXG4gIFZpZGVvUXVhbGl0eU1vZGVzLFxuICBXZWJob29rVHlwZXMsXG59IGZyb20gJy4vc2hhcmVkLmpzJ1xuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjdXNlci1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFVzZXIge1xuICAvKiogVGhlIHVzZXIncyB1c2VybmFtZSwgbm90IHVuaXF1ZSBhY3Jvc3MgdGhlIHBsYXRmb3JtICovXG4gIHVzZXJuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3MgZGlzcGxheSBuYW1lLCBpZiBpdCBpcyBzZXQuIEZvciBib3RzLCB0aGlzIGlzIHRoZSBhcHBsaWNhdGlvbiBuYW1lICovXG4gIGdsb2JhbF9uYW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgdXNlcidzIGNob3NlbiBsYW5ndWFnZSBvcHRpb24gKi9cbiAgbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgZmxhZ3Mgb24gYSB1c2VyJ3MgYWNjb3VudCAqL1xuICBmbGFncz86IG51bWJlclxuICAvKiogVGhlIHR5cGUgb2YgTml0cm8gc3Vic2NyaXB0aW9uIG9uIGEgdXNlcidzIGFjY291bnQgKi9cbiAgcHJlbWl1bV90eXBlPzogUHJlbWl1bVR5cGVzXG4gIC8qKiBUaGUgcHVibGljIGZsYWdzIG9uIGEgdXNlcidzIGFjY291bnQgKi9cbiAgcHVibGljX2ZsYWdzPzogbnVtYmVyXG4gIC8qKiB0aGUgdXNlcidzIGJhbm5lciBjb2xvciBlbmNvZGVkIGFzIGFuIGludGVnZXIgcmVwcmVzZW50YXRpb24gb2YgaGV4YWRlY2ltYWwgY29sb3IgY29kZSAqL1xuICBhY2NlbnRfY29sb3I/OiBudW1iZXJcbiAgLyoqIFRoZSB1c2VyJ3MgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVzZXIncyBkaXNjb3JkLXRhZyAqL1xuICBkaXNjcmltaW5hdG9yOiBzdHJpbmdcbiAgLyoqIFRoZSB1c2VyJ3MgYXZhdGFyIGhhc2ggKi9cbiAgYXZhdGFyOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGJlbG9uZ3MgdG8gYW4gT0F1dGgyIGFwcGxpY2F0aW9uICovXG4gIGJvdD86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgYW4gT2ZmaWNpYWwgRGlzY29yZCBTeXN0ZW0gdXNlciAocGFydCBvZiB0aGUgdXJnZW50IG1lc3NhZ2Ugc3lzdGVtKSAqL1xuICBzeXN0ZW0/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyB0d28gZmFjdG9yIGVuYWJsZWQgb24gdGhlaXIgYWNjb3VudCAqL1xuICBtZmFfZW5hYmxlZD86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIGVtYWlsIG9uIHRoaXMgYWNjb3VudCBoYXMgYmVlbiB2ZXJpZmllZCAqL1xuICB2ZXJpZmllZD86IGJvb2xlYW5cbiAgLyoqIFRoZSB1c2VyJ3MgZW1haWwgKi9cbiAgZW1haWw/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgdXNlcidzIGJhbm5lciwgb3IgbnVsbCBpZiB1bnNldCAqL1xuICBiYW5uZXI/OiBzdHJpbmdcbiAgLyoqIGRhdGEgZm9yIHRoZSB1c2VyJ3MgYXZhdGFyIGRlY29yYXRpb24gKi9cbiAgYXZhdGFyX2RlY29yYXRpb25fZGF0YT86IERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNzaGFyZWQtcmVzb3VyY2VzLW9hdXRoMi1zY29wZXMgKi9cbmV4cG9ydCBlbnVtIE9BdXRoMlNjb3BlIHtcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byBmZXRjaCBkYXRhIGZyb20gYSB1c2VyJ3MgXCJOb3cgUGxheWluZy9SZWNlbnRseSBQbGF5ZWRcIiBsaXN0XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgaXMgbm90IGN1cnJlbnRseSBhdmFpbGFibGUgZm9yIGFwcHNcbiAgICovXG4gIEFjdGl2aXRpZXNSZWFkID0gJ2FjdGl2aXRpZXMucmVhZCcsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBkYXRlIGEgdXNlcidzIGFjdGl2aXR5XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgbm90IGN1cnJlbnRseSBhdmFpbGFibGUgZm9yIGFwcHMuXG4gICAqL1xuICBBY3Rpdml0aWVzV3JpdGUgPSAnYWN0aXZpdGllcy53cml0ZScsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gcmVhZCBidWlsZCBkYXRhIGZvciBhIHVzZXIncyBhcHBsaWNhdGlvbnMgKi9cbiAgQXBwbGljYXRpb25zQnVpbGRzUmVhZCA9ICdhcHBsaWNhdGlvbnMuYnVpbGRzLnJlYWQnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHVwbG9hZC91cGRhdGUgYnVpbGRzIGZvciBhIHVzZXIncyBhcHBsaWNhdGlvbnNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIEFwcGxpY2F0aW9uc0J1aWxkc1VwbG9hZCA9ICdhcHBsaWNhdGlvbnMuYnVpbGRzLnVwbG9hZCcsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gYWRkIGNvbW1hbmRzIHRvIGEgZ3VpbGQgLSBpbmNsdWRlZCBieSBkZWZhdWx0IHdpdGggdGhlIGBib3RgIHNjb3BlICovXG4gIEFwcGxpY2F0aW9uc0NvbW1hbmRzID0gJ2FwcGxpY2F0aW9ucy5jb21tYW5kcycsXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBkYXRlIGl0cyBBcHBsaWNhdGlvbiBDb21tYW5kcyB2aWEgdGhpcyBiZWFyZXIgdG9rZW5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSBjYW4gb25seSBiZSB1c2VkIHdoZW4gdXNpbmcgYSBbQ2xpZW50IENyZWRlbnRpYWwgR3JhbnRdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjY2xpZW50LWNyZWRlbnRpYWxzLWdyYW50KVxuICAgKi9cbiAgQXBwbGljYXRpb25zQ29tbWFuZHNVcGRhdGUgPSAnYXBwbGljYXRpb25zLmNvbW1hbmRzLnVwZGF0ZScsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBkYXRlIHBlcm1pc3Npb25zIGZvciBpdHMgY29tbWFuZHMgaW4gYSBndWlsZCBhIHVzZXIgaGFzIHBlcm1pc3Npb25zIHRvICovXG4gIEFwcGxpY2F0aW9uQ29tbWFuZHNQZXJtaXNzaW9uc1VwZGF0ZSA9ICdhcHBsaWNhdGlvbnMuY29tbWFuZHMucGVybWlzc2lvbnMudXBkYXRlJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byByZWFkIGVudGl0bGVtZW50cyBmb3IgYSB1c2VyJ3MgYXBwbGljYXRpb25zICovXG4gIEFwcGxpY2F0aW9uc0VudGl0bGVtZW50cyA9ICdhcHBsaWNhdGlvbnMuZW50aXRsZW1lbnRzJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byByZWFkIGFuZCB1cGRhdGUgc3RvcmUgZGF0YSAoU0tVcywgc3RvcmUgbGlzdGluZ3MsIGFjaGlldmVtZW50cywgZXRjLikgZm9yIGEgdXNlcidzIGFwcGxpY2F0aW9ucyAqL1xuICBBcHBsaWNhdGlvbnNTdG9yZVVwZGF0ZSA9ICdhcHBsaWNhdGlvbnMuc3RvcmUudXBkYXRlJyxcbiAgLyoqIEZvciBvYXV0aDIgYm90cywgdGhpcyBwdXRzIHRoZSBib3QgaW4gdGhlIHVzZXIncyBzZWxlY3RlZCBndWlsZCBieSBkZWZhdWx0ICovXG4gIEJvdCA9ICdib3QnLFxuICAvKiogQWxsb3dzIHJlcXVlc3RzIHRvIFsvdXNlcnMvQG1lL2Nvbm5lY3Rpb25zXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtdXNlci1jb25uZWN0aW9ucykgKi9cbiAgQ29ubmVjdGlvbnMgPSAnY29ubmVjdGlvbnMnLFxuICAvKipcbiAgICogQWxsb3dzIHlvdXIgYXBwIHRvIHNlZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdXNlcidzIERNcyBhbmQgZ3JvdXAgRE1zXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgc2NvcGUgcmVxdWlyZXMgRGlzY29yZCBhcHByb3ZhbCB0byBiZSB1c2VkXG4gICAqL1xuICBETUNoYW5uZWxzUmVhZCA9ICdkbV9jaGFubmVscy5yZWFkJyxcbiAgLyoqIEFkZHMgdGhlIGBlbWFpbGAgZmlsZWQgdG8gWy91c2Vycy9AbWVdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXIpICovXG4gIEVtYWlsID0gJ2VtYWlsJyxcbiAgLyoqIEFsbG93cyB5b3VyIGFwcCB0byBqb2luIHVzZXJzIHRvIGEgZ3JvdXAgZG0gKi9cbiAgR3JvdXBETUpvaW5zID0gJ2dkbS5qb2luJyxcbiAgLyoqIEFsbG93cyByZXF1ZXN0cyB0byBbL3VzZXJzL0BtZS9ndWlsZHNdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXItZ3VpbGRzKSAqL1xuICBHdWlsZHMgPSAnZ3VpbGRzJyxcbiAgLyoqIEFsbG93cyByZXF1ZXN0cyB0byBbL2d1aWxkcy97Z3VpbGQuaWR9L21lbWJlcnMve3VzZXIuaWR9XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjYWRkLWd1aWxkLW1lbWJlcikgKi9cbiAgR3VpbGRzSm9pbiA9ICdndWlsZHMuam9pbicsXG4gIC8qKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy91c2Vycy9AbWUvZ3VpbGRzL3tndWlsZC5pZH0vbWVtYmVyXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNnZXQtY3VycmVudC11c2VyLWd1aWxkLW1lbWJlcikgKi9cbiAgR3VpbGRzTWVtYmVyc1JlYWQgPSAnZ3VpbGRzLm1lbWJlcnMucmVhZCcsXG4gIC8qKlxuICAgKiBBbGxvd3MgcmVxdWVzdHMgdG8gWy91c2Vycy9AbWVdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXIpXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoZSByZXR1cm4gb2JqZWN0IGZyb20gWy91c2Vycy9AbWVdKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2dldC1jdXJyZW50LXVzZXIpXG4gICAqIGRvZXMgTk9UIGNvbnRhaW4gdGhlIGBlbWFpbGAgZmllbGQgdW5sZXNzIHRoZSBzY29wZSBgZW1haWxgIGlzIGFsc28gdXNlZFxuICAgKi9cbiAgSWRlbnRpZnkgPSAnaWRlbnRpZnknLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYXBpIGFjY2VzcywgdGhpcyBhbGxvd3MgeW91IHRvIHJlYWQgbWVzc2FnZXMgZnJvbSBhbGwgY2xpZW50IGNoYW5uZWxzXG4gICAqIChvdGhlcndpc2UgcmVzdHJpY3RlZCB0byBjaGFubmVscy9ndWlsZHMgeW91ciBhcHAgY3JlYXRlcylcbiAgICovXG4gIE1lc3NhZ2VzUmVhZCA9ICdtZXNzYWdlcy5yZWFkJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byBrbm93IGEgdXNlcidzIGZyaWVuZHMgYW5kIGltcGxpY2l0IHJlbGF0aW9uc2hpcHNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJlbGF0aW9uc2hpcHNSZWFkID0gJ3JlbGF0aW9uc2hpcHMucmVhZCcsXG4gIC8qKiBBbGxvd3MgeW91ciBhcHAgdG8gdXBkYXRlIGEgdXNlcidzIGNvbm5lY3Rpb24gYW5kIG1ldGFkYXRhIGZvciB0aGUgYXBwICovXG4gIFJvbGVDb25uZWN0aW9uc1dyaXRlID0gJ3JvbGVfY29ubmVjdGlvbnMud3JpdGUnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gY29udHJvbCBhIHVzZXIncyBsb2NhbCBEaXNjb3JkIGNsaWVudFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHNjb3BlIHJlcXVpcmVzIERpc2NvcmQgYXBwcm92YWwgdG8gYmUgdXNlZFxuICAgKi9cbiAgUlBDID0gJ3JwYycsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byB1cGRhdGUgYSB1c2VyJ3MgYWN0aXZpdHlcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ0FjdGl2aXRpZXNXcml0ZSA9ICdycGMuYWN0aXZpdGllcy53cml0ZScsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhcGkgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gcmVjZWl2ZSBub3RpZmljYXRpb25zIHB1c2hlZCBvdXQgdG8gdGhlIHVzZXJcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ05vdGlmaWNhdGlvbnNSZWFkID0gJ3JwYy5ub3RpZmljYXRpb25zLnJlYWQnLFxuICAvKipcbiAgICogRm9yIGxvY2FsIHJwYyBzZXJ2ZXIgYWNjZXNzLCB0aGlzIGFsbG93cyB5b3UgdG8gcmVhZCBhIHVzZXIncyB2b2ljZSBzZXR0aW5ncyBhbmQgbGlzdGVuIGZvciB2b2ljZSBldmVudHNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ1ZvaWNlUmVhZCA9ICdycGMudm9pY2UucmVhZCcsXG4gIC8qKlxuICAgKiBGb3IgbG9jYWwgcnBjIHNlcnZlciBhY2Nlc3MsIHRoaXMgYWxsb3dzIHlvdSB0byB1cGRhdGUgYSB1c2VyJ3Mgdm9pY2Ugc2V0dGluZ3NcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFJQQ1ZvaWNlV3JpdGUgPSAncnBjLnZvaWNlLndyaXRlJyxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3VyIGFwcCB0byBjb25uZWN0IHRvIHZvaWNlIG9uIHVzZXIncyBiZWhhbGYgYW5kIHNlZSBhbGwgdGhlIHZvaWNlIG1lbWJlcnNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBzY29wZSByZXF1aXJlcyBEaXNjb3JkIGFwcHJvdmFsIHRvIGJlIHVzZWRcbiAgICovXG4gIFZvaWNlID0gJ3ZvaWNlJyxcbiAgLyoqIEdlbmVyYXRlIGEgd2ViaG9vayB0aGF0IGlzIHJldHVybmVkIGluIHRoZSBvYXV0aCB0b2tlbiByZXNwb25zZSBmb3IgYXV0aG9yaXphdGlvbiBjb2RlIGdyYW50cyAqL1xuICBXZWJob29rSW5jb21pbmcgPSAnd2ViaG9vay5pbmNvbWluZycsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjaW50ZWdyYXRpb24tb2JqZWN0LWludGVncmF0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZWdyYXRpb24ge1xuICAvKiogSW50ZWdyYXRpb24gSWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSW50ZWdyYXRpb24gbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIEludGVncmF0aW9uIHR5cGUgKHR3aXRjaCwgeW91dHViZSwgZGlzY29yZCwgb3IgZ3VpbGRfc3Vic2NyaXB0aW9uKS4gKi9cbiAgdHlwZTogJ3R3aXRjaCcgfCAneW91dHViZScgfCAnZGlzY29yZCdcbiAgLyoqIElzIHRoaXMgaW50ZWdyYXRpb24gZW5hYmxlZCAqL1xuICBlbmFibGVkPzogYm9vbGVhblxuICAvKiogSXMgdGhpcyBpbnRlZ3JhdGlvbiBzeW5jaW5nICovXG4gIHN5bmNpbmc/OiBib29sZWFuXG4gIC8qKiBSb2xlIElkIHRoYXQgdGhpcyBpbnRlZ3JhdGlvbiB1c2VzIGZvciBcInN1YnNjcmliZXJzXCIgKi9cbiAgcm9sZV9pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciBlbW90aWNvbnMgc2hvdWxkIGJlIHN5bmNlZCBmb3IgdGhpcyBpbnRlZ3JhdGlvbiAodHdpdGNoIG9ubHkgY3VycmVudGx5KSAqL1xuICBlbmFibGVfZW1vdGljb25zPzogYm9vbGVhblxuICAvKiogVGhlIGJlaGF2aW9yIG9mIGV4cGlyaW5nIHN1YnNjcmliZXJzICovXG4gIGV4cGlyZV9iZWhhdmlvcj86IEludGVncmF0aW9uRXhwaXJlQmVoYXZpb3JzXG4gIC8qKiBUaGUgZ3JhY2UgcGVyaW9kIChpbiBkYXlzKSBiZWZvcmUgZXhwaXJpbmcgc3Vic2NyaWJlcnMgKi9cbiAgZXhwaXJlX2dyYWNlX3BlcmlvZD86IG51bWJlclxuICAvKiogV2hlbiB0aGlzIGludGVncmF0aW9uIHdhcyBsYXN0IHN5bmNlZCAqL1xuICBzeW5jZWRfYXQ/OiBzdHJpbmdcbiAgLyoqIEhvdyBtYW55IHN1YnNjcmliZXJzIHRoaXMgaW50ZWdyYXRpb24gaGFzICovXG4gIHN1YnNjcmliZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIEhhcyB0aGlzIGludGVncmF0aW9uIGJlZW4gcmV2b2tlZCAqL1xuICByZXZva2VkPzogYm9vbGVhblxuICAvKiogVXNlciBmb3IgdGhpcyBpbnRlZ3JhdGlvbiAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIEludGVncmF0aW9uIGFjY291bnQgaW5mb3JtYXRpb24gKi9cbiAgYWNjb3VudDogRGlzY29yZEludGVncmF0aW9uQWNjb3VudFxuICAvKiogVGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gZm9yIGRpc2NvcmQgaW50ZWdyYXRpb25zICovXG4gIGFwcGxpY2F0aW9uPzogRGlzY29yZEludGVncmF0aW9uQXBwbGljYXRpb25cbiAgLyoqIHRoZSBzY29wZXMgdGhlIGFwcGxpY2F0aW9uIGhhcyBiZWVuIGF1dGhvcml6ZWQgZm9yICovXG4gIHNjb3BlczogT0F1dGgyU2NvcGVbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2ludGVncmF0aW9uLWFjY291bnQtb2JqZWN0LWludGVncmF0aW9uLWFjY291bnQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlZ3JhdGlvbkFjY291bnQge1xuICAvKiogSWQgb2YgdGhlIGFjY291bnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogTmFtZSBvZiB0aGUgYWNjb3VudCAqL1xuICBuYW1lOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNpbnRlZ3JhdGlvbi1hcHBsaWNhdGlvbi1vYmplY3QtaW50ZWdyYXRpb24tYXBwbGljYXRpb24tc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlZ3JhdGlvbkFwcGxpY2F0aW9uIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgYXBwICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBhcHAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0aGUgaWNvbiBoYXNoIG9mIHRoZSBhcHAgKi9cbiAgaWNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBhcHAgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICAvKiogVGhlIGJvdCBhc3NvY2lhdGVkIHdpdGggdGhpcyBhcHBsaWNhdGlvbiAqL1xuICBib3Q/OiBEaXNjb3JkVXNlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXktZXZlbnRzI2ludGVncmF0aW9uLXVwZGF0ZS1pbnRlZ3JhdGlvbi11cGRhdGUtZXZlbnQtYWRkaXRpb25hbC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlIGV4dGVuZHMgRGlzY29yZEludGVncmF0aW9uIHtcbiAgLyoqIElkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheS1ldmVudHMjaW50ZWdyYXRpb24tZGVsZXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlZ3JhdGlvbkRlbGV0ZSB7XG4gIC8qKiBJbnRlZ3JhdGlvbiBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogSWQgb2YgdGhlIGJvdC9PQXV0aDIgYXBwbGljYXRpb24gZm9yIHRoaXMgZGlzY29yZCBpbnRlZ3JhdGlvbiAqL1xuICBhcHBsaWNhdGlvbl9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjZ3VpbGQtaW50ZWdyYXRpb25zLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRJbnRlZ3JhdGlvbnNVcGRhdGUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIHdob3NlIGludGVncmF0aW9ucyB3ZXJlIHVwZGF0ZWQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjdHlwaW5nLXN0YXJ0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUeXBpbmdTdGFydCB7XG4gIC8qKiBVbml4IHRpbWUgKGluIHNlY29uZHMpIG9mIHdoZW4gdGhlIHVzZXIgc3RhcnRlZCB0eXBpbmcgKi9cbiAgdGltZXN0YW1wOiBudW1iZXJcbiAgLyoqIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgdXNlciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBtZW1iZXIgd2hvIHN0YXJ0ZWQgdHlwaW5nIGlmIHRoaXMgaGFwcGVuZWQgaW4gYSBndWlsZCAqL1xuICBtZW1iZXI/OiBEaXNjb3JkTWVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtbWVtYmVyLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVtYmVyIHtcbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgZGVhZmVuZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgZGVhZj86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgbXV0ZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgbXV0ZT86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBwZW5kaW5nPzogYm9vbGVhblxuICAvKiogVGhlIHVzZXIgdGhpcyBndWlsZCBtZW1iZXIgcmVwcmVzZW50cyAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoaXMgdXNlcidzIGd1aWxkIG5pY2tuYW1lICovXG4gIG5pY2s/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgbWVtYmVyJ3MgY3VzdG9tIGF2YXRhciBmb3IgdGhpcyBzZXJ2ZXIuICovXG4gIGF2YXRhcj86IHN0cmluZ1xuICAvKiogVGhlIG1lbWJlcidzIGd1aWxkIGJhbm5lciAqL1xuICBiYW5uZXI/OiBzdHJpbmdcbiAgLyoqIEFycmF5IG9mIHJvbGUgb2JqZWN0IGlkcyAqL1xuICByb2xlczogc3RyaW5nW11cbiAgLyoqIFdoZW4gdGhlIHVzZXIgam9pbmVkIHRoZSBndWlsZCAqL1xuICBqb2luZWRfYXQ6IHN0cmluZ1xuICAvKiogV2hlbiB0aGUgdXNlciBzdGFydGVkIGJvb3N0aW5nIHRoZSBndWlsZCAqL1xuICBwcmVtaXVtX3NpbmNlPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHBlcm1pc3Npb25zIHRoaXMgbWVtYmVyIGhhcyBpbiB0aGUgZ3VpbGQuIE9ubHkgcHJlc2VudCBvbiBpbnRlcmFjdGlvbiBldmVudHMgYW5kIE9BdXRoMiBjdXJyZW50IG1lbWJlciBmZXRjaC4gKi9cbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdcbiAgLyoqIHdoZW4gdGhlIHVzZXIncyB0aW1lb3V0IHdpbGwgZXhwaXJlIGFuZCB0aGUgdXNlciB3aWxsIGJlIGFibGUgdG8gY29tbXVuaWNhdGUgaW4gdGhlIGd1aWxkIGFnYWluIChzZXQgbnVsbCB0byByZW1vdmUgdGltZW91dCksIG51bGwgb3IgYSB0aW1lIGluIHRoZSBwYXN0IGlmIHRoZSB1c2VyIGlzIG5vdCB0aW1lZCBvdXQgKi9cbiAgY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbD86IHN0cmluZyB8IG51bGxcbiAgLyoqIEd1aWxkIG1lbWJlciBmbGFncyAqL1xuICBmbGFnczogbnVtYmVyXG4gIC8qKiBkYXRhIGZvciB0aGUgbWVtYmVyJ3MgZ3VpbGQgYXZhdGFyIGRlY29yYXRpb24gKi9cbiAgYXZhdGFyX2RlY29yYXRpb25fZGF0YT86IERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2F2YXRhci1kZWNvcmF0aW9uLWRhdGEtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSB7XG4gIC8qKiB0aGUgYXZhdGFyIGRlY29yYXRpb24gaGFzaCAqL1xuICBhc3NldDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgYXZhdGFyIGRlY29yYXRpb24ncyBTS1UgKi9cbiAgc2t1X2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNhcHBsaWNhdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uIHtcbiAgLyoqIFRoZSBuYW1lIG9mIHRoZSBhcHAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGFwcCAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBBbiBhcnJheSBvZiBycGMgb3JpZ2luIHVybHMsIGlmIHJwYyBpcyBlbmFibGVkICovXG4gIHJwY19vcmlnaW5zPzogc3RyaW5nW11cbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHRlcm1zIG9mIHNlcnZpY2UgKi9cbiAgdGVybXNfb2Zfc2VydmljZV91cmw/OiBzdHJpbmdcbiAgLyoqIFRoZSB1cmwgb2YgdGhlIGFwcCdzIHByaXZhY3kgcG9saWN5ICovXG4gIHByaXZhY3lfcG9saWN5X3VybD86IHN0cmluZ1xuICAvKiogVGhlIGhleCBlbmNvZGVkIGtleSBmb3IgdmVyaWZpY2F0aW9uIGluIGludGVyYWN0aW9ucyBhbmQgdGhlIEdhbWVTREsncyBHZXRUaWNrZXQgKi9cbiAgdmVyaWZ5X2tleTogc3RyaW5nXG4gIC8qKiBJZiB0aGlzIGFwcGxpY2F0aW9uIGlzIGEgZ2FtZSBzb2xkIG9uIERpc2NvcmQsIHRoaXMgZmllbGQgd2lsbCBiZSB0aGUgaWQgb2YgdGhlIFwiR2FtZSBTS1VcIiB0aGF0IGlzIGNyZWF0ZWQsIGlmIGV4aXN0cyAqL1xuICBwcmltYXJ5X3NrdV9pZD86IHN0cmluZ1xuICAvKiogSWYgdGhpcyBhcHBsaWNhdGlvbiBpcyBhIGdhbWUgc29sZCBvbiBEaXNjb3JkLCB0aGlzIGZpZWxkIHdpbGwgYmUgdGhlIFVSTCBzbHVnIHRoYXQgbGlua3MgdG8gdGhlIHN0b3JlIHBhZ2UgKi9cbiAgc2x1Zz86IHN0cmluZ1xuICAvKiogVGhlIGFwcGxpY2F0aW9uJ3MgcHVibGljIGZsYWdzICovXG4gIGZsYWdzPzogQXBwbGljYXRpb25GbGFnc1xuICAvKiogVGhlIGlkIG9mIHRoZSBhcHAgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGljb24gaGFzaCBvZiB0aGUgYXBwICovXG4gIGljb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZW4gZmFsc2Ugb25seSBhcHAgb3duZXIgY2FuIGpvaW4gdGhlIGFwcCdzIGJvdCB0byBndWlsZHMgKi9cbiAgYm90X3B1YmxpYzogYm9vbGVhblxuICAvKiogV2hlbiB0cnVlIHRoZSBhcHAncyBib3Qgd2lsbCBvbmx5IGpvaW4gdXBvbiBjb21wbGV0aW9uIG9mIHRoZSBmdWxsIG9hdXRoMiBjb2RlIGdyYW50IGZsb3cgKi9cbiAgYm90X3JlcXVpcmVfY29kZV9ncmFudDogYm9vbGVhblxuICAvKiogUGFydGlhbCB1c2VyIG9iamVjdCBjb250YWluaW5nIGluZm8gb24gdGhlIG93bmVyIG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBvd25lcj86IFBhcnRpYWw8RGlzY29yZFVzZXI+XG4gIC8qKiBJZiB0aGUgYXBwbGljYXRpb24gYmVsb25ncyB0byBhIHRlYW0sIHRoaXMgd2lsbCBiZSBhIGxpc3Qgb2YgdGhlIG1lbWJlcnMgb2YgdGhhdCB0ZWFtICovXG4gIHRlYW06IERpc2NvcmRUZWFtIHwgbnVsbFxuICAvKiogR3VpbGQgYXNzb2NpYXRlZCB3aXRoIHRoZSBhcHAuIEZvciBleGFtcGxlLCBhIGRldmVsb3BlciBzdXBwb3J0IHNlcnZlci4gKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIEEgcGFydGlhbCBvYmplY3Qgb2YgdGhlIGFzc29jaWF0ZWQgZ3VpbGQgKi9cbiAgZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIElmIHRoaXMgYXBwbGljYXRpb24gaXMgYSBnYW1lIHNvbGQgb24gRGlzY29yZCwgdGhpcyBmaWVsZCB3aWxsIGJlIHRoZSBoYXNoIG9mIHRoZSBpbWFnZSBvbiBzdG9yZSBlbWJlZHMgKi9cbiAgY292ZXJfaW1hZ2U/OiBzdHJpbmdcbiAgLyoqIHVwIHRvIDUgdGFncyBkZXNjcmliaW5nIHRoZSBjb250ZW50IGFuZCBmdW5jdGlvbmFsaXR5IG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICB0YWdzPzogc3RyaW5nW11cbiAgLyoqIHNldHRpbmdzIGZvciB0aGUgYXBwbGljYXRpb24ncyBkZWZhdWx0IGluLWFwcCBhdXRob3JpemF0aW9uIGxpbmssIGlmIGVuYWJsZWQgKi9cbiAgaW5zdGFsbF9wYXJhbXM/OiBEaXNjb3JkSW5zdGFsbFBhcmFtc1xuICAvKiogRGVmYXVsdCBzY29wZXMgYW5kIHBlcm1pc3Npb25zIGZvciBlYWNoIHN1cHBvcnRlZCBpbnN0YWxsYXRpb24gY29udGV4dC4gKi9cbiAgaW50ZWdyYXRpb25fdHlwZXNfY29uZmlnPzogUGFydGlhbDxSZWNvcmQ8YCR7RGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlfWAsIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZUNvbmZpZ3VyYXRpb24+PlxuICAvKiogdGhlIGFwcGxpY2F0aW9uJ3MgZGVmYXVsdCBjdXN0b20gYXV0aG9yaXphdGlvbiBsaW5rLCBpZiBlbmFibGVkICovXG4gIGN1c3RvbV9pbnN0YWxsX3VybD86IHN0cmluZ1xuICAvKiogdGhlIGFwcGxpY2F0aW9uJ3Mgcm9sZSBjb25uZWN0aW9uIHZlcmlmaWNhdGlvbiBlbnRyeSBwb2ludCwgd2hpY2ggd2hlbiBjb25maWd1cmVkIHdpbGwgcmVuZGVyIHRoZSBhcHAgYXMgYSB2ZXJpZmljYXRpb24gbWV0aG9kIGluIHRoZSBndWlsZCByb2xlIHZlcmlmaWNhdGlvbiBjb25maWd1cmF0aW9uICovXG4gIHJvbGVfY29ubmVjdGlvbnNfdmVyaWZpY2F0aW9uX3VybD86IHN0cmluZyB8IG51bGxcbiAgLyoqIEFuIGFwcHJveGltYXRlIGNvdW50IG9mIHRoZSBhcHAncyBndWlsZCBtZW1iZXJzaGlwLiAqL1xuICBhcHByb3hpbWF0ZV9ndWlsZF9jb3VudD86IG51bWJlclxuICAvKiogQXBwcm94aW1hdGUgY291bnQgb2YgdXNlcnMgdGhhdCBoYXZlIGluc3RhbGxlZCB0aGUgYXBwLiAqL1xuICBhcHByb3hpbWF0ZV91c2VyX2luc3RhbGxfY291bnQ/OiBudW1iZXJcbiAgLyoqIFBhcnRpYWwgdXNlciBvYmplY3QgZm9yIHRoZSBib3QgdXNlciBhc3NvY2lhdGVkIHdpdGggdGhlIGFwcCAqL1xuICBib3Q/OiBQYXJ0aWFsPERpc2NvcmRVc2VyPlxuICAvKiogQXJyYXkgb2YgcmVkaXJlY3QgVVJJcyBmb3IgdGhlIGFwcCAqL1xuICByZWRpcmVjdF91cmlzPzogc3RyaW5nW11cbiAgLyoqIEludGVyYWN0aW9ucyBlbmRwb2ludCBVUkwgZm9yIHRoZSBhcHAgKi9cbiAgaW50ZXJhY3Rpb25zX2VuZHBvaW50X3VybD86IHN0cmluZyB8IG51bGxcbiAgLyoqIEV2ZW50IHdlYmhvb2sgVVJMIGZvciB0aGUgYXBwIHRvIHJlY2VpdmUgd2ViaG9vayBldmVudHMgKi9cbiAgZXZlbnRfd2ViaG9va3NfdXJsPzogc3RyaW5nIHwgbnVsbFxuICAvKiogSWYgd2ViaG9vayBldmVudHMgYXJlIGVuYWJsZWQgZm9yIHRoZSBhcHAuIDEgdG8gZGlzYWJsZSwgYW5kIDIgdG8gZW5hYmxlLiAqL1xuICBldmVudF93ZWJob29rc19zdGF0dXM6IERpc2NvcmRBcHBsaWNhdGlvbkV2ZW50V2ViaG9va1N0YXR1c1xuICAvKiogTGlzdCBvZiBXZWJob29rIGV2ZW50IHR5cGVzIHRoZSBhcHAgc3Vic2NyaWJlcyB0byAqL1xuICBldmVudF93ZWJob29rc190eXBlcz86IERpc2NvcmRXZWJob29rRXZlbnRUeXBlW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNhcHBsaWNhdGlvbi1vYmplY3QtYXBwbGljYXRpb24taW50ZWdyYXRpb24tdHlwZS1jb25maWd1cmF0aW9uLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGVDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEluc3RhbGwgcGFyYW1zIGZvciBlYWNoIGluc3RhbGxhdGlvbiBjb250ZXh0J3MgZGVmYXVsdCBpbi1hcHAgYXV0aG9yaXphdGlvbiBsaW5rXG4gICAqXG4gICAqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hcHBsaWNhdGlvbiNpbnN0YWxsLXBhcmFtcy1vYmplY3QtaW5zdGFsbC1wYXJhbXMtc3RydWN0dXJlXG4gICAqL1xuICBvYXV0aDJfaW5zdGFsbF9wYXJhbXM/OiBEaXNjb3JkSW5zdGFsbFBhcmFtc1xufVxuXG5leHBvcnQgZW51bSBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUge1xuICAvKiogQXBwIGlzIGluc3RhbGxhYmxlIHRvIHNlcnZlcnMgKi9cbiAgR3VpbGRJbnN0YWxsID0gMCxcbiAgLyoqIEFwcCBpcyBpbnN0YWxsYWJsZSB0byB1c2VycyAqL1xuICBVc2VySW5zdGFsbCA9IDEsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXBwbGljYXRpb24jYXBwbGljYXRpb24tb2JqZWN0LWFwcGxpY2F0aW9uLWV2ZW50LXdlYmhvb2stc3RhdHVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkQXBwbGljYXRpb25FdmVudFdlYmhvb2tTdGF0dXMge1xuICAvKiogV2ViaG9vayBldmVudHMgYXJlIGRpc2FibGVkIGJ5IGRldmVsb3BlciAqL1xuICBEaXNhYmxlZCA9IDEsXG4gIC8qKiBXZWJob29rIGV2ZW50cyBhcmUgZW5hYmxlZCBieSBkZXZlbG9wZXIgKi9cbiAgRW5hYmxlZCA9IDIsXG4gIC8qKiBXZWJob29rIGV2ZW50cyBhcmUgZGlzYWJsZWQgYnkgRGlzY29yZCwgdXN1YWxseSBkdWUgdG8gaW5hY3Rpdml0eSAqL1xuICBEaXNhYmxlZEJ5RGlzY29yZCA9IDMsXG59XG5cbmV4cG9ydCB0eXBlIERpc2NvcmRUb2tlbkV4Y2hhbmdlID0gRGlzY29yZFRva2VuRXhjaGFuZ2VBdXRob3JpemF0aW9uQ29kZSB8IERpc2NvcmRUb2tlbkV4Y2hhbmdlUmVmcmVzaFRva2VuIHwgRGlzY29yZFRva2VuRXhjaGFuZ2VDbGllbnRDcmVkZW50aWFsc1xuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlbkV4Y2hhbmdlQXV0aG9yaXphdGlvbkNvZGUge1xuICBncmFudF90eXBlOiAnYXV0aG9yaXphdGlvbl9jb2RlJ1xuICAvKiogVGhlIGNvZGUgZm9yIHRoZSB0b2tlbiBleGNoYW5nZSAqL1xuICBjb2RlOiBzdHJpbmdcbiAgLyoqIFRoZSByZWRpcmVjdF91cmkgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYXV0aG9yaXphdGlvbiAqL1xuICByZWRpcmVjdF91cmk6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNjbGllbnQtY3JlZGVudGlhbHMtZ3JhbnQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRva2VuRXhjaGFuZ2VSZWZyZXNoVG9rZW4ge1xuICBncmFudF90eXBlOiAncmVmcmVzaF90b2tlbidcbiAgLyoqIHRoZSB1c2VyJ3MgcmVmcmVzaCB0b2tlbiAqL1xuICByZWZyZXNoX3Rva2VuOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjY2xpZW50LWNyZWRlbnRpYWxzLWdyYW50ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlbkV4Y2hhbmdlQ2xpZW50Q3JlZGVudGlhbHMge1xuICBncmFudF90eXBlOiAnY2xpZW50X2NyZWRlbnRpYWxzJ1xuICAvKiogVGhlIHNjb3BlKHMpIGZvciB0aGUgYWNjZXNzIHRva2VuICovXG4gIHNjb3BlOiBPQXV0aDJTY29wZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjY2Vzc1Rva2VuUmVzcG9uc2Uge1xuICAvKiogVGhlIGFjY2VzcyB0b2tlbiBvZiB0aGUgdXNlciAqL1xuICBhY2Nlc3NfdG9rZW46IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgdG9rZW4gKi9cbiAgdG9rZW5fdHlwZTogc3RyaW5nXG4gIC8qKiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYWZ0ZXIgdGhhdCB0aGUgYWNjZXNzIHRva2VuIGlzIGV4cGlyZWQgKi9cbiAgZXhwaXJlc19pbjogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgcmVmcmVzaCB0b2tlbiB0byByZWZyZXNoIHRoZSBhY2Nlc3MgdG9rZW5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogV2hlbiB0aGUgdG9rZW4gZXhjaGFuZ2UgaXMgYSBjbGllbnQgY3JlZGVudGlhbHMgdHlwZSBncmFudCB0aGlzIHZhbHVlIGlzIG5vdCBkZWZpbmVkLlxuICAgKi9cbiAgcmVmcmVzaF90b2tlbjogc3RyaW5nXG4gIC8qKiBUaGUgc2NvcGVzIGZvciB0aGUgYWNjZXNzIHRva2VuICovXG4gIHNjb3BlOiBzdHJpbmdcbiAgLyoqIFRoZSB3ZWJob29rIHRoZSB1c2VyIGNyZWF0ZWQgZm9yIHRoZSBhcHBsaWNhdGlvbi4gUmVxdWlyZXMgdGhlIGB3ZWJob29rLmluY29taW5nYCBzY29wZSAqL1xuICB3ZWJob29rPzogRGlzY29yZEluY29taW5nV2ViaG9va1xuICAvKiogVGhlIGd1aWxkIHRoZSBib3QgaGFzIGJlZW4gYWRkZWQuIFJlcXVpcmVzIHRoZSBgYm90YCBzY29wZSAqL1xuICBndWlsZD86IERpc2NvcmRHdWlsZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUb2tlblJldm9jYXRpb24ge1xuICAvKiogVGhlIGFjY2VzcyB0b2tlbiB0byByZXZva2UgKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogT3B0aW9uYWwsIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcgZm9yIHRoZSByZXZvY2F0aW9uICovXG4gIHRva2VuX3R5cGVfaGludD86ICdhY2Nlc3NfdG9rZW4nIHwgJ3JlZnJlc2hfdG9rZW4nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2dldC1jdXJyZW50LWF1dGhvcml6YXRpb24taW5mb3JtYXRpb24tcmVzcG9uc2Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDdXJyZW50QXV0aG9yaXphdGlvbiB7XG4gIGFwcGxpY2F0aW9uOiBEaXNjb3JkQXBwbGljYXRpb25cbiAgLyoqIHRoZSBzY29wZXMgdGhlIHVzZXIgaGFzIGF1dGhvcml6ZWQgdGhlIGFwcGxpY2F0aW9uIGZvciAqL1xuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbiAgLyoqIHdoZW4gdGhlIGFjY2VzcyB0b2tlbiBleHBpcmVzICovXG4gIGV4cGlyZXM6IHN0cmluZ1xuICAvKiogdGhlIHVzZXIgd2hvIGhhcyBhdXRob3JpemVkLCBpZiB0aGUgdXNlciBoYXMgYXV0aG9yaXplZCB3aXRoIHRoZSBgaWRlbnRpZnlgIHNjb3BlICovXG4gIHVzZXI/OiBEaXNjb3JkVXNlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3VzZXIjY29ubmVjdGlvbi1vYmplY3QtY29ubmVjdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENvbm5lY3Rpb24ge1xuICAvKiogaWQgb2YgdGhlIGNvbm5lY3Rpb24gYWNjb3VudCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB0aGUgdXNlcm5hbWUgb2YgdGhlIGNvbm5lY3Rpb24gYWNjb3VudCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIHRoZSBzZXJ2aWNlIG9mIHRoaXMgY29ubmVjdGlvbiAqL1xuICB0eXBlOiBEaXNjb3JkQ29ubmVjdGlvblNlcnZpY2VUeXBlXG4gIC8qKiB3aGV0aGVyIHRoZSBjb25uZWN0aW9uIGlzIHJldm9rZWQgKi9cbiAgcmV2b2tlZD86IGJvb2xlYW5cbiAgLyoqIGFuIGFycmF5IG9mIHBhcnRpYWwgc2VydmVyIGludGVncmF0aW9ucyAqL1xuICBpbnRlZ3JhdGlvbnM/OiBQYXJ0aWFsPERpc2NvcmRJbnRlZ3JhdGlvbj5bXVxuICAvKiogd2hldGhlciB0aGUgY29ubmVjdGlvbiBpcyB2ZXJpZmllZCAqL1xuICB2ZXJpZmllZDogYm9vbGVhblxuICAvKiogd2hldGhlciBmcmllbmQgc3luYyBpcyBlbmFibGVkIGZvciB0aGlzIGNvbm5lY3Rpb24gKi9cbiAgZnJpZW5kX3N5bmM6IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgYWN0aXZpdGllcyByZWxhdGVkIHRvIHRoaXMgY29ubmVjdGlvbiB3aWxsIGJlIHNob3duIGluIHByZXNlbmNlIHVwZGF0ZXMgKi9cbiAgc2hvd19hY3Rpdml0eTogYm9vbGVhblxuICAvKiogd2hldGhlciB0aGlzIGNvbm5lY3Rpb24gaGFzIGEgY29ycmVzcG9uZGluZyB0aGlyZCBwYXJ0eSBPQXV0aDIgdG9rZW4gKi9cbiAgdHdvX3dheV9saW5rOiBib29sZWFuXG4gIC8qKiB2aXNpYmlsaXR5IG9mIHRoaXMgY29ubmVjdGlvbiAqL1xuICB2aXNpYmlsaXR5OiBEaXNjb3JkQ29ubmVjdGlvblZpc2liaWxpdHlcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy91c2VyI2Nvbm5lY3Rpb24tb2JqZWN0LXNlcnZpY2VzICovXG5leHBvcnQgZW51bSBEaXNjb3JkQ29ubmVjdGlvblNlcnZpY2VUeXBlIHtcbiAgQW1hem9uTXVzaWMgPSAnYW1hem9uLW11c2ljJyxcbiAgQmF0dGxlTmV0ID0gJ2JhdHRsZW5ldCcsXG4gIEJ1bmdpZSA9ICdCdW5naWUubmV0JyxcbiAgQ3J1bmNoeXJvbGwgPSAnY3J1bmNoeXJvbGwnLFxuICBEb21haW4gPSAnZG9tYWluJyxcbiAgZUJheSA9ICdlYmF5JyxcbiAgRXBpY0dhbWVzID0gJ2VwaWNnYW1lcycsXG4gIEZhY2Vib29rID0gJ2ZhY2Vib29rJyxcbiAgR2l0SHViID0gJ2dpdGh1YicsXG4gIEluc3RhZ3JhbSA9ICdpbnN0YWdyYW0nLFxuICBMZWFndWVPZkxlZ2VuZHMgPSAnbGVhZ3Vlb2ZsZWdlbmRzJyxcbiAgUGF5UGFsID0gJ3BheXBhbCcsXG4gIFBsYXlTdGF0aW9uTmV0d29yayA9ICdwbGF5c3RhdGlvbicsXG4gIFJlZGRpdCA9ICdyZWRkaXQnLFxuICBSaW90R2FtZXMgPSAncmlvdGdhbWVzJyxcbiAgUm9ibG94ID0gJ3JvYmxveCcsXG4gIFNwb3RpZnkgPSAnc3BvdGlmeScsXG4gIFNreXBlID0gJ3NreXBlJyxcbiAgU3RlYW0gPSAnc3RlYW0nLFxuICBUaWtUb2sgPSAndGlrdG9rJyxcbiAgVHdpdGNoID0gJ3R3aXRjaCcsXG4gIFR3aXR0ZXIgPSAndHdpdHRlcicsXG4gIFhib3ggPSAneGJveCcsXG4gIFlvdVR1YmUgPSAneW91dHViZScsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNjb25uZWN0aW9uLW9iamVjdC12aXNpYmlsaXR5LXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkQ29ubmVjdGlvblZpc2liaWxpdHkge1xuICAvKiogaW52aXNpYmxlIHRvIGV2ZXJ5b25lIGV4Y2VwdCB0aGUgdXNlciB0aGVtc2VsdmVzICovXG4gIE5vbmUgPSAwLFxuICAvKiogdmlzaWJsZSB0byBldmVyeW9uZSAqL1xuICBFdmVyeW9uZSA9IDEsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvdXNlciNhcHBsaWNhdGlvbi1yb2xlLWNvbm5lY3Rpb24tb2JqZWN0LWFwcGxpY2F0aW9uLXJvbGUtY29ubmVjdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24ge1xuICAvKiogdGhlIHZhbml0eSBuYW1lIG9mIHRoZSBwbGF0Zm9ybSBhIGJvdCBoYXMgY29ubmVjdGVkIChtYXggNTAgY2hhcmFjdGVycykgKi9cbiAgcGxhdGZvcm1fbmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIHVzZXJuYW1lIG9uIHRoZSBwbGF0Zm9ybSBhIGJvdCBoYXMgY29ubmVjdGVkIChtYXggMTAwIGNoYXJhY3RlcnMpICovXG4gIHBsYXRmb3JtX3VzZXJuYW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBvYmplY3QgbWFwcGluZyBhcHBsaWNhdGlvbiByb2xlIGNvbm5lY3Rpb24gbWV0YWRhdGEga2V5cyB0byB0aGVpciBzdHJpbmdpZmllZCB2YWx1ZSAobWF4IDEwMCBjaGFyYWN0ZXJzKSBmb3IgdGhlIHVzZXIgb24gdGhlIHBsYXRmb3JtIGEgYm90IGhhcyBjb25uZWN0ZWQgKi9cbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy90ZWFtcyNkYXRhLW1vZGVscy10ZWFtLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGVhbSB7XG4gIC8qKiBIYXNoIG9mIHRoZSBpbWFnZSBvZiB0aGUgdGVhbSdzIGljb24gKi9cbiAgaWNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogVW5pcXVlIElEIG9mIHRoZSB0ZWFtICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIE1lbWJlcnMgb2YgdGhlIHRlYW0gKi9cbiAgbWVtYmVyczogRGlzY29yZFRlYW1NZW1iZXJbXVxuICAvKiogVXNlciBJRCBvZiB0aGUgY3VycmVudCB0ZWFtIG93bmVyICovXG4gIG93bmVyX3VzZXJfaWQ6IHN0cmluZ1xuICAvKiogTmFtZSBvZiB0aGUgdGVhbSAqL1xuICBuYW1lOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy90ZWFtcyNkYXRhLW1vZGVscy10ZWFtLW1lbWJlcnMtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUZWFtTWVtYmVyIHtcbiAgLyoqIFRoZSB1c2VyJ3MgbWVtYmVyc2hpcCBzdGF0ZSBvbiB0aGUgdGVhbSAqL1xuICBtZW1iZXJzaGlwX3N0YXRlOiBUZWFtTWVtYmVyc2hpcFN0YXRlc1xuICAvKiogVGhlIGlkIG9mIHRoZSBwYXJlbnQgdGVhbSBvZiB3aGljaCB0aGV5IGFyZSBhIG1lbWJlciAqL1xuICB0ZWFtX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBhdmF0YXIsIGRpc2NyaW1pbmF0b3IsIGlkLCB1c2VybmFtZSwgYW5kIGdsb2JhbF9uYW1lIG9mIHRoZSB1c2VyICovXG4gIHVzZXI6IFBhcnRpYWw8RGlzY29yZFVzZXI+ICYgUGljazxEaXNjb3JkVXNlciwgJ2F2YXRhcicgfCAnZGlzY3JpbWluYXRvcicgfCAnaWQnIHwgJ3VzZXJuYW1lJyB8ICdnbG9iYWxfbmFtZSc+XG4gIC8qKiBSb2xlIG9mIHRoZSB0ZWFtIG1lbWJlciAqL1xuICByb2xlOiBEaXNjb3JkVGVhbU1lbWJlclJvbGVcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I3dlYmhvb2tzLXVwZGF0ZS13ZWJob29rLXVwZGF0ZS1ldmVudC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFdlYmhvb2tVcGRhdGUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2NoYW5uZWwjYWxsb3dlZC1tZW50aW9ucy1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFsbG93ZWRNZW50aW9ucyB7XG4gIC8qKiBBbiBhcnJheSBvZiBhbGxvd2VkIG1lbnRpb24gdHlwZXMgdG8gcGFyc2UgZnJvbSB0aGUgY29udGVudC4gKi9cbiAgcGFyc2U/OiBBbGxvd2VkTWVudGlvbnNUeXBlc1tdXG4gIC8qKiBGb3IgcmVwbGllcywgd2hldGhlciB0byBtZW50aW9uIHRoZSBhdXRob3Igb2YgdGhlIG1lc3NhZ2UgYmVpbmcgcmVwbGllZCB0byAoZGVmYXVsdCBmYWxzZSkgKi9cbiAgcmVwbGllZF91c2VyPzogYm9vbGVhblxuICAvKiogQXJyYXkgb2Ygcm9sZV9pZHMgdG8gbWVudGlvbiAoTWF4IHNpemUgb2YgMTAwKSAqL1xuICByb2xlcz86IHN0cmluZ1tdXG4gIC8qKiBBcnJheSBvZiB1c2VyX2lkcyB0byBtZW50aW9uIChNYXggc2l6ZSBvZiAxMDApICovXG4gIHVzZXJzPzogc3RyaW5nW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2VtYmVkLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWQge1xuICAvKiogVGl0bGUgb2YgZW1iZWQgKi9cbiAgdGl0bGU/OiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgZW1iZWQgKGFsd2F5cyBcInJpY2hcIiBmb3Igd2ViaG9vayBlbWJlZHMpICovXG4gIHR5cGU/OiBFbWJlZFR5cGVzXG4gIC8qKiBEZXNjcmlwdGlvbiBvZiBlbWJlZCAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogVXJsIG9mIGVtYmVkICovXG4gIHVybD86IHN0cmluZ1xuICAvKiogQ29sb3IgY29kZSBvZiB0aGUgZW1iZWQgKi9cbiAgY29sb3I/OiBudW1iZXJcbiAgLyoqIFRpbWVzdGFtcCBvZiBlbWJlZCBjb250ZW50ICovXG4gIHRpbWVzdGFtcD86IHN0cmluZ1xuICAvKiogRm9vdGVyIGluZm9ybWF0aW9uICovXG4gIGZvb3Rlcj86IERpc2NvcmRFbWJlZEZvb3RlclxuICAvKiogSW1hZ2UgaW5mb3JtYXRpb24gKi9cbiAgaW1hZ2U/OiBEaXNjb3JkRW1iZWRJbWFnZVxuICAvKiogVGh1bWJuYWlsIGluZm9ybWF0aW9uICovXG4gIHRodW1ibmFpbD86IERpc2NvcmRFbWJlZFRodW1ibmFpbFxuICAvKiogVmlkZW8gaW5mb3JtYXRpb24gKi9cbiAgdmlkZW8/OiBEaXNjb3JkRW1iZWRWaWRlb1xuICAvKiogUHJvdmlkZXIgaW5mb3JtYXRpb24gKi9cbiAgcHJvdmlkZXI/OiBEaXNjb3JkRW1iZWRQcm92aWRlclxuICAvKiogQXV0aG9yIGluZm9ybWF0aW9uICovXG4gIGF1dGhvcj86IERpc2NvcmRFbWJlZEF1dGhvclxuICAvKiogRmllbGRzIGluZm9ybWF0aW9uICovXG4gIGZpZWxkcz86IERpc2NvcmRFbWJlZEZpZWxkW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2VtYmVkLW9iamVjdC1lbWJlZC1hdXRob3Itc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZEF1dGhvciB7XG4gIC8qKiBOYW1lIG9mIGF1dGhvciAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFVybCBvZiBhdXRob3IgKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBVcmwgb2YgYXV0aG9yIGljb24gKG9ubHkgc3VwcG9ydHMgaHR0cChzKSBhbmQgYXR0YWNobWVudHMpICovXG4gIGljb25fdXJsPzogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIGF1dGhvciBpY29uICovXG4gIHByb3h5X2ljb25fdXJsPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvY2hhbm5lbCNlbWJlZC1vYmplY3QtZW1iZWQtZmllbGQtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZEZpZWxkIHtcbiAgLyoqIE5hbWUgb2YgdGhlIGZpZWxkICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVmFsdWUgb2YgdGhlIGZpZWxkICovXG4gIHZhbHVlOiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoaXMgZmllbGQgc2hvdWxkIGRpc3BsYXkgaW5saW5lICovXG4gIGlubGluZT86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2VtYmVkLW9iamVjdC1lbWJlZC1mb290ZXItc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZEZvb3RlciB7XG4gIC8qKiBGb290ZXIgdGV4dCAqL1xuICB0ZXh0OiBzdHJpbmdcbiAgLyoqIFVybCBvZiBmb290ZXIgaWNvbiAob25seSBzdXBwb3J0cyBodHRwKHMpIGFuZCBhdHRhY2htZW50cykgKi9cbiAgaWNvbl91cmw/OiBzdHJpbmdcbiAgLyoqIEEgcHJveGllZCB1cmwgb2YgZm9vdGVyIGljb24gKi9cbiAgcHJveHlfaWNvbl91cmw/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2VtYmVkLW9iamVjdC1lbWJlZC1pbWFnZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkSW1hZ2Uge1xuICAvKiogU291cmNlIHVybCBvZiBpbWFnZSAob25seSBzdXBwb3J0cyBodHRwKHMpIGFuZCBhdHRhY2htZW50cykgKi9cbiAgdXJsOiBzdHJpbmdcbiAgLyoqIEEgcHJveGllZCB1cmwgb2YgdGhlIGltYWdlICovXG4gIHByb3h5X3VybD86IHN0cmluZ1xuICAvKiogSGVpZ2h0IG9mIGltYWdlICovXG4gIGhlaWdodD86IG51bWJlclxuICAvKiogV2lkdGggb2YgaW1hZ2UgKi9cbiAgd2lkdGg/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRW1iZWRQcm92aWRlciB7XG4gIC8qKiBOYW1lIG9mIHByb3ZpZGVyICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIFVybCBvZiBwcm92aWRlciAqL1xuICB1cmw/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2VtYmVkLW9iamVjdC1lbWJlZC10aHVtYm5haWwtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRFbWJlZFRodW1ibmFpbCB7XG4gIC8qKiBTb3VyY2UgdXJsIG9mIHRodW1ibmFpbCAob25seSBzdXBwb3J0cyBodHRwKHMpIGFuZCBhdHRhY2htZW50cykgKi9cbiAgdXJsOiBzdHJpbmdcbiAgLyoqIEEgcHJveGllZCB1cmwgb2YgdGhlIHRodW1ibmFpbCAqL1xuICBwcm94eV91cmw/OiBzdHJpbmdcbiAgLyoqIEhlaWdodCBvZiB0aHVtYm5haWwgKi9cbiAgaGVpZ2h0PzogbnVtYmVyXG4gIC8qKiBXaWR0aCBvZiB0aHVtYm5haWwgKi9cbiAgd2lkdGg/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2VtYmVkLW9iamVjdC1lbWJlZC12aWRlby1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVtYmVkVmlkZW8ge1xuICAvKiogU291cmNlIHVybCBvZiB2aWRlbyAqL1xuICB1cmw/OiBzdHJpbmdcbiAgLyoqIEEgcHJveGllZCB1cmwgb2YgdGhlIHZpZGVvICovXG4gIHByb3h5X3VybD86IHN0cmluZ1xuICAvKiogSGVpZ2h0IG9mIHZpZGVvICovXG4gIGhlaWdodD86IG51bWJlclxuICAvKiogV2lkdGggb2YgdmlkZW8gKi9cbiAgd2lkdGg/OiBudW1iZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2F0dGFjaG1lbnQtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdHRhY2htZW50IHtcbiAgLyoqIE5hbWUgb2YgZmlsZSBhdHRhY2hlZCAqL1xuICBmaWxlbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgdGl0bGUgb2YgdGhlIGZpbGUgKi9cbiAgdGl0bGU/OiBzdHJpbmdcbiAgLyoqIFRoZSBhdHRhY2htZW50J3MgW21lZGlhIHR5cGVdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01lZGlhX3R5cGUpICovXG4gIGNvbnRlbnRfdHlwZT86IHN0cmluZ1xuICAvKiogU2l6ZSBvZiBmaWxlIGluIGJ5dGVzICovXG4gIHNpemU6IG51bWJlclxuICAvKiogU291cmNlIHVybCBvZiBmaWxlICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBBIHByb3hpZWQgdXJsIG9mIGZpbGUgKi9cbiAgcHJveHlfdXJsOiBzdHJpbmdcbiAgLyoqIEF0dGFjaG1lbnQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogZGVzY3JpcHRpb24gZm9yIHRoZSBmaWxlIChtYXggMTAyNCBjaGFyYWN0ZXJzKSAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogSGVpZ2h0IG9mIGZpbGUgKGlmIGltYWdlKSAqL1xuICBoZWlnaHQ/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBXaWR0aCBvZiBmaWxlIChpZiBpbWFnZSkgKi9cbiAgd2lkdGg/OiBudW1iZXIgfCBudWxsXG4gIC8qKiB3aGV0aGVyIHRoaXMgYXR0YWNobWVudCBpcyBlcGhlbWVyYWwuIEVwaGVtZXJhbCBhdHRhY2htZW50cyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgcmVtb3ZlZCBhZnRlciBhIHNldCBwZXJpb2Qgb2YgdGltZS4gRXBoZW1lcmFsIGF0dGFjaG1lbnRzIG9uIG1lc3NhZ2VzIGFyZSBndWFyYW50ZWVkIHRvIGJlIGF2YWlsYWJsZSBhcyBsb25nIGFzIHRoZSBtZXNzYWdlIGl0c2VsZiBleGlzdHMuICovXG4gIGVwaGVtZXJhbD86IGJvb2xlYW5cbiAgLyoqIFRoZSBkdXJhdGlvbiBvZiB0aGUgYXVkaW8gZmlsZSBmb3IgYSB2b2ljZSBtZXNzYWdlICovXG4gIGR1cmF0aW9uX3NlY3M/OiBudW1iZXJcbiAgLyoqIEEgYmFzZTY0IGVuY29kZWQgYnl0ZWFycmF5IHJlcHJlc2VudGluZyBhIHNhbXBsZWQgd2F2ZWZvcm0gZm9yIGEgdm9pY2UgbWVzc2FnZSAqL1xuICB3YXZlZm9ybT86IHN0cmluZ1xuICAvKiogQXR0YWNobWVudCBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkICovXG4gIGZsYWdzPzogQXR0YWNobWVudEZsYWdzXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvd2ViaG9vayN3ZWJob29rLW9iamVjdC13ZWJob29rLXN0cnVjdHVyZSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZFdlYmhvb2sgPSBEaXNjb3JkSW5jb21pbmdXZWJob29rIHwgRGlzY29yZEFwcGxpY2F0aW9uV2ViaG9va1xuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbmNvbWluZ1dlYmhvb2sge1xuICAvKiogVGhlIHR5cGUgb2YgdGhlIHdlYmhvb2sgKi9cbiAgdHlwZTogV2ViaG9va1R5cGVzXG4gIC8qKiBUaGUgc2VjdXJlIHRva2VuIG9mIHRoZSB3ZWJob29rIChyZXR1cm5lZCBmb3IgSW5jb21pbmcgV2ViaG9va3MpICovXG4gIHRva2VuPzogc3RyaW5nXG4gIC8qKiBUaGUgdXJsIHVzZWQgZm9yIGV4ZWN1dGluZyB0aGUgd2ViaG9vayAocmV0dXJuZWQgYnkgdGhlIHdlYmhvb2tzIE9BdXRoMiBmbG93KSAqL1xuICB1cmw/OiBzdHJpbmdcblxuICAvKiogVGhlIGlkIG9mIHRoZSB3ZWJob29rICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBpZCB0aGlzIHdlYmhvb2sgaXMgZm9yICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgY2hhbm5lbCBpZCB0aGlzIHdlYmhvb2sgaXMgZm9yICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVzZXIgdGhpcyB3ZWJob29rIHdhcyBjcmVhdGVkIGJ5IChub3QgcmV0dXJuZWQgd2hlbiBnZXR0aW5nIGEgd2ViaG9vayB3aXRoIGl0cyB0b2tlbikgKi9cbiAgdXNlcj86IERpc2NvcmRVc2VyXG4gIC8qKiBUaGUgZGVmYXVsdCBuYW1lIG9mIHRoZSB3ZWJob29rICovXG4gIG5hbWU6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBkZWZhdWx0IHVzZXIgYXZhdGFyIGhhc2ggb2YgdGhlIHdlYmhvb2sgKi9cbiAgYXZhdGFyOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgYm90L09BdXRoMiBhcHBsaWNhdGlvbiB0aGF0IGNyZWF0ZWQgdGhpcyB3ZWJob29rICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgZ3VpbGQgb2YgdGhlIGNoYW5uZWwgdGhhdCB0aGlzIHdlYmhvb2sgaXMgZm9sbG93aW5nIChyZXR1cm5lZCBmb3IgQ2hhbm5lbCBGb2xsb3dlciBXZWJob29rcykgKi9cbiAgc291cmNlX2d1aWxkPzogUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gIC8qKiBUaGUgY2hhbm5lbCB0aGF0IHRoaXMgd2ViaG9vayBpcyBmb2xsb3dpbmcgKHJldHVybmVkIGZvciBDaGFubmVsIEZvbGxvd2VyIFdlYmhvb2tzKSAqL1xuICBzb3VyY2VfY2hhbm5lbD86IFBhcnRpYWw8RGlzY29yZENoYW5uZWw+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uV2ViaG9vayB7XG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgd2ViaG9vayAqL1xuICB0eXBlOiBXZWJob29rVHlwZXMuQXBwbGljYXRpb25cbiAgLyoqIFRoZSBzZWN1cmUgdG9rZW4gb2YgdGhlIHdlYmhvb2sgKHJldHVybmVkIGZvciBJbmNvbWluZyBXZWJob29rcykgKi9cbiAgdG9rZW4/OiBzdHJpbmdcbiAgLyoqIFRoZSB1cmwgdXNlZCBmb3IgZXhlY3V0aW5nIHRoZSB3ZWJob29rIChyZXR1cm5lZCBieSB0aGUgd2ViaG9va3MgT0F1dGgyIGZsb3cpICovXG4gIHVybD86IHN0cmluZ1xuXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHdlYmhvb2sgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIGlkIHRoaXMgd2ViaG9vayBpcyBmb3IgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgY2hhbm5lbCBpZCB0aGlzIHdlYmhvb2sgaXMgZm9yICovXG4gIGNoYW5uZWxfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgdXNlciB0aGlzIHdlYmhvb2sgd2FzIGNyZWF0ZWQgYnkgKG5vdCByZXR1cm5lZCB3aGVuIGdldHRpbmcgYSB3ZWJob29rIHdpdGggaXRzIHRva2VuKSAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIFRoZSBkZWZhdWx0IG5hbWUgb2YgdGhlIHdlYmhvb2sgKi9cbiAgbmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGRlZmF1bHQgdXNlciBhdmF0YXIgaGFzaCBvZiB0aGUgd2ViaG9vayAqL1xuICBhdmF0YXI6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBib3QvT0F1dGgyIGFwcGxpY2F0aW9uIHRoYXQgY3JlYXRlZCB0aGlzIHdlYmhvb2sgKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBndWlsZCBvZiB0aGUgY2hhbm5lbCB0aGF0IHRoaXMgd2ViaG9vayBpcyBmb2xsb3dpbmcgKHJldHVybmVkIGZvciBDaGFubmVsIEZvbGxvd2VyIFdlYmhvb2tzKSwgZmllbGQgd2lsbCBiZSBhYnNlbnQgaWYgdGhlIHdlYmhvb2sgY3JlYXRvciBoYXMgc2luY2UgbG9zdCBhY2Nlc3MgdG8gdGhlIGd1aWxkIHdoZXJlIHRoZSBmb2xsb3dlZCBjaGFubmVsIHJlc2lkZXMgKi9cbiAgc291cmNlX2d1aWxkPzogUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gIC8qKiBUaGUgY2hhbm5lbCB0aGF0IHRoaXMgd2ViaG9vayBpcyBmb2xsb3dpbmcgKHJldHVybmVkIGZvciBDaGFubmVsIEZvbGxvd2VyIFdlYmhvb2tzKSwgZmllbGQgd2lsbCBiZSBhYnNlbnQgaWYgdGhlIHdlYmhvb2sgY3JlYXRvciBoYXMgc2luY2UgbG9zdCBhY2Nlc3MgdG8gdGhlIGd1aWxkIHdoZXJlIHRoZSBmb2xsb3dlZCBjaGFubmVsIHJlc2lkZXMgKi9cbiAgc291cmNlX2NoYW5uZWw/OiBQYXJ0aWFsPERpc2NvcmRDaGFubmVsPlxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGQge1xuICAvKiogR3VpbGQgbmFtZSAoMi0xMDAgY2hhcmFjdGVycywgZXhjbHVkaW5nIHRyYWlsaW5nIGFuZCBsZWFkaW5nIHdoaXRlc3BhY2UpICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVHJ1ZSBpZiB0aGUgdXNlciBpcyB0aGUgb3duZXIgb2YgdGhlIGd1aWxkICovXG4gIG93bmVyPzogYm9vbGVhblxuICAvKiogQWZrIHRpbWVvdXQgaW4gc2Vjb25kcyAqL1xuICBhZmtfdGltZW91dDogbnVtYmVyXG4gIC8qKiBUcnVlIGlmIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgd2lkZ2V0X2VuYWJsZWQ/OiBib29sZWFuXG4gIC8qKiBWZXJpZmljYXRpb24gbGV2ZWwgcmVxdWlyZWQgZm9yIHRoZSBndWlsZCAqL1xuICB2ZXJpZmljYXRpb25fbGV2ZWw6IFZlcmlmaWNhdGlvbkxldmVsc1xuICAvKiogRGVmYXVsdCBtZXNzYWdlIG5vdGlmaWNhdGlvbnMgbGV2ZWwgKi9cbiAgZGVmYXVsdF9tZXNzYWdlX25vdGlmaWNhdGlvbnM6IERlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9uTGV2ZWxzXG4gIC8qKiBFeHBsaWNpdCBjb250ZW50IGZpbHRlciBsZXZlbCAqL1xuICBleHBsaWNpdF9jb250ZW50X2ZpbHRlcjogRXhwbGljaXRDb250ZW50RmlsdGVyTGV2ZWxzXG4gIC8qKiBFbmFibGVkIGd1aWxkIGZlYXR1cmVzICovXG4gIGZlYXR1cmVzOiBHdWlsZEZlYXR1cmVzW11cbiAgLyoqIFJlcXVpcmVkIE1GQSBsZXZlbCBmb3IgdGhlIGd1aWxkICovXG4gIG1mYV9sZXZlbDogTWZhTGV2ZWxzXG4gIC8qKiBTeXN0ZW0gY2hhbm5lbCBmbGFncyAqL1xuICBzeXN0ZW1fY2hhbm5lbF9mbGFnczogU3lzdGVtQ2hhbm5lbEZsYWdzXG4gIC8qKiBUcnVlIGlmIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGxhcmdlPzogYm9vbGVhblxuICAvKiogVHJ1ZSBpZiB0aGlzIGd1aWxkIGlzIHVuYXZhaWxhYmxlIGR1ZSB0byBhbiBvdXRhZ2UgKi9cbiAgdW5hdmFpbGFibGU/OiBib29sZWFuXG4gIC8qKiBUb3RhbCBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkICovXG4gIG1lbWJlcl9jb3VudD86IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIHByZXNlbmNlcyBmb3IgdGhlIGd1aWxkICh0aGUgZGVmYXVsdCB2YWx1ZSwgY3VycmVudGx5IDI1MDAwLCBpcyBpbiBlZmZlY3Qgd2hlbiBudWxsIGlzIHJldHVybmVkKSAqL1xuICBtYXhfcHJlc2VuY2VzPzogbnVtYmVyIHwgbnVsbFxuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIG1lbWJlcnMgZm9yIHRoZSBndWlsZCAqL1xuICBtYXhfbWVtYmVycz86IG51bWJlclxuICAvKiogVGhlIHZhbml0eSB1cmwgY29kZSBmb3IgdGhlIGd1aWxkICovXG4gIHZhbml0eV91cmxfY29kZTogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGRlc2NyaXB0aW9uIG9mIGEgZ3VpbGQgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFByZW1pdW0gdGllciAoU2VydmVyIEJvb3N0IGxldmVsKSAqL1xuICBwcmVtaXVtX3RpZXI6IFByZW1pdW1UaWVyc1xuICAvKiogVGhlIG51bWJlciBvZiBib29zdHMgdGhpcyBndWlsZCBjdXJyZW50bHkgaGFzICovXG4gIHByZW1pdW1fc3Vic2NyaXB0aW9uX2NvdW50PzogbnVtYmVyXG4gIC8qKiBUaGUgbWF4aW11bSBhbW91bnQgb2YgdXNlcnMgaW4gYSB2aWRlbyBjaGFubmVsICovXG4gIG1heF92aWRlb19jaGFubmVsX3VzZXJzPzogbnVtYmVyXG4gIC8qKiBNYXhpbXVtIGFtb3VudCBvZiB1c2VycyBpbiBhIHN0YWdlIHZpZGVvIGNoYW5uZWwgKi9cbiAgbWF4X3N0YWdlX3ZpZGVvX2NoYW5uZWxfdXNlcnM/OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBtZW1iZXJzIGluIHRoaXMgZ3VpbGQsIHJldHVybmVkIGZyb20gdGhlIEdFVCAvZ3VpbGRzL2lkIGVuZHBvaW50IHdoZW4gd2l0aF9jb3VudHMgaXMgdHJ1ZSAqL1xuICBhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBub24tb2ZmbGluZSBtZW1iZXJzIGluIHRoaXMgZ3VpbGQsIHJldHVybmVkIGZyb20gdGhlIEdFVCAvZ3VpbGRzL2lkIGVuZHBvaW50IHdoZW4gd2l0aF9jb3VudHMgaXMgdHJ1ZSAqL1xuICBhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudD86IG51bWJlclxuICAvKiogR3VpbGQgTlNGVyBsZXZlbCAqL1xuICBuc2Z3X2xldmVsOiBHdWlsZE5zZndMZXZlbFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHRoZSBib29zdCBwcm9ncmVzcyBiYXIgZW5hYmxlZCAqL1xuICBwcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkOiBib29sZWFuXG4gIC8qKiBHdWlsZCBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJY29uIGhhc2ggKi9cbiAgaWNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogSWNvbiBoYXNoLCByZXR1cm5lZCB3aGVuIGluIHRoZSB0ZW1wbGF0ZSBvYmplY3QgKi9cbiAgaWNvbl9oYXNoPzogc3RyaW5nIHwgbnVsbFxuICAvKiogU3BsYXNoIGhhc2ggKi9cbiAgc3BsYXNoOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBEaXNjb3Zlcnkgc3BsYXNoIGhhc2g7IG9ubHkgcHJlc2VudCBmb3IgZ3VpbGRzIHdpdGggdGhlIFwiRElTQ09WRVJBQkxFXCIgZmVhdHVyZSAqL1xuICBkaXNjb3Zlcnlfc3BsYXNoOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBJZCBvZiB0aGUgb3duZXIgKi9cbiAgb3duZXJfaWQ6IHN0cmluZ1xuICAvKiogVG90YWwgcGVybWlzc2lvbnMgZm9yIHRoZSB1c2VyIGluIHRoZSBndWlsZCAoZXhjbHVkZXMgb3ZlcndyaXRlcyBhbmQgaW1wbGljaXQgcGVybWlzc2lvbnMpICovXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nXG4gIC8qKiBJZCBvZiBhZmsgY2hhbm5lbCAqL1xuICBhZmtfY2hhbm5lbF9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhhdCB0aGUgd2lkZ2V0IHdpbGwgZ2VuZXJhdGUgYW4gaW52aXRlIHRvLCBvciBudWxsIGlmIHNldCB0byBubyBpbnZpdGUgKi9cbiAgd2lkZ2V0X2NoYW5uZWxfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBSb2xlcyBpbiB0aGUgZ3VpbGQgKi9cbiAgcm9sZXM6IERpc2NvcmRSb2xlW11cbiAgLyoqIEN1c3RvbSBndWlsZCBlbW9qaXMgKi9cbiAgZW1vamlzOiBEaXNjb3JkRW1vamlbXVxuICAvKiogQXBwbGljYXRpb24gaWQgb2YgdGhlIGd1aWxkIGNyZWF0b3IgaWYgaXQgaXMgYm90LWNyZWF0ZWQgKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB3aGVyZSBndWlsZCBub3RpY2VzIHN1Y2ggYXMgd2VsY29tZSBtZXNzYWdlcyBhbmQgYm9vc3QgZXZlbnRzIGFyZSBwb3N0ZWQgKi9cbiAgc3lzdGVtX2NoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB3aGVyZSBjb21tdW5pdHkgZ3VpbGRzIGNhbiBkaXNwbGF5IHJ1bGVzIGFuZC9vciBndWlkZWxpbmVzICovXG4gIHJ1bGVzX2NoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZW4gdGhpcyBndWlsZCB3YXMgam9pbmVkIGF0ICovXG4gIGpvaW5lZF9hdD86IHN0cmluZ1xuICAvKiogU3RhdGVzIG9mIG1lbWJlcnMgY3VycmVudGx5IGluIHZvaWNlIGNoYW5uZWxzOyBsYWNrcyB0aGUgZ3VpbGRfaWQga2V5ICovXG4gIHZvaWNlX3N0YXRlcz86IE9taXQ8RGlzY29yZFZvaWNlU3RhdGUsICdndWlsZElkJz5bXVxuICAvKiogVXNlcnMgaW4gdGhlIGd1aWxkICovXG4gIG1lbWJlcnM/OiBEaXNjb3JkTWVtYmVyW11cbiAgLyoqIENoYW5uZWxzIGluIHRoZSBndWlsZCAqL1xuICBjaGFubmVscz86IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIEFsbCBhY3RpdmUgdGhyZWFkcyBpbiB0aGUgZ3VpbGQgdGhhdCB0aGUgY3VycmVudCB1c2VyIGhhcyBwZXJtaXNzaW9uIHRvIHZpZXcgKi9cbiAgdGhyZWFkcz86IERpc2NvcmRDaGFubmVsW11cbiAgLyoqIFByZXNlbmNlcyBvZiB0aGUgbWVtYmVycyBpbiB0aGUgZ3VpbGQsIHdpbGwgb25seSBpbmNsdWRlIG5vbi1vZmZsaW5lIG1lbWJlcnMgaWYgdGhlIHNpemUgaXMgZ3JlYXRlciB0aGFuIGxhcmdlIHRocmVzaG9sZCAqL1xuICBwcmVzZW5jZXM/OiBQYXJ0aWFsPERpc2NvcmRQcmVzZW5jZVVwZGF0ZT5bXVxuICAvKiogQmFubmVyIGhhc2ggKi9cbiAgYmFubmVyOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgcHJlZmVycmVkIGxvY2FsZSBvZiBhIENvbW11bml0eSBndWlsZDsgdXNlZCBpbiBzZXJ2ZXIgZGlzY292ZXJ5IGFuZCBub3RpY2VzIGZyb20gRGlzY29yZDsgZGVmYXVsdHMgdG8gXCJlbi1VU1wiICovXG4gIHByZWZlcnJlZF9sb2NhbGU6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHdoZXJlIGFkbWlucyBhbmQgbW9kZXJhdG9ycyBvZiBDb21tdW5pdHkgZ3VpbGRzIHJlY2VpdmUgbm90aWNlcyBmcm9tIERpc2NvcmQgKi9cbiAgcHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHdlbGNvbWUgc2NyZWVuIG9mIGEgQ29tbXVuaXR5IGd1aWxkLCBzaG93biB0byBuZXcgbWVtYmVycywgcmV0dXJuZWQgaW4gYW4gSW52aXRlJ3MgZ3VpbGQgb2JqZWN0ICovXG4gIHdlbGNvbWVfc2NyZWVuPzogRGlzY29yZFdlbGNvbWVTY3JlZW5cbiAgLyoqIFN0YWdlIGluc3RhbmNlcyBpbiB0aGUgZ3VpbGQgKi9cbiAgc3RhZ2VfaW5zdGFuY2VzPzogRGlzY29yZFN0YWdlSW5zdGFuY2VbXVxuICAvKiogQ3VzdG9tIGd1aWxkIHN0aWNrZXJzICovXG4gIHN0aWNrZXJzPzogRGlzY29yZFN0aWNrZXJbXVxuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHdoZXJlIGFkbWlucyBhbmQgbW9kZXJhdG9ycyBvZiBDb21tdW5pdHkgZ3VpbGRzIHJlY2VpdmUgc2FmZXR5IGFsZXJ0cyBmcm9tIERpc2NvcmQgKi9cbiAgc2FmZXR5X2FsZXJ0c19jaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKlxuICAgKiBTb3VuZGJvYXJkIHNvdW5kcyBpbiB0aGUgZ3VpbGRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSBzZW50IGJ5IHRoZSBnYXRld2F5XG4gICAqL1xuICBzb3VuZGJvYXJkX3NvdW5kcz86IERpc2NvcmRTb3VuZGJvYXJkU291bmRbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL3Blcm1pc3Npb25zI3JvbGUtb2JqZWN0LXJvbGUtc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRSb2xlIHtcbiAgLyoqIFJvbGUgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWYgdGhpcyByb2xlIGlzIHNob3dlZCBzZXBhcmF0ZWx5IGluIHRoZSB1c2VyIGxpc3RpbmcgKi9cbiAgaG9pc3Q6IGJvb2xlYW5cbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgcm9sZSBpcyBtYW5hZ2VkIGJ5IGFuIGludGVncmF0aW9uICovXG4gIG1hbmFnZWQ6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIG1lbnRpb25hYmxlICovXG4gIG1lbnRpb25hYmxlOiBib29sZWFuXG4gIC8qKiBUaGUgdGFncyB0aGlzIHJvbGUgaGFzICovXG4gIHRhZ3M/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/OiBib29sZWFuXG4gIH1cbiAgLyoqIFdpbGwgcmVuZGVyIHRoaXMgb3B0aW9uIGFzIGFscmVhZHktc2VsZWN0ZWQgYnkgZGVmYXVsdC4gKi9cbiAgZGVmYXVsdD86IGJvb2xlYW5cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9tZXNzYWdlLWNvbXBvbmVudHMjc2VsZWN0LW1lbnUtb2JqZWN0LXNlbGVjdC1kZWZhdWx0LXZhbHVlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2VsZWN0TWVudURlZmF1bHRWYWx1ZSB7XG4gIC8qKiBJRCBvZiBhIHVzZXIsIHJvbGUsIG9yIGNoYW5uZWwgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogVHlwZSBvZiB2YWx1ZSB0aGF0IGlkIHJlcHJlc2VudHMuICovXG4gIHR5cGU6ICd1c2VyJyB8ICdyb2xlJyB8ICdjaGFubmVsJ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyNidXR0b25zLWJ1dHRvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB7XG4gIC8qKiBBbGwgYnV0dG9uIGNvbXBvbmVudHMgaGF2ZSB0eXBlIDIgKi9cbiAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvblxuICAvKipcbiAgICogVGV4dCB0aGF0IGFwcGVhcnMgb24gdGhlIGJ1dHRvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIGxhYmVsIGNhbiBoYXZlIGEgbWF4IG9mIDgwIGNoYXJhY3RlcnNcbiAgICogQSBidXR0b24gb2Ygc3R5bGUge0BsaW5rIEJ1dHRvblN0eWxlcy5QcmVtaXVtIHwgUHJlbWl1bX0gY2Fubm90IGhhdmUgYSBsYWJlbFxuICAgKi9cbiAgbGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEEgZGV2LWRlZmluZWQgdW5pcXVlIHN0cmluZyBzZW50IG9uIGNsaWNrIChtYXggMTAwIGNoYXJhY3RlcnMpLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIGJ1dHRvbiBvZiBzdHlsZSB7QGxpbmsgQnV0dG9uU3R5bGVzLkxpbmsgfCBMaW5rfSBvciB7QGxpbmsgQnV0dG9uU3R5bGVzLlByZW1pdW0gfCBQcmVtaXVtfSBjYW5ub3QgaGF2ZSBhIGN1c3RvbV9pZFxuICAgKi9cbiAgY3VzdG9tX2lkPzogc3RyaW5nXG4gIC8qKiBGb3IgZGlmZmVyZW50IHN0eWxlcy9jb2xvcnMgb2YgdGhlIGJ1dHRvbnMgKi9cbiAgc3R5bGU6IEJ1dHRvblN0eWxlc1xuICAvKipcbiAgICogRW1vamkgb2JqZWN0IHRoYXQgaW5jbHVkZXMgZmllbGRzIG9mIG5hbWUsIGlkLCBhbmQgYW5pbWF0ZWQgc3VwcG9ydGluZyB1bmljb2RlIGFuZCBjdXN0b20gZW1vamlzLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBBIGJ1dHRvbiBvZiBzdHlsZSB7QGxpbmsgQnV0dG9uU3R5bGVzLlByZW1pdW0gfCBQcmVtaXVtfSBjYW5ub3QgaGF2ZSBhbiBlbW9qaVxuICAgKi9cbiAgZW1vamk/OiB7XG4gICAgLyoqIEVtb2ppIGlkICovXG4gICAgaWQ/OiBzdHJpbmdcbiAgICAvKiogRW1vamkgbmFtZSAqL1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIGVtb2ppIGlzIGFuaW1hdGVkICovXG4gICAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gIH1cbiAgLyoqXG4gICAqIFVybCBmb3Ige0BsaW5rIEJ1dHRvblN0eWxlcy5MaW5rIHwgbGlua30gYnV0dG9ucyB0aGF0IGNhbiBuYXZpZ2F0ZSBhIHVzZXIgdG8gdGhlIHdlYi5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogQnV0dG9ucyBvZiBzdHlsZSB7QGxpbmsgQnV0dG9uU3R5bGVzLkxpbmsgfCBMaW5rfSBtdXN0IGhhdmUgYW4gdXJsLCBhbnkgb3RoZXIgYnV0dG9uIHdpdGggYSBkaWZmZXJlbnQgc3R5bGUgY2FuIG5vdCBoYXZlIGFuIHVybFxuICAgKi9cbiAgdXJsPzogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGJ1dHRvbiBpcyBkaXNhYmxlZCAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIGEgcHVyY2hhc2FibGUgU0tVXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEJ1dHRvbnMgb2Ygc3R5bGUge0BsaW5rIEJ1dHRvblN0eWxlcy5QcmVtaXVtIHwgUHJlbWl1bX0gbXVzdCBoYXZlIGEgc2t1X2lkLCBhbnkgb3RoZXIgYnV0dG9uIHdpdGggYSBkaWZmZXJlbnQgc3R5bGUgY2FuIG5vdCBoYXZlIGEgYSBza3VfaWRcbiAgICovXG4gIHNrdV9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL21lc3NhZ2UtY29tcG9uZW50cyN0ZXh0LWlucHV0cy10ZXh0LWlucHV0LXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW5wdXRUZXh0Q29tcG9uZW50IHtcbiAgLyoqIElucHV0VGV4dCBDb21wb25lbnQgaXMgb2YgdHlwZSAzICovXG4gIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5JbnB1dFRleHRcbiAgLyoqIFRoZSBzdHlsZSBvZiB0aGUgSW5wdXRUZXh0ICovXG4gIHN0eWxlOiBUZXh0U3R5bGVzXG4gIC8qKiB3aGV0aGVyIHRoaXMgY29tcG9uZW50IGlzIHJlcXVpcmVkIHRvIGJlIGZpbGxlZCwgZGVmYXVsdCB0cnVlICovXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICAvKiogVGhlIGN1c3RvbUlkIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgY3VzdG9tX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBsYWJlbCBvZiB0aGUgSW5wdXRUZXh0IChtYXggNDUgY2hhcmFjdGVycykgKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKiogVGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBJbnB1dFRleHQgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqIFRoZSBtaW5pbXVtIGxlbmd0aCBvZiB0aGUgdGV4dCB0aGUgdXNlciBoYXMgdG8gcHJvdmlkZSAqL1xuICBtaW5fbGVuZ3RoPzogbnVtYmVyXG4gIC8qKiBUaGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIHRleHQgdGhlIHVzZXIgaGFzIHRvIHByb3ZpZGUgKi9cbiAgbWF4X2xlbmd0aD86IG51bWJlclxuICAvKiogUHJlLWZpbGxlZCB2YWx1ZSBmb3IgaW5wdXQgdGV4dC4gKi9cbiAgdmFsdWU/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9zdGlja2VyI3N0aWNrZXItaXRlbS1vYmplY3Qtc3RpY2tlci1pdGVtLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU3RpY2tlckl0ZW0ge1xuICAvKiogSWQgb2YgdGhlIHN0aWNrZXIgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogTmFtZSBvZiB0aGUgc3RpY2tlciAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFtUeXBlIG9mIHN0aWNrZXIgZm9ybWF0XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3RpY2tlciNzdGlja2VyLW9iamVjdC1zdGlja2VyLWZvcm1hdC10eXBlcykgKi9cbiAgZm9ybWF0X3R5cGU6IFN0aWNrZXJGb3JtYXRUeXBlc1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N0aWNrZXIjc3RpY2tlci1wYWNrLW9iamVjdC1zdGlja2VyLXBhY2stc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTdGlja2VyUGFjayB7XG4gIC8qKiBpZCBvZiB0aGUgc3RpY2tlciBwYWNrICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIHRoZSBzdGlja2VycyBpbiB0aGUgcGFjayAqL1xuICBzdGlja2VyczogRGlzY29yZFN0aWNrZXJbXVxuICAvKiogbmFtZSBvZiB0aGUgc3RpY2tlciBwYWNrICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHBhY2sncyBTS1UgKi9cbiAgc2t1X2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIGEgc3RpY2tlciBpbiB0aGUgcGFjayB3aGljaCBpcyBzaG93biBhcyB0aGUgcGFjaydzIGljb24gKi9cbiAgY292ZXJfc3RpY2tlcl9pZD86IHN0cmluZ1xuICAvKiogZGVzY3JpcHRpb24gb2YgdGhlIHN0aWNrZXIgcGFjayAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgc3RpY2tlciBwYWNrJ3MgW2Jhbm5lciBpbWFnZV0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI2ltYWdlLWZvcm1hdHRpbmcpICovXG4gIGJhbm5lcl9hc3NldF9pZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbiB7XG4gIC8qKiBJZCBvZiB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSWQgb2YgdGhlIGFwcGxpY2F0aW9uIHRoaXMgaW50ZXJhY3Rpb24gaXMgZm9yICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB0eXBlIG9mIGludGVyYWN0aW9uICovXG4gIHR5cGU6IEludGVyYWN0aW9uVHlwZXNcbiAgLyoqIEd1aWxkIHRoYXQgdGhlIGludGVyYWN0aW9uIHdhcyBzZW50IGZyb20gKi9cbiAgZ3VpbGQ/OiBQYXJ0aWFsPERpc2NvcmRHdWlsZD5cbiAgLyoqIFRoZSBndWlsZCBpdCB3YXMgc2VudCBmcm9tICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgY2hhbm5lbCBpdCB3YXMgc2VudCBmcm9tICovXG4gIGNoYW5uZWw6IFBhcnRpYWw8RGlzY29yZENoYW5uZWw+XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgY2hhbm5lbCBpdCB3YXMgc2VudCBmcm9tXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IGJlZ2luIHVzaW5nIHRoaXMgY2hhbm5lbCBmaWVsZCB0byBpZGVudGlmeSB0aGUgc291cmNlIGNoYW5uZWwgb2YgdGhlIGludGVyYWN0aW9uIGFzIHRoZXkgbWF5IGRlcHJlY2F0ZSB0aGUgZXhpc3RpbmcgY2hhbm5lbF9pZCBmaWVsZCBpbiB0aGUgZnV0dXJlLlxuICAgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAvKiogR3VpbGQgbWVtYmVyIGRhdGEgZm9yIHRoZSBpbnZva2luZyB1c2VyLCBpbmNsdWRpbmcgcGVybWlzc2lvbnMgKi9cbiAgbWVtYmVyPzogRGlzY29yZEludGVyYWN0aW9uTWVtYmVyXG4gIC8qKiBVc2VyIG9iamVjdCBmb3IgdGhlIGludm9raW5nIHVzZXIsIGlmIGludm9rZWQgaW4gYSBETSAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbiAgLyoqIEEgY29udGludWF0aW9uIHRva2VuIGZvciByZXNwb25kaW5nIHRvIHRoZSBpbnRlcmFjdGlvbiAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBSZWFkLW9ubHkgcHJvcGVydHksIGFsd2F5cyBgMWAgKi9cbiAgdmVyc2lvbjogMVxuICAvKiogRm9yIHRoZSBtZXNzYWdlIHRoZSBidXR0b24gd2FzIGF0dGFjaGVkIHRvICovXG4gIG1lc3NhZ2U/OiBEaXNjb3JkTWVzc2FnZVxuICAvKiogdGhlIGNvbW1hbmQgZGF0YSBwYXlsb2FkICovXG4gIGRhdGE/OiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhXG4gIC8qKiBUaGUgc2VsZWN0ZWQgbGFuZ3VhZ2Ugb2YgdGhlIGludm9raW5nIHVzZXIgKi9cbiAgbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQncyBwcmVmZXJyZWQgbG9jYWxlLCBpZiBpbnZva2VkIGluIGEgZ3VpbGQgKi9cbiAgZ3VpbGRfbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgY29tcHV0ZWQgcGVybWlzc2lvbnMgZm9yIGEgYm90IG9yIGFwcCBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIGludGVyYWN0aW9uIChpbmNsdWRpbmcgY2hhbm5lbCBvdmVyd3JpdGVzKSAqL1xuICBhcHBfcGVybWlzc2lvbnM6IHN0cmluZ1xuICAvKiogRm9yIG1vbmV0aXplZCBhcHBzLCBhbnkgZW50aXRsZW1lbnRzIGZvciB0aGUgaW52b2tpbmcgdXNlciwgcmVwcmVzZW50aW5nIGFjY2VzcyB0byBwcmVtaXVtIFNLVXMgKi9cbiAgZW50aXRsZW1lbnRzOiBEaXNjb3JkRW50aXRsZW1lbnRbXVxuICAvKiogTWFwcGluZyBvZiBpbnN0YWxsYXRpb24gY29udGV4dHMgdGhhdCB0aGUgaW50ZXJhY3Rpb24gd2FzIGF1dGhvcml6ZWQgZm9yIHRvIHJlbGF0ZWQgdXNlciBvciBndWlsZCBJRHMuICovXG4gIGF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyczogUGFydGlhbDxSZWNvcmQ8RGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLCBzdHJpbmc+PlxuICAvKiogQ29udGV4dCB3aGVyZSB0aGUgaW50ZXJhY3Rpb24gd2FzIHRyaWdnZXJlZCBmcm9tICovXG4gIGNvbnRleHQ/OiBEaXNjb3JkSW50ZXJhY3Rpb25Db250ZXh0VHlwZVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL3JlY2VpdmluZy1hbmQtcmVzcG9uZGluZyNpbnRlcmFjdGlvbi1jYWxsYmFjay1pbnRlcmFjdGlvbi1jYWxsYmFjay1yZXNwb25zZS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSB7XG4gIC8qKiBUaGUgaW50ZXJhY3Rpb24gb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgaW50ZXJhY3Rpb24gcmVzcG9uc2UgKi9cbiAgaW50ZXJhY3Rpb246IERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrXG4gIC8qKiBUaGUgcmVzb3VyY2UgdGhhdCB3YXMgY3JlYXRlZCBieSB0aGUgaW50ZXJhY3Rpb24gcmVzcG9uc2UuICovXG4gIHJlc291cmNlPzogRGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2Vcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9yZWNlaXZpbmctYW5kLXJlc3BvbmRpbmcjaW50ZXJhY3Rpb24tY2FsbGJhY2staW50ZXJhY3Rpb24tY2FsbGJhY2stb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrIHtcbiAgLyoqIElEIG9mIHRoZSBpbnRlcmFjdGlvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJbnRlcmFjdGlvbiB0eXBlICovXG4gIHR5cGU6IEludGVyYWN0aW9uVHlwZXNcbiAgLyoqIEluc3RhbmNlIElEIG9mIHRoZSBBY3Rpdml0eSBpZiBvbmUgd2FzIGxhdW5jaGVkIG9yIGpvaW5lZCAqL1xuICBhY3Rpdml0eV9pbnN0YW5jZV9pZD86IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIG1lc3NhZ2UgdGhhdCB3YXMgY3JlYXRlZCBieSB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgcmVzcG9uc2VfbWVzc2FnZV9pZD86IHN0cmluZ1xuICAvKiogV2hldGhlciBvciBub3QgdGhlIG1lc3NhZ2UgaXMgaW4gYSBsb2FkaW5nIHN0YXRlICovXG4gIHJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZz86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSByZXNwb25zZSBtZXNzYWdlIHdhcyBlcGhlbWVyYWwgKi9cbiAgcmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWw/OiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvcmVjZWl2aW5nLWFuZC1yZXNwb25kaW5nI2ludGVyYWN0aW9uLWNhbGxiYWNrLWludGVyYWN0aW9uLWNhbGxiYWNrLXJlc291cmNlLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSB7XG4gIHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlc1xuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgQWN0aXZpdHkgbGF1bmNoZWQgYnkgdGhpcyBpbnRlcmFjdGlvbi5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSBwcmVzZW50IGlmIHR5cGUgaXMgYExBVU5DSF9BQ1RJVklUWWAuXG4gICAqL1xuICBhY3Rpdml0eV9pbnN0YW5jZT86IERpc2NvcmRBY3Rpdml0eUluc3RhbmNlUmVzb3VyY2VcbiAgLyoqXG4gICAqIE1lc3NhZ2UgY3JlYXRlZCBieSB0aGUgaW50ZXJhY3Rpb24uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgcHJlc2VudCBpZiB0eXBlIGlzIGVpdGhlciBgQ0hBTk5FTF9NRVNTQUdFX1dJVEhfU09VUkNFYCBvciBgVVBEQVRFX01FU1NBR0VgLlxuICAgKi9cbiAgbWVzc2FnZT86IERpc2NvcmRNZXNzYWdlXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvcmVjZWl2aW5nLWFuZC1yZXNwb25kaW5nI2ludGVyYWN0aW9uLWNhbGxiYWNrLWludGVyYWN0aW9uLWNhbGxiYWNrLWFjdGl2aXR5LWluc3RhbmNlLXJlc291cmNlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBY3Rpdml0eUluc3RhbmNlUmVzb3VyY2Uge1xuICAvKiogSW5zdGFuY2UgSUQgb2YgdGhlIEFjdGl2aXR5IGlmIG9uZSB3YXMgbGF1bmNoZWQgb3Igam9pbmVkLiAqL1xuICBpZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtbWVtYmVyLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW50ZXJhY3Rpb25NZW1iZXIgZXh0ZW5kcyBEaXNjb3JkTWVtYmVyV2l0aFVzZXIge1xuICAvKiogVG90YWwgcGVybWlzc2lvbnMgb2YgdGhlIG1lbWJlciBpbiB0aGUgY2hhbm5lbCwgaW5jbHVkaW5nIG92ZXJ3cml0ZXMsIHJldHVybmVkIHdoZW4gaW4gdGhlIGludGVyYWN0aW9uIG9iamVjdCAqL1xuICBwZXJtaXNzaW9uczogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uRGF0YSB7XG4gIC8qKiBUaGUgdHlwZSBvZiBjb21wb25lbnQgKi9cbiAgY29tcG9uZW50X3R5cGU/OiBNZXNzYWdlQ29tcG9uZW50VHlwZXNcbiAgLyoqIFRoZSBjdXN0b20gaWQgcHJvdmlkZWQgZm9yIHRoaXMgY29tcG9uZW50LiAqL1xuICBjdXN0b21faWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBjb21wb25lbnRzIGlmIGl0cyBhIE1vZGFsIFN1Ym1pdCBpbnRlcmFjdGlvbi4gKi9cbiAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1xuICAvKiogVGhlIHZhbHVlcyBjaG9zZW4gYnkgdGhlIHVzZXIuICovXG4gIHZhbHVlcz86IHN0cmluZ1tdXG4gIC8qKiBUaGUgSWQgb2YgdGhlIGludm9rZWQgY29tbWFuZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgaW52b2tlZCBjb21tYW5kICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogdGhlIHR5cGUgb2YgdGhlIGludm9rZWQgY29tbWFuZCAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlc1xuICAvKiogQ29udmVydGVkIHVzZXJzICsgcm9sZXMgKyBjaGFubmVscyArIGF0dGFjaG1lbnRzICovXG4gIHJlc29sdmVkPzogRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkXG4gIC8qKiBUaGUgcGFyYW1zICsgdmFsdWVzIGZyb20gdGhlIHVzZXIgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb25bXVxuICAvKiogVGhlIHRhcmdldCBpZCBpZiB0aGlzIGlzIGEgY29udGV4dCBtZW51IGNvbW1hbmQuICovXG4gIHRhcmdldF9pZD86IHN0cmluZ1xuICAvKiogdGhlIGlkIG9mIHRoZSBndWlsZCB0aGUgY29tbWFuZCBpcyByZWdpc3RlcmVkIHRvICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkIHtcbiAgLyoqIFRoZSBJZHMgYW5kIE1lc3NhZ2Ugb2JqZWN0cyAqL1xuICBtZXNzYWdlcz86IFJlY29yZDxzdHJpbmcsIERpc2NvcmRNZXNzYWdlPlxuICAvKiogVGhlIElkcyBhbmQgVXNlciBvYmplY3RzICovXG4gIHVzZXJzPzogUmVjb3JkPHN0cmluZywgRGlzY29yZFVzZXI+XG4gIC8qKiBUaGUgSWRzIGFuZCBwYXJ0aWFsIE1lbWJlciBvYmplY3RzICovXG4gIG1lbWJlcnM/OiBSZWNvcmQ8c3RyaW5nLCBPbWl0PERpc2NvcmRJbnRlcmFjdGlvbk1lbWJlciwgJ3VzZXInIHwgJ2RlYWYnIHwgJ211dGUnPj5cbiAgLyoqIFRoZSBJZHMgYW5kIFJvbGUgb2JqZWN0cyAqL1xuICByb2xlcz86IFJlY29yZDxzdHJpbmcsIERpc2NvcmRSb2xlPlxuICAvKiogVGhlIElkcyBhbmQgcGFydGlhbCBDaGFubmVsIG9iamVjdHMgKi9cbiAgY2hhbm5lbHM/OiBSZWNvcmQ8c3RyaW5nLCBQaWNrPERpc2NvcmRDaGFubmVsLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnIHwgJ3Blcm1pc3Npb25zJz4+XG4gIC8qKiBUaGUgaWRzIGFuZCBhdHRhY2htZW50IG9iamVjdHMgKi9cbiAgYXR0YWNobWVudHM6IFJlY29yZDxzdHJpbmcsIERpc2NvcmRBdHRhY2htZW50PlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICAvKiogTmFtZSBvZiB0aGUgcGFyYW1ldGVyICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVmFsdWUgb2YgYXBwbGljYXRpb24gY29tbWFuZCBvcHRpb24gdHlwZSAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlc1xuICAvKiogVmFsdWUgb2YgdGhlIG9wdGlvbiByZXN1bHRpbmcgZnJvbSB1c2VyIGlucHV0ICovXG4gIHZhbHVlPzogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlclxuICAvKiogUHJlc2VudCBpZiB0aGlzIG9wdGlvbiBpcyBhIGdyb3VwIG9yIHN1YmNvbW1hbmQgKi9cbiAgb3B0aW9ucz86IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb25bXVxuICAvKiogYHRydWVgIGlmIHRoaXMgb3B0aW9uIGlzIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBvcHRpb24gZm9yIGF1dG9jb21wbGV0ZSAqL1xuICBmb2N1c2VkPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRMaXN0QWN0aXZlVGhyZWFkcyB7XG4gIC8qKiBUaGUgYWN0aXZlIHRocmVhZHMgKi9cbiAgdGhyZWFkczogRGlzY29yZENoYW5uZWxbXVxuICAvKiogQSB0aHJlYWQgbWVtYmVyIG9iamVjdCBmb3IgZWFjaCByZXR1cm5lZCB0aHJlYWQgdGhlIGN1cnJlbnQgdXNlciBoYXMgam9pbmVkICovXG4gIG1lbWJlcnM6IERpc2NvcmRUaHJlYWRNZW1iZXJbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRMaXN0QXJjaGl2ZWRUaHJlYWRzIGV4dGVuZHMgRGlzY29yZExpc3RBY3RpdmVUaHJlYWRzIHtcbiAgLyoqIFdoZXRoZXIgdGhlcmUgYXJlIHBvdGVudGlhbGx5IGFkZGl0aW9uYWwgdGhyZWFkcyB0aGF0IGNvdWxkIGJlIHJldHVybmVkIG9uIGEgc3Vic2VxdWVudCBjYWxsICovXG4gIGhhc19tb3JlOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZExpc3RTeW5jIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHBhcmVudCBjaGFubmVsIGlkcyB3aG9zZSB0aHJlYWRzIGFyZSBiZWluZyBzeW5jZWQuIElmIG9taXR0ZWQsIHRoZW4gdGhyZWFkcyB3ZXJlIHN5bmNlZCBmb3IgdGhlIGVudGlyZSBndWlsZC4gVGhpcyBhcnJheSBtYXkgY29udGFpbiBjaGFubmVsSWRzIHRoYXQgaGF2ZSBubyBhY3RpdmUgdGhyZWFkcyBhcyB3ZWxsLCBzbyB5b3Uga25vdyB0byBjbGVhciB0aGF0IGRhdGEgKi9cbiAgY2hhbm5lbF9pZHM/OiBzdHJpbmdbXVxuICAvKiogQWxsIGFjdGl2ZSB0aHJlYWRzIGluIHRoZSBnaXZlbiBjaGFubmVscyB0aGF0IHRoZSBjdXJyZW50IHVzZXIgY2FuIGFjY2VzcyAqL1xuICB0aHJlYWRzOiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBBbGwgdGhyZWFkIG1lbWJlciBvYmplY3RzIGZyb20gdGhlIHN5bmNlZCB0aHJlYWRzIGZvciB0aGUgY3VycmVudCB1c2VyLCBpbmRpY2F0aW5nIHdoaWNoIHRocmVhZHMgdGhlIGN1cnJlbnQgdXNlciBoYXMgYmVlbiBhZGRlZCB0byAqL1xuICBtZW1iZXJzOiBEaXNjb3JkVGhyZWFkTWVtYmVyW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hdWRpdC1sb2cjYXVkaXQtbG9nLW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXVkaXRMb2cge1xuICAvKiogTGlzdCBvZiB3ZWJob29rcyBmb3VuZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIHdlYmhvb2tzOiBEaXNjb3JkV2ViaG9va1tdXG4gIC8qKiBMaXN0IG9mIHVzZXJzIGZvdW5kIGluIHRoZSBhdWRpdCBsb2cgKi9cbiAgdXNlcnM6IERpc2NvcmRVc2VyW11cbiAgLyoqIExpc3Qgb2YgYXVkaXQgbG9nIGVudHJpZXMsIHNvcnRlZCBmcm9tIG1vc3QgdG8gbGVhc3QgcmVjZW50ICovXG4gIGF1ZGl0X2xvZ19lbnRyaWVzOiBEaXNjb3JkQXVkaXRMb2dFbnRyeVtdXG4gIC8qKiBMaXN0IG9mIHBhcnRpYWwgaW50ZWdyYXRpb24gb2JqZWN0cyAqL1xuICBpbnRlZ3JhdGlvbnM6IFBhcnRpYWw8RGlzY29yZEludGVncmF0aW9uPltdXG4gIC8qKlxuICAgKiBMaXN0IG9mIHRocmVhZHMgZm91bmQgaW4gdGhlIGF1ZGl0IGxvZy5cbiAgICogVGhyZWFkcyByZWZlcmVuY2VkIGluIGBUSFJFQURfQ1JFQVRFYCBhbmQgYFRIUkVBRF9VUERBVEVgIGV2ZW50cyBhcmUgaW5jbHVkZWQgaW4gdGhlIHRocmVhZHMgbWFwIHNpbmNlIGFyY2hpdmVkIHRocmVhZHMgbWlnaHQgbm90IGJlIGtlcHQgaW4gbWVtb3J5IGJ5IGNsaWVudHMuXG4gICAqL1xuICB0aHJlYWRzOiBEaXNjb3JkQ2hhbm5lbFtdXG4gIC8qKiBMaXN0IG9mIGd1aWxkIHNjaGVkdWxlZCBldmVudHMgZm91bmQgaW4gdGhlIGF1ZGl0IGxvZyAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnRzPzogRGlzY29yZFNjaGVkdWxlZEV2ZW50W11cbiAgLyoqIExpc3Qgb2YgYXV0byBtb2RlcmF0aW9uIHJ1bGVzIHJlZmVyZW5jZWQgaW4gdGhlIGF1ZGl0IGxvZyAqL1xuICBhdXRvX21vZGVyYXRpb25fcnVsZXM/OiBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlW11cbiAgLyoqIExpc3Qgb2YgYXBwbGljYXRpb24gY29tbWFuZHMgcmVmZXJlbmNlZCBpbiB0aGUgYXVkaXQgbG9nICovXG4gIGFwcGxpY2F0aW9uX2NvbW1hbmRzOiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9hdXRvLW1vZGVyYXRpb24jYXV0by1tb2RlcmF0aW9uLXJ1bGUtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGUge1xuICAvKiogVGhlIGlkIG9mIHRoaXMgcnVsZSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgaWQgb2YgdGhlIHJ1bGUgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIHJ1bGUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIHVzZXIgd2hvIGNyZWF0ZWQgdGhpcyBydWxlLiAqL1xuICBjcmVhdG9yX2lkOiBzdHJpbmdcbiAgLyoqIEluZGljYXRlcyBpbiB3aGF0IGV2ZW50IGNvbnRleHQgYSBydWxlIHNob3VsZCBiZSBjaGVja2VkLiAqL1xuICBldmVudF90eXBlOiBBdXRvTW9kZXJhdGlvbkV2ZW50VHlwZXNcbiAgLyoqIFRoZSB0eXBlIG9mIHRyaWdnZXIgZm9yIHRoaXMgcnVsZSAqL1xuICB0cmlnZ2VyX3R5cGU6IEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzXG4gIC8qKiBUaGUgbWV0YWRhdGEgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBhIHJ1bGUgc2hvdWxkIGJlIHRyaWdnZXJlZC4gKi9cbiAgdHJpZ2dlcl9tZXRhZGF0YTogRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YVxuICAvKiogQWN0aW9ucyB3aGljaCB3aWxsIGV4ZWN1dGUgd2hlbmV2ZXIgYSBydWxlIGlzIHRyaWdnZXJlZC4gKi9cbiAgYWN0aW9uczogRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uW11cbiAgLyoqIFdoZXRoZXIgdGhlIHJ1bGUgaXMgZW5hYmxlZC4gKi9cbiAgZW5hYmxlZDogYm9vbGVhblxuICAvKiogVGhlIHJvbGUgaWRzIHRoYXQgYXJlIHdoaXRlbGlzdGVkLiBNYXggMjAuICovXG4gIGV4ZW1wdF9yb2xlczogc3RyaW5nW11cbiAgLyoqIFRoZSBjaGFubmVsIGlkcyB0aGF0IGFyZSB3aGl0ZWxpc3RlZC4gTWF4IDUwLiAqL1xuICBleGVtcHRfY2hhbm5lbHM6IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBlbnVtIEF1dG9Nb2RlcmF0aW9uRXZlbnRUeXBlcyB7XG4gIC8qKiBXaGVuIGEgdXNlciBzZW5kcyBhIG1lc3NhZ2UgKi9cbiAgTWVzc2FnZVNlbmQgPSAxLFxuICAvKiogV2VuIGEgbWVtYmVyIGVkaXRzIHRoZWlyIHByb2ZpbGUgKi9cbiAgTWVtYmVyVXBkYXRlLFxufVxuXG5leHBvcnQgZW51bSBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcyB7XG4gIC8qKiBDaGVjayBpZiBjb250ZW50IGNvbnRhaW5zIHdvcmRzIGZyb20gYSB1c2VyIGRlZmluZWQgbGlzdCBvZiBrZXl3b3Jkcy4gTWF4IDYgcGVyIGd1aWxkICovXG4gIEtleXdvcmQgPSAxLFxuICAvKiogQ2hlY2sgaWYgY29udGVudCByZXByZXNlbnRzIGdlbmVyaWMgc3BhbS4gTWF4IDEgcGVyIGd1aWxkICovXG4gIFNwYW0gPSAzLFxuICAvKiogQ2hlY2sgaWYgY29udGVudCBjb250YWlucyB3b3JkcyBmcm9tIGludGVybmFsIHByZS1kZWZpbmVkIHdvcmQgc2V0cy4gTWF4IDEgcGVyIGd1aWxkICovXG4gIEtleXdvcmRQcmVzZXQsXG4gIC8qKiBDaGVjayBpZiBjb250ZW50IGNvbnRhaW5zIG1vcmUgdW5pcXVlIG1lbnRpb25zIHRoYW4gYWxsb3dlZC4gTWF4IDEgcGVyIGd1aWxkICovXG4gIE1lbnRpb25TcGFtLFxuICAvKiogQ2hlY2sgaWYgbWVtYmVyIHByb2ZpbGUgY29udGFpbnMgd29yZHMgZnJvbSBhIHVzZXIgZGVmaW5lZCBsaXN0IG9mIGtleXdvcmRzLiBNYXggMSBwZXIgZ3VpbGQgKi9cbiAgTWVtYmVyUHJvZmlsZSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhIHtcbiAgLyoqXG4gICAqIFRoZSBrZXl3b3JkcyBuZWVkZWQgdG8gbWF0Y2guXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgcHJlc2VudCB3aXRoIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5LZXl3b3JkfSBhbmQge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLk1lbWJlclByb2ZpbGV9LlxuICAgKlxuICAgKiBDYW4gaGF2ZSB1cCB0byAxMDAwIGVsZW1lbnRzIGluIHRoZSBhcnJheSBhbmQgZWFjaCBzdHJpbmcgY2FuIGhhdmUgdXAgdG8gNjAgY2hhcmFjdGVyc1xuICAgKi9cbiAga2V5d29yZF9maWx0ZXI/OiBzdHJpbmdbXVxuICAvKipcbiAgICogUmVndWxhciBleHByZXNzaW9uIHBhdHRlcm5zIHdoaWNoIHdpbGwgYmUgbWF0Y2hlZCBhZ2FpbnN0IGNvbnRlbnQuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgcHJlc2VudCB3aXRoIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5LZXl3b3JkfSBhbmQge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLk1lbWJlclByb2ZpbGV9LlxuICAgKlxuICAgKiBDYW4gaGF2ZSB1cCB0byAxMCBlbGVtZW50cyBpbiB0aGUgYXJyYXkgYW5kIGVhY2ggc3RyaW5nIGNhbiBoYXZlIHVwIHRvIDI2MCBjaGFyYWN0ZXJzXG4gICAqL1xuICByZWdleF9wYXR0ZXJuczogc3RyaW5nW11cbiAgLyoqXG4gICAqIFRoZSBwcmUtZGVmaW5lZCBsaXN0cyBvZiB3b3JkcyB0byBtYXRjaCBmcm9tLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHByZXNlbnQgd2l0aCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuS2V5d29yZFByZXNldH0uXG4gICAqL1xuICBwcmVzZXRzPzogRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YVByZXNldHNbXVxuICAvKipcbiAgICogVGhlIHN1YnN0cmluZ3Mgd2hpY2ggd2lsbCBleGVtcHQgZnJvbSB0cmlnZ2VyaW5nIHRoZSBwcmVzZXQgdHJpZ2dlciB0eXBlLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHByZXNlbnQgd2l0aCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuS2V5d29yZH0sIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5LZXl3b3JkUHJlc2V0fSBhbmQge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLk1lbWJlclByb2ZpbGV9LlxuICAgKlxuICAgKiBXaGVuIHVzZWQgd2l0aCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuS2V5d29yZH0gYW5kIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5NZW1iZXJQcm9maWxlfSB0aGVyZSBjYW4gaGF2ZSB1cCB0byAxMDAgZWxlbWVudHMgaW4gdGhlIGFycmF5IGFuZCBlYWNoIHN0cmluZyBjYW4gaGF2ZSB1cCB0byA2MCBjaGFyYWN0ZXJzLlxuICAgKiBXaGVuIHVzZWQgd2l0aCB7QGxpbmsgQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMuS2V5d29yZFByZXNldH0gdGhlcmUgY2FuIGhhdmUgdXAgdG8gMTAwMCBlbGVtZW50cyBpbiB0aGUgYXJyYXkgYW5kIGVhY2ggc3RyaW5nIGNhbiBoYXZlIHVwIHRvIDYwIGNoYXJhY3RlcnMuXG4gICAqL1xuICBhbGxvd19saXN0Pzogc3RyaW5nW11cbiAgLyoqXG4gICAqIFRvdGFsIG51bWJlciBvZiBtZW50aW9ucyAocm9sZSAmIHVzZXIpIGFsbG93ZWQgcGVyIG1lc3NhZ2UuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgcHJlc2VudCB3aXRoIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5NZW50aW9uU3BhbX0uXG4gICAqXG4gICAqIE1heGltdW0gb2YgNTBcbiAgICovXG4gIG1lbnRpb25fdG90YWxfbGltaXQ/OiBudW1iZXJcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBkZXRlY3QgbWVudGlvbiByYWlkcy5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSBwcmVzZW50IHdpdGgge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLk1lbnRpb25TcGFtfS5cbiAgICovXG4gIG1lbnRpb25fcmFpZF9wcm90ZWN0aW9uX2VuYWJsZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBlbnVtIERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGFQcmVzZXRzIHtcbiAgLyoqIFdvcmRzIHRoYXQgbWF5IGJlIGNvbnNpZGVyZWQgZm9ybXMgb2Ygc3dlYXJpbmcgb3IgY3Vyc2luZyAqL1xuICBQcm9mYW5pdHkgPSAxLFxuICAvKiogV29yZHMgdGhhdCByZWZlciB0byBzZXh1YWxseSBleHBsaWNpdCBiZWhhdmlvciBvciBhY3Rpdml0eSAqL1xuICBTZXh1YWxDb250ZW50LFxuICAvKiogUGVyc29uYWwgaW5zdWx0cyBvciB3b3JkcyB0aGF0IG1heSBiZSBjb25zaWRlcmVkIGhhdGUgc3BlZWNoICovXG4gIFNsdXJzLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbiB7XG4gIC8qKiBUaGUgdHlwZSBvZiBhY3Rpb24gdG8gdGFrZSB3aGVuIGEgcnVsZSBpcyB0cmlnZ2VyZWQgKi9cbiAgdHlwZTogQXV0b01vZGVyYXRpb25BY3Rpb25UeXBlXG4gIC8qKiBhZGRpdGlvbmFsIG1ldGFkYXRhIG5lZWRlZCBkdXJpbmcgZXhlY3V0aW9uIGZvciB0aGlzIHNwZWNpZmljIGFjdGlvbiB0eXBlICovXG4gIG1ldGFkYXRhOiBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YVxufVxuXG5leHBvcnQgZW51bSBBdXRvTW9kZXJhdGlvbkFjdGlvblR5cGUge1xuICAvKiogQmxvY2tzIHRoZSBjb250ZW50IG9mIGEgbWVzc2FnZSBhY2NvcmRpbmcgdG8gdGhlIHJ1bGUgKi9cbiAgQmxvY2tNZXNzYWdlID0gMSxcbiAgLyoqIExvZ3MgdXNlciBjb250ZW50IHRvIGEgc3BlY2lmaWVkIGNoYW5uZWwgKi9cbiAgU2VuZEFsZXJ0TWVzc2FnZSxcbiAgLyoqXG4gICAqIFRpbWVzIG91dCB1c2VyIGZvciBzcGVjaWZpZWQgZHVyYXRpb25cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogQSB0aW1lb3V0IGFjdGlvbiBjYW4gb25seSBiZSBzZXQgdXAgZm9yIHtAbGluayBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlcy5LZXl3b3JkfSBhbmQge0BsaW5rIEF1dG9Nb2RlcmF0aW9uVHJpZ2dlclR5cGVzLk1lbnRpb25TcGFtfSBydWxlcy5cbiAgICpcbiAgICogVGhlIGBNT0RFUkFURV9NRU1CRVJTYCBwZXJtaXNzaW9uIGlzIHJlcXVpcmVkIHRvIHVzZSB0aGUgdGltZW91dCBhY3Rpb24gdHlwZS5cbiAgICovXG4gIFRpbWVvdXQsXG4gIC8qKiBwcmV2ZW50cyBhIG1lbWJlciBmcm9tIHVzaW5nIHRleHQsIHZvaWNlLCBvciBvdGhlciBpbnRlcmFjdGlvbnMgKi9cbiAgQmxvY2tNZW1iZXJJbnRlcmFjdGlvbixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSB7XG4gIC8qKiBUaGUgaWQgb2YgY2hhbm5lbCB0byB3aGljaCB1c2VyIGNvbnRlbnQgc2hvdWxkIGJlIGxvZ2dlZC4gT25seSBpbiBBY3Rpb25UeXBlLlNlbmRBbGVydE1lc3NhZ2UgKi9cbiAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAvKiogQWRkaXRpb25hbCBleHBsYW5hdGlvbiB0aGF0IHdpbGwgYmUgc2hvd24gdG8gbWVtYmVycyB3aGVuZXZlciB0aGVpciBtZXNzYWdlIGlzIGJsb2NrZWQuIE1heGltdW0gb2YgMTUwIGNoYXJhY3RlcnMuIE9ubHkgc3VwcG9ydGVkIGZvciBBdXRvTW9kZXJhdGlvbkFjdGlvblR5cGUuQmxvY2tNZXNzYWdlICovXG4gIGN1c3RvbV9tZXNzYWdlPzogc3RyaW5nXG4gIC8qKiBUaW1lb3V0IGR1cmF0aW9uIGluIHNlY29uZHMgbWF4aW11bSBvZiAyNDE5MjAwIHNlY29uZHMgKDQgd2Vla3MpLiBPbmx5IHN1cHBvcnRlZCBmb3IgVHJpZ2dlclR5cGUuS2V5d29yZCAmJiBPbmx5IGluIEFjdGlvblR5cGUuVGltZW91dCAqL1xuICBkdXJhdGlvbl9zZWNvbmRzPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheS1ldmVudHMjYXV0by1tb2RlcmF0aW9uLWFjdGlvbi1leGVjdXRpb24tYXV0by1tb2RlcmF0aW9uLWFjdGlvbi1leGVjdXRpb24tZXZlbnQtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbiB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgcnVsZSB0aGF0IHdhcyBleGVjdXRlZCAqL1xuICBydWxlX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlciB3aGljaCBnZW5lcmF0ZWQgdGhlIGNvbnRlbnQgd2hpY2ggdHJpZ2dlcmVkIHRoZSBydWxlICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGNvbnRlbnQgZnJvbSB0aGUgdXNlciAqL1xuICBjb250ZW50OiBzdHJpbmdcbiAgLyoqIEFjdGlvbiB3aGljaCB3YXMgZXhlY3V0ZWQgKi9cbiAgYWN0aW9uOiBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25cbiAgLyoqIFRoZSB0cmlnZ2VyIHR5cGUgb2YgdGhlIHJ1bGUgdGhhdCB3YXMgZXhlY3V0ZWQuICovXG4gIHJ1bGVfdHJpZ2dlcl90eXBlOiBBdXRvTW9kZXJhdGlvblRyaWdnZXJUeXBlc1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIGluIHdoaWNoIHVzZXIgY29udGVudCB3YXMgcG9zdGVkICovXG4gIGNoYW5uZWxfaWQ/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBUaGUgaWQgb2YgdGhlIG1lc3NhZ2UuIFdpbGwgbm90IGV4aXN0IGlmIG1lc3NhZ2Ugd2FzIGJsb2NrZWQgYnkgYXV0b21vZCBvciBjb250ZW50IHdhcyBub3QgcGFydCBvZiBhbnkgbWVzc2FnZSAqL1xuICBtZXNzYWdlX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGlkIG9mIGFueSBzeXN0ZW0gYXV0byBtb2RlcmF0aW9uIG1lc3NhZ2VzIHBvc3RlZCBhcyBhIHJlc3VsdCBvZiB0aGlzIGFjdGlvbiAqL1xuICBhbGVydF9zeXN0ZW1fbWVzc2FnZV9pZD86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB3b3JkIG9yIHBocmFzZSB0aGF0IHRyaWdnZXJyZWQgdGhlIHJ1bGUuICovXG4gIG1hdGNoZWRfa2V5d29yZDogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIHN1YnN0cmluZyBpbiBjb250ZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBydWxlICovXG4gIG1hdGNoZWRfY29udGVudDogc3RyaW5nIHwgbnVsbFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctZW50cnktb2JqZWN0LWF1ZGl0LWxvZy1lbnRyeS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEF1ZGl0TG9nRW50cnkge1xuICAvKiogSUQgb2YgdGhlIGFmZmVjdGVkIGVudGl0eSAod2ViaG9vaywgdXNlciwgcm9sZSwgZXRjLikgKi9cbiAgdGFyZ2V0X2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBDaGFuZ2VzIG1hZGUgdG8gdGhlIGB0YXJnZXRfaWRgICovXG4gIGNoYW5nZXM/OiBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VbXVxuICAvKiogVXNlciBvciBhcHAgdGhhdCBtYWRlIHRoZSBjaGFuZ2VzICovXG4gIHVzZXJfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIElEIG9mIHRoZSBlbnRyeSAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUeXBlIG9mIGFjdGlvbiB0aGF0IG9jY3VycmVkICovXG4gIGFjdGlvbl90eXBlOiBBdWRpdExvZ0V2ZW50c1xuICAvKiogQWRkaXRpb25hbCBpbmZvIGZvciBjZXJ0YWluIGV2ZW50IHR5cGVzICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkT3B0aW9uYWxBdWRpdEVudHJ5SW5mb1xuICAvKiogUmVhc29uIGZvciB0aGUgY2hhbmdlICgxLTUxMiBjaGFyYWN0ZXJzKSAqL1xuICByZWFzb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXToge1xuICAgIG5ld192YWx1ZT86IFRbS11cbiAgICBvbGRfdmFsdWU/OiBUW0tdXG4gICAga2V5OiBLXG4gIH1cbn1ba2V5b2YgVF1cblxuLy8gRG9uZSBtYW51YWxseSBhcyBpdCBpcyBjbGVhcmVyIGluIHRoaXMgd2F5XG4vKiogUGFydGlhbCByb2xlIGF1ZGl0IGxvZyBlbnRyeSBjaGFuZ2UgZXhjZXB0aW9uICovXG5leHBvcnQgdHlwZSBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VQYXJ0aWFsUm9sZSA9IHsgbmV3X3ZhbHVlOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9W107IGtleTogJyRhZGQnIHwgJyRyZW1vdmUnIH1cblxuLyoqXG4gKiBJbnZpdGUgYXVkaXQgbG9nIGVudHJ5IGNoYW5nZSBleGNlcHRpb25cbiAqXG4gKiBAcmVtYXJrc1xuICogV2hpbGUgdGhlIGRvY3Mgc2F5IHRoYXQgJ2NoYW5uZWwuaWQnIHdpbGwgbmV2ZXIgZXhpc3QsIHdlIGtlZXAgaXQgYXMgaXQgaXMgdmVyeSBjb21wbGV4IHRvIHJlbW92ZSwgdGhlIHVzZXIgc2hvdWxkIG5vdCB1c2UgaXQgYW5kIHVzZSB0aGUgcHJvdmlkZWQgJ2NoYW5uZWxfaWQnIHZhbHVlIGluc3RlYWRcbiAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlSW52aXRlID0gRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PERpc2NvcmRJbnZpdGU+IHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PHsgY2hhbm5lbF9pZDogc3RyaW5nIH0+XG5cbi8qKlxuICogSW52aXRlIE1ldGFkYXRhIGF1ZGl0IGxvZyBlbnRyeSBjaGFuZ2UgZXhjZXB0aW9uXG4gKlxuICogQHJlbWFya3NcbiAqIFdoaWxlIHRoZSBkb2NzIHNheSB0aGF0ICdjaGFubmVsLmlkJyB3aWxsIG5ldmVyIGV4aXN0LCB3ZSBrZWVwIGl0IGFzIGl0IGlzIHZlcnkgY29tcGxleCB0byByZW1vdmUsIHRoZSB1c2VyIHNob3VsZCBub3QgdXNlIGl0IGFuZCB1c2UgdGhlIHByb3ZpZGVkICdjaGFubmVsX2lkJyB2YWx1ZSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCB0eXBlIERpc2NvcmRBdWRpdExvZ0NoYW5nZUludml0ZU1ldGFkYXRhID1cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8RGlzY29yZEludml0ZU1ldGFkYXRhPlxuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDx7IGNoYW5uZWxfaWQ6IHN0cmluZyB9PlxuXG4vKiogV2ViaG9vayBhdWRpdCBsb2cgZW50cnkgY2hhbmdlIGV4Y2VwdGlvbiAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlV2ViaG9vayA9XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PE9taXQ8RGlzY29yZFdlYmhvb2ssICdhdmF0YXInPj5cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8eyBhdmF0YXJfaGFzaDogRGlzY29yZFdlYmhvb2tbJ2F2YXRhciddIH0+XG5cbi8vIERvbmUgbWFudWFsbHkgYXMgaXQgaXMgY2xlYXJlciBpbiB0aGlzIHdheVxuLyoqIENvbW1hbmQgUGVybWlzc2lvbiBhdWRpdCBsb2cgZW50cnkgY2hhbmdlIGV4Y2VwdGlvbiAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMgPSB7XG4gIG5ld192YWx1ZT86IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1xuICBvbGRfdmFsdWU/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNcbiAga2V5OiBgJHtudW1iZXJ9YFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2F1ZGl0LWxvZyNhdWRpdC1sb2ctY2hhbmdlLW9iamVjdC1hdWRpdC1sb2ctY2hhbmdlLXN0cnVjdHVyZSAqL1xuZXhwb3J0IHR5cGUgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlID1cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8RGlzY29yZEd1aWxkPlxuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDxEaXNjb3JkQ2hhbm5lbD5cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8RGlzY29yZE92ZXJ3cml0ZT5cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8RGlzY29yZE1lbWJlcj5cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VQYXJ0aWFsUm9sZVxuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDxEaXNjb3JkUm9sZT5cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VJbnZpdGVcbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VJbnZpdGVNZXRhZGF0YVxuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZVdlYmhvb2tcbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8RGlzY29yZEVtb2ppPlxuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDxEaXNjb3JkSW50ZWdyYXRpb24+XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PERpc2NvcmRTdGFnZUluc3RhbmNlPlxuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZU9iamVjdDxEaXNjb3JkU3RpY2tlcj5cbiAgfCBEaXNjb3JkQXVkaXRMb2dDaGFuZ2VPYmplY3Q8RGlzY29yZFRocmVhZE1ldGFkYXRhPlxuICB8IERpc2NvcmRBdWRpdExvZ0NoYW5nZUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zXG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGU+XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHQ+XG4gIHwgRGlzY29yZEF1ZGl0TG9nQ2hhbmdlT2JqZWN0PERpc2NvcmRHdWlsZE9uYm9hcmRpbmc+XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvYXVkaXQtbG9nI2F1ZGl0LWxvZy1lbnRyeS1vYmplY3Qtb3B0aW9uYWwtYXVkaXQtZW50cnktaW5mbyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkT3B0aW9uYWxBdWRpdEVudHJ5SW5mbyB7XG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgYXBwIHdob3NlIHBlcm1pc3Npb25zIHdlcmUgdGFyZ2V0ZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQVBQTElDQVRJT05fQ09NTUFORF9QRVJNSVNTSU9OX1VQREFURWBcbiAgICovXG4gIGFwcGxpY2F0aW9uX2lkPzogc3RyaW5nXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBBdXRvIE1vZGVyYXRpb24gcnVsZSB0aGF0IHdhcyB0cmlnZ2VyZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQVVUT19NT0RFUkFUSU9OX0JMT0NLX01FU1NBR0VgLCBgQVVUT19NT0RFUkFUSU9OX0ZMQUdfVE9fQ0hBTk5FTGAsIGBBVVRPX01PREVSQVRJT05fVVNFUl9DT01NVU5JQ0FUSU9OX0RJU0FCTEVEYFxuICAgKi9cbiAgYXV0b19tb2RlcmF0aW9uX3J1bGVfbmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogVHJpZ2dlciB0eXBlIG9mIHRoZSBBdXRvIE1vZGVyYXRpb24gcnVsZSB0aGF0IHdhcyB0cmlnZ2VyZWQuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQVVUT19NT0RFUkFUSU9OX0JMT0NLX01FU1NBR0VgLCBgQVVUT19NT0RFUkFUSU9OX0ZMQUdfVE9fQ0hBTk5FTGAsIGBBVVRPX01PREVSQVRJT05fVVNFUl9DT01NVU5JQ0FUSU9OX0RJU0FCTEVEYFxuICAgKi9cbiAgYXV0b19tb2RlcmF0aW9uX3J1bGVfdHJpZ2dlcl90eXBlPzogc3RyaW5nXG4gIC8qKlxuICAgKiBDaGFubmVsIGluIHdoaWNoIHRoZSBlbnRpdGllcyB3ZXJlIHRhcmdldGVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FTUJFUl9NT1ZFYCwgYE1FU1NBR0VfUElOYCwgYE1FU1NBR0VfVU5QSU5gLCBgTUVTU0FHRV9ERUxFVEVgLCBgU1RBR0VfSU5TVEFOQ0VfQ1JFQVRFYCwgYFNUQUdFX0lOU1RBTkNFX1VQREFURWAsIGBTVEFHRV9JTlNUQU5DRV9ERUxFVEVgXG4gICAqL1xuICBjaGFubmVsX2lkPzogc3RyaW5nXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZW50aXRpZXMgdGhhdCB3ZXJlIHRhcmdldGVkLlxuICAgKlxuICAgKiBFdmVudCB0eXBlczogYE1FU1NBR0VfREVMRVRFYCwgYE1FU1NBR0VfQlVMS19ERUxFVEVgLCBgTUVNQkVSX0RJU0NPTk5FQ1RgLCBgTUVNQkVSX01PVkVgXG4gICAqL1xuICBjb3VudD86IHN0cmluZ1xuICAvKipcbiAgICogTnVtYmVyIG9mIGRheXMgYWZ0ZXIgd2hpY2ggaW5hY3RpdmUgbWVtYmVycyB3ZXJlIGtpY2tlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRU1CRVJfUFJVTkVgXG4gICAqL1xuICBkZWxldGVfbWVtYmVyX2RheXM/OiBzdHJpbmdcbiAgLyoqXG4gICAqIElEIG9mIHRoZSBvdmVyd3JpdHRlbiBlbnRpdHkuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgQ0hBTk5FTF9PVkVSV1JJVEVfQ1JFQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX1VQREFURWAsIGBDSEFOTkVMX09WRVJXUklURV9ERUxFVEVgXG4gICAqL1xuICBpZD86IHN0cmluZ1xuICAvKipcbiAgICogTnVtYmVyIG9mIG1lbWJlcnMgcmVtb3ZlZCBieSB0aGUgcHJ1bmUuXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVNQkVSX1BSVU5FYFxuICAgKi9cbiAgbWVtYmVyc19yZW1vdmVkPzogc3RyaW5nXG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgbWVzc2FnZSB0aGF0IHdhcyB0YXJnZXRlZC5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBNRVNTQUdFX1BJTmAsIGBNRVNTQUdFX1VOUElOYCwgYFNUQUdFX0lOU1RBTkNFX0NSRUFURWAsIGBTVEFHRV9JTlNUQU5DRV9VUERBVEVgLCBgU1RBR0VfSU5TVEFOQ0VfREVMRVRFYFxuICAgKi9cbiAgbWVzc2FnZV9pZD86IHN0cmluZ1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgcm9sZSBpZiB0eXBlIGlzIFwiMFwiIChub3QgcHJlc2VudCBpZiB0eXBlIGlzIFwiMVwiKS5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBDSEFOTkVMX09WRVJXUklURV9DUkVBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfVVBEQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX0RFTEVURWBcbiAgICovXG4gIHJvbGVfbmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogVHlwZSBvZiBvdmVyd3JpdHRlbiBlbnRpdHkgLSBcIjBcIiwgZm9yIFwicm9sZVwiLCBvciBcIjFcIiBmb3IgXCJtZW1iZXJcIi5cbiAgICpcbiAgICogRXZlbnQgdHlwZXM6IGBDSEFOTkVMX09WRVJXUklURV9DUkVBVEVgLCBgQ0hBTk5FTF9PVkVSV1JJVEVfVVBEQVRFYCwgYENIQU5ORUxfT1ZFUldSSVRFX0RFTEVURWBcbiAgICovXG4gIHR5cGU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGludGVncmF0aW9uIHdoaWNoIHBlcmZvcm1lZCB0aGUgYWN0aW9uXG4gICAqXG4gICAqIEV2ZW50IHR5cGVzOiBgTUVNQkVSX0tJQ0tgLCBgTUVNQkVSX1JPTEVfVVBEQVRFYFxuICAgKi9cbiAgaW50ZWdyYXRpb25fdHlwZT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudCB7XG4gIC8qKiB0aGUgaWQgb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiB0aGUgZ3VpbGQgaWQgd2hpY2ggdGhlIHNjaGVkdWxlZCBldmVudCBiZWxvbmdzIHRvICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIHRoZSBjaGFubmVsIGlkIGluIHdoaWNoIHRoZSBzY2hlZHVsZWQgZXZlbnQgd2lsbCBiZSBob3N0ZWQgaWYgc3BlY2lmaWVkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIHRoZSBpZCBvZiB0aGUgdXNlciB0aGF0IGNyZWF0ZWQgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBjcmVhdG9yX2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIG5hbWUgb2YgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIC8qKiB0aGUgdGltZSB0aGUgc2NoZWR1bGVkIGV2ZW50IHdpbGwgc3RhcnQgKi9cbiAgc2NoZWR1bGVkX3N0YXJ0X3RpbWU6IHN0cmluZ1xuICAvKiogdGhlIHRpbWUgdGhlIHNjaGVkdWxlZCBldmVudCB3aWxsIGVuZCBpZiBpdCBkb2VzIGVuZC4gKi9cbiAgc2NoZWR1bGVkX2VuZF90aW1lOiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgcHJpdmFjeSBsZXZlbCBvZiB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIHByaXZhY3lfbGV2ZWw6IFNjaGVkdWxlZEV2ZW50UHJpdmFjeUxldmVsXG4gIC8qKiB0aGUgc3RhdHVzIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgc3RhdHVzOiBTY2hlZHVsZWRFdmVudFN0YXR1c1xuICAvKiogdGhlIHR5cGUgb2YgaG9zdGluZyBlbnRpdHkgYXNzb2NpYXRlZCB3aXRoIGEgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGVudGl0eV90eXBlOiBTY2hlZHVsZWRFdmVudEVudGl0eVR5cGVcbiAgLyoqIGFueSBhZGRpdGlvbmFsIGlkIG9mIHRoZSBob3N0aW5nIGVudGl0eSBhc3NvY2lhdGVkIHdpdGggZXZlbnQgKi9cbiAgZW50aXR5X2lkOiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgZW50aXR5IG1ldGFkYXRhIGZvciB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIGVudGl0eV9tZXRhZGF0YTogRGlzY29yZFNjaGVkdWxlZEV2ZW50RW50aXR5TWV0YWRhdGEgfCBudWxsXG4gIC8qKiB0aGUgdXNlciB0aGF0IGNyZWF0ZWQgdGhlIHNjaGVkdWxlZCBldmVudCAqL1xuICBjcmVhdG9yPzogRGlzY29yZFVzZXJcbiAgLyoqIHRoZSBudW1iZXIgb2YgdXNlcnMgc3Vic2NyaWJlZCB0byB0aGUgc2NoZWR1bGVkIGV2ZW50ICovXG4gIHVzZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIHRoZSBjb3ZlciBpbWFnZSBoYXNoIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgKi9cbiAgaW1hZ2U/OiBzdHJpbmcgfCBudWxsXG4gIC8qKiB0aGUgZGVmaW5pdGlvbiBmb3IgaG93IG9mdGVuIHRoaXMgZXZlbnQgc2hvdWxkIHJlY3VyICovXG4gIHJlY3VycmVuY2VfcnVsZTogRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNjaGVkdWxlZEV2ZW50RW50aXR5TWV0YWRhdGEge1xuICAvKiogbG9jYXRpb24gb2YgdGhlIGV2ZW50ICovXG4gIGxvY2F0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUge1xuICAvKiogU3RhcnRpbmcgdGltZSBvZiB0aGUgcmVjdXJyZW5jZSBpbnRlcnZhbCAqL1xuICBzdGFydDogc3RyaW5nXG4gIC8qKiBFbmRpbmcgdGltZSBvZiB0aGUgcmVjdXJyZW5jZSBpbnRlcnZhbCAqL1xuICBlbmQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIEhvdyBvZnRlbiB0aGUgZXZlbnQgb2NjdXJzICovXG4gIGZyZXF1ZW5jeTogRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGVGcmVxdWVuY3lcbiAgLyoqIFRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGV2ZW50cywgZGVmaW5lZCBieSBgZnJlcXVlbmN5YC4gRm9yIGV4YW1wbGUsIGBmcmVxdWVuY3lgIG9mIGBXZWVrbHlgIGFuZCBhbiBgaW50ZXJ2YWxgIG9mIGAyYCB3b3VsZCBiZSBcImV2ZXJ5LW90aGVyIHdlZWtcIiAqL1xuICBpbnRlcnZhbDogbnVtYmVyXG4gIC8qKiBTZXQgb2Ygc3BlY2lmaWMgZGF5cyB3aXRoaW4gYSB3ZWVrIGZvciB0aGUgZXZlbnQgdG8gcmVjdXIgb24gKi9cbiAgYnlfd2Vla2RheTogRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGVXZWVrZGF5W10gfCBudWxsXG4gIC8qKiBMaXN0IG9mIHNwZWNpZmljIGRheXMgd2l0aGluIGEgc3BlY2lmaWMgd2VlayAoMS01KSB0byByZWN1ciBvbiAqL1xuICBieV9uX3dlZWtkYXk6IERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlTldlZWtkYXlbXSB8IG51bGxcbiAgLyoqIFNldCBvZiBzcGVjaWZpYyBtb250aHMgdG8gcmVjdXIgb24gKi9cbiAgYnlfbW9udGg6IERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlTW9udGhbXSB8IG51bGxcbiAgLyoqIFNldCBvZiBzcGVjaWZpYyBkYXRlcyB3aXRoaW4gYSBtb250aCB0byByZWN1ciBvbiAqL1xuICBieV9tb250aF9kYXk6IG51bWJlcltdIHwgbnVsbFxuICAvKiogU2V0IG9mIGRheXMgd2l0aGluIGEgeWVhciB0byByZWN1ciBvbiAoMS0zNjQpICovXG4gIGJ5X3llYXJfZGF5OiBudW1iZXJbXSB8IG51bGxcbiAgLyoqIFRoZSB0b3RhbCBhbW91bnQgb2YgdGltZXMgdGhhdCB0aGUgZXZlbnQgaXMgYWxsb3dlZCB0byByZWN1ciBiZWZvcmUgc3RvcHBpbmcgKi9cbiAgY291bnQ6IG51bWJlciB8IG51bGxcbn1cblxuZXhwb3J0IGVudW0gRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGVGcmVxdWVuY3kge1xuICBZZWFybHksXG4gIE1vbnRobHksXG4gIFdlZWtseSxcbiAgRGFpbHksXG59XG5cbmV4cG9ydCBlbnVtIERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlV2Vla2RheSB7XG4gIE1vbmRheSxcbiAgVHVlc2RheSxcbiAgV2VkbmVzZGF5LFxuICBUaHVyc2RheSxcbiAgRnJpZGF5LFxuICBTYXR1cmRheSxcbiAgU3VuZGF5LFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlTldlZWtkYXkge1xuICAvKiogVGhlIHdlZWsgdG8gcmVvY2N1ciBvbi4gMSAtIDUgKi9cbiAgbjogbnVtYmVyXG4gIC8qKiBUaGUgZGF5IHdpdGhpbiB0aGUgd2VlayB0byByZW9jY3VyIG9uICovXG4gIGRheTogRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGVXZWVrZGF5XG59XG5cbmV4cG9ydCBlbnVtIERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlTW9udGgge1xuICBKYW51YXJ5ID0gMSxcbiAgRmVicnVhcnksXG4gIE1hcmNoLFxuICBBcHJpbCxcbiAgTWF5LFxuICBKdW5lLFxuICBKdWx5LFxuICBBdWd1c3QsXG4gIFNlcHRlbWJlcixcbiAgT2N0b2JlcixcbiAgTm92ZW1iZXIsXG4gIERlY2VtYmVyLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjZ2V0LWdhdGV3YXktYm90ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHZXRHYXRld2F5Qm90IHtcbiAgLyoqIFRoZSBXU1MgVVJMIHRoYXQgY2FuIGJlIHVzZWQgZm9yIGNvbm5lY3RpbmcgdG8gdGhlIGdhdGV3YXkgKi9cbiAgdXJsOiBzdHJpbmdcbiAgLyoqIFRoZSByZWNvbW1lbmRlZCBudW1iZXIgb2Ygc2hhcmRzIHRvIHVzZSB3aGVuIGNvbm5lY3RpbmcgKi9cbiAgc2hhcmRzOiBudW1iZXJcbiAgLyoqIEluZm9ybWF0aW9uIG9uIHRoZSBjdXJyZW50IHNlc3Npb24gc3RhcnQgbGltaXQgKi9cbiAgc2Vzc2lvbl9zdGFydF9saW1pdDogRGlzY29yZFNlc3Npb25TdGFydExpbWl0XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNzZXNzaW9uLXN0YXJ0LWxpbWl0LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU2Vzc2lvblN0YXJ0TGltaXQge1xuICAvKiogVGhlIHRvdGFsIG51bWJlciBvZiBzZXNzaW9uIHN0YXJ0cyB0aGUgY3VycmVudCB1c2VyIGlzIGFsbG93ZWQgKi9cbiAgdG90YWw6IG51bWJlclxuICAvKiogVGhlIHJlbWFpbmluZyBudW1iZXIgb2Ygc2Vzc2lvbiBzdGFydHMgdGhlIGN1cnJlbnQgdXNlciBpcyBhbGxvd2VkICovXG4gIHJlbWFpbmluZzogbnVtYmVyXG4gIC8qKiBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgbGltaXQgcmVzZXRzICovXG4gIHJlc2V0X2FmdGVyOiBudW1iZXJcbiAgLyoqIFRoZSBudW1iZXIgb2YgaWRlbnRpZnkgcmVxdWVzdHMgYWxsb3dlZCBwZXIgNSBzZWNvbmRzICovXG4gIG1heF9jb25jdXJyZW5jeTogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvaW52aXRlI2ludml0ZS1tZXRhZGF0YS1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEludml0ZU1ldGFkYXRhIGV4dGVuZHMgRGlzY29yZEludml0ZSB7XG4gIC8qKiBOdW1iZXIgb2YgdGltZXMgdGhpcyBpbnZpdGUgaGFzIGJlZW4gdXNlZCAqL1xuICB1c2VzOiBudW1iZXJcbiAgLyoqIE1heCBudW1iZXIgb2YgdGltZXMgdGhpcyBpbnZpdGUgY2FuIGJlIHVzZWQgKi9cbiAgbWF4X3VzZXM6IG51bWJlclxuICAvKiogRHVyYXRpb24gKGluIHNlY29uZHMpIGFmdGVyIHdoaWNoIHRoZSBpbnZpdGUgZXhwaXJlcyAqL1xuICBtYXhfYWdlOiBudW1iZXJcbiAgLyoqIFdoZXRoZXIgdGhpcyBpbnZpdGUgb25seSBncmFudHMgdGVtcG9yYXJ5IG1lbWJlcnNoaXAgKi9cbiAgdGVtcG9yYXJ5OiBib29sZWFuXG4gIC8qKiBXaGVuIHRoaXMgaW52aXRlIHdhcyBjcmVhdGVkICovXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2ludml0ZSNpbnZpdGUtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGUge1xuICAvKiogVGhlIHR5cGUgb2YgaW52aXRlICovXG4gIHR5cGU6IERpc2NvcmRJbnZpdGVUeXBlXG4gIC8qKiBUaGUgaW52aXRlIGNvZGUgKHVuaXF1ZSBJZCkgKi9cbiAgY29kZTogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIGd1aWxkPzogUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gIC8qKiBUaGUgY2hhbm5lbCB0aGlzIGludml0ZSBpcyBmb3IgKi9cbiAgY2hhbm5lbDogUGFydGlhbDxEaXNjb3JkQ2hhbm5lbD4gfCBudWxsXG4gIC8qKiBUaGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgaW52aXRlICovXG4gIGludml0ZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIHR5cGUgb2YgdGFyZ2V0IGZvciB0aGlzIHZvaWNlIGNoYW5uZWwgaW52aXRlICovXG4gIHRhcmdldF90eXBlPzogVGFyZ2V0VHlwZXNcbiAgLyoqIFRoZSB0YXJnZXQgdXNlciBmb3IgdGhpcyBpbnZpdGUgKi9cbiAgdGFyZ2V0X3VzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGVtYmVkZGVkIGFwcGxpY2F0aW9uIHRvIG9wZW4gZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBlbWJlZGRlZCBhcHBsaWNhdGlvbiBpbnZpdGUgKi9cbiAgdGFyZ2V0X2FwcGxpY2F0aW9uPzogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+XG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiBvbmxpbmUgbWVtYmVycyAob25seSBwcmVzZW50IHdoZW4gdGFyZ2V0X3VzZXIgaXMgc2V0KSAqL1xuICBhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudD86IG51bWJlclxuICAvKiogQXBwcm94aW1hdGUgY291bnQgb2YgdG90YWwgbWVtYmVycyAqL1xuICBhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQ/OiBudW1iZXJcbiAgLyoqIFRoZSBleHBpcmF0aW9uIGRhdGUgb2YgdGhpcyBpbnZpdGUsIHJldHVybmVkIGZyb20gdGhlIGBHRVQgL2ludml0ZXMvPGNvZGU+YCBlbmRwb2ludCB3aGVuIGB3aXRoX2V4cGlyYXRpb25gIGlzIGB0cnVlYCAqL1xuICBleHBpcmVzX2F0Pzogc3RyaW5nIHwgbnVsbFxuICAvKiogU3RhZ2UgaW5zdGFuY2UgZGF0YSBpZiB0aGVyZSBpcyBhIHB1YmxpYyBTdGFnZSBpbnN0YW5jZSBpbiB0aGUgU3RhZ2UgY2hhbm5lbCB0aGlzIGludml0ZSBpcyBmb3IgKi9cbiAgc3RhZ2VfaW5zdGFuY2U/OiBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZVxuICAvKiogZ3VpbGQgc2NoZWR1bGVkIGV2ZW50IGRhdGEgKi9cbiAgZ3VpbGRfc2NoZWR1bGVkX2V2ZW50PzogRGlzY29yZFNjaGVkdWxlZEV2ZW50XG59XG5cbmV4cG9ydCBlbnVtIERpc2NvcmRJbnZpdGVUeXBlIHtcbiAgR3VpbGQsXG4gIEdyb3VwRG0sXG4gIEZyaWVuZCxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZSB7XG4gIC8qKiBUaGUgbWVtYmVycyBzcGVha2luZyBpbiB0aGUgU3RhZ2UgKi9cbiAgbWVtYmVyczogUGFydGlhbDxEaXNjb3JkTWVtYmVyPltdXG4gIC8qKiBUaGUgbnVtYmVyIG9mIHVzZXJzIGluIHRoZSBTdGFnZSAqL1xuICBwYXJ0aWNpcGFudF9jb3VudDogbnVtYmVyXG4gIC8qKiBUaGUgbnVtYmVyIG9mIHVzZXJzIHNwZWFraW5nIGluIHRoZSBTdGFnZSAqL1xuICBzcGVha2VyX2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSB0b3BpYyBvZiB0aGUgU3RhZ2UgaW5zdGFuY2UgKDEtMTIwIGNoYXJhY3RlcnMpICovXG4gIHRvcGljOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2ludGVyYWN0aW9ucy9hcHBsaWNhdGlvbi1jb21tYW5kcyNhcHBsaWNhdGlvbi1jb21tYW5kLW9iamVjdC1hcHBsaWNhdGlvbi1jb21tYW5kLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kIGV4dGVuZHMgRGlzY29yZENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCB7XG4gIC8qKiBVbmlxdWUgSUQgb2YgY29tbWFuZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgcGFyZW50IGFwcGxpY2F0aW9uICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIEd1aWxkIGlkIG9mIHRoZSBjb21tYW5kLCBpZiBub3QgZ2xvYmFsICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCB7XG4gIC8qKiBUeXBlIG9mIGNvbW1hbmQsIGRlZmF1bHRzIHRvIGBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5DaGF0SW5wdXRgICovXG4gIHR5cGU/OiBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlc1xuICAvKipcbiAgICogTmFtZSBvZiBjb21tYW5kLCAxLTMyIGNoYXJhY3RlcnMuXG4gICAqIGBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5DaGF0SW5wdXRgIGNvbW1hbmQgbmFtZXMgbXVzdCBtYXRjaCB0aGUgZm9sbG93aW5nIHJlZ2V4IGBeWy1fXFxwe0x9XFxwe059XFxwe3NjPURldmF9XFxwe3NjPVRoYWl9XXsxLDMyfSRgIHdpdGggdGhlIHVuaWNvZGUgZmxhZyBzZXQuXG4gICAqIElmIHRoZXJlIGlzIGEgbG93ZXJjYXNlIHZhcmlhbnQgb2YgYW55IGxldHRlcnMgdXNlZCwgeW91IG11c3QgdXNlIHRob3NlLlxuICAgKiBDaGFyYWN0ZXJzIHdpdGggbm8gbG93ZXJjYXNlIHZhcmlhbnRzIGFuZC9vciB1bmNhc2VkIGxldHRlcnMgYXJlIHN0aWxsIGFsbG93ZWQuXG4gICAqIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLlVzZXJgIGFuZCBgQXBwbGljYXRpb25Db21tYW5kVHlwZXMuTWVzc2FnZWAgY29tbWFuZHMgbWF5IGJlIG1peGVkIGNhc2UgYW5kIGNhbiBpbmNsdWRlIHNwYWNlcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogTG9jYWxpemF0aW9uIG9iamVjdCBmb3IgYG5hbWVgIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgbmFtZWAgKi9cbiAgbmFtZV9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKiogRGVzY3JpcHRpb24gZm9yIGBBcHBsaWNhdGlvbkNvbW1hbmRUeXBlcy5DaGF0SW5wdXRgIGNvbW1hbmRzLCAxLTEwMCBjaGFyYWN0ZXJzLiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAvKiogTG9jYWxpemF0aW9uIG9iamVjdCBmb3IgYGRlc2NyaXB0aW9uYCBmaWVsZC4gVmFsdWVzIGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgYGRlc2NyaXB0aW9uYCAqL1xuICBkZXNjcmlwdGlvbl9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKiogUGFyYW1ldGVycyBmb3IgdGhlIGNvbW1hbmQsIG1heCBvZiAyNSAqL1xuICBvcHRpb25zPzogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbltdXG4gIC8qKiBTZXQgb2YgcGVybWlzc2lvbnMgcmVwcmVzZW50ZWQgYXMgYSBiaXQgc2V0ICovXG4gIGRlZmF1bHRfbWVtYmVyX3Blcm1pc3Npb25zPzogc3RyaW5nIHwgbnVsbFxuICAvKipcbiAgICogSW5zdGFsbGF0aW9uIGNvbnRleHRzIHdoZXJlIHRoZSBjb21tYW5kIGlzIGF2YWlsYWJsZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHZhbHVlIGlzIGF2YWlsYWJsZSBvbmx5IGZvciBnbG9iYWxseS1zY29wZWQgY29tbWFuZHNcbiAgICogRGVmYXVsdHMgdG8gdGhlIGFwcGxpY2F0aW9uIGNvbmZpZ3VyZWQgY29udGV4dHNcbiAgICovXG4gIGludGVncmF0aW9uX3R5cGVzPzogRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlW11cbiAgLyoqXG4gICAqIEludGVyYWN0aW9uIGNvbnRleHQocykgd2hlcmUgdGhlIGNvbW1hbmQgY2FuIGJlIHVzZWRcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB2YWx1ZSBpcyBhdmFpbGFibGUgb25seSBmb3IgZ2xvYmFsbHktc2NvcGVkIGNvbW1hbmRzXG4gICAqIEJ5IGRlZmF1bHQsIGFsbCBpbnRlcmFjdGlvbiBjb250ZXh0IHR5cGVzIGluY2x1ZGVkIGZvciBuZXcgY29tbWFuZHMuXG4gICAqL1xuICBjb250ZXh0cz86IERpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlW10gfCBudWxsXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29tbWFuZCBpcyBhdmFpbGFibGUgaW4gRE1zIHdpdGggdGhlIGFwcCwgb25seSBmb3IgZ2xvYmFsbHktc2NvcGVkIGNvbW1hbmRzLiBCeSBkZWZhdWx0LCBjb21tYW5kcyBhcmUgdmlzaWJsZS5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBjb250ZXh0c30gaW5zdGVhZFxuICAgKi9cbiAgZG1fcGVybWlzc2lvbj86IGJvb2xlYW5cbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb21tYW5kIGlzIGFnZS1yZXN0cmljdGVkLCBkZWZhdWx0cyB0byBmYWxzZSAqL1xuICBuc2Z3PzogYm9vbGVhblxuICAvKiogQXV0byBpbmNyZW1lbnRpbmcgdmVyc2lvbiBpZGVudGlmaWVyIHVwZGF0ZWQgZHVyaW5nIHN1YnN0YW50aWFsIHJlY29yZCBjaGFuZ2VzICovXG4gIHZlcnNpb24/OiBzdHJpbmdcbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgaW50ZXJhY3Rpb24gaXMgaGFuZGxlZCBieSB0aGUgYXBwJ3MgaW50ZXJhY3Rpb25zIGhhbmRsZXIgb3IgYnkgRGlzY29yZFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIGNhbiBvbmx5IGJlIHNldCBmb3IgYXBwbGljYXRpb24gY29tbWFuZHMgb2YgdHlwZSBgUFJJTUFSWV9FTlRSWV9QT0lOVGAgZm9yIGFwcGxpY2F0aW9ucyB3aXRoIHRoZSBgRU1CRURERURgIGZsYWcgKGkuZS4gYXBwbGljYXRpb25zIHRoYXQgaGF2ZSBhbiBBY3Rpdml0eSkuXG4gICAqL1xuICBoYW5kbGVyPzogRGlzY29yZEludGVyYWN0aW9uRW50cnlQb2ludENvbW1hbmRIYW5kbGVyVHlwZVxufVxuXG5leHBvcnQgZW51bSBEaXNjb3JkSW50ZXJhY3Rpb25FbnRyeVBvaW50Q29tbWFuZEhhbmRsZXJUeXBlIHtcbiAgLyoqIFRoZSBhcHAgaGFuZGxlcyB0aGUgaW50ZXJhY3Rpb24gdXNpbmcgYW4gaW50ZXJhY3Rpb24gdG9rZW4gKi9cbiAgQXBwSGFuZGxlciA9IDEsXG4gIC8qKiBEaXNjb3JkIGhhbmRsZXMgdGhlIGludGVyYWN0aW9uIGJ5IGxhdW5jaGluZyBhbiBBY3Rpdml0eSBhbmQgc2VuZGluZyBhIGZvbGxvdy11cCBtZXNzYWdlIHdpdGhvdXQgY29vcmRpbmF0aW5nIHdpdGggdGhlIGFwcCAqL1xuICBEaXNjb3JkTGF1bmNoQWN0aXZpdHkgPSAyLFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvaW50ZXJhY3Rpb25zL2FwcGxpY2F0aW9uLWNvbW1hbmRzI2FwcGxpY2F0aW9uLWNvbW1hbmQtb2JqZWN0LWFwcGxpY2F0aW9uLWNvbW1hbmQtb3B0aW9uLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIHtcbiAgLyoqIFR5cGUgb2Ygb3B0aW9uICovXG4gIHR5cGU6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzXG4gIC8qKlxuICAgKiBOYW1lIG9mIGNvbW1hbmQsIDEtMzIgY2hhcmFjdGVycy5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB2YWx1ZSBzaG91bGQgYmUgdW5pcXVlIHdpdGhpbiBhbiBhcnJheSBvZiB7QGxpbmsgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbn1cbiAgICpcbiAgICoge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLkNoYXRJbnB1dCB8IENoYXRJbnB1dH0gY29tbWFuZCBuYW1lcyBtdXN0IG1hdGNoIHRoZSBmb2xsb3dpbmcgcmVnZXggYF5bLV9cXHB7TH1cXHB7Tn1cXHB7c2M9RGV2YX1cXHB7c2M9VGhhaX1dezEsMzJ9JGAgd2l0aCB0aGUgdW5pY29kZSBmbGFnIHNldC5cbiAgICogSWYgdGhlcmUgaXMgYSBsb3dlcmNhc2UgdmFyaWFudCBvZiBhbnkgbGV0dGVycyB1c2VkLCB5b3UgbXVzdCB1c2UgdGhvc2UuXG4gICAqIENoYXJhY3RlcnMgd2l0aCBubyBsb3dlcmNhc2UgdmFyaWFudHMgYW5kL29yIHVuY2FzZWQgbGV0dGVycyBhcmUgc3RpbGwgYWxsb3dlZC5cbiAgICpcbiAgICoge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLlVzZXIgfCBVc2VyfSBhbmQge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLk1lc3NhZ2UgfCBNZXNzYWdlfSBjb21tYW5kcyBtYXkgYmUgbWl4ZWQgY2FzZSBhbmQgY2FuIGluY2x1ZGUgc3BhY2VzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciB0aGUgYG5hbWVgIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgbmFtZWAgKi9cbiAgbmFtZV9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKiogMS0xMDAgY2hhcmFjdGVyIGRlc2NyaXB0aW9uICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgLyoqIExvY2FsaXphdGlvbiBvYmplY3QgZm9yIHRoZSBgZGVzY3JpcHRpb25gIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgZGVzY3JpcHRpb25gICovXG4gIGRlc2NyaXB0aW9uX2xvY2FsaXphdGlvbnM/OiBMb2NhbGl6YXRpb24gfCBudWxsXG4gIC8qKlxuICAgKiBJZiB0aGUgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIG9yIG9wdGlvbmFsLiBkZWZhdWx0IGBmYWxzZWBcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVmFsaWQgaW4gYWxsIG9wdGlvbiB0eXBlcyBleGNlcHQge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmQgfCBTdWJDb21tYW5kfSBhbmQge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmRHcm91cCB8IFN1YkNvbW1hbmRHcm91cH1cbiAgICovXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICAvKipcbiAgICogQ2hvaWNlcyBmb3IgdGhlIG9wdGlvbiBmcm9tIHdoaWNoIHRoZSB1c2VyIGNhbiBjaG9vc2UsIG1heCAyNVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfSwge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSwgb3Ige0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLk51bWJlciB8IE51bWJlcn1cbiAgICpcbiAgICogSWYgeW91IHByb3ZpZGUgYW4gYXJyYXkgb2YgY2hvaWNlcywgdGhleSB3aWxsIGJlIHRoZSBPTkxZIGFjY2VwdGVkIHZhbHVlcyBmb3IgdGhpcyBvcHRpb25cbiAgICovXG4gIGNob2ljZXM/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlW11cbiAgLyoqXG4gICAqIElmIHRoZSBvcHRpb24gaXMgYSBzdWJjb21tYW5kIG9yIHN1YmNvbW1hbmQgZ3JvdXAgdHlwZSwgdGhlc2UgbmVzdGVkIG9wdGlvbnMgd2lsbCBiZSB0aGUgcGFyYW1ldGVyc1xuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbiBvZiB0eXBlIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kIHwgU3ViQ29tbWFuZH0gb3Ige0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmRHcm91cCB8IFN1YkNvbW1hbmRHcm91cH1cbiAgICovXG4gIG9wdGlvbnM/OiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uW11cbiAgLyoqXG4gICAqIElmIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbnMgYXJlIGVuYWJsZWQgZm9yIHRoaXMgb3B0aW9uLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfSwge0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkludGVnZXIgfCBJbnRlZ2VyfSwgb3Ige0BsaW5rIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLk51bWJlciB8IE51bWJlcn1cbiAgICpcbiAgICogV2hlbiB7QGxpbmsgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbi5jaG9pY2VzIHwgY2hvaWNlc30gYXJlIHByb3ZpZGVkLCB0aGlzIG1heSBub3QgYmUgc2V0IHRvIHRydWVcbiAgICovXG4gIGF1dG9jb21wbGV0ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFRoZSBjaGFubmVscyBzaG93biB3aWxsIGJlIHJlc3RyaWN0ZWQgdG8gdGhlc2UgdHlwZXNcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogT25seSB2YWxpZCBpbiBvcHRpb24gb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuQ2hhbm5lbCB8IENoYW5uZWx9XG4gICAqL1xuICBjaGFubmVsX3R5cGVzPzogQ2hhbm5lbFR5cGVzW11cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHBlcm1pdHRlZCB2YWx1ZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuSW50ZWdlciB8IEludGVnZXJ9IG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqL1xuICBtaW5fdmFsdWU/OiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHBlcm1pdHRlZCB2YWx1ZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuSW50ZWdlciB8IEludGVnZXJ9IG9yIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5OdW1iZXIgfCBOdW1iZXJ9XG4gICAqL1xuICBtYXhfdmFsdWU/OiBudW1iZXJcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHBlcm1pdHRlZCBsZW5ndGgsIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2Ugb2YgZnJvbSAwIHRvIDYwMFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IHZhbGlkIGluIG9wdGlvbnMgb2YgdHlwZSB7QGxpbmsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3RyaW5nIHwgU3RyaW5nfVxuICAgKi9cbiAgbWluX2xlbmd0aD86IG51bWJlclxuICAvKipcbiAgICogVGhlIG1heGltdW0gcGVybWl0dGVkIGxlbmd0aCwgc2hvdWxkIGJlIGluIHRoZSByYW5nZSBvZiBmcm9tIDAgdG8gNjAwXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE9ubHkgdmFsaWQgaW4gb3B0aW9ucyBvZiB0eXBlIHtAbGluayBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdHJpbmcgfCBTdHJpbmd9XG4gICAqL1xuICBtYXhfbGVuZ3RoPzogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvYXBwbGljYXRpb24tY29tbWFuZHMjYXBwbGljYXRpb24tY29tbWFuZC1wZXJtaXNzaW9ucy1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSB7XG4gIC8qKiAxLTEwMCBjaGFyYWN0ZXIgY2hvaWNlIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBMb2NhbGl6YXRpb24gb2JqZWN0IGZvciB0aGUgYG5hbWVgIGZpZWxkLiBWYWx1ZXMgZm9sbG93IHRoZSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBgbmFtZWAgKi9cbiAgbmFtZV9sb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uIHwgbnVsbFxuICAvKiogVmFsdWUgZm9yIHRoZSBjaG9pY2UsIHVwIHRvIDEwMCBjaGFyYWN0ZXJzIGlmIHN0cmluZyAqL1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvc2xhc2gtY29tbWFuZHMjZ3VpbGRhcHBsaWNhdGlvbmNvbW1hbmRwZXJtaXNzaW9ucyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyB7XG4gIC8qKiBJRCBvZiB0aGUgY29tbWFuZCBvciB0aGUgYXBwbGljYXRpb24gSUQuIFdoZW4gdGhlIGBpZGAgZmllbGQgaXMgdGhlIGFwcGxpY2F0aW9uIElEIGluc3RlYWQgb2YgYSBjb21tYW5kIElELCB0aGUgcGVybWlzc2lvbnMgYXBwbHkgdG8gYWxsIGNvbW1hbmRzIHRoYXQgZG8gbm90IGNvbnRhaW4gZXhwbGljaXQgb3ZlcndyaXRlcy4gKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGFwcGxpY2F0aW9uIHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8gKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFBlcm1pc3Npb25zIGZvciB0aGUgY29tbWFuZCBpbiB0aGUgZ3VpbGQsIG1heCBvZiAxMDAgKi9cbiAgcGVybWlzc2lvbnM6IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvc2xhc2gtY29tbWFuZHMjYXBwbGljYXRpb25jb21tYW5kcGVybWlzc2lvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIHtcbiAgLyoqIElEIG9mIHRoZSByb2xlLCB1c2VyLCBvciBjaGFubmVsLiBJdCBjYW4gYWxzbyBiZSBhIHBlcm1pc3Npb24gY29uc3RhbnQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvblR5cGVzLlJvbGUsIEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25UeXBlcy5Vc2VyLCBvciBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXMuQ2hhbm5lbCAqL1xuICB0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uVHlwZXNcbiAgLyoqIGB0cnVlYCB0byBhbGxvdywgYGZhbHNlYCwgdG8gZGlzYWxsb3cgKi9cbiAgcGVybWlzc2lvbjogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2dldC1ndWlsZC13aWRnZXQtZXhhbXBsZS1nZXQtZ3VpbGQtd2lkZ2V0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFdpZGdldCB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGluc3RhbnRfaW52aXRlOiBzdHJpbmdcbiAgY2hhbm5lbHM6IEFycmF5PHtcbiAgICBpZDogc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gICAgcG9zaXRpb246IG51bWJlclxuICB9PlxuICBtZW1iZXJzOiBBcnJheTx7XG4gICAgaWQ6IHN0cmluZ1xuICAgIHVzZXJuYW1lOiBzdHJpbmdcbiAgICBkaXNjcmltaW5hdG9yOiBzdHJpbmdcbiAgICBhdmF0YXI/OiBzdHJpbmcgfCBudWxsXG4gICAgc3RhdHVzOiBzdHJpbmdcbiAgICBhdmF0YXJfdXJsOiBzdHJpbmdcbiAgfT5cbiAgcHJlc2VuY2VfY291bnQ6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI2d1aWxkLXByZXZpZXctb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZFByZXZpZXcge1xuICAvKiogR3VpbGQgaWQgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKiogR3VpbGQgbmFtZSAoMi0xMDAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBJY29uIGhhc2ggKi9cbiAgaWNvbjogc3RyaW5nIHwgbnVsbFxuICAvKiogU3BsYXNoIGhhc2ggKi9cbiAgc3BsYXNoOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBEaXNjb3Zlcnkgc3BsYXNoIGhhc2ggKi9cbiAgZGlzY292ZXJ5X3NwbGFzaDogc3RyaW5nIHwgbnVsbFxuICAvKiogQ3VzdG9tIGd1aWxkIGVtb2ppcyAqL1xuICBlbW9qaXM6IERpc2NvcmRFbW9qaVtdXG4gIC8qKiBFbmFibGVkIGd1aWxkIGZlYXR1cmVzICovXG4gIGZlYXR1cmVzOiBHdWlsZEZlYXR1cmVzW11cbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBtZW1iZXJzIGluIHRoaXMgZ3VpbGQgKi9cbiAgYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBvbmxpbmUgbWVtYmVycyBpbiB0aGlzIGd1aWxkICovXG4gIGFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGd1aWxkLCBpZiB0aGUgZ3VpbGQgaXMgZGlzY292ZXJhYmxlICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBDdXN0b20gZ3VpbGQgc3RpY2tlcnMgKi9cbiAgc3RpY2tlcnM6IERpc2NvcmRTdGlja2VyW11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI2ZvbGxvd2VkLWNoYW5uZWwtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRGb2xsb3dlZENoYW5uZWwge1xuICAvKiogU291cmNlIG1lc3NhZ2UgaWQgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBDcmVhdGVkIHRhcmdldCB3ZWJob29rIGlkICovXG4gIHdlYmhvb2tfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjcGF5bG9hZHMtZ2F0ZXdheS1wYXlsb2FkLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR2F0ZXdheVBheWxvYWQge1xuICAvKiogb3Bjb2RlIGZvciB0aGUgcGF5bG9hZCAqL1xuICBvcDogbnVtYmVyXG4gIC8qKiBFdmVudCBkYXRhICovXG4gIGQ6IHVua25vd24gfCBudWxsXG4gIC8qKiBTZXF1ZW5jZSBudW1iZXIsIHVzZWQgZm9yIHJlc3VtaW5nIHNlc3Npb25zIGFuZCBoZWFydGJlYXRzICovXG4gIHM6IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBldmVudCBuYW1lIGZvciB0aGlzIHBheWxvYWQgKi9cbiAgdDogR2F0ZXdheUV2ZW50TmFtZXMgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNndWlsZC1tZW1iZXJzLWNodW5rICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE1lbWJlcnNDaHVuayB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFNldCBvZiBndWlsZCBtZW1iZXJzICovXG4gIG1lbWJlcnM6IERpc2NvcmRNZW1iZXJXaXRoVXNlcltdXG4gIC8qKiBUaGUgY2h1bmsgaW5kZXggaW4gdGhlIGV4cGVjdGVkIGNodW5rcyBmb3IgdGhpcyByZXNwb25zZSAoMCA8PSBjaHVua19pbmRleCA8IGNodW5rX2NvdW50KSAqL1xuICBjaHVua19pbmRleDogbnVtYmVyXG4gIC8qKiBUaGUgdG90YWwgbnVtYmVyIG9mIGV4cGVjdGVkIGNodW5rcyBmb3IgdGhpcyByZXNwb25zZSAqL1xuICBjaHVua19jb3VudDogbnVtYmVyXG4gIC8qKiBJZiBwYXNzaW5nIGFuIGludmFsaWQgaWQgdG8gYFJFUVVFU1RfR1VJTERfTUVNQkVSU2AsIGl0IHdpbGwgYmUgcmV0dXJuZWQgaGVyZSAqL1xuICBub3RfZm91bmQ/OiBzdHJpbmdbXVxuICAvKiogSWYgcGFzc2luZyB0cnVlIHRvIGBSRVFVRVNUX0dVSUxEX01FTUJFUlNgLCBwcmVzZW5jZXMgb2YgdGhlIHJldHVybmVkIG1lbWJlcnMgd2lsbCBiZSBoZXJlICovXG4gIHByZXNlbmNlcz86IERpc2NvcmRQcmVzZW5jZVVwZGF0ZVtdXG4gIC8qKiBUaGUgbm9uY2UgdXNlZCBpbiB0aGUgR3VpbGQgTWVtYmVycyBSZXF1ZXN0ICovXG4gIG5vbmNlPzogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNjaGFubmVsLXBpbnMtdXBkYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDaGFubmVsUGluc1VwZGF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgbW9zdCByZWNlbnQgcGlubmVkIG1lc3NhZ2Ugd2FzIHBpbm5lZCAqL1xuICBsYXN0X3Bpbl90aW1lc3RhbXA/OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNndWlsZC1yb2xlLWRlbGV0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRSb2xlRGVsZXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgcm9sZSAqL1xuICByb2xlX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I2d1aWxkLWJhbi1hZGQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkQmFuQWRkUmVtb3ZlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgYmFubmVkIHVzZXIgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I21lc3NhZ2UtcmVhY3Rpb24tcmVtb3ZlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25SZW1vdmUgZXh0ZW5kcyBPbWl0PERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQsICdtZW1iZXInIHwgJ2J1cnN0X2NvbG9ycyc+IHt9XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNtZXNzYWdlLXJlYWN0aW9uLWFkZCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZVJlYWN0aW9uQWRkIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdXNlciAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgbWVzc2FnZSAqL1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIFRoZSBtZW1iZXIgd2hvIHJlYWN0ZWQgaWYgdGhpcyBoYXBwZW5lZCBpbiBhIGd1aWxkICovXG4gIG1lbWJlcj86IERpc2NvcmRNZW1iZXJXaXRoVXNlclxuICAvKiogVGhlIGVtb2ppIHVzZWQgdG8gcmVhY3QgKi9cbiAgZW1vamk6IFBhcnRpYWw8RGlzY29yZEVtb2ppPlxuICAvKiogVGhlIGlkIG9mIHRoZSBhdXRob3Igb2YgdGhpcyBtZXNzYWdlICovXG4gIG1lc3NhZ2VfYXV0aG9yX2lkPzogc3RyaW5nXG4gIC8qKiB0cnVlIGlmIHRoaXMgaXMgYSBzdXBlci1yZWFjdGlvbiAqL1xuICBidXJzdDogYm9vbGVhblxuICAvKiogQ29sb3JzIHVzZWQgZm9yIHN1cGVyLXJlYWN0aW9uIGFuaW1hdGlvbiBpbiBcIiNycmdnYmJcIiBmb3JtYXQgKi9cbiAgYnVyc3RfY29sb3JzPzogc3RyaW5nW11cbiAgLyoqIFRoZSB0eXBlIG9mIHJlYWN0aW9uICovXG4gIHR5cGU6IERpc2NvcmRSZWFjdGlvblR5cGVcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I3ZvaWNlLXNlcnZlci11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZvaWNlU2VydmVyVXBkYXRlIHtcbiAgLyoqIFZvaWNlIGNvbm5lY3Rpb24gdG9rZW4gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHRoaXMgdm9pY2Ugc2VydmVyIHVwZGF0ZSBpcyBmb3IgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHZvaWNlIHNlcnZlciBob3N0ICovXG4gIGVuZHBvaW50OiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheS1ldmVudHMjdm9pY2UtY2hhbm5lbC1lZmZlY3Qtc2VuZC12b2ljZS1jaGFubmVsLWVmZmVjdC1zZW5kLWV2ZW50LWZpZWxkcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVm9pY2VDaGFubmVsRWZmZWN0U2VuZCB7XG4gIC8qKiBJRCBvZiB0aGUgY2hhbm5lbCB0aGUgZWZmZWN0IHdhcyBzZW50IGluICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIGd1aWxkIHRoZSBlZmZlY3Qgd2FzIHNlbnQgaW4gKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogSUQgb2YgdGhlIHVzZXIgd2hvIHNlbnQgdGhlIGVmZmVjdCAqL1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBlbW9qaSBzZW50LCBmb3IgZW1vamkgcmVhY3Rpb24gYW5kIHNvdW5kYm9hcmQgZWZmZWN0cyAqL1xuICBlbW9qaT86IERpc2NvcmRFbW9qaSB8IG51bGxcbiAgLyoqIFRoZSB0eXBlIG9mIGVtb2ppIGFuaW1hdGlvbiwgZm9yIGVtb2ppIHJlYWN0aW9uIGFuZCBzb3VuZGJvYXJkIGVmZmVjdHMgKi9cbiAgYW5pbWF0aW9uX3R5cGU/OiBEaXNjb3JkVm9pY2VDaGFubmVsRWZmZWN0QW5pbWF0aW9uVHlwZSB8IG51bGxcbiAgLyoqIFRoZSBJRCBvZiB0aGUgZW1vamkgYW5pbWF0aW9uLCBmb3IgZW1vamkgcmVhY3Rpb24gYW5kIHNvdW5kYm9hcmQgZWZmZWN0cyAqL1xuICBhbmltYXRpb25faWQ/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBUaGUgSUQgb2YgdGhlIHNvdW5kYm9hcmQgc291bmQsIGZvciBzb3VuZGJvYXJkIGVmZmVjdHMgKi9cbiAgc291bmRfaWQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgLyoqIFRoZSB2b2x1bWUgb2YgdGhlIHNvdW5kYm9hcmQgc291bmQsIGZyb20gMCB0byAxLCBmb3Igc291bmRib2FyZCBlZmZlY3RzICovXG4gIHNvdW5kX3ZvbHVtZT86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXktZXZlbnRzI3ZvaWNlLWNoYW5uZWwtZWZmZWN0LXNlbmQtYW5pbWF0aW9uLXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkVm9pY2VDaGFubmVsRWZmZWN0QW5pbWF0aW9uVHlwZSB7XG4gIC8qKiBBIGZ1biBhbmltYXRpb24sIHNlbnQgYnkgYSBOaXRybyBzdWJzY3JpYmVyICovXG4gIFByZW1pdW0gPSAwLFxuICAvKiogVGhlIHN0YW5kYXJkIGFuaW1hdGlvbiAqL1xuICBCYXNpYyA9IDEsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNpbnZpdGUtY3JlYXRlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRJbnZpdGVDcmVhdGUge1xuICAvKiogVGhlIGNoYW5uZWwgdGhlIGludml0ZSBpcyBmb3IgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdW5pcXVlIGludml0ZSBjb2RlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGludml0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBndWlsZCBvZiB0aGUgaW52aXRlICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB0aGF0IGNyZWF0ZWQgdGhlIGludml0ZSAqL1xuICBpbnZpdGVyPzogRGlzY29yZFVzZXJcbiAgLyoqIEhvdyBsb25nIHRoZSBpbnZpdGUgaXMgdmFsaWQgZm9yIChpbiBzZWNvbmRzKSAqL1xuICBtYXhfYWdlOiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGUgaW52aXRlIGNhbiBiZSB1c2VkICovXG4gIG1heF91c2VzOiBudW1iZXJcbiAgLyoqIFRoZSB0eXBlIG9mIHRhcmdldCBmb3IgdGhpcyB2b2ljZSBjaGFubmVsIGludml0ZSAqL1xuICB0YXJnZXRfdHlwZTogVGFyZ2V0VHlwZXNcbiAgLyoqIFRoZSB0YXJnZXQgdXNlciBmb3IgdGhpcyBpbnZpdGUgKi9cbiAgdGFyZ2V0X3VzZXI/OiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGVtYmVkZGVkIGFwcGxpY2F0aW9uIHRvIG9wZW4gZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBlbWJlZGRlZCBhcHBsaWNhdGlvbiBpbnZpdGUgKi9cbiAgdGFyZ2V0X2FwcGxpY2F0aW9uPzogUGFydGlhbDxEaXNjb3JkQXBwbGljYXRpb24+XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgaW52aXRlIGlzIHRlbXBvcmFyeSAoaW52aXRlZCB1c2VycyB3aWxsIGJlIGtpY2tlZCBvbiBkaXNjb25uZWN0IHVubGVzcyB0aGV5J3JlIGFzc2lnbmVkIGEgcm9sZSkgKi9cbiAgdGVtcG9yYXJ5OiBib29sZWFuXG4gIC8qKiBIb3cgbWFueSB0aW1lcyB0aGUgaW52aXRlIGhhcyBiZWVuIHVzZWQgKGFsd2F5cyB3aWxsIGJlIDApICovXG4gIHVzZXM6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjaGVsbG8gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEhlbGxvIHtcbiAgLyoqIFRoZSBpbnRlcnZhbCAoaW4gbWlsbGlzZWNvbmRzKSB0aGUgY2xpZW50IHNob3VsZCBoZWFydGJlYXQgd2l0aCAqL1xuICBoZWFydGJlYXRfaW50ZXJ2YWw6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjcmVhZHkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFJlYWR5IHtcbiAgLyoqIEdhdGV3YXkgdmVyc2lvbiAqL1xuICB2OiBudW1iZXJcbiAgLyoqIEluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIGluY2x1ZGluZyBlbWFpbCAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogVGhlIGd1aWxkcyB0aGUgdXNlciBpcyBpbiAqL1xuICBndWlsZHM6IERpc2NvcmRVbmF2YWlsYWJsZUd1aWxkW11cbiAgLyoqIFVzZWQgZm9yIHJlc3VtaW5nIGNvbm5lY3Rpb25zICovXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICAvKiogR2F0ZXdheSB1cmwgZm9yIHJlc3VtaW5nIGNvbm5lY3Rpb25zICovXG4gIHJlc3VtZV9nYXRld2F5X3VybDogc3RyaW5nXG4gIC8qKiBUaGUgc2hhcmQgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoaXMgc2Vzc2lvbiwgaWYgc2VudCB3aGVuIGlkZW50aWZ5aW5nICovXG4gIHNoYXJkPzogW251bWJlciwgbnVtYmVyXVxuICAvKiogQ29udGFpbnMgaWQgYW5kIGZsYWdzICovXG4gIGFwcGxpY2F0aW9uOiBQYXJ0aWFsPERpc2NvcmRBcHBsaWNhdGlvbj4gJiBQaWNrPERpc2NvcmRBcHBsaWNhdGlvbiwgJ2lkJyB8ICdmbGFncyc+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjdW5hdmFpbGFibGUtZ3VpbGQtb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRVbmF2YWlsYWJsZUd1aWxkIGV4dGVuZHMgUGljazxEaXNjb3JkR3VpbGQsICdpZCcgfCAndW5hdmFpbGFibGUnPiB7fVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjbWVzc2FnZS1kZWxldGUtYnVsayAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkTWVzc2FnZURlbGV0ZUJ1bGsge1xuICAvKiogVGhlIGlkcyBvZiB0aGUgbWVzc2FnZXMgKi9cbiAgaWRzOiBzdHJpbmdbXVxuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3RlbXBsYXRlI3RlbXBsYXRlLW9iamVjdC10ZW1wbGF0ZS1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRlbXBsYXRlIHtcbiAgLyoqIFRoZSB0ZW1wbGF0ZSBjb2RlICh1bmlxdWUgSWQpICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGVtcGxhdGUgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIHRlbXBsYXRlICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG4gIC8qKiBOdW1iZXIgb2YgdGltZXMgdGhpcyB0ZW1wbGF0ZSBoYXMgYmVlbiB1c2VkICovXG4gIHVzYWdlX2NvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBJZCBvZiB0aGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgdGVtcGxhdGUgKi9cbiAgY3JlYXRvcl9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB3aG8gY3JlYXRlZCB0aGUgdGVtcGxhdGUgKi9cbiAgY3JlYXRvcjogRGlzY29yZFVzZXJcbiAgLyoqIFdoZW4gdGhpcyB0ZW1wbGF0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhpcyB0ZW1wbGF0ZSB3YXMgbGFzdCBzeW5jZWQgdG8gdGhlIHNvdXJjZSBndWlsZCAqL1xuICB1cGRhdGVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBJZCBvZiB0aGUgZ3VpbGQgdGhpcyB0ZW1wbGF0ZSBpcyBiYXNlZCBvbiAqL1xuICBzb3VyY2VfZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkIHNuYXBzaG90IHRoaXMgdGVtcGxhdGUgY29udGFpbnMgKi9cbiAgc2VyaWFsaXplZF9zb3VyY2VfZ3VpbGQ6IERpc2NvcmRUZW1wbGF0ZVNlcmlhbGl6ZWRTb3VyY2VHdWlsZFxuICBpc19kaXJ0eTogYm9vbGVhbiB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgRGlzY29yZFRlbXBsYXRlU2VyaWFsaXplZFNvdXJjZUd1aWxkID0gT21pdDxcbiAgUGlja1BhcnRpYWw8XG4gICAgRGlzY29yZEd1aWxkLFxuICAgIHwgJ25hbWUnXG4gICAgfCAnZGVzY3JpcHRpb24nXG4gICAgfCAndmVyaWZpY2F0aW9uX2xldmVsJ1xuICAgIHwgJ2RlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zJ1xuICAgIHwgJ2V4cGxpY2l0X2NvbnRlbnRfZmlsdGVyJ1xuICAgIHwgJ3ByZWZlcnJlZF9sb2NhbGUnXG4gICAgfCAnYWZrX3RpbWVvdXQnXG4gICAgfCAnc3lzdGVtX2NoYW5uZWxfZmxhZ3MnXG4gID4sXG4gICdyb2xlcycgfCAnY2hhbm5lbHMnIHwgJ2Fma19jaGFubmVsX2lkJyB8ICdzeXN0ZW1fY2hhbm5lbF9pZCdcbj4gJiB7XG4gIGFma19jaGFubmVsX2lkOiBudW1iZXIgfCBudWxsXG4gIHN5c3RlbV9jaGFubmVsX2lkOiBudW1iZXIgfCBudWxsXG4gIHJvbGVzOiBBcnJheTxcbiAgICBPbWl0PFBpY2tQYXJ0aWFsPERpc2NvcmRSb2xlLCAnbmFtZScgfCAnY29sb3InIHwgJ2hvaXN0JyB8ICdtZW50aW9uYWJsZScgfCAncGVybWlzc2lvbnMnIHwgJ2ljb24nIHwgJ3VuaWNvZGVfZW1vamknPiwgJ2lkJz4gJiB7XG4gICAgICBpZDogbnVtYmVyXG4gICAgfVxuICA+XG4gIGNoYW5uZWxzOiBBcnJheTxcbiAgICBPbWl0PFxuICAgICAgUGlja1BhcnRpYWw8XG4gICAgICAgIERpc2NvcmRDaGFubmVsLFxuICAgICAgICB8ICduYW1lJ1xuICAgICAgICB8ICd0eXBlJ1xuICAgICAgICB8ICdwb3NpdGlvbidcbiAgICAgICAgfCAndG9waWMnXG4gICAgICAgIHwgJ2JpdHJhdGUnXG4gICAgICAgIHwgJ3VzZXJfbGltaXQnXG4gICAgICAgIHwgJ25zZncnXG4gICAgICAgIHwgJ3JhdGVfbGltaXRfcGVyX3VzZXInXG4gICAgICAgIHwgJ2RlZmF1bHRfYXV0b19hcmNoaXZlX2R1cmF0aW9uJ1xuICAgICAgICB8ICdhdmFpbGFibGVfdGFncydcbiAgICAgICAgfCAnZGVmYXVsdF9yZWFjdGlvbl9lbW9qaSdcbiAgICAgICAgfCAnZGVmYXVsdF90aHJlYWRfcmF0ZV9saW1pdF9wZXJfdXNlcidcbiAgICAgICAgfCAnZGVmYXVsdF9zb3J0X29yZGVyJ1xuICAgICAgICB8ICdkZWZhdWx0X2ZvcnVtX2xheW91dCdcbiAgICAgID4sXG4gICAgICAnaWQnIHwgJ3Blcm1pc3Npb25fb3ZlcndyaXRlcycgfCAncGFyZW50X2lkJ1xuICAgID4gJiB7XG4gICAgICBpZDogbnVtYmVyXG4gICAgICBwZXJtaXNzaW9uX292ZXJ3cml0ZXM6IERpc2NvcmRPdmVyd3JpdGUgJiB7IGlkOiBudW1iZXIgfVxuICAgICAgcGFyZW50X2lkOiBudW1iZXIgfCBudWxsXG4gICAgfVxuICA+XG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNndWlsZC1tZW1iZXItYWRkICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRHdWlsZE1lbWJlckFkZCBleHRlbmRzIERpc2NvcmRNZW1iZXJXaXRoVXNlciB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjbWVzc2FnZS1kZWxldGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1lc3NhZ2VEZWxldGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBtZXNzYWdlICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCAqL1xuICBjaGFubmVsX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I3RocmVhZC1tZW1iZXJzLXVwZGF0ZS10aHJlYWQtbWVtYmVycy11cGRhdGUtZXZlbnQtZmllbGRzICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRUaHJlYWRNZW1iZXJzVXBkYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgdGhyZWFkICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVzZXJzIHdobyB3ZXJlIGFkZGVkIHRvIHRoZSB0aHJlYWQgKi9cbiAgYWRkZWRfbWVtYmVycz86IERpc2NvcmRUaHJlYWRNZW1iZXJbXVxuICAvKiogVGhlIGlkIG9mIHRoZSB1c2VycyB3aG8gd2VyZSByZW1vdmVkIGZyb20gdGhlIHRocmVhZCAqL1xuICByZW1vdmVkX21lbWJlcl9pZHM/OiBzdHJpbmdbXVxuICAvKiogdGhlIGFwcHJveGltYXRlIG51bWJlciBvZiBtZW1iZXJzIGluIHRoZSB0aHJlYWQsIGNhcHBlZCBhdCA1MCAqL1xuICBtZW1iZXJfY291bnQ6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjdGhyZWFkLW1lbWJlci11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFRocmVhZE1lbWJlclVwZGF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIHRocmVhZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB0aW1lc3RhbXAgd2hlbiB0aGUgYm90IGpvaW5lZCB0aGlzIHRocmVhZC4gKi9cbiAgam9pbmVkX2F0OiBzdHJpbmdcbiAgLyoqIFRoZSBmbGFncyB0aGlzIHVzZXIgaGFzIGZvciB0aGlzIHRocmVhZC4gTm90IHVzZWZ1bCBmb3IgYm90cy4gKi9cbiAgZmxhZ3M6IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjZ3VpbGQtcm9sZS1jcmVhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkUm9sZUNyZWF0ZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSByb2xlIGNyZWF0ZWQgKi9cbiAgcm9sZTogRGlzY29yZFJvbGVcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I2d1aWxkLWVtb2ppcy11cGRhdGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkRW1vamlzVXBkYXRlIHtcbiAgLyoqIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBBcnJheSBvZiBlbW9qaXMgKi9cbiAgZW1vamlzOiBEaXNjb3JkRW1vamlbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXktZXZlbnRzI2d1aWxkLXN0aWNrZXJzLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRTdGlja2Vyc1VwZGF0ZSB7XG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogQXJyYXkgb2Ygc3RpY2tlciAqL1xuICBzdGlja2VyczogRGlzY29yZFN0aWNrZXJbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjZ3VpbGQtbWVtYmVyLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJVcGRhdGUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBVc2VyIHJvbGUgaWRzICovXG4gIHJvbGVzOiBzdHJpbmdbXVxuICAvKiogVGhlIHVzZXIgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbiAgLyoqIE5pY2tuYW1lIG9mIHRoZSB1c2VyIGluIHRoZSBndWlsZCAqL1xuICBuaWNrPzogc3RyaW5nIHwgbnVsbFxuICAvKiogdGhlIG1lbWJlcidzIFtndWlsZCBhdmF0YXIgaGFzaF0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI2ltYWdlLWZvcm1hdHRpbmcpICovXG4gIGF2YXRhcjogc3RyaW5nXG4gIC8qKiB0aGUgbWVtYmVyJ3MgZ3VpbGQgYmFubmVyIGhhc2ggKi9cbiAgYmFubmVyOiBzdHJpbmdcbiAgLyoqIFdoZW4gdGhlIHVzZXIgam9pbmVkIHRoZSBndWlsZCAqL1xuICBqb2luZWRfYXQ6IHN0cmluZ1xuICAvKiogV2hlbiB0aGUgdXNlciBzdGFydGluZyBib29zdGluZyB0aGUgZ3VpbGQgKi9cbiAgcHJlbWl1bV9zaW5jZT86IHN0cmluZyB8IG51bGxcbiAgLyoqIHdoZXRoZXIgdGhlIHVzZXIgaXMgZGVhZmVuZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgZGVhZj86IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgdGhlIHVzZXIgaXMgbXV0ZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgbXV0ZT86IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBwZW5kaW5nPzogYm9vbGVhblxuICAvKiogd2hlbiB0aGUgdXNlcidzIFt0aW1lb3V0XShodHRwczovL3N1cHBvcnQuZGlzY29yZC5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvNDQxMzMwNTIzOTE5MS1UaW1lLU91dC1GQVEpIHdpbGwgZXhwaXJlIGFuZCB0aGUgdXNlciB3aWxsIGJlIGFibGUgdG8gY29tbXVuaWNhdGUgaW4gdGhlIGd1aWxkIGFnYWluLCBudWxsIG9yIGEgdGltZSBpbiB0aGUgcGFzdCBpZiB0aGUgdXNlciBpcyBub3QgdGltZWQgb3V0LiBXaWxsIHRocm93IGEgNDAzIGVycm9yIGlmIHRoZSB1c2VyIGhhcyB0aGUgQURNSU5JU1RSQVRPUiBwZXJtaXNzaW9uIG9yIGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbD86IHN0cmluZ1xuICAvKiogRGF0YSBmb3IgdGhlIG1lbWJlcidzIGd1aWxkIGF2YXRhciBkZWNvcmF0aW9uICovXG4gIGF2YXRhcl9kZWNvcmF0aW9uX2RhdGE/OiBEaXNjb3JkQXZhdGFyRGVjb3JhdGlvbkRhdGFcbiAgLyoqIEd1aWxkIG1lbWJlciBmbGFncyAqL1xuICBmbGFncz86IG51bWJlclxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjbWVzc2FnZS1yZWFjdGlvbi1yZW1vdmUtYWxsICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNZXNzYWdlUmVhY3Rpb25SZW1vdmVBbGwgZXh0ZW5kcyBQaWNrPERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQsICdjaGFubmVsX2lkJyB8ICdtZXNzYWdlX2lkJyB8ICdndWlsZF9pZCc+IHt9XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvZ2F0ZXdheSNndWlsZC1yb2xlLXVwZGF0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRSb2xlVXBkYXRlIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHJvbGUgdXBkYXRlZCAqL1xuICByb2xlOiBEaXNjb3JkUm9sZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudFVzZXJBZGQge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIHNjaGVkdWxlZCBldmVudCAgKi9cbiAgZ3VpbGRfc2NoZWR1bGVkX2V2ZW50X2lkOiBzdHJpbmdcbiAgLyoqIGlkIG9mIHRoZSB1c2VyICAgICAgICAgICAgICAgICAgICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIGd1aWxkICovXG4gIGd1aWxkX2lkOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy9nYXRld2F5I21lc3NhZ2UtcmVhY3Rpb24tcmVtb3ZlLWVtb2ppICovXG5leHBvcnQgdHlwZSBEaXNjb3JkTWVzc2FnZVJlYWN0aW9uUmVtb3ZlRW1vamkgPSBQaWNrPERpc2NvcmRNZXNzYWdlUmVhY3Rpb25BZGQsICdjaGFubmVsX2lkJyB8ICdndWlsZF9pZCcgfCAnbWVzc2FnZV9pZCcgfCAnZW1vamknPlxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjZ3VpbGQtbWVtYmVyLXJlbW92ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkR3VpbGRNZW1iZXJSZW1vdmUge1xuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCAqL1xuICBndWlsZF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgdXNlciB3aG8gd2FzIHJlbW92ZWQgKi9cbiAgdXNlcjogRGlzY29yZFVzZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNiYW4tb2JqZWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRCYW4ge1xuICAvKiogVGhlIHJlYXNvbiBmb3IgdGhlIGJhbiAqL1xuICByZWFzb246IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBiYW5uZWQgdXNlciAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTY2hlZHVsZWRFdmVudFVzZXJSZW1vdmUge1xuICAvKiogaWQgb2YgdGhlIGd1aWxkIHNjaGVkdWxlZCBldmVudCAqL1xuICBndWlsZF9zY2hlZHVsZWRfZXZlbnRfaWQ6IHN0cmluZ1xuICAvKiogaWQgb2YgdGhlIHVzZXIgKi9cbiAgdXNlcl9pZDogc3RyaW5nXG4gIC8qKiBpZCBvZiB0aGUgZ3VpbGQgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvZXZlbnRzL2dhdGV3YXkjaW52aXRlLWRlbGV0ZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW52aXRlRGVsZXRlIHtcbiAgLyoqIFRoZSBjaGFubmVsIG9mIHRoZSBpbnZpdGUgKi9cbiAgY2hhbm5lbF9pZDogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQgb2YgdGhlIGludml0ZSAqL1xuICBndWlsZF9pZD86IHN0cmluZ1xuICAvKiogVGhlIHVuaXF1ZSBpbnZpdGUgY29kZSAqL1xuICBjb2RlOiBzdHJpbmdcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy92b2ljZSN2b2ljZS1yZWdpb24tb2JqZWN0LXZvaWNlLXJlZ2lvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFZvaWNlUmVnaW9uIHtcbiAgLyoqIFVuaXF1ZSBJZCBmb3IgdGhlIHJlZ2lvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBOYW1lIG9mIHRoZSByZWdpb24gKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiB0cnVlIGZvciBhIHNpbmdsZSBzZXJ2ZXIgdGhhdCBpcyBjbG9zZXN0IHRvIHRoZSBjdXJyZW50IHVzZXIncyBjbGllbnQgKi9cbiAgb3B0aW1hbDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGlzIGEgZGVwcmVjYXRlZCB2b2ljZSByZWdpb24gKGF2b2lkIHN3aXRjaGluZyB0byB0aGVzZSkgKi9cbiAgZGVwcmVjYXRlZDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIGlzIGEgY3VzdG9tIHZvaWNlIHJlZ2lvbiAodXNlZCBmb3IgZXZlbnRzL2V0YykgKi9cbiAgY3VzdG9tOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkV2lkZ2V0U2V0dGluZ3Mge1xuICAvKiogd2hldGhlciB0aGUgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgZW5hYmxlZDogYm9vbGVhblxuICAvKiogdGhlIHdpZGdldCBjaGFubmVsIGlkICovXG4gIGNoYW5uZWxfaWQ6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkSW5zdGFsbFBhcmFtcyB7XG4gIC8qKiBTY29wZXMgdG8gYWRkIHRoZSBhcHBsaWNhdGlvbiB0byB0aGUgc2VydmVyIHdpdGggKi9cbiAgc2NvcGVzOiBPQXV0aDJTY29wZVtdXG4gIC8qKiBQZXJtaXNzaW9ucyB0byByZXF1ZXN0IGZvciB0aGUgYm90IHJvbGUgKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRGb3J1bVRhZyB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIHRhZyAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgdGFnICgwLTIwIGNoYXJhY3RlcnMpICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogV2hldGhlciB0aGlzIHRhZyBjYW4gb25seSBiZSBhZGRlZCB0byBvciByZW1vdmVkIGZyb20gdGhyZWFkcyBieSBhIG1lbWJlciB3aXRoIHRoZSBNQU5BR0VfVEhSRUFEUyBwZXJtaXNzaW9uICovXG4gIG1vZGVyYXRlZDogYm9vbGVhblxuICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgQXQgbW9zdCBvbmUgb2YgZW1vamlfaWQgYW5kIGVtb2ppX25hbWUgbWF5IGJlIHNldC4gKi9cbiAgZW1vamlfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppIHtcbiAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppICovXG4gIGVtb2ppX2lkOiBzdHJpbmdcbiAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkgKi9cbiAgZW1vamlfbmFtZTogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNb2RpZnlDaGFubmVsIHtcbiAgLyoqIDEtMTAwIGNoYXJhY3RlciBjaGFubmVsIG5hbWUgKi9cbiAgbmFtZT86IHN0cmluZ1xuICAvKiogVGhlIHR5cGUgb2YgY2hhbm5lbDsgb25seSBjb252ZXJzaW9uIGJldHdlZW4gdGV4dCBhbmQgbmV3cyBpcyBzdXBwb3J0ZWQgYW5kIG9ubHkgaW4gZ3VpbGRzIHdpdGggdGhlIFwiTkVXU1wiIGZlYXR1cmUgKi9cbiAgdHlwZT86IENoYW5uZWxUeXBlc1xuICAvKiogVGhlIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsIGluIHRoZSBsZWZ0LWhhbmQgbGlzdGluZyAqL1xuICBwb3NpdGlvbj86IG51bWJlciB8IG51bGxcbiAgLyoqIDAtMTAyNCBjaGFyYWN0ZXIgY2hhbm5lbCB0b3BpYyAqL1xuICB0b3BpYz86IHN0cmluZyB8IG51bGxcbiAgLyoqIFdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbnNmdyAqL1xuICBuc2Z3PzogYm9vbGVhbiB8IG51bGxcbiAgLyoqIEFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApOyBib3RzLCBhcyB3ZWxsIGFzIHVzZXJzIHdpdGggdGhlIHBlcm1pc3Npb24gYG1hbmFnZV9tZXNzYWdlc2Agb3IgYG1hbmFnZV9jaGFubmVsYCwgYXJlIHVuYWZmZWN0ZWQgKi9cbiAgcmF0ZV9saW1pdF9wZXJfdXNlcj86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSBiaXRyYXRlIChpbiBiaXRzKSBvZiB0aGUgdm9pY2UgY2hhbm5lbDsgODAwMCB0byA5NjAwMCAoMTI4MDAwIGZvciBWSVAgc2VydmVycykgKi9cbiAgYml0cmF0ZT86IG51bWJlciB8IG51bGxcbiAgLyoqIFRoZSB1c2VyIGxpbWl0IG9mIHRoZSB2b2ljZSBjaGFubmVsOyAwIHJlZmVycyB0byBubyBsaW1pdCwgMSB0byA5OSByZWZlcnMgdG8gYSB1c2VyIGxpbWl0ICovXG4gIHVzZXJfbGltaXQ/OiBudW1iZXIgfCBudWxsXG4gIC8qKiBDaGFubmVsIG9yIGNhdGVnb3J5LXNwZWNpZmljIHBlcm1pc3Npb25zICovXG4gIHBlcm1pc3Npb25fb3ZlcndyaXRlcz86IERpc2NvcmRPdmVyd3JpdGVbXSB8IG51bGxcbiAgLyoqIElkIG9mIHRoZSBuZXcgcGFyZW50IGNhdGVnb3J5IGZvciBhIGNoYW5uZWwgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nIHwgbnVsbFxuICAvKiogVm9pY2UgcmVnaW9uIGlkIGZvciB0aGUgdm9pY2UgY2hhbm5lbCwgYXV0b21hdGljIHdoZW4gc2V0IHRvIG51bGwgKi9cbiAgcnRjX3JlZ2lvbj86IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSBjYW1lcmEgdmlkZW8gcXVhbGl0eSBtb2RlIG9mIHRoZSB2b2ljZSBjaGFubmVsICovXG4gIHZpZGVvX3F1YWxpdHlfbW9kZT86IFZpZGVvUXVhbGl0eU1vZGVzXG4gIC8qKiBXaGV0aGVyIHRoZSB0aHJlYWQgaXMgYXJjaGl2ZWQgKi9cbiAgYXJjaGl2ZWQ/OiBib29sZWFuXG4gIC8qKiBEdXJhdGlvbiBpbiBtaW51dGVzIHRvIGF1dG9tYXRpY2FsbHkgYXJjaGl2ZSB0aGUgdGhyZWFkIGFmdGVyIHJlY2VudCBhY3Rpdml0eSAqL1xuICBhdXRvX2FyY2hpdmVfZHVyYXRpb24/OiA2MCB8IDE0NDAgfCA0MzIwIHwgMTAwODBcbiAgLyoqIFdoZW4gYSB0aHJlYWQgaXMgbG9ja2VkLCBvbmx5IHVzZXJzIHdpdGggYE1BTkFHRV9USFJFQURTYCBjYW4gdW5hcmNoaXZlIGl0ICovXG4gIGxvY2tlZD86IGJvb2xlYW5cbiAgLyoqIHdoZXRoZXIgbm9uLW1vZGVyYXRvcnMgY2FuIGFkZCBvdGhlciBub24tbW9kZXJhdG9ycyB0byBhIHRocmVhZDsgb25seSBhdmFpbGFibGUgb24gcHJpdmF0ZSB0aHJlYWRzICovXG4gIGludml0YWJsZT86IGJvb2xlYW5cbiAgLyoqIFRoZSBzZXQgb2YgdGFncyB0aGF0IGNhbiBiZSB1c2VkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbCAqL1xuICBhdmFpbGFibGVfdGFncz86IEFycmF5PHtcbiAgICAvKiogVGhlIGlkIG9mIHRoZSB0YWcgKi9cbiAgICBpZDogc3RyaW5nXG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSB0YWcgKDAtMjAgY2hhcmFjdGVycykgKi9cbiAgICBuYW1lOiBzdHJpbmdcbiAgICAvKiogV2hldGhlciB0aGlzIHRhZyBjYW4gb25seSBiZSBhZGRlZCB0byBvciByZW1vdmVkIGZyb20gdGhyZWFkcyBieSBhIG1lbWJlciB3aXRoIHRoZSBNQU5BR0VfVEhSRUFEUyBwZXJtaXNzaW9uICovXG4gICAgbW9kZXJhdGVkOiBib29sZWFuXG4gICAgLyoqIFRoZSBpZCBvZiBhIGd1aWxkJ3MgY3VzdG9tIGVtb2ppIEF0IG1vc3Qgb25lIG9mIGVtb2ppX2lkIGFuZCBlbW9qaV9uYW1lIG1heSBiZSBzZXQuICovXG4gICAgZW1vamlfaWQ6IHN0cmluZ1xuICAgIC8qKiBUaGUgdW5pY29kZSBjaGFyYWN0ZXIgb2YgdGhlIGVtb2ppICovXG4gICAgZW1vamlfbmFtZTogc3RyaW5nXG4gIH0+XG4gIC8qKiBUaGUgSURzIG9mIHRoZSBzZXQgb2YgdGFncyB0aGF0IGhhdmUgYmVlbiBhcHBsaWVkIHRvIGEgdGhyZWFkIGluIGEgR1VJTERfRk9SVU0gY2hhbm5lbDsgbGltaXRlZCB0byA1ICovXG4gIGFwcGxpZWRfdGFncz86IHN0cmluZ1tdXG4gIC8qKiB0aGUgZW1vamkgdG8gc2hvdyBpbiB0aGUgYWRkIHJlYWN0aW9uIGJ1dHRvbiBvbiBhIHRocmVhZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgZGVmYXVsdF9yZWFjdGlvbl9lbW9qaT86IHtcbiAgICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkgKi9cbiAgICBlbW9qaV9pZDogc3RyaW5nXG4gICAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkgKi9cbiAgICBlbW9qaV9uYW1lOiBzdHJpbmcgfCBudWxsXG4gIH1cbiAgLyoqIHRoZSBpbml0aWFsIHJhdGVfbGltaXRfcGVyX3VzZXIgdG8gc2V0IG9uIG5ld2x5IGNyZWF0ZWQgdGhyZWFkcyBpbiBhIGNoYW5uZWwuIHRoaXMgZmllbGQgaXMgY29waWVkIHRvIHRoZSB0aHJlYWQgYXQgY3JlYXRpb24gdGltZSBhbmQgZG9lcyBub3QgbGl2ZSB1cGRhdGUuICovXG4gIGRlZmF1bHRfdGhyZWFkX3JhdGVfbGltaXRfcGVyX3VzZXI/OiBudW1iZXJcbiAgLyoqIHRoZSBkZWZhdWx0IHNvcnQgb3JkZXIgdHlwZSB1c2VkIHRvIG9yZGVyIHBvc3RzIGluIGZvcnVtIGNoYW5uZWxzICovXG4gIGRlZmF1bHRfc29ydF9vcmRlcj86IFNvcnRPcmRlclR5cGVzIHwgbnVsbFxuICAvKiogdGhlIGRlZmF1bHQgZm9ydW0gbGF5b3V0IHZpZXcgdXNlZCB0byBkaXNwbGF5IHBvc3RzIGluIGBHVUlMRF9GT1JVTWAgY2hhbm5lbHMuIERlZmF1bHRzIHRvIGAwYCwgd2hpY2ggaW5kaWNhdGVzIGEgbGF5b3V0IHZpZXcgaGFzIG5vdCBiZWVuIHNldCBieSBhIGNoYW5uZWwgYWRtaW4gKi9cbiAgZGVmYXVsdF9mb3J1bV9sYXlvdXQ/OiBGb3J1bUxheW91dFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2Vtb2ppI2NyZWF0ZS1ndWlsZC1lbW9qaSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlR3VpbGRFbW9qaSB7XG4gIC8qKiBOYW1lIG9mIHRoZSBlbW9qaSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRoZSAxMjh4MTI4IGVtb2ppIGltYWdlLiBFbW9qaXMgYW5kIGFuaW1hdGVkIGVtb2ppcyBoYXZlIGEgbWF4aW11bSBmaWxlIHNpemUgb2YgMjU2a2IuIEF0dGVtcHRpbmcgdG8gdXBsb2FkIGFuIGVtb2ppIGxhcmdlciB0aGFuIHRoaXMgbGltaXQgd2lsbCBmYWlsIGFuZCByZXR1cm4gNDAwIEJhZCBSZXF1ZXN0IGFuZCBhbiBlcnJvciBtZXNzYWdlLCBidXQgbm90IGEgSlNPTiBzdGF0dXMgY29kZS4gSWYgYSBVUkwgaXMgcHJvdmlkZWQgdG8gdGhlIGltYWdlIHBhcmFtZXRlciwgRGlzY29yZGVubyB3aWxsIGF1dG9tYXRpY2FsbHkgY29udmVydCBpdCB0byBhIGJhc2U2NCBzdHJpbmcgaW50ZXJuYWxseS4gKi9cbiAgaW1hZ2U6IHN0cmluZ1xuICAvKiogUm9sZXMgYWxsb3dlZCB0byB1c2UgdGhpcyBlbW9qaSAqL1xuICByb2xlcz86IHN0cmluZ1tdXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZW1vamkjbW9kaWZ5LWd1aWxkLWVtb2ppICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNb2RpZnlHdWlsZEVtb2ppIHtcbiAgLyoqIE5hbWUgb2YgdGhlIGVtb2ppICovXG4gIG5hbWU/OiBzdHJpbmdcbiAgLyoqIFJvbGVzIGFsbG93ZWQgdG8gdXNlIHRoaXMgZW1vamkgKi9cbiAgcm9sZXM/OiBzdHJpbmdbXSB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkQ3JlYXRlR3VpbGRDaGFubmVsIHtcbiAgLyoqIENoYW5uZWwgbmFtZSAoMS0xMDAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUaGUgdHlwZSBvZiBjaGFubmVsICovXG4gIHR5cGU/OiBDaGFubmVsVHlwZXNcbiAgLyoqIENoYW5uZWwgdG9waWMgKDAtMTAyNCBjaGFyYWN0ZXJzKSAqL1xuICB0b3BpYz86IHN0cmluZ1xuICAvKiogVGhlIGJpdHJhdGUgKGluIGJpdHMpIG9mIHRoZSB2b2ljZSBjaGFubmVsICh2b2ljZSBvbmx5KSAqL1xuICBiaXRyYXRlPzogbnVtYmVyXG4gIC8qKiBUaGUgdXNlciBsaW1pdCBvZiB0aGUgdm9pY2UgY2hhbm5lbCAodm9pY2Ugb25seSkgKi9cbiAgdXNlcl9saW1pdD86IG51bWJlclxuICAvKiogQW1vdW50IG9mIHNlY29uZHMgYSB1c2VyIGhhcyB0byB3YWl0IGJlZm9yZSBzZW5kaW5nIGFub3RoZXIgbWVzc2FnZSAoMC0yMTYwMCk7IGJvdHMsIGFzIHdlbGwgYXMgdXNlcnMgd2l0aCB0aGUgcGVybWlzc2lvbiBgbWFuYWdlX21lc3NhZ2VzYCBvciBgbWFuYWdlX2NoYW5uZWxgLCBhcmUgdW5hZmZlY3RlZCAqL1xuICByYXRlX2xpbWl0X3Blcl91c2VyPzogbnVtYmVyXG4gIC8qKiBTb3J0aW5nIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsICovXG4gIHBvc2l0aW9uPzogbnVtYmVyXG4gIC8qKiBUaGUgY2hhbm5lbCdzIHBlcm1pc3Npb24gb3ZlcndyaXRlcyAqL1xuICBwZXJtaXNzaW9uX292ZXJ3cml0ZXM/OiBEaXNjb3JkT3ZlcndyaXRlW11cbiAgLyoqIElkIG9mIHRoZSBwYXJlbnQgY2F0ZWdvcnkgZm9yIGEgY2hhbm5lbCAqL1xuICBwYXJlbnRfaWQ/OiBzdHJpbmdcbiAgLyoqIFdoZXRoZXIgdGhlIGNoYW5uZWwgaXMgbnNmdyAqL1xuICBuc2Z3PzogYm9vbGVhblxuICAvKiogRGVmYXVsdCBkdXJhdGlvbiAoaW4gbWludXRlcykgdGhhdCBjbGllbnRzIChub3QgdGhlIEFQSSkgdXNlIGZvciBuZXdseSBjcmVhdGVkIHRocmVhZHMgaW4gdGhpcyBjaGFubmVsLCB0byBkZXRlcm1pbmUgd2hlbiB0byBhdXRvbWF0aWNhbGx5IGFyY2hpdmUgdGhlIHRocmVhZCBhZnRlciB0aGUgbGFzdCBhY3Rpdml0eSAqL1xuICBkZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbj86IG51bWJlclxuICAvKiogRW1vamkgdG8gc2hvdyBpbiB0aGUgYWRkIHJlYWN0aW9uIGJ1dHRvbiBvbiBhIHRocmVhZCBpbiBhIGZvcnVtIGNoYW5uZWwgKi9cbiAgZGVmYXVsdF9yZWFjdGlvbl9lbW9qaT86IHtcbiAgICAvKiogVGhlIGlkIG9mIGEgZ3VpbGQncyBjdXN0b20gZW1vamkuIEV4YWN0bHkgb25lIG9mIGBlbW9qaUlkYCBhbmQgYGVtb2ppTmFtZWAgbXVzdCBiZSBzZXQuICovXG4gICAgZW1vamlfaWQ/OiBzdHJpbmcgfCBudWxsXG4gICAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGUgZW1vamkuIEV4YWN0bHkgb25lIG9mIGBlbW9qaUlkYCBhbmQgYGVtb2ppTmFtZWAgbXVzdCBiZSBzZXQuICovXG4gICAgZW1vamlfbmFtZT86IHN0cmluZyB8IG51bGxcbiAgfVxuICAvKiogU2V0IG9mIHRhZ3MgdGhhdCBjYW4gYmUgdXNlZCBpbiBhIGZvcnVtIGNoYW5uZWwgKi9cbiAgYXZhaWxhYmxlX3RhZ3M/OiBBcnJheTx7XG4gICAgLyoqIFRoZSBpZCBvZiB0aGUgdGFnICovXG4gICAgaWQ6IHN0cmluZ1xuICAgIC8qKiBUaGUgbmFtZSBvZiB0aGUgdGFnICgwLTIwIGNoYXJhY3RlcnMpICovXG4gICAgbmFtZTogc3RyaW5nXG4gICAgLyoqIHdoZXRoZXIgdGhpcyB0YWcgY2FuIG9ubHkgYmUgYWRkZWQgdG8gb3IgcmVtb3ZlZCBmcm9tIHRocmVhZHMgYnkgYSBtZW1iZXIgd2l0aCB0aGUgTUFOQUdFX1RIUkVBRFMgcGVybWlzc2lvbiAqL1xuICAgIG1vZGVyYXRlZDogYm9vbGVhblxuICAgIC8qKiBUaGUgaWQgb2YgYSBndWlsZCdzIGN1c3RvbSBlbW9qaSAqL1xuICAgIGVtb2ppX2lkOiBzdHJpbmdcbiAgICAvKiogVGhlIHVuaWNvZGUgY2hhcmFjdGVyIG9mIHRoZSBlbW9qaSAqL1xuICAgIGVtb2ppX25hbWU/OiBzdHJpbmdcbiAgfT5cbiAgLyoqIHRoZSBkZWZhdWx0IHNvcnQgb3JkZXIgdHlwZSB1c2VkIHRvIG9yZGVyIHBvc3RzIGluIGZvcnVtIGNoYW5uZWxzICovXG4gIGRlZmF1bHRfc29ydF9vcmRlcj86IFNvcnRPcmRlclR5cGVzIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVNZXNzYWdlIHtcbiAgLyoqIFRoZSBtZXNzYWdlIGNvbnRlbnRzICh1cCB0byAyMDAwIGNoYXJhY3RlcnMpICovXG4gIGNvbnRlbnQ/OiBzdHJpbmdcbiAgLyoqIENhbiBiZSB1c2VkIHRvIHZlcmlmeSBhIG1lc3NhZ2Ugd2FzIHNlbnQgKHVwIHRvIDI1IGNoYXJhY3RlcnMpLiBWYWx1ZSB3aWxsIGFwcGVhciBpbiB0aGUgTWVzc2FnZSBDcmVhdGUgZXZlbnQuICovXG4gIG5vbmNlPzogc3RyaW5nIHwgbnVtYmVyXG4gIC8qKiB0cnVlIGlmIHRoaXMgaXMgYSBUVFMgbWVzc2FnZSAqL1xuICB0dHM/OiBib29sZWFuXG4gIC8qKiBFbWJlZGRlZCBgcmljaGAgY29udGVudCAodXAgdG8gNjAwMCBjaGFyYWN0ZXJzKSAqL1xuICBlbWJlZHM/OiBEaXNjb3JkRW1iZWRbXVxuICAvKiogQWxsb3dlZCBtZW50aW9ucyBmb3IgdGhlIG1lc3NhZ2UgKi9cbiAgYWxsb3dlZF9tZW50aW9ucz86IERpc2NvcmRBbGxvd2VkTWVudGlvbnNcbiAgLyoqIEluY2x1ZGUgdG8gbWFrZSB5b3VyIG1lc3NhZ2UgYSByZXBseSAqL1xuICBtZXNzYWdlX3JlZmVyZW5jZT86IHtcbiAgICAvKiogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UgKi9cbiAgICBtZXNzYWdlX2lkPzogc3RyaW5nXG4gICAgLyoqXG4gICAgICogaWQgb2YgdGhlIG9yaWdpbmF0aW5nIG1lc3NhZ2UncyBjaGFubmVsXG4gICAgICogTm90ZTogYGNoYW5uZWxfaWRgIGlzIG9wdGlvbmFsIHdoZW4gY3JlYXRpbmcgYSByZXBseSwgYnV0IHdpbGwgYWx3YXlzIGJlIHByZXNlbnQgd2hlbiByZWNlaXZpbmcgYW4gZXZlbnQvcmVzcG9uc2UgdGhhdCBpbmNsdWRlcyB0aGlzIGRhdGEgbW9kZWwuXG4gICAgICovXG4gICAgY2hhbm5lbF9pZD86IHN0cmluZ1xuICAgIC8qKiBpZCBvZiB0aGUgb3JpZ2luYXRpbmcgbWVzc2FnZSdzIGd1aWxkICovXG4gICAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgICAvKiogV2hlbiBzZW5kaW5nLCB3aGV0aGVyIHRvIGVycm9yIGlmIHRoZSByZWZlcmVuY2VkIG1lc3NhZ2UgZG9lc24ndCBleGlzdCBpbnN0ZWFkIG9mIHNlbmRpbmcgYXMgYSBub3JtYWwgKG5vbi1yZXBseSkgbWVzc2FnZSwgZGVmYXVsdCB0cnVlICovXG4gICAgZmFpbF9pZl9ub3RfZXhpc3RzOiBib29sZWFuXG4gIH1cbiAgLyoqIFRoZSBjb21wb25lbnRzIHlvdSB3b3VsZCBsaWtlIHRvIGhhdmUgc2VudCBpbiB0aGlzIG1lc3NhZ2UgKi9cbiAgY29tcG9uZW50cz86IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50c1xuICAvKiogSURzIG9mIHVwIHRvIDMgc3RpY2tlcnMgaW4gdGhlIHNlcnZlciB0byBzZW5kIGluIHRoZSBtZXNzYWdlICovXG4gIHN0aWNrZXJJZHM/OiBbc3RyaW5nXSB8IFtzdHJpbmcsIHN0cmluZ10gfCBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ11cbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNtb2RpZnktZ3VpbGQtd2VsY29tZS1zY3JlZW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZE1vZGlmeUd1aWxkV2VsY29tZVNjcmVlbiB7XG4gIC8qKiBXaGV0aGVyIHRoZSB3ZWxjb21lIHNjcmVlbiBpcyBlbmFibGVkICovXG4gIGVuYWJsZWQ/OiBib29sZWFuIHwgbnVsbFxuICAvKiogQ2hhbm5lbHMgbGlua2VkIGluIHRoZSB3ZWxjb21lIHNjcmVlbiBhbmQgdGhlaXIgZGlzcGxheSBvcHRpb25zICovXG4gIHdlbGNvbWVfc2NyZWVuPzogRGlzY29yZFdlbGNvbWVTY3JlZW5DaGFubmVsW10gfCBudWxsXG4gIC8qKiBUaGUgc2VydmVyIGRlc2NyaXB0aW9uIHRvIHNob3cgaW4gdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRGb2xsb3dBbm5vdW5jZW1lbnRDaGFubmVsIHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB0byBzZW5kIGFubm91bmNlbWVudHMgdG8uICovXG4gIHdlYmhvb2tfY2hhbm5lbF9pZDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlc09wdGlvbnMge1xuICAvKiogUGVybWlzc2lvbiBiaXQgc2V0ICovXG4gIGFsbG93OiBzdHJpbmdcbiAgLyoqIFBlcm1pc3Npb24gYml0IHNldCAqL1xuICBkZW55OiBzdHJpbmdcbiAgLyoqIEVpdGhlciAwIChyb2xlKSBvciAxIChtZW1iZXIpICovXG4gIHR5cGU6IE92ZXJ3cml0ZVR5cGVzXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjbW9kaWZ5LWd1aWxkLWNoYW5uZWwtcG9zaXRpb25zICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRNb2RpZnlHdWlsZENoYW5uZWxQb3NpdGlvbnMge1xuICAvKiogQ2hhbm5lbCBpZCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBTb3J0aW5nIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsICovXG4gIHBvc2l0aW9uPzogbnVtYmVyIHwgbnVsbFxuICAvKiogU3luY3MgdGhlIHBlcm1pc3Npb24gb3ZlcndyaXRlcyB3aXRoIHRoZSBuZXcgcGFyZW50LCBpZiBtb3ZpbmcgdG8gYSBuZXcgY2F0ZWdvcnkgKi9cbiAgbG9ja19wb3NpdGlvbnM/OiBib29sZWFuIHwgbnVsbFxuICAvKiogVGhlIG5ldyBwYXJlbnQgSUQgZm9yIHRoZSBjaGFubmVsIHRoYXQgaXMgbW92ZWQgKi9cbiAgcGFyZW50X2lkPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVXZWJob29rIHtcbiAgLyoqIE5hbWUgb2YgdGhlIHdlYmhvb2sgKDEtODAgY2hhcmFjdGVycykgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBJbWFnZSB1cmwgZm9yIHRoZSBkZWZhdWx0IHdlYmhvb2sgYXZhdGFyICovXG4gIGF2YXRhcj86IHN0cmluZyB8IG51bGxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9jaGFubmVsI3N0YXJ0LXRocmVhZC1pbi1mb3J1bS1jaGFubmVsICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRDcmVhdGVGb3J1bVBvc3RXaXRoTWVzc2FnZSB7XG4gIC8qKiAxLTEwMCBjaGFyYWN0ZXIgY2hhbm5lbCBuYW1lICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogZHVyYXRpb24gaW4gbWludXRlcyB0byBhdXRvbWF0aWNhbGx5IGFyY2hpdmUgdGhlIHRocmVhZCBhZnRlciByZWNlbnQgYWN0aXZpdHksIGNhbiBiZSBzZXQgdG86IDYwLCAxNDQwLCA0MzIwLCAxMDA4MCAqL1xuICBhdXRvX2FyY2hpdmVfZHVyYXRpb24/OiA2MCB8IDE0NDAgfCA0MzIwIHwgMTAwODBcbiAgLyoqIGFtb3VudCBvZiBzZWNvbmRzIGEgdXNlciBoYXMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhbm90aGVyIG1lc3NhZ2UgKDAtMjE2MDApICovXG4gIHJhdGVfbGltaXRfcGVyX3VzZXI/OiBudW1iZXJcbiAgLyoqIGNvbnRlbnRzIG9mIHRoZSBmaXJzdCBtZXNzYWdlIGluIHRoZSBmb3J1bSB0aHJlYWQgKi9cbiAgbWVzc2FnZToge1xuICAgIC8qKiBNZXNzYWdlIGNvbnRlbnRzICh1cCB0byAyMDAwIGNoYXJhY3RlcnMpICovXG4gICAgY29udGVudD86IHN0cmluZ1xuICAgIC8qKiBFbWJlZGRlZCByaWNoIGNvbnRlbnQgKHVwIHRvIDYwMDAgY2hhcmFjdGVycykgKi9cbiAgICBlbWJlZHM/OiBEaXNjb3JkRW1iZWRbXVxuICAgIC8qKiBBbGxvd2VkIG1lbnRpb25zIGZvciB0aGUgbWVzc2FnZSAqL1xuICAgIGFsbG93ZWRfbWVudGlvbnM/OiBEaXNjb3JkQWxsb3dlZE1lbnRpb25zW11cbiAgICAvKiogQ29tcG9uZW50cyB0byBpbmNsdWRlIHdpdGggdGhlIG1lc3NhZ2UgKi9cbiAgICBjb21wb25lbnRzPzogRGlzY29yZE1lc3NhZ2VDb21wb25lbnRzW11cbiAgICAvKiogSURzIG9mIHVwIHRvIDMgc3RpY2tlcnMgaW4gdGhlIHNlcnZlciB0byBzZW5kIGluIHRoZSBtZXNzYWdlICovXG4gICAgc3RpY2tlcl9pZHM/OiBzdHJpbmdbXVxuICAgIC8qKiBKU09OLWVuY29kZWQgYm9keSBvZiBub24tZmlsZSBwYXJhbXMsIG9ubHkgZm9yIG11bHRpcGFydC9mb3JtLWRhdGEgcmVxdWVzdHMuIFNlZSB7QGxpbmsgaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVmZXJlbmNlI3VwbG9hZGluZy1maWxlcyBVcGxvYWRpbmcgRmlsZXN9ICovXG4gICAgcGF5bG9hZF9qc29uPzogc3RyaW5nXG4gICAgLyoqIEF0dGFjaG1lbnQgb2JqZWN0cyB3aXRoIGZpbGVuYW1lIGFuZCBkZXNjcmlwdGlvbi4gU2VlIHtAbGluayBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZWZlcmVuY2UjdXBsb2FkaW5nLWZpbGVzIFVwbG9hZGluZyBGaWxlc30gKi9cbiAgICBhdHRhY2htZW50cz86IERpc2NvcmRBdHRhY2htZW50W11cbiAgICAvKiogTWVzc2FnZSBmbGFncyBjb21iaW5lZCBhcyBhIGJpdGZpZWxkLCBvbmx5IFNVUFBSRVNTX0VNQkVEUyBjYW4gYmUgc2V0ICovXG4gICAgZmxhZ3M/OiBNZXNzYWdlRmxhZ3NcbiAgfVxuICAvKiogdGhlIElEcyBvZiB0aGUgc2V0IG9mIHRhZ3MgdGhhdCBoYXZlIGJlZW4gYXBwbGllZCB0byBhIHRocmVhZCBpbiBhIEdVSUxEX0ZPUlVNIGNoYW5uZWwgKi9cbiAgYXBwbGllZF90YWdzPzogc3RyaW5nW11cbn1cblxuZXhwb3J0IHR5cGUgRGlzY29yZEFyY2hpdmVkVGhyZWFkcyA9IERpc2NvcmRBY3RpdmVUaHJlYWRzICYge1xuICBoYXNNb3JlOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEFjdGl2ZVRocmVhZHMge1xuICB0aHJlYWRzOiBEaXNjb3JkQ2hhbm5lbFtdXG4gIG1lbWJlcnM6IERpc2NvcmRUaHJlYWRNZW1iZXJbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRWYW5pdHlVcmwge1xuICBjb2RlOiBzdHJpbmcgfCBudWxsXG4gIHVzZXM6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRQcnVuZWRDb3VudCB7XG4gIHBydW5lZDogbnVtYmVyXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb25ib2FyZGluZy1vYmplY3QtZ3VpbGQtb25ib2FyZGluZy1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkT25ib2FyZGluZyB7XG4gIC8qKiBJRCBvZiB0aGUgZ3VpbGQgdGhpcyBvbmJvYXJkaW5nIGlzIHBhcnQgb2YgKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xuICAvKiogUHJvbXB0cyBzaG93biBkdXJpbmcgb25ib2FyZGluZyBhbmQgaW4gY3VzdG9taXplIGNvbW11bml0eSAqL1xuICBwcm9tcHRzOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0W11cbiAgLyoqIENoYW5uZWwgSURzIHRoYXQgbWVtYmVycyBnZXQgb3B0ZWQgaW50byBhdXRvbWF0aWNhbGx5ICovXG4gIGRlZmF1bHRfY2hhbm5lbF9pZHM6IHN0cmluZ1tdXG4gIC8qKiBXaGV0aGVyIG9uYm9hcmRpbmcgaXMgZW5hYmxlZCBpbiB0aGUgZ3VpbGQgKi9cbiAgZW5hYmxlZDogYm9vbGVhblxuICAvKiogQ3VycmVudCBtb2RlIG9mIG9uYm9hcmRpbmcgKi9cbiAgbW9kZTogRGlzY29yZEd1aWxkT25ib2FyZGluZ01vZGVcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vbmJvYXJkaW5nLW9iamVjdC1vbmJvYXJkaW5nLXByb21wdC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdCB7XG4gIC8qKiBJRCBvZiB0aGUgcHJvbXB0ICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgcHJvbXB0ICovXG4gIHR5cGU6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRUeXBlXG4gIC8qKiBPcHRpb25zIGF2YWlsYWJsZSB3aXRoaW4gdGhlIHByb21wdCAqL1xuICBvcHRpb25zOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uW11cbiAgLyoqIFRpdGxlIG9mIHRoZSBwcm9tcHQgKi9cbiAgdGl0bGU6IHN0cmluZ1xuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdXNlcnMgYXJlIGxpbWl0ZWQgdG8gc2VsZWN0aW5nIG9uZSBvcHRpb24gZm9yIHRoZSBwcm9tcHQgKi9cbiAgc2luZ2xlX3NlbGVjdDogYm9vbGVhblxuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHByb21wdCBpcyByZXF1aXJlZCBiZWZvcmUgYSB1c2VyIGNvbXBsZXRlcyB0aGUgb25ib2FyZGluZyBmbG93ICovXG4gIHJlcXVpcmVkOiBib29sZWFuXG4gIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvbXB0IGlzIHByZXNlbnQgaW4gdGhlIG9uYm9hcmRpbmcgZmxvdy4gSWYgYGZhbHNlYCwgdGhlIHByb21wdCB3aWxsIG9ubHkgYXBwZWFyIGluIHRoZSBDaGFubmVscyAmIFJvbGVzIHRhYiAqL1xuICBpbl9vbmJvYXJkaW5nOiBib29sZWFuXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb25ib2FyZGluZy1vYmplY3QtcHJvbXB0LW9wdGlvbi1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiB7XG4gIC8qKiBJRCBvZiB0aGUgcHJvbXB0IG9wdGlvbiAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJRHMgZm9yIGNoYW5uZWxzIGEgbWVtYmVyIGlzIGFkZGVkIHRvIHdoZW4gdGhlIG9wdGlvbiBpcyBzZWxlY3RlZCAqL1xuICBjaGFubmVsX2lkczogc3RyaW5nW11cbiAgLyoqIElEcyBmb3Igcm9sZXMgYXNzaWduZWQgdG8gYSBtZW1iZXIgd2hlbiB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkICovXG4gIHJvbGVfaWRzOiBzdHJpbmdbXVxuICAvKipcbiAgICogRW1vamkgb2YgdGhlIG9wdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIGNyZWF0aW5nIG9yIHVwZGF0aW5nIGEgcHJvbXB0IG9wdGlvbiwgdGhlIGBlbW9qaV9pZGAsIGBlbW9qaV9uYW1lYCwgYW5kIGBlbW9qaV9hbmltYXRlZGAgZmllbGRzIG11c3QgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBlbW9qaSBvYmplY3QuXG4gICAqL1xuICBlbW9qaT86IERpc2NvcmRFbW9qaVxuICAvKipcbiAgICogRW1vamkgSUQgb2YgdGhlIG9wdGlvblxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBXaGVuIGNyZWF0aW5nIG9yIHVwZGF0aW5nIGEgcHJvbXB0IG9wdGlvbiwgdGhlIGBlbW9qaV9pZGAsIGBlbW9qaV9uYW1lYCwgYW5kIGBlbW9qaV9hbmltYXRlZGAgZmllbGRzIG11c3QgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBlbW9qaSBvYmplY3QuXG4gICAqL1xuICBlbW9qaV9pZD86IHN0cmluZ1xuICAvKipcbiAgICogRW1vamkgbmFtZSBvZiB0aGUgb3B0aW9uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgb3IgdXBkYXRpbmcgYSBwcm9tcHQgb3B0aW9uLCB0aGUgYGVtb2ppX2lkYCwgYGVtb2ppX25hbWVgLCBhbmQgYGVtb2ppX2FuaW1hdGVkYCBmaWVsZHMgbXVzdCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGVtb2ppIG9iamVjdC5cbiAgICovXG4gIGVtb2ppX25hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGVtb2ppIGlzIGFuaW1hdGVkXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFdoZW4gY3JlYXRpbmcgb3IgdXBkYXRpbmcgYSBwcm9tcHQgb3B0aW9uLCB0aGUgYGVtb2ppX2lkYCwgYGVtb2ppX25hbWVgLCBhbmQgYGVtb2ppX2FuaW1hdGVkYCBmaWVsZHMgbXVzdCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGVtb2ppIG9iamVjdC5cbiAgICovXG4gIGVtb2ppX2FuaW1hdGVkPzogYm9vbGVhblxuICAvKiogVGl0bGUgb2YgdGhlIG9wdGlvbiAqL1xuICB0aXRsZTogc3RyaW5nXG4gIC8qKiBEZXNjcmlwdGlvbiBvZiB0aGUgb3B0aW9uICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjZ3VpbGQtb25ib2FyZGluZy1vYmplY3QtcHJvbXB0LXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0VHlwZSB7XG4gIE11bHRpcGxlQ2hvaWNlLFxuICBEcm9wRG93bixcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNndWlsZC1vbmJvYXJkaW5nLW9iamVjdC1vbmJvYXJkaW5nLW1vZGUgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdNb2RlIHtcbiAgLyoqIENvdW50cyBvbmx5IERlZmF1bHQgQ2hhbm5lbHMgdG93YXJkcyBjb25zdHJhaW50cyAqL1xuICBPbmJvYXJkaW5nRGVmYXVsdCxcbiAgLyoqIENvdW50cyBEZWZhdWx0IENoYW5uZWxzIGFuZCBRdWVzdGlvbnMgdG93YXJkcyBjb25zdHJhaW50cyAqL1xuICBPbmJvYXJkaW5nQWR2YW5jZWQsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvdGVhbXMjdGVhbS1tZW1iZXItcm9sZXMtdGVhbS1tZW1iZXItcm9sZS10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZFRlYW1NZW1iZXJSb2xlIHtcbiAgLyoqIE93bmVycyBhcmUgdGhlIG1vc3QgcGVybWlzc2lhYmxlIHJvbGUsIGFuZCBjYW4gdGFrZSBkZXN0cnVjdGl2ZSwgaXJyZXZlcnNpYmxlIGFjdGlvbnMgbGlrZSBkZWxldGluZyB0aGUgdGVhbSBpdHNlbGYuIFRlYW1zIGFyZSBsaW1pdGVkIHRvIDEgb3duZXIuICovXG4gIE93bmVyID0gJ293bmVyJyxcbiAgLyoqIEFkbWlucyBoYXZlIHNpbWlsYXIgYWNjZXNzIGFzIG93bmVycywgZXhjZXB0IHRoZXkgY2Fubm90IHRha2UgZGVzdHJ1Y3RpdmUgYWN0aW9ucyBvbiB0aGUgdGVhbSBvciB0ZWFtLW93bmVkIGFwcHMuICovXG4gIEFkbWluID0gJ2FkbWluJyxcbiAgLyoqXG4gICAqIERldmVsb3BlcnMgY2FuIGFjY2VzcyBpbmZvcm1hdGlvbiBhYm91dCB0ZWFtLW93bmVkIGFwcHMsIGxpa2UgdGhlIGNsaWVudCBzZWNyZXQgb3IgcHVibGljIGtleS5cbiAgICogVGhleSBjYW4gYWxzbyB0YWtlIGxpbWl0ZWQgYWN0aW9ucyBvbiB0ZWFtLW93bmVkIGFwcHMsIGxpa2UgY29uZmlndXJpbmcgaW50ZXJhY3Rpb24gZW5kcG9pbnRzIG9yIHJlc2V0dGluZyB0aGUgYm90IHRva2VuLlxuICAgKiBNZW1iZXJzIHdpdGggdGhlIERldmVsb3BlciByb2xlICpjYW5ub3QqIG1hbmFnZSB0aGUgdGVhbSBvciBpdHMgbWVtYmVycywgb3IgdGFrZSBkZXN0cnVjdGl2ZSBhY3Rpb25zIG9uIHRlYW0tb3duZWQgYXBwcy5cbiAgICovXG4gIERldmVsb3BlciA9ICdkZXZlbG9wZXInLFxuICAvKiogUmVhZC1vbmx5IG1lbWJlcnMgY2FuIGFjY2VzcyBpbmZvcm1hdGlvbiBhYm91dCBhIHRlYW0gYW5kIGFueSB0ZWFtLW93bmVkIGFwcHMuIFNvbWUgZXhhbXBsZXMgaW5jbHVkZSBnZXR0aW5nIHRoZSBJRHMgb2YgYXBwbGljYXRpb25zIGFuZCBleHBvcnRpbmcgcGF5b3V0IHJlY29yZHMuICovXG4gIFJlYWRPbmx5ID0gJ3JlYWRfb25seScsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9tb25ldGl6YXRpb24vZW50aXRsZW1lbnRzI2VudGl0bGVtZW50LW9iamVjdC1lbnRpdGxlbWVudC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEVudGl0bGVtZW50IHtcbiAgLyoqIElEIG9mIHRoZSBlbnRpdGxlbWVudCAqL1xuICBpZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgU0tVICovXG4gIHNrdV9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgdXNlciB0aGF0IGlzIGdyYW50ZWQgYWNjZXNzIHRvIHRoZSBlbnRpdGxlbWVudCdzIHNrdSAqL1xuICB1c2VyX2lkPzogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgZ3VpbGQgdGhhdCBpcyBncmFudGVkIGFjY2VzcyB0byB0aGUgZW50aXRsZW1lbnQncyBza3UgKi9cbiAgZ3VpbGRfaWQ/OiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSBwYXJlbnQgYXBwbGljYXRpb24gKi9cbiAgYXBwbGljYXRpb25faWQ6IHN0cmluZ1xuICAvKiogVHlwZSBvZiBlbnRpdGxlbWVudCAqL1xuICB0eXBlOiBEaXNjb3JkRW50aXRsZW1lbnRUeXBlXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgZGVsZXRlZCAqL1xuICBkZWxldGVkOiBib29sZWFuXG4gIC8qKiBTdGFydCBkYXRlIGF0IHdoaWNoIHRoZSBlbnRpdGxlbWVudCBpcyB2YWxpZC4gTm90IHByZXNlbnQgd2hlbiB1c2luZyB0ZXN0IGVudGl0bGVtZW50cyAqL1xuICBzdGFydHNfYXQ/OiBzdHJpbmdcbiAgLyoqIERhdGUgYXQgd2hpY2ggdGhlIGVudGl0bGVtZW50IGlzIG5vIGxvbmdlciB2YWxpZC4gTm90IHByZXNlbnQgd2hlbiB1c2luZyB0ZXN0IGVudGl0bGVtZW50cyAqL1xuICBlbmRzX2F0Pzogc3RyaW5nXG4gIC8qKiBGb3IgY29uc3VtYWJsZSBpdGVtcywgd2hldGhlciBvciBub3QgdGhlIGVudGl0bGVtZW50IGhhcyBiZWVuIGNvbnN1bWVkICovXG4gIGNvbnN1bWVkPzogYm9vbGVhblxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvbW9uZXRpemF0aW9uL2VudGl0bGVtZW50cyNlbnRpdGxlbWVudC1vYmplY3QtZW50aXRsZW1lbnQtdHlwZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRFbnRpdGxlbWVudFR5cGUge1xuICAvKiogRW50aXRsZW1lbnQgd2FzIHB1cmNoYXNlZCBieSB1c2VyICovXG4gIFB1cmNoYXNlID0gMSxcbiAgLyoqIEVudGl0bGVtZW50IGZvciBEaXNjb3JkIE5pdHJvIHN1YnNjcmlwdGlvbiAqL1xuICBQcmVtaXVtU3Vic2NyaXB0aW9uID0gMixcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBnaWZ0ZWQgYnkgZGV2ZWxvcGVyICovXG4gIERldmVsb3BlckdpZnQgPSAzLFxuICAvKiogRW50aXRsZW1lbnQgd2FzIHB1cmNoYXNlZCBieSBhIGRldiBpbiBhcHBsaWNhdGlvbiB0ZXN0IG1vZGUgKi9cbiAgVGVzdE1vZGVQdXJjaGFzZSA9IDQsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgZ3JhbnRlZCB3aGVuIHRoZSBTS1Ugd2FzIGZyZWUgKi9cbiAgRnJlZVB1cmNoYXNlID0gNSxcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBnaWZ0ZWQgYnkgYW5vdGhlciB1c2VyICovXG4gIFVzZXJHaWZ0ID0gNixcbiAgLyoqIEVudGl0bGVtZW50IHdhcyBjbGFpbWVkIGJ5IHVzZXIgZm9yIGZyZWUgYXMgYSBOaXRybyBTdWJzY3JpYmVyICovXG4gIFByZW1pdW1QdXJjaGFzZSA9IDcsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgcHVyY2hhc2VkIGFzIGFuIGFwcCBzdWJzY3JpcHRpb24gKi9cbiAgQXBwbGljYXRpb25TdWJzY3JpcHRpb24gPSA4LFxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvbW9uZXRpemF0aW9uL3NrdXMjc2t1LW9iamVjdC1za3Utc3RydWN0dXJlICovXG5leHBvcnQgaW50ZXJmYWNlIERpc2NvcmRTa3Uge1xuICAvKiogSUQgb2YgU0tVICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIFR5cGUgb2YgU0tVICovXG4gIHR5cGU6IERpc2NvcmRTa3VUeXBlXG4gIC8qKiBJRCBvZiB0aGUgcGFyZW50IGFwcGxpY2F0aW9uICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIEN1c3RvbWVyLWZhY2luZyBuYW1lIG9mIHlvdXIgcHJlbWl1bSBvZmZlcmluZyAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFN5c3RlbS1nZW5lcmF0ZWQgVVJMIHNsdWcgYmFzZWQgb24gdGhlIFNLVSdzIG5hbWUgKi9cbiAgc2x1Zzogc3RyaW5nXG4gIC8qKiBTS1UgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCAqL1xuICBmbGFnczogU2t1RmxhZ3Ncbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL21vbmV0aXphdGlvbi9za3VzI3NrdS1vYmplY3Qtc2t1LXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkU2t1VHlwZSB7XG4gIC8qKiBEdXJhYmxlIG9uZS10aW1lIHB1cmNoYXNlICovXG4gIER1cmFibGUgPSAyLFxuICAvKiogQ29uc3VtYWJsZSBvbmUtdGltZSBwdXJjaGFzZSAqL1xuICBDb25zdW1hYmxlID0gMyxcbiAgLyoqIFJlcHJlc2VudHMgYSByZWN1cnJpbmcgc3Vic2NyaXB0aW9uICovXG4gIFN1YnNjcmlwdGlvbiA9IDUsXG4gIC8qKiBTeXN0ZW0tZ2VuZXJhdGVkIGdyb3VwIGZvciBlYWNoIFNVQlNDUklQVElPTiBTS1UgY3JlYXRlZCAqL1xuICBTdWJzY3JpcHRpb25Hcm91cCA9IDYsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvc3Vic2NyaXB0aW9uI3N1YnNjcmlwdGlvbi1vYmplY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFN1YnNjcmlwdGlvbiB7XG4gIC8qKiBJRCBvZiB0aGUgc3Vic2NyaXB0aW9uICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqIElEIG9mIHRoZSB1c2VyIHdobyBpcyBzdWJzY3JpYmVkICovXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICAvKiogTGlzdCBvZiBTS1VzIHN1YnNjcmliZWQgdG8gKi9cbiAgc2t1X2lkczogc3RyaW5nW11cbiAgLyoqIExpc3Qgb2YgZW50aXRsZW1lbnRzIGdyYW50ZWQgZm9yIHRoaXMgc3Vic2NyaXB0aW9uICovXG4gIGVudGl0bGVtZW50X2lkczogc3RyaW5nW11cbiAgLyoqIFN0YXJ0IG9mIHRoZSBjdXJyZW50IHN1YnNjcmlwdGlvbiBwZXJpb2QgKi9cbiAgY3VycmVudF9wZXJpb2Rfc3RhcnQ6IHN0cmluZ1xuICAvKiogRW5kIG9mIHRoZSBjdXJyZW50IHN1YnNjcmlwdGlvbiBwZXJpb2QgKi9cbiAgY3VycmVudF9wZXJpb2RfZW5kOiBzdHJpbmdcbiAgLyoqIEN1cnJlbnQgc3RhdHVzIG9mIHRoZSBzdWJzY3JpcHRpb24gKi9cbiAgc3RhdHVzOiBEaXNjb3JkU3Vic2NyaXB0aW9uU3RhdHVzXG4gIC8qKiBXaGVuIHRoZSBzdWJzY3JpcHRpb24gd2FzIGNhbmNlbGVkICovXG4gIGNhbmNlbGVkX2F0OiBzdHJpbmcgfCBudWxsXG4gIC8qKiBJU08zMTY2LTEgYWxwaGEtMiBjb3VudHJ5IGNvZGUgb2YgdGhlIHBheW1lbnQgc291cmNlIHVzZWQgdG8gcHVyY2hhc2UgdGhlIHN1YnNjcmlwdGlvbi4gTWlzc2luZyB1bmxlc3MgcXVlcmllZCB3aXRoIGEgcHJpdmF0ZSBPQXV0aCBzY29wZS4gKi9cbiAgY291bnRyeT86IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3N1YnNjcmlwdGlvbiNzdWJzY3JpcHRpb24tc3RhdHVzZXMgKi9cbmV4cG9ydCBlbnVtIERpc2NvcmRTdWJzY3JpcHRpb25TdGF0dXMge1xuICAvKiogU3Vic2NyaXB0aW9uIGlzIGFjdGl2ZSBhbmQgc2NoZWR1bGVkIHRvIHJlbmV3LiAqL1xuICBBY3RpdmUsXG4gIC8qKiBTdWJzY3JpcHRpb24gaXMgYWN0aXZlIGJ1dCB3aWxsIG5vdCByZW5ldy4gKi9cbiAgRW5kaW5nLFxuICAvKiogU3Vic2NyaXB0aW9uIGlzIGluYWN0aXZlIGFuZCBub3QgYmVpbmcgY2hhcmdlZC4gKi9cbiAgSW5hY3RpdmUsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9pbnRlcmFjdGlvbnMvcmVjZWl2aW5nLWFuZC1yZXNwb25kaW5nI2ludGVyYWN0aW9uLW9iamVjdC1pbnRlcmFjdGlvbi1jb250ZXh0LXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkSW50ZXJhY3Rpb25Db250ZXh0VHlwZSB7XG4gIC8qKiBJbnRlcmFjdGlvbiBjYW4gYmUgdXNlZCB3aXRoaW4gc2VydmVycyAqL1xuICBHdWlsZCA9IDAsXG4gIC8qKiBJbnRlcmFjdGlvbiBjYW4gYmUgdXNlZCB3aXRoaW4gRE1zIHdpdGggdGhlIGFwcCdzIGJvdCB1c2VyICovXG4gIEJvdERtID0gMSxcbiAgLyoqIEludGVyYWN0aW9uIGNhbiBiZSB1c2VkIHdpdGhpbiBHcm91cCBETXMgYW5kIERNcyBvdGhlciB0aGFuIHRoZSBhcHAncyBib3QgdXNlciAqL1xuICBQcml2YXRlQ2hhbm5lbCA9IDIsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjYnVsay1ndWlsZC1iYW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEJ1bGtCYW4ge1xuICAvKiogbGlzdCBvZiB1c2VyIGlkcywgdGhhdCB3ZXJlIHN1Y2Nlc3NmdWxseSBiYW5uZWQgKi9cbiAgYmFubmVkX3VzZXJzOiBzdHJpbmdbXVxuICAvKiogbGlzdCBvZiB1c2VyIGlkcywgdGhhdCB3ZXJlIG5vdCBiYW5uZWQgKi9cbiAgZmFpbGVkX3VzZXJzOiBzdHJpbmdbXVxufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL3NvdW5kYm9hcmQjc291bmRib2FyZC1zb3VuZC1vYmplY3Qtc291bmRib2FyZC1zb3VuZC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNvdW5kYm9hcmRTb3VuZCB7XG4gIC8qKiBUaGUgbmFtZSBvZiB0aGlzIHNvdW5kICovXG4gIG5hbWU6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoaXMgc291bmQgKi9cbiAgc291bmRfaWQ6IHN0cmluZ1xuICAvKiogVGhlIHZvbHVtZSBvZiB0aGlzIHNvdW5kLCBmcm9tIDAgdG8gMSAqL1xuICB2b2x1bWU6IG51bWJlclxuICAvKiogVGhlIGlkIG9mIHRoaXMgc291bmQncyBjdXN0b20gZW1vamkgKi9cbiAgZW1vamlfaWQ6IHN0cmluZyB8IG51bGxcbiAgLyoqIFRoZSB1bmljb2RlIGNoYXJhY3RlciBvZiB0aGlzIHNvdW5kJ3Mgc3RhbmRhcmQgZW1vamkgKi9cbiAgZW1vamlfbmFtZTogc3RyaW5nIHwgbnVsbFxuICAvKiogVGhlIGlkIG9mIHRoZSBndWlsZCB0aGlzIHNvdW5kIGlzIGluICovXG4gIGd1aWxkX2lkPzogc3RyaW5nXG4gIC8qKiBXaGV0aGVyIHRoaXMgc291bmQgY2FuIGJlIHVzZWQsIG1heSBiZSBmYWxzZSBkdWUgdG8gbG9zcyBvZiBTZXJ2ZXIgQm9vc3RzICovXG4gIGF2YWlsYWJsZTogYm9vbGVhblxuICAvKiogVGhlIHVzZXIgd2hvIGNyZWF0ZWQgdGhpcyBzb3VuZCAqL1xuICB1c2VyPzogRGlzY29yZFVzZXJcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9nYXRld2F5LWV2ZW50cyNndWlsZC1zb3VuZGJvYXJkLXNvdW5kLWRlbGV0ZS1ndWlsZC1zb3VuZGJvYXJkLXNvdW5kLWRlbGV0ZS1ldmVudC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNvdW5kYm9hcmRTb3VuZERlbGV0ZSB7XG4gIC8qKiBJRCBvZiB0aGUgc291bmQgdGhhdCB3YXMgZGVsZXRlZCAqL1xuICBzb3VuZF9pZDogc3RyaW5nXG4gIC8qKiBJRCBvZiB0aGUgZ3VpbGQgdGhlIHNvdW5kIHdhcyBpbiAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3MvZ2F0ZXdheS1ldmVudHMjZ3VpbGQtc291bmRib2FyZC1zb3VuZHMtdXBkYXRlLWd1aWxkLXNvdW5kYm9hcmQtc291bmRzLXVwZGF0ZS1ldmVudC1maWVsZHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZFNvdW5kYm9hcmRTb3VuZHNVcGRhdGUge1xuICAvKiogVGhlIGd1aWxkJ3Mgc291bmRib2FyZCBzb3VuZHMgKi9cbiAgc291bmRib2FyZF9zb3VuZHM6IERpc2NvcmRTb3VuZGJvYXJkU291bmRbXVxuICAvKiogSUQgb2YgdGhlIGd1aWxkIHRoZSBzb3VuZCB3YXMgaW4gKi9cbiAgZ3VpbGRfaWQ6IHN0cmluZ1xufVxuXG4vKiogaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL2dhdGV3YXktZXZlbnRzI3NvdW5kYm9hcmQtc291bmRzLXNvdW5kYm9hcmQtc291bmRzLWV2ZW50LWZpZWxkcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkU291bmRib2FyZFNvdW5kcyB7XG4gIC8qKiBUaGUgZ3VpbGQncyBzb3VuZGJvYXJkIHNvdW5kcyAqL1xuICBzb3VuZGJvYXJkX3NvdW5kczogRGlzY29yZFNvdW5kYm9hcmRTb3VuZFtdXG4gIC8qKiBJRCBvZiB0aGUgZ3VpbGQgdGhlIHNvdW5kIHdhcyBpbiAqL1xuICBndWlsZF9pZDogc3RyaW5nXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvd2ViaG9vay1ldmVudHMjcGF5bG9hZC1zdHJ1Y3R1cmUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY29yZEV2ZW50V2ViaG9va0V2ZW50IHtcbiAgLyoqIFZlcnNpb24gc2NoZW1lIGZvciB0aGUgd2ViaG9vayBldmVudC4gQ3VycmVudGx5IGFsd2F5cyAxICovXG4gIHZlcnNpb246IDFcbiAgLyoqIElEIG9mIHlvdXIgYXBwICovXG4gIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmdcbiAgLyoqIFR5cGUgb2Ygd2ViaG9vaywgZWl0aGVyIDAgZm9yIFBJTkcgb3IgMSBmb3Igd2ViaG9vayBldmVudHMgKi9cbiAgdHlwZTogRGlzY29yZEV2ZW50V2ViaG9va1R5cGVcbiAgLyoqIEV2ZW50IGRhdGEgcGF5bG9hZCAqL1xuICBldmVudD86IERpc2NvcmRFdmVudFdlYmhvb2tFdmVudEJvZHlcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy93ZWJob29rLWV2ZW50cyN3ZWJob29rLXR5cGVzICovXG5leHBvcnQgZW51bSBEaXNjb3JkRXZlbnRXZWJob29rVHlwZSB7XG4gIC8qKiBQSU5HIGV2ZW50IHNlbnQgdG8gdmVyaWZ5IHlvdXIgV2ViaG9vayBFdmVudCBVUkwgaXMgYWN0aXZlICovXG4gIFBpbmcgPSAwLFxuICAvKiogV2ViaG9vayBldmVudCAoZGV0YWlscyBmb3IgZXZlbnQgaW4gZXZlbnQgYm9keSBvYmplY3QpICovXG4gIEV2ZW50ID0gMSxcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy93ZWJob29rLWV2ZW50cyNldmVudC1ib2R5LW9iamVjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRXZlbnRXZWJob29rRXZlbnRCb2R5IHtcbiAgLyoqIEV2ZW50IHR5cGUgKi9cbiAgdHlwZTogRGlzY29yZFdlYmhvb2tFdmVudFR5cGVcbiAgLyoqIFRpbWVzdGFtcCBvZiB3aGVuIHRoZSBldmVudCBvY2N1cnJlZCBpbiBJU084NjAxIGZvcm1hdCAqL1xuICB0aW1lc3RhbXA6IHN0cmluZ1xuICAvKiogRGF0YSBmb3IgdGhlIGV2ZW50LiBUaGUgc2hhcGUgZGVwZW5kcyBvbiB0aGUgZXZlbnQgdHlwZSAqL1xuICBkYXRhPzogRGlzY29yZEV2ZW50V2ViaG9va0FwcGxpY2F0aW9uQXV0aG9yaXplZEJvZHkgfCBEaXNjb3JkRW50aXRsZW1lbnRcbn1cblxuLyoqIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL2V2ZW50cy93ZWJob29rLWV2ZW50cyNldmVudC10eXBlcyAqL1xuZXhwb3J0IGVudW0gRGlzY29yZFdlYmhvb2tFdmVudFR5cGUge1xuICAvKiogU2VudCB3aGVuIGFuIGFwcCB3YXMgYXV0aG9yaXplZCBieSBhIHVzZXIgdG8gYSBzZXJ2ZXIgb3IgdGhlaXIgYWNjb3VudCAqL1xuICBBcHBsaWNhdGlvbkF1dGhvcml6ZWQgPSAnQVBQTElDQVRJT05fQVVUSE9SSVpFRCcsXG4gIC8qKiBFbnRpdGxlbWVudCB3YXMgY3JlYXRlZCAqL1xuICBFbnRpdGxlbWVudENyZWF0ZSA9ICdFTlRJVExFTUVOVF9DUkVBVEUnLFxuICAvKiogVXNlciB3YXMgYWRkZWQgdG8gYSBRdWVzdCAoY3VycmVudGx5IHVuYXZhaWxhYmxlKSAqL1xuICBRdWVzdFVzZXJFbnJvbGxtZW50ID0gJ1FVRVNUX1VTRVJfRU5ST0xMTUVOVCcsXG59XG5cbi8qKiBodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9ldmVudHMvd2ViaG9vay1ldmVudHMjYXBwbGljYXRpb24tYXV0aG9yaXplZC1hcHBsaWNhdGlvbi1hdXRob3JpemVkLXN0cnVjdHVyZSAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkRXZlbnRXZWJob29rQXBwbGljYXRpb25BdXRob3JpemVkQm9keSB7XG4gIC8qKiBJbnN0YWxsYXRpb24gY29udGV4dCBmb3IgdGhlIGF1dGhvcml6YXRpb24uIEVpdGhlciBndWlsZCAoMCkgaWYgaW5zdGFsbGVkIHRvIGEgc2VydmVyIG9yIHVzZXIgKDEpIGlmIGluc3RhbGxlZCB0byBhIHVzZXIncyBhY2NvdW50ICovXG4gIGludGVncmF0aW9uX3R5cGU/OiBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGVcbiAgLyoqIFVzZXIgd2hvIGF1dGhvcml6ZWQgdGhlIGFwcCAqL1xuICB1c2VyOiBEaXNjb3JkVXNlclxuICAvKiogTGlzdCBvZiBzY29wZXMgdGhlIHVzZXIgYXV0aG9yaXplZCAqL1xuICBzY29wZXM6IE9BdXRoMlNjb3BlW11cbiAgLyoqIFNlcnZlciB3aGljaCBhcHAgd2FzIGF1dGhvcml6ZWQgZm9yICh3aGVuIGludGVncmF0aW9uIHR5cGUgaXMgMCkgKi9cbiAgZ3VpbGQ/OiBEaXNjb3JkR3VpbGRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjb3JkVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUge1xuICAvKiogQW55IHVzZXItdGhyZWFkIHNldHRpbmdzLCBjdXJyZW50bHkgb25seSB1c2VkIGZvciBub3RpZmljYXRpb25zICovXG4gIGZsYWdzOiBudW1iZXJcbiAgLyoqIFRoZSB0aW1lIHRoZSBjdXJyZW50IHVzZXIgbGFzdCBqb2luZWQgdGhlIHRocmVhZCAqL1xuICBqb2luX3RpbWVzdGFtcDogc3RyaW5nXG59XG4iXSwibmFtZXMiOlsiQXV0b01vZGVyYXRpb25BY3Rpb25UeXBlIiwiQXV0b01vZGVyYXRpb25FdmVudFR5cGVzIiwiQXV0b01vZGVyYXRpb25UcmlnZ2VyVHlwZXMiLCJEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbktpbmQiLCJEaXNjb3JkQXBwbGljYXRpb25FdmVudFdlYmhvb2tTdGF0dXMiLCJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJEaXNjb3JkQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhUHJlc2V0cyIsIkRpc2NvcmRDb25uZWN0aW9uU2VydmljZVR5cGUiLCJEaXNjb3JkQ29ubmVjdGlvblZpc2liaWxpdHkiLCJEaXNjb3JkRW50aXRsZW1lbnRUeXBlIiwiRGlzY29yZEV2ZW50V2ViaG9va1R5cGUiLCJEaXNjb3JkR3VpbGRPbmJvYXJkaW5nTW9kZSIsIkRpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRUeXBlIiwiRGlzY29yZEludGVyYWN0aW9uQ29udGV4dFR5cGUiLCJEaXNjb3JkSW50ZXJhY3Rpb25FbnRyeVBvaW50Q29tbWFuZEhhbmRsZXJUeXBlIiwiRGlzY29yZEludml0ZVR5cGUiLCJEaXNjb3JkTWVzc2FnZVJlZmVyZW5jZVR5cGUiLCJEaXNjb3JkUG9sbExheW91dFR5cGUiLCJEaXNjb3JkUmVhY3Rpb25UeXBlIiwiRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGVGcmVxdWVuY3kiLCJEaXNjb3JkU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZU1vbnRoIiwiRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGVXZWVrZGF5IiwiRGlzY29yZFNrdVR5cGUiLCJEaXNjb3JkU3Vic2NyaXB0aW9uU3RhdHVzIiwiRGlzY29yZFRlYW1NZW1iZXJSb2xlIiwiRGlzY29yZFZvaWNlQ2hhbm5lbEVmZmVjdEFuaW1hdGlvblR5cGUiLCJEaXNjb3JkV2ViaG9va0V2ZW50VHlwZSIsIk9BdXRoMlNjb3BlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQXlzRVlBLHdCQUF3QjtlQUF4QkE7O0lBMUZBQyx3QkFBd0I7ZUFBeEJBOztJQU9BQywwQkFBMEI7ZUFBMUJBOztJQS81QkFDLDJCQUEyQjtlQUEzQkE7O0lBcnlCQUMsb0NBQW9DO2VBQXBDQTs7SUFSQUMsaUNBQWlDO2VBQWpDQTs7SUErd0RBQywrQ0FBK0M7ZUFBL0NBOztJQXJxREFDLDRCQUE0QjtlQUE1QkE7O0lBNEJBQywyQkFBMkI7ZUFBM0JBOztJQSttR0FDLHNCQUFzQjtlQUF0QkE7O0lBMEpBQyx1QkFBdUI7ZUFBdkJBOztJQTFNQUMsMEJBQTBCO2VBQTFCQTs7SUFOQUMsZ0NBQWdDO2VBQWhDQTs7SUFzSUFDLDZCQUE2QjtlQUE3QkE7O0lBdGxDQUMsOENBQThDO2VBQTlDQTs7SUFuRkFDLGlCQUFpQjtlQUFqQkE7O0lBcm1DQUMsMkJBQTJCO2VBQTNCQTs7SUFxRUFDLHFCQUFxQjtlQUFyQkE7O0lBNUdBQyxtQkFBbUI7ZUFBbkJBOztJQW1pQ0FDLDRDQUE0QztlQUE1Q0E7O0lBd0JBQyx3Q0FBd0M7ZUFBeENBOztJQWpCQUMsMENBQTBDO2VBQTFDQTs7SUErdENBQyxjQUFjO2VBQWRBOztJQWtDQUMseUJBQXlCO2VBQXpCQTs7SUE5R0FDLHFCQUFxQjtlQUFyQkE7O0lBbHJCQUMsc0NBQXNDO2VBQXRDQTs7SUFzNEJBQyx1QkFBdUI7ZUFBdkJBOztJQW52SEFDLFdBQVc7ZUFBWEE7OztBQUFMLElBQUEsQUFBS0EscUNBQUFBO0lBQ1Y7Ozs7O0dBS0M7SUFFRDs7Ozs7R0FLQztJQUVELGlFQUFpRTtJQUVqRTs7Ozs7R0FLQztJQUVELDBGQUEwRjtJQUUxRjs7Ozs7R0FLQztJQUVELGdHQUFnRztJQUVoRyxtRUFBbUU7SUFFbkUsdUhBQXVIO0lBRXZILCtFQUErRTtJQUUvRSx5SEFBeUg7SUFFekg7Ozs7O0dBS0M7SUFFRCxnSEFBZ0g7SUFFaEgsZ0RBQWdEO0lBRWhELHVIQUF1SDtJQUV2SCxvSUFBb0k7SUFFcEksK0lBQStJO0lBRS9JOzs7Ozs7R0FNQztJQUVEOzs7R0FHQztJQUVEOzs7OztHQUtDO0lBRUQsMkVBQTJFO0lBRTNFOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRDs7Ozs7R0FLQztJQUVEOzs7OztHQUtDO0lBRUQ7Ozs7O0dBS0M7SUFFRDs7Ozs7R0FLQztJQUVELGtHQUFrRztXQTVIeEZBOztBQWtWTCxJQUFBLEFBQUt0QiwyREFBQUE7SUFDVixrQ0FBa0M7SUFFbEMsZ0NBQWdDO1dBSHRCQTs7QUFRTCxJQUFBLEFBQUtELDhEQUFBQTtJQUNWLDZDQUE2QztJQUU3Qyw0Q0FBNEM7SUFFNUMsc0VBQXNFO1dBTDVEQTs7QUFrR0wsSUFBQSxBQUFLRyxzREFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FBQUE7O0FBNEJMLElBQUEsQUFBS0MscURBQUFBO0lBQ1YscURBQXFEO0lBRXJELHdCQUF3QjtXQUhkQTs7QUF1cUJMLElBQUEsQUFBS0wscURBQUFBO0lBQ1Ysb0NBQW9DO0lBRXBDLDJEQUEyRDtXQUhqREE7O0FBbU9MLElBQUEsQUFBS2UsNkNBQUFBOzs7V0FBQUE7O0FBdUNMLElBQUEsQUFBS0YscURBQUFBO0lBQ1Y7Ozs7O0dBS0M7SUFFRDs7Ozs7Ozs7O0dBU0M7V0FqQlNBOztBQXFFTCxJQUFBLEFBQUtDLCtDQUFBQTtJQUNWLHVCQUF1QjtXQURiQTs7QUF5a0JMLElBQUEsQUFBS2hCLGtEQUFBQTtJQUNWLGdDQUFnQztJQUVoQyxxQ0FBcUM7V0FIM0JBOztBQU9MLElBQUEsQUFBS0Msb0RBQUFBO0lBQ1YsMEZBQTBGO0lBRTFGLDhEQUE4RDtJQUU5RCx5RkFBeUY7SUFFekYsaUZBQWlGO0lBRWpGLGlHQUFpRztXQVR2RkE7O0FBbUVMLElBQUEsQUFBS0kseUVBQUFBO0lBQ1YsOERBQThEO0lBRTlELCtEQUErRDtJQUUvRCxpRUFBaUU7V0FMdkRBOztBQWdCTCxJQUFBLEFBQUtOLGtEQUFBQTtJQUNWLDBEQUEwRDtJQUUxRCw2Q0FBNkM7SUFFN0M7Ozs7Ozs7R0FPQztJQUVELG9FQUFvRTtXQWQxREE7O0FBb1JMLElBQUEsQUFBS21CLHNFQUFBQTs7Ozs7V0FBQUE7O0FBT0wsSUFBQSxBQUFLRSxvRUFBQUE7Ozs7Ozs7O1dBQUFBOztBQWlCTCxJQUFBLEFBQUtELGtFQUFBQTs7Ozs7Ozs7Ozs7OztXQUFBQTs7QUFpRkwsSUFBQSxBQUFLTCwyQ0FBQUE7Ozs7V0FBQUE7O0FBbUZMLElBQUEsQUFBS0Qsd0VBQUFBO0lBQ1YsK0RBQStEO0lBRS9ELCtIQUErSDtXQUhySEE7O0FBNFNMLElBQUEsQUFBS1csZ0VBQUFBO0lBQ1YsZ0RBQWdEO0lBRWhELDJCQUEyQjtXQUhqQkE7O0FBb3FCTCxJQUFBLEFBQUtiLDBEQUFBQTs7O1dBQUFBOztBQU1MLElBQUEsQUFBS0Qsb0RBQUFBO0lBQ1YscURBQXFEO0lBRXJELDhEQUE4RDtXQUhwREE7O0FBUUwsSUFBQSxBQUFLYSwrQ0FBQUE7SUFDVix1SkFBdUo7SUFFdkosc0hBQXNIO0lBRXRIOzs7O0dBSUM7SUFFRCx1S0FBdUs7V0FYN0pBOztBQXdDTCxJQUFBLEFBQUtmLGdEQUFBQTtJQUNWLHNDQUFzQztJQUV0QywrQ0FBK0M7SUFFL0Msd0NBQXdDO0lBRXhDLGdFQUFnRTtJQUVoRSxrREFBa0Q7SUFFbEQsMkNBQTJDO0lBRTNDLG1FQUFtRTtJQUVuRSxxREFBcUQ7V0FmM0NBOztBQW9DTCxJQUFBLEFBQUthLHdDQUFBQTtJQUNWLDhCQUE4QjtJQUU5QixpQ0FBaUM7SUFFakMsd0NBQXdDO0lBRXhDLDZEQUE2RDtXQVBuREE7O0FBa0NMLElBQUEsQUFBS0MsbURBQUFBO0lBQ1YsbURBQW1EO0lBRW5ELCtDQUErQztJQUUvQyxvREFBb0Q7V0FMMUNBOztBQVVMLElBQUEsQUFBS1YsdURBQUFBO0lBQ1YsMkNBQTJDO0lBRTNDLCtEQUErRDtJQUUvRCxtRkFBbUY7V0FMekVBOztBQTBFTCxJQUFBLEFBQUtILGlEQUFBQTtJQUNWLCtEQUErRDtJQUUvRCwyREFBMkQ7V0FIakRBOztBQWtCTCxJQUFBLEFBQUtnQixpREFBQUE7SUFDViwyRUFBMkU7SUFFM0UsNEJBQTRCO0lBRTVCLHNEQUFzRDtXQUw1Q0EifQ==
|