@discordeno/bot 22.0.1-next.cf5ba2a → 22.0.1-next.d2ab042

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.
Files changed (210) hide show
  1. package/dist/bot.d.ts +3 -3
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +3 -2
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +2 -2
  6. package/dist/desiredProperties.d.ts +114 -92
  7. package/dist/desiredProperties.d.ts.map +1 -1
  8. package/dist/desiredProperties.js +288 -1
  9. package/dist/events.d.ts +32 -17
  10. package/dist/events.d.ts.map +1 -1
  11. package/dist/events.js +1 -1
  12. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +2 -2
  13. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +2 -2
  14. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +2 -2
  15. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +2 -2
  16. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +2 -2
  17. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +2 -2
  18. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
  19. package/dist/handlers/invites/INVITE_CREATE.js +20 -4
  20. package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
  21. package/dist/handlers/invites/INVITE_DELETE.js +4 -4
  22. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
  23. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +4 -4
  24. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
  25. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +4 -3
  26. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
  27. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +4 -3
  28. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
  29. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +4 -3
  30. package/dist/helpers.d.ts +60 -44
  31. package/dist/helpers.d.ts.map +1 -1
  32. package/dist/helpers.js +73 -25
  33. package/dist/transformers/activity.d.ts +17 -5
  34. package/dist/transformers/activity.d.ts.map +1 -1
  35. package/dist/transformers/activity.js +55 -37
  36. package/dist/transformers/application.d.ts +3 -3
  37. package/dist/transformers/application.d.ts.map +1 -1
  38. package/dist/transformers/application.js +55 -41
  39. package/dist/transformers/applicationCommand.d.ts +3 -2
  40. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  41. package/dist/transformers/applicationCommand.js +19 -17
  42. package/dist/transformers/applicationCommandOption.d.ts +3 -2
  43. package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
  44. package/dist/transformers/applicationCommandOption.js +22 -19
  45. package/dist/transformers/applicationCommandOptionChoice.d.ts +3 -2
  46. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
  47. package/dist/transformers/applicationCommandOptionChoice.js +10 -8
  48. package/dist/transformers/applicationCommandPermission.d.ts +7 -3
  49. package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
  50. package/dist/transformers/applicationCommandPermission.js +20 -13
  51. package/dist/transformers/attachment.d.ts +3 -1
  52. package/dist/transformers/attachment.d.ts.map +1 -1
  53. package/dist/transformers/attachment.js +12 -4
  54. package/dist/transformers/auditLogEntry.d.ts +7 -3
  55. package/dist/transformers/auditLogEntry.d.ts.map +1 -1
  56. package/dist/transformers/auditLogEntry.js +32 -25
  57. package/dist/transformers/automodActionExecution.d.ts +10 -3
  58. package/dist/transformers/automodActionExecution.d.ts.map +1 -1
  59. package/dist/transformers/automodActionExecution.js +35 -23
  60. package/dist/transformers/automodRule.d.ts +7 -3
  61. package/dist/transformers/automodRule.d.ts.map +1 -1
  62. package/dist/transformers/automodRule.js +30 -30
  63. package/dist/transformers/avatarDecorationData.d.ts +3 -2
  64. package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
  65. package/dist/transformers/avatarDecorationData.js +6 -3
  66. package/dist/transformers/channel.d.ts +6 -3
  67. package/dist/transformers/channel.d.ts.map +1 -1
  68. package/dist/transformers/channel.js +14 -9
  69. package/dist/transformers/component.d.ts +9 -4
  70. package/dist/transformers/component.d.ts.map +1 -1
  71. package/dist/transformers/component.js +200 -33
  72. package/dist/transformers/embed.d.ts +16 -3
  73. package/dist/transformers/embed.d.ts.map +1 -1
  74. package/dist/transformers/embed.js +71 -42
  75. package/dist/transformers/emoji.d.ts +7 -3
  76. package/dist/transformers/emoji.d.ts.map +1 -1
  77. package/dist/transformers/emoji.js +10 -5
  78. package/dist/transformers/entitlement.d.ts +3 -2
  79. package/dist/transformers/entitlement.d.ts.map +1 -1
  80. package/dist/transformers/entitlement.js +6 -3
  81. package/dist/transformers/gatewayBot.d.ts +7 -3
  82. package/dist/transformers/gatewayBot.d.ts.map +1 -1
  83. package/dist/transformers/gatewayBot.js +20 -13
  84. package/dist/transformers/guild.d.ts +3 -2
  85. package/dist/transformers/guild.d.ts.map +1 -1
  86. package/dist/transformers/guild.js +26 -34
  87. package/dist/transformers/incidentsData.d.ts +3 -2
  88. package/dist/transformers/incidentsData.d.ts.map +1 -1
  89. package/dist/transformers/incidentsData.js +6 -3
  90. package/dist/transformers/integration.d.ts +10 -3
  91. package/dist/transformers/integration.d.ts.map +1 -1
  92. package/dist/transformers/integration.js +43 -31
  93. package/dist/transformers/interaction.d.ts +20 -12
  94. package/dist/transformers/interaction.d.ts.map +1 -1
  95. package/dist/transformers/interaction.js +55 -33
  96. package/dist/transformers/invite.d.ts +4 -4
  97. package/dist/transformers/invite.d.ts.map +1 -1
  98. package/dist/transformers/invite.js +26 -23
  99. package/dist/transformers/lobby.d.ts +13 -4
  100. package/dist/transformers/lobby.d.ts.map +1 -1
  101. package/dist/transformers/lobby.js +35 -5
  102. package/dist/transformers/member.d.ts +3 -2
  103. package/dist/transformers/member.d.ts.map +1 -1
  104. package/dist/transformers/member.js +6 -3
  105. package/dist/transformers/message.d.ts +20 -10
  106. package/dist/transformers/message.d.ts.map +1 -1
  107. package/dist/transformers/message.js +52 -25
  108. package/dist/transformers/onboarding.d.ts +9 -4
  109. package/dist/transformers/onboarding.d.ts.map +1 -1
  110. package/dist/transformers/onboarding.js +17 -10
  111. package/dist/transformers/poll.d.ts +6 -3
  112. package/dist/transformers/poll.d.ts.map +1 -1
  113. package/dist/transformers/poll.js +14 -7
  114. package/dist/transformers/presence.d.ts +3 -2
  115. package/dist/transformers/presence.d.ts.map +1 -1
  116. package/dist/transformers/presence.js +10 -6
  117. package/dist/transformers/reverse/activity.d.ts +4 -3
  118. package/dist/transformers/reverse/activity.d.ts.map +1 -1
  119. package/dist/transformers/reverse/activity.js +20 -24
  120. package/dist/transformers/reverse/applicationCommand.js +2 -2
  121. package/dist/transformers/reverse/component.d.ts.map +1 -1
  122. package/dist/transformers/reverse/component.js +152 -11
  123. package/dist/transformers/reverse/embed.d.ts.map +1 -1
  124. package/dist/transformers/reverse/embed.js +19 -4
  125. package/dist/transformers/reverse/member.d.ts.map +1 -1
  126. package/dist/transformers/reverse/member.js +4 -2
  127. package/dist/transformers/reverse/presence.d.ts.map +1 -1
  128. package/dist/transformers/reverse/presence.js +3 -2
  129. package/dist/transformers/reverse/user.d.ts +5 -0
  130. package/dist/transformers/reverse/user.d.ts.map +1 -0
  131. package/dist/transformers/reverse/user.js +17 -0
  132. package/dist/transformers/role.d.ts +7 -4
  133. package/dist/transformers/role.d.ts.map +1 -1
  134. package/dist/transformers/role.js +11 -7
  135. package/dist/transformers/scheduledEvent.d.ts +6 -3
  136. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  137. package/dist/transformers/scheduledEvent.js +10 -5
  138. package/dist/transformers/sku.d.ts +3 -2
  139. package/dist/transformers/sku.d.ts.map +1 -1
  140. package/dist/transformers/sku.js +6 -3
  141. package/dist/transformers/soundboardSound.d.ts +3 -2
  142. package/dist/transformers/soundboardSound.d.ts.map +1 -1
  143. package/dist/transformers/soundboardSound.js +6 -3
  144. package/dist/transformers/stageInstance.d.ts +3 -2
  145. package/dist/transformers/stageInstance.d.ts.map +1 -1
  146. package/dist/transformers/stageInstance.js +6 -3
  147. package/dist/transformers/stageInviteInstance.d.ts +3 -3
  148. package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
  149. package/dist/transformers/stageInviteInstance.js +10 -8
  150. package/dist/transformers/sticker.d.ts +6 -3
  151. package/dist/transformers/sticker.d.ts.map +1 -1
  152. package/dist/transformers/sticker.js +18 -14
  153. package/dist/transformers/subscription.d.ts +3 -2
  154. package/dist/transformers/subscription.d.ts.map +1 -1
  155. package/dist/transformers/subscription.js +6 -3
  156. package/dist/transformers/team.d.ts +7 -3
  157. package/dist/transformers/team.d.ts.map +1 -1
  158. package/dist/transformers/team.js +22 -16
  159. package/dist/transformers/template.d.ts +3 -2
  160. package/dist/transformers/template.d.ts.map +1 -1
  161. package/dist/transformers/template.js +18 -16
  162. package/dist/transformers/threadMember.d.ts +6 -3
  163. package/dist/transformers/threadMember.d.ts.map +1 -1
  164. package/dist/transformers/threadMember.js +20 -16
  165. package/dist/transformers/toggles/channel.d.ts +2 -2
  166. package/dist/transformers/toggles/channel.d.ts.map +1 -1
  167. package/dist/transformers/toggles/channel.js +2 -2
  168. package/dist/transformers/toggles/emoji.d.ts +1 -1
  169. package/dist/transformers/toggles/emoji.d.ts.map +1 -1
  170. package/dist/transformers/toggles/emoji.js +1 -1
  171. package/dist/transformers/toggles/guild.d.ts +3 -3
  172. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  173. package/dist/transformers/toggles/guild.js +3 -3
  174. package/dist/transformers/toggles/role.d.ts +1 -1
  175. package/dist/transformers/toggles/role.d.ts.map +1 -1
  176. package/dist/transformers/toggles/role.js +1 -1
  177. package/dist/transformers/toggles/user.d.ts +1 -1
  178. package/dist/transformers/toggles/user.d.ts.map +1 -1
  179. package/dist/transformers/toggles/user.js +1 -1
  180. package/dist/transformers/toggles/voice.d.ts +1 -1
  181. package/dist/transformers/toggles/voice.d.ts.map +1 -1
  182. package/dist/transformers/toggles/voice.js +1 -1
  183. package/dist/transformers/types.d.ts +230 -53
  184. package/dist/transformers/types.d.ts.map +1 -1
  185. package/dist/transformers/types.js +2 -2
  186. package/dist/transformers/user.d.ts +13 -5
  187. package/dist/transformers/user.d.ts.map +1 -1
  188. package/dist/transformers/user.js +18 -9
  189. package/dist/transformers/voiceRegion.d.ts +3 -2
  190. package/dist/transformers/voiceRegion.d.ts.map +1 -1
  191. package/dist/transformers/voiceRegion.js +12 -10
  192. package/dist/transformers/voiceState.d.ts +3 -3
  193. package/dist/transformers/voiceState.d.ts.map +1 -1
  194. package/dist/transformers/voiceState.js +6 -4
  195. package/dist/transformers/webhook.d.ts +3 -1
  196. package/dist/transformers/webhook.d.ts.map +1 -1
  197. package/dist/transformers/webhook.js +10 -7
  198. package/dist/transformers/welcomeScreen.d.ts +7 -3
  199. package/dist/transformers/welcomeScreen.d.ts.map +1 -1
  200. package/dist/transformers/welcomeScreen.js +19 -12
  201. package/dist/transformers/widget.d.ts +3 -2
  202. package/dist/transformers/widget.d.ts.map +1 -1
  203. package/dist/transformers/widget.js +17 -13
  204. package/dist/transformers/widgetSettings.d.ts +3 -2
  205. package/dist/transformers/widgetSettings.d.ts.map +1 -1
  206. package/dist/transformers/widgetSettings.js +9 -7
  207. package/dist/transformers.d.ts +186 -81
  208. package/dist/transformers.d.ts.map +1 -1
  209. package/dist/transformers.js +90 -28
  210. package/package.json +18 -18
@@ -1,34 +1,34 @@
1
1
  import { bigintToSnowflake, snowflakeToBigint } from '@discordeno/utils';
2
2
  import { createDesiredPropertiesObject } from './desiredProperties.js';
3
- import { transformActivity, transformActivityInstance, transformActivityLocation } from './transformers/activity.js';
3
+ import { transformActivity, transformActivityAssets, transformActivityEmoji, transformActivityInstance, transformActivityLocation } from './transformers/activity.js';
4
4
  import { transformApplication } from './transformers/application.js';
5
5
  import { transformApplicationCommand } from './transformers/applicationCommand.js';
6
6
  import { transformApplicationCommandOption } from './transformers/applicationCommandOption.js';
7
7
  import { transformApplicationCommandOptionChoice } from './transformers/applicationCommandOptionChoice.js';
8
- import { transformApplicationCommandPermission } from './transformers/applicationCommandPermission.js';
8
+ import { transformApplicationCommandPermissions, transformGuildApplicationCommandPermissions } from './transformers/applicationCommandPermission.js';
9
9
  import { transformAttachment } from './transformers/attachment.js';
10
- import { transformAuditLogEntry } from './transformers/auditLogEntry.js';
11
- import { transformAutoModerationActionExecution } from './transformers/automodActionExecution.js';
12
- import { transformAutoModerationRule } from './transformers/automodRule.js';
10
+ import { transformAuditLogEntry, transformOptionalAuditEntryInfo } from './transformers/auditLogEntry.js';
11
+ import { transformAutoModerationAction, transformAutoModerationActionExecution, transformAutoModerationActionMetadata } from './transformers/automodActionExecution.js';
12
+ import { transformAutoModerationRule, transformAutoModerationRuleTriggerMetadata } from './transformers/automodRule.js';
13
13
  import { transformAvatarDecorationData } from './transformers/avatarDecorationData.js';
14
14
  import { transformChannel, transformForumTag } from './transformers/channel.js';
15
15
  import { transformComponent, transformMediaGalleryItem, transformUnfurledMediaItem } from './transformers/component.js';
16
- import { transformEmbed } from './transformers/embed.js';
16
+ import { transformEmbed, transformEmbedAuthor, transformEmbedFooter, transformEmbedImage, transformEmbedVideo } from './transformers/embed.js';
17
17
  import { transformDefaultReactionEmoji, transformEmoji } from './transformers/emoji.js';
18
18
  import { transformEntitlement } from './transformers/entitlement.js';
19
- import { transformGatewayBot } from './transformers/gatewayBot.js';
19
+ import { transformGatewayBot, transformSessionStartLimit } from './transformers/gatewayBot.js';
20
20
  import { transformGuild } from './transformers/guild.js';
21
21
  import { transformIncidentsData } from './transformers/incidentsData.js';
22
- import { transformIntegration } from './transformers/integration.js';
22
+ import { transformIntegration, transformIntegrationAccount, transformIntegrationApplication } from './transformers/integration.js';
23
23
  import { transformInteraction, transformInteractionCallback, transformInteractionCallbackResponse, transformInteractionDataOption, transformInteractionDataResolved, transformInteractionResource } from './transformers/interaction.js';
24
24
  import { transformInvite } from './transformers/invite.js';
25
- import { transformLobby, transformLobbyMember } from './transformers/lobby.js';
25
+ import { transformLobby, transformLobbyInvite, transformLobbyMember, transformLobbyMessage } from './transformers/lobby.js';
26
26
  import { transformMember } from './transformers/member.js';
27
- import { transformMessage, transformMessageCall, transformMessageInteractionMetadata, transformMessagePin, transformMessageSnapshot } from './transformers/message.js';
27
+ import { transformMessage, transformMessageCall, transformMessageInteractionMetadata, transformMessagePin, transformMessageSnapshot, transformSharedClientTheme } from './transformers/message.js';
28
28
  import { transformGuildOnboarding, transformGuildOnboardingPrompt, transformGuildOnboardingPromptOption } from './transformers/onboarding.js';
29
29
  import { transformPoll, transformPollMedia } from './transformers/poll.js';
30
30
  import { transformPresence } from './transformers/presence.js';
31
- import { transformActivityToDiscordActivity } from './transformers/reverse/activity.js';
31
+ import { transformActivityAssetsToDiscordActivityAssets, transformActivityToDiscordActivity } from './transformers/reverse/activity.js';
32
32
  import { transformAllowedMentionsToDiscordAllowedMentions } from './transformers/reverse/allowedMentions.js';
33
33
  import { transformApplicationToDiscordApplication } from './transformers/reverse/application.js';
34
34
  import { transformApplicationCommandToDiscordApplicationCommand } from './transformers/reverse/applicationCommand.js';
@@ -39,6 +39,7 @@ import { transformComponentToDiscordComponent, transformMediaGalleryItemToDiscor
39
39
  import { transformEmbedToDiscordEmbed } from './transformers/reverse/embed.js';
40
40
  import { transformMemberToDiscordMember, transformUserToDiscordUser } from './transformers/reverse/member.js';
41
41
  import { transformTeamToDiscordTeam } from './transformers/reverse/team.js';
42
+ import { transformCollectiblesToDiscordCollectibles, transformNameplateToDiscordNameplate } from './transformers/reverse/user.js';
42
43
  import { transformRole, transformRoleColors } from './transformers/role.js';
43
44
  import { transformScheduledEvent, transformScheduledEventRecurrenceRule } from './transformers/scheduledEvent.js';
44
45
  import { transformSku } from './transformers/sku.js';
@@ -47,59 +48,73 @@ import { transformStageInstance } from './transformers/stageInstance.js';
47
48
  import { transformInviteStageInstance } from './transformers/stageInviteInstance.js';
48
49
  import { transformSticker, transformStickerPack } from './transformers/sticker.js';
49
50
  import { transformSubscription } from './transformers/subscription.js';
50
- import { transformTeam } from './transformers/team.js';
51
+ import { transformTeam, transformTeamMember } from './transformers/team.js';
51
52
  import { transformTemplate } from './transformers/template.js';
52
53
  import { transformThreadMember, transformThreadMemberGuildCreate } from './transformers/threadMember.js';
53
54
  import { transformCollectibles, transformNameplate, transformUser, transformUserPrimaryGuild } from './transformers/user.js';
54
55
  import { transformVoiceRegion } from './transformers/voiceRegion.js';
55
56
  import { transformVoiceState } from './transformers/voiceState.js';
56
57
  import { transformWebhook } from './transformers/webhook.js';
57
- import { transformWelcomeScreen } from './transformers/welcomeScreen.js';
58
- import { transformWidget } from './transformers/widget.js';
59
- import { transformWidgetSettings } from './transformers/widgetSettings.js';
58
+ import { transformWelcomeScreen, transformWelcomeScreenChannel } from './transformers/welcomeScreen.js';
59
+ import { transformGuildWidget } from './transformers/widget.js';
60
+ import { transformGuildWidgetSettings } from './transformers/widgetSettings.js';
60
61
  const defaultCustomizer = (_bot, _payload, structure)=>structure;
61
62
  export function createTransformers(options) {
62
63
  const _options = options;
63
64
  return {
64
65
  customizers: {
65
66
  activity: _options.customizers?.activity ?? defaultCustomizer,
67
+ activityAssets: _options.customizers?.activityAssets ?? defaultCustomizer,
68
+ activityEmoji: _options.customizers?.activityEmoji ?? defaultCustomizer,
66
69
  activityInstance: _options.customizers?.activityInstance ?? defaultCustomizer,
67
70
  activityLocation: _options.customizers?.activityLocation ?? defaultCustomizer,
68
71
  application: _options.customizers?.application ?? defaultCustomizer,
69
72
  applicationCommand: _options.customizers?.applicationCommand ?? defaultCustomizer,
70
73
  applicationCommandOption: _options.customizers?.applicationCommandOption ?? defaultCustomizer,
71
74
  applicationCommandOptionChoice: _options.customizers?.applicationCommandOptionChoice ?? defaultCustomizer,
72
- applicationCommandPermission: _options.customizers?.applicationCommandPermission ?? defaultCustomizer,
75
+ applicationCommandPermissions: _options.customizers?.applicationCommandPermissions ?? defaultCustomizer,
73
76
  attachment: _options.customizers?.attachment ?? defaultCustomizer,
74
77
  auditLogEntry: _options.customizers?.auditLogEntry ?? defaultCustomizer,
75
- automodActionExecution: _options.customizers?.automodActionExecution ?? defaultCustomizer,
76
- automodRule: _options.customizers?.automodRule ?? defaultCustomizer,
78
+ autoModerationAction: _options.customizers?.autoModerationAction ?? defaultCustomizer,
79
+ autoModerationActionExecution: _options.customizers?.autoModerationActionExecution ?? defaultCustomizer,
80
+ autoModerationActionMetadata: _options.customizers?.autoModerationActionMetadata ?? defaultCustomizer,
81
+ autoModerationRule: _options.customizers?.autoModerationRule ?? defaultCustomizer,
82
+ autoModerationRuleTriggerMetadata: _options.customizers?.autoModerationRuleTriggerMetadata ?? defaultCustomizer,
77
83
  avatarDecorationData: _options.customizers?.avatarDecorationData ?? defaultCustomizer,
78
84
  channel: _options.customizers?.channel ?? defaultCustomizer,
79
85
  collectibles: _options.customizers?.collectibles ?? defaultCustomizer,
80
86
  component: _options.customizers?.component ?? defaultCustomizer,
81
87
  defaultReactionEmoji: _options.customizers?.defaultReactionEmoji ?? defaultCustomizer,
82
88
  embed: _options.customizers?.embed ?? defaultCustomizer,
89
+ embedAuthor: _options.customizers?.embedAuthor ?? defaultCustomizer,
90
+ embedFooter: _options.customizers?.embedFooter ?? defaultCustomizer,
91
+ embedImage: _options.customizers?.embedImage ?? defaultCustomizer,
92
+ embedVideo: _options.customizers?.embedVideo ?? defaultCustomizer,
83
93
  emoji: _options.customizers?.emoji ?? defaultCustomizer,
84
94
  entitlement: _options.customizers?.entitlement ?? defaultCustomizer,
85
95
  forumTag: _options.customizers?.forumTag ?? defaultCustomizer,
86
96
  gatewayBot: _options.customizers?.gatewayBot ?? defaultCustomizer,
87
97
  guild: _options.customizers?.guild ?? defaultCustomizer,
98
+ guildApplicationCommandPermissions: _options.customizers?.guildApplicationCommandPermissions ?? defaultCustomizer,
88
99
  guildOnboarding: _options.customizers?.guildOnboarding ?? defaultCustomizer,
89
100
  guildOnboardingPrompt: _options.customizers?.guildOnboardingPrompt ?? defaultCustomizer,
90
101
  guildOnboardingPromptOption: _options.customizers?.guildOnboardingPromptOption ?? defaultCustomizer,
91
102
  incidentsData: _options.customizers?.incidentsData ?? defaultCustomizer,
92
103
  integration: _options.customizers?.integration ?? defaultCustomizer,
104
+ integrationAccount: _options.customizers?.integrationAccount ?? defaultCustomizer,
105
+ integrationApplication: _options.customizers?.integrationApplication ?? defaultCustomizer,
93
106
  interaction: _options.customizers?.interaction ?? defaultCustomizer,
94
107
  interactionCallback: _options.customizers?.interactionCallback ?? defaultCustomizer,
95
108
  interactionCallbackResponse: _options.customizers?.interactionCallbackResponse ?? defaultCustomizer,
96
- interactionDataOptions: _options.customizers?.interactionDataOptions ?? defaultCustomizer,
109
+ interactionDataOption: _options.customizers?.interactionDataOption ?? defaultCustomizer,
97
110
  interactionDataResolved: _options.customizers?.interactionDataResolved ?? defaultCustomizer,
98
111
  interactionResource: _options.customizers?.interactionResource ?? defaultCustomizer,
99
112
  invite: _options.customizers?.invite ?? defaultCustomizer,
100
113
  inviteStageInstance: _options.customizers?.inviteStageInstance ?? defaultCustomizer,
101
114
  lobby: _options.customizers?.lobby ?? defaultCustomizer,
102
115
  lobbyMember: _options.customizers?.lobbyMember ?? defaultCustomizer,
116
+ lobbyMessage: _options.customizers?.lobbyMessage ?? defaultCustomizer,
117
+ lobbyInvite: _options.customizers?.lobbyInvite ?? defaultCustomizer,
103
118
  mediaGalleryItem: _options.customizers?.mediaGalleryItem ?? defaultCustomizer,
104
119
  member: _options.customizers?.member ?? defaultCustomizer,
105
120
  message: _options.customizers?.message ?? defaultCustomizer,
@@ -108,6 +123,7 @@ export function createTransformers(options) {
108
123
  messagePin: _options.customizers?.messagePin ?? defaultCustomizer,
109
124
  messageSnapshot: _options.customizers?.messageSnapshot ?? defaultCustomizer,
110
125
  nameplate: _options.customizers?.nameplate ?? defaultCustomizer,
126
+ optionalAuditEntryInfo: _options.customizers?.optionalAuditEntryInfo ?? defaultCustomizer,
111
127
  poll: _options.customizers?.poll ?? defaultCustomizer,
112
128
  pollMedia: _options.customizers?.pollMedia ?? defaultCustomizer,
113
129
  presence: _options.customizers?.presence ?? defaultCustomizer,
@@ -115,6 +131,8 @@ export function createTransformers(options) {
115
131
  roleColors: _options.customizers?.roleColors ?? defaultCustomizer,
116
132
  scheduledEvent: _options.customizers?.scheduledEvent ?? defaultCustomizer,
117
133
  scheduledEventRecurrenceRule: _options.customizers?.scheduledEventRecurrenceRule ?? defaultCustomizer,
134
+ sessionStartLimit: _options.customizers?.sessionStartLimit ?? defaultCustomizer,
135
+ sharedClientTheme: _options.customizers?.sharedClientTheme ?? defaultCustomizer,
118
136
  sku: _options.customizers?.sku ?? defaultCustomizer,
119
137
  soundboardSound: _options.customizers?.soundboardSound ?? defaultCustomizer,
120
138
  stageInstance: _options.customizers?.stageInstance ?? defaultCustomizer,
@@ -122,6 +140,7 @@ export function createTransformers(options) {
122
140
  stickerPack: _options.customizers?.stickerPack ?? defaultCustomizer,
123
141
  subscription: _options.customizers?.subscription ?? defaultCustomizer,
124
142
  team: _options.customizers?.team ?? defaultCustomizer,
143
+ teamMember: _options.customizers?.teamMember ?? defaultCustomizer,
125
144
  template: _options.customizers?.template ?? defaultCustomizer,
126
145
  threadMember: _options.customizers?.threadMember ?? defaultCustomizer,
127
146
  threadMemberGuildCreate: _options.customizers?.threadMemberGuildCreate ?? defaultCustomizer,
@@ -132,65 +151,83 @@ export function createTransformers(options) {
132
151
  voiceState: _options.customizers?.voiceState ?? defaultCustomizer,
133
152
  webhook: _options.customizers?.webhook ?? defaultCustomizer,
134
153
  welcomeScreen: _options.customizers?.welcomeScreen ?? defaultCustomizer,
135
- widget: _options.customizers?.widget ?? defaultCustomizer,
136
- widgetSettings: _options.customizers?.widgetSettings ?? defaultCustomizer
154
+ welcomeScreenChannel: _options.customizers?.welcomeScreenChannel ?? defaultCustomizer,
155
+ guildWidget: _options.customizers?.guildWidget ?? defaultCustomizer,
156
+ guildWidgetSettings: _options.customizers?.guildWidgetSettings ?? defaultCustomizer
137
157
  },
138
158
  desiredProperties: createDesiredPropertiesObject(_options.desiredProperties ?? {}),
139
159
  reverse: {
140
160
  activity: _options.reverse?.activity ?? transformActivityToDiscordActivity,
161
+ activityAssets: _options.reverse?.activityAssets ?? transformActivityAssetsToDiscordActivityAssets,
141
162
  allowedMentions: _options.reverse?.allowedMentions ?? transformAllowedMentionsToDiscordAllowedMentions,
142
163
  application: _options.reverse?.application ?? transformApplicationToDiscordApplication,
143
164
  applicationCommand: _options.reverse?.applicationCommand ?? transformApplicationCommandToDiscordApplicationCommand,
144
165
  applicationCommandOption: _options.reverse?.applicationCommandOption ?? transformApplicationCommandOptionToDiscordApplicationCommandOption,
145
166
  applicationCommandOptionChoice: _options.reverse?.applicationCommandOptionChoice ?? transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice,
146
167
  attachment: _options.reverse?.attachment ?? transformAttachmentToDiscordAttachment,
168
+ collectibles: _options.reverse?.collectibles ?? transformCollectiblesToDiscordCollectibles,
147
169
  component: _options.reverse?.component ?? transformComponentToDiscordComponent,
148
170
  embed: _options.reverse?.embed ?? transformEmbedToDiscordEmbed,
149
171
  mediaGalleryItem: _options.reverse?.mediaGalleryItem ?? transformMediaGalleryItemToDiscordMediaGalleryItem,
150
172
  member: _options.reverse?.member ?? transformMemberToDiscordMember,
173
+ nameplate: _options.reverse?.nameplate ?? transformNameplateToDiscordNameplate,
151
174
  snowflake: _options.reverse?.snowflake ?? bigintToSnowflake,
152
175
  team: _options.reverse?.team ?? transformTeamToDiscordTeam,
153
176
  unfurledMediaItem: _options.reverse?.unfurledMediaItem ?? transformUnfurledMediaItemToDiscordUnfurledMediaItem,
154
177
  user: _options.reverse?.user ?? transformUserToDiscordUser
155
178
  },
156
179
  activity: _options.activity ?? transformActivity,
180
+ activityAssets: _options.activityAssets ?? transformActivityAssets,
181
+ activityEmoji: _options.activityEmoji ?? transformActivityEmoji,
157
182
  activityInstance: _options.activityInstance ?? transformActivityInstance,
158
183
  activityLocation: _options.activityLocation ?? transformActivityLocation,
159
184
  application: _options.application ?? transformApplication,
160
185
  applicationCommand: _options.applicationCommand ?? transformApplicationCommand,
161
186
  applicationCommandOption: _options.applicationCommandOption ?? transformApplicationCommandOption,
162
187
  applicationCommandOptionChoice: _options.applicationCommandOptionChoice ?? transformApplicationCommandOptionChoice,
163
- applicationCommandPermission: _options.applicationCommandPermission ?? transformApplicationCommandPermission,
188
+ applicationCommandPermissions: _options.applicationCommandPermissions ?? transformApplicationCommandPermissions,
164
189
  attachment: _options.attachment ?? transformAttachment,
165
190
  auditLogEntry: _options.auditLogEntry ?? transformAuditLogEntry,
166
- automodActionExecution: _options.automodActionExecution ?? transformAutoModerationActionExecution,
167
- automodRule: _options.automodRule ?? transformAutoModerationRule,
191
+ autoModerationAction: _options.autoModerationAction ?? transformAutoModerationAction,
192
+ autoModerationActionExecution: _options.autoModerationActionExecution ?? transformAutoModerationActionExecution,
193
+ autoModerationActionMetadata: _options.autoModerationActionMetadata ?? transformAutoModerationActionMetadata,
194
+ autoModerationRule: _options.autoModerationRule ?? transformAutoModerationRule,
195
+ autoModerationRuleTriggerMetadata: _options.autoModerationRuleTriggerMetadata ?? transformAutoModerationRuleTriggerMetadata,
168
196
  avatarDecorationData: _options.avatarDecorationData ?? transformAvatarDecorationData,
169
197
  channel: _options.channel ?? transformChannel,
170
198
  collectibles: _options.collectibles ?? transformCollectibles,
171
199
  component: _options.component ?? transformComponent,
172
200
  defaultReactionEmoji: _options.defaultReactionEmoji ?? transformDefaultReactionEmoji,
173
201
  embed: _options.embed ?? transformEmbed,
202
+ embedAuthor: _options.embedAuthor ?? transformEmbedAuthor,
203
+ embedFooter: _options.embedFooter ?? transformEmbedFooter,
204
+ embedImage: _options.embedImage ?? transformEmbedImage,
205
+ embedVideo: _options.embedVideo ?? transformEmbedVideo,
174
206
  emoji: _options.emoji ?? transformEmoji,
175
207
  entitlement: _options.entitlement ?? transformEntitlement,
176
208
  forumTag: _options.forumTag ?? transformForumTag,
177
209
  gatewayBot: _options.gatewayBot ?? transformGatewayBot,
178
210
  guild: _options.guild ?? transformGuild,
211
+ guildApplicationCommandPermissions: _options.guildApplicationCommandPermissions ?? transformGuildApplicationCommandPermissions,
179
212
  guildOnboarding: _options.guildOnboarding ?? transformGuildOnboarding,
180
213
  guildOnboardingPrompt: _options.guildOnboardingPrompt ?? transformGuildOnboardingPrompt,
181
214
  guildOnboardingPromptOption: _options.guildOnboardingPromptOption ?? transformGuildOnboardingPromptOption,
182
215
  incidentsData: _options.incidentsData ?? transformIncidentsData,
183
216
  integration: _options.integration ?? transformIntegration,
217
+ integrationAccount: _options.integrationAccount ?? transformIntegrationAccount,
218
+ integrationApplication: _options.integrationApplication ?? transformIntegrationApplication,
184
219
  interaction: _options.interaction ?? transformInteraction,
185
220
  interactionCallback: _options.interactionCallback ?? transformInteractionCallback,
186
221
  interactionCallbackResponse: _options.interactionCallbackResponse ?? transformInteractionCallbackResponse,
187
- interactionDataOptions: _options.interactionDataOptions ?? transformInteractionDataOption,
222
+ interactionDataOption: _options.interactionDataOption ?? transformInteractionDataOption,
188
223
  interactionDataResolved: _options.interactionDataResolved ?? transformInteractionDataResolved,
189
224
  interactionResource: _options.interactionResource ?? transformInteractionResource,
190
225
  invite: _options.invite ?? transformInvite,
191
226
  inviteStageInstance: _options.inviteStageInstance ?? transformInviteStageInstance,
192
227
  lobby: _options.lobby ?? transformLobby,
193
228
  lobbyMember: _options.lobbyMember ?? transformLobbyMember,
229
+ lobbyMessage: _options.lobbyMessage ?? transformLobbyMessage,
230
+ lobbyInvite: _options.lobbyInvite ?? transformLobbyInvite,
194
231
  mediaGalleryItem: _options.mediaGalleryItem ?? transformMediaGalleryItem,
195
232
  member: _options.member ?? transformMember,
196
233
  message: _options.message ?? transformMessage,
@@ -199,6 +236,7 @@ export function createTransformers(options) {
199
236
  messagePin: _options.messagePin ?? transformMessagePin,
200
237
  messageSnapshot: _options.messageSnapshot ?? transformMessageSnapshot,
201
238
  nameplate: _options.nameplate ?? transformNameplate,
239
+ optionalAuditEntryInfo: _options.optionalAuditEntryInfo ?? transformOptionalAuditEntryInfo,
202
240
  poll: _options.poll ?? transformPoll,
203
241
  pollMedia: _options.pollMedia ?? transformPollMedia,
204
242
  presence: _options.presence ?? transformPresence,
@@ -206,6 +244,8 @@ export function createTransformers(options) {
206
244
  roleColors: _options.roleColors ?? transformRoleColors,
207
245
  scheduledEvent: _options.scheduledEvent ?? transformScheduledEvent,
208
246
  scheduledEventRecurrenceRule: _options.scheduledEventRecurrenceRule ?? transformScheduledEventRecurrenceRule,
247
+ sessionStartLimit: _options.sessionStartLimit ?? transformSessionStartLimit,
248
+ sharedClientTheme: _options.sharedClientTheme ?? transformSharedClientTheme,
209
249
  sku: _options.sku ?? transformSku,
210
250
  soundboardSound: _options.soundboardSound ?? transformSoundboardSound,
211
251
  snowflake: _options.snowflake ?? snowflakeToBigint,
@@ -214,6 +254,7 @@ export function createTransformers(options) {
214
254
  stickerPack: _options.stickerPack ?? transformStickerPack,
215
255
  subscription: _options.subscription ?? transformSubscription,
216
256
  team: _options.team ?? transformTeam,
257
+ teamMember: _options.teamMember ?? transformTeamMember,
217
258
  template: _options.template ?? transformTemplate,
218
259
  threadMember: _options.threadMember ?? transformThreadMember,
219
260
  threadMemberGuildCreate: _options.threadMemberGuildCreate ?? transformThreadMemberGuildCreate,
@@ -224,9 +265,30 @@ export function createTransformers(options) {
224
265
  voiceState: _options.voiceState ?? transformVoiceState,
225
266
  webhook: _options.webhook ?? transformWebhook,
226
267
  welcomeScreen: _options.welcomeScreen ?? transformWelcomeScreen,
227
- widget: _options.widget ?? transformWidget,
228
- widgetSettings: _options.widgetSettings ?? transformWidgetSettings
268
+ welcomeScreenChannel: _options.welcomeScreenChannel ?? transformWelcomeScreenChannel,
269
+ guildWidget: _options.guildWidget ?? transformGuildWidget,
270
+ guildWidgetSettings: _options.guildWidgetSettings ?? transformGuildWidgetSettings
229
271
  };
230
272
  }
273
+ /**
274
+ * Calls a transformer customizer function with the provided parameters.
275
+ *
276
+ * @template TInfo - The key of the transformer information to use.
277
+ * @param customizer - The key of the transformer information to use.
278
+ * @param bot - The bot instance.
279
+ * @param payload - The original payload from Discord.
280
+ * @param transformed - The transformed object.
281
+ * @param extra - Additional extra information for the customizer.
282
+ * @returns The result of the customizer function.
283
+ *
284
+ * @remarks
285
+ * This function is used because it is hard to deal with the customizer overloads directly in the transformers.
286
+ *
287
+ * Since the overloads are present only with partial transformers, this function requires the partial extra, for non-partial transformers the normal function call can be used
288
+ */ export function callCustomizer(customizer, bot, payload, transformed, extra) {
289
+ // The type of the customizer is not generalizable, so we use unknown, callCustomizer has the correct type and we cast it here
290
+ const customizerFn = bot.transformers.customizers[customizer];
291
+ return customizerFn(bot, payload, transformed, extra);
292
+ }
231
293
 
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmFuc2Zvcm1lcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBbGxvd2VkTWVudGlvbnMsXG4gIEJpZ1N0cmluZyxcbiAgRGlzY29yZEFjdGl2aXR5LFxuICBEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSxcbiAgRGlzY29yZEFjdGl2aXR5TG9jYXRpb24sXG4gIERpc2NvcmRBbGxvd2VkTWVudGlvbnMsXG4gIERpc2NvcmRBcHBsaWNhdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgRGlzY29yZEF0dGFjaG1lbnQsXG4gIERpc2NvcmRBdWRpdExvZ0VudHJ5LFxuICBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sXG4gIERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGUsXG4gIERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgRGlzY29yZENoYW5uZWwsXG4gIERpc2NvcmRDb2xsZWN0aWJsZXMsXG4gIERpc2NvcmREZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgRGlzY29yZEVtYmVkLFxuICBEaXNjb3JkRW1vamksXG4gIERpc2NvcmRFbnRpdGxlbWVudCxcbiAgRGlzY29yZEZvcnVtVGFnLFxuICBEaXNjb3JkR2V0R2F0ZXdheUJvdCxcbiAgRGlzY29yZEd1aWxkLFxuICBEaXNjb3JkR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgRGlzY29yZEd1aWxkT25ib2FyZGluZyxcbiAgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgRGlzY29yZEd1aWxkV2lkZ2V0LFxuICBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncyxcbiAgRGlzY29yZEluY2lkZW50c0RhdGEsXG4gIERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSxcbiAgRGlzY29yZEludGVyYWN0aW9uLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgRGlzY29yZEludml0ZUNyZWF0ZSxcbiAgRGlzY29yZEludml0ZU1ldGFkYXRhLFxuICBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgRGlzY29yZExvYmJ5LFxuICBEaXNjb3JkTG9iYnlNZW1iZXIsXG4gIERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtLFxuICBEaXNjb3JkTWVtYmVyLFxuICBEaXNjb3JkTWVzc2FnZSxcbiAgRGlzY29yZE1lc3NhZ2VDYWxsLFxuICBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIERpc2NvcmRNZXNzYWdlUGluLFxuICBEaXNjb3JkTWVzc2FnZVNuYXBzaG90LFxuICBEaXNjb3JkTmFtZXBsYXRlLFxuICBEaXNjb3JkUG9sbCxcbiAgRGlzY29yZFBvbGxNZWRpYSxcbiAgRGlzY29yZFByZXNlbmNlVXBkYXRlLFxuICBEaXNjb3JkUm9sZSxcbiAgRGlzY29yZFJvbGVDb2xvcnMsXG4gIERpc2NvcmRTY2hlZHVsZWRFdmVudCxcbiAgRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gIERpc2NvcmRTa3UsXG4gIERpc2NvcmRTb3VuZGJvYXJkU291bmQsXG4gIERpc2NvcmRTdGFnZUluc3RhbmNlLFxuICBEaXNjb3JkU3RpY2tlcixcbiAgRGlzY29yZFN0aWNrZXJQYWNrLFxuICBEaXNjb3JkU3Vic2NyaXB0aW9uLFxuICBEaXNjb3JkVGVhbSxcbiAgRGlzY29yZFRlbXBsYXRlLFxuICBEaXNjb3JkVGhyZWFkTWVtYmVyLFxuICBEaXNjb3JkVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUsXG4gIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgRGlzY29yZFVzZXIsXG4gIERpc2NvcmRVc2VyUHJpbWFyeUd1aWxkLFxuICBEaXNjb3JkVm9pY2VSZWdpb24sXG4gIERpc2NvcmRWb2ljZVN0YXRlLFxuICBEaXNjb3JkV2ViaG9vayxcbiAgRGlzY29yZFdlbGNvbWVTY3JlZW4sXG4gIFJlY3Vyc2l2ZVBhcnRpYWwsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IGJpZ2ludFRvU25vd2ZsYWtlLCBzbm93Zmxha2VUb0JpZ2ludCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi9ib3QuanMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3QsXG4gIHR5cGUgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgdHlwZSBTZXR1cERlc2lyZWRQcm9wcyxcbiAgdHlwZSBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgdHlwZSBUcmFuc2Zvcm1lcnNPYmplY3RzLFxuICB0eXBlIFRyYW5zZm9ybVByb3BlcnR5LFxufSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFjdGl2aXR5LCB0cmFuc2Zvcm1BY3Rpdml0eUluc3RhbmNlLCB0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYWN0aXZpdHkuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXBwbGljYXRpb25Db21tYW5kT3B0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BdHRhY2htZW50IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXR0YWNobWVudC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BdWRpdExvZ0VudHJ5IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXVkaXRMb2dFbnRyeS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2F1dG9tb2RBY3Rpb25FeGVjdXRpb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXV0b01vZGVyYXRpb25SdWxlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXV0b21vZFJ1bGUuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXZhdGFyRGVjb3JhdGlvbkRhdGEgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hdmF0YXJEZWNvcmF0aW9uRGF0YS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1DaGFubmVsLCB0cmFuc2Zvcm1Gb3J1bVRhZyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2NoYW5uZWwuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQ29tcG9uZW50LCB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtLCB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2NvbXBvbmVudC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1FbWJlZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2VtYmVkLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybURlZmF1bHRSZWFjdGlvbkVtb2ppLCB0cmFuc2Zvcm1FbW9qaSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2Vtb2ppLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUVudGl0bGVtZW50IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW50aXRsZW1lbnQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtR2F0ZXdheUJvdCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2dhdGV3YXlCb3QuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtR3VpbGQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9ndWlsZC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1JbmNpZGVudHNEYXRhIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW5jaWRlbnRzRGF0YS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1JbnRlZ3JhdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2ludGVncmF0aW9uLmpzJztcbmltcG9ydCB7XG4gIHRyYW5zZm9ybUludGVyYWN0aW9uLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UsXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL2ludGVyYWN0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUludml0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2ludml0ZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Mb2JieSwgdHJhbnNmb3JtTG9iYnlNZW1iZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9sb2JieS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1NZW1iZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9tZW1iZXIuanMnO1xuaW1wb3J0IHtcbiAgdHJhbnNmb3JtTWVzc2FnZSxcbiAgdHJhbnNmb3JtTWVzc2FnZUNhbGwsXG4gIHRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLFxuICB0cmFuc2Zvcm1NZXNzYWdlUGluLFxuICB0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QsXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL21lc3NhZ2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nLCB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHQsIHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL29uYm9hcmRpbmcuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtUG9sbCwgdHJhbnNmb3JtUG9sbE1lZGlhIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcG9sbC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1QcmVzZW5jZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3ByZXNlbmNlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFjdGl2aXR5VG9EaXNjb3JkQWN0aXZpdHkgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2FjdGl2aXR5LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFsbG93ZWRNZW50aW9uc1RvRGlzY29yZEFsbG93ZWRNZW50aW9ucyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYWxsb3dlZE1lbnRpb25zLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uVG9EaXNjb3JkQXBwbGljYXRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2FwcGxpY2F0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYXBwbGljYXRpb25Db21tYW5kLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYXBwbGljYXRpb25Db21tYW5kT3B0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hdHRhY2htZW50LmpzJztcbmltcG9ydCB7XG4gIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCxcbiAgdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIHRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtVG9EaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvY29tcG9uZW50LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUVtYmVkVG9EaXNjb3JkRW1iZWQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2VtYmVkLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlciwgdHJhbnNmb3JtVXNlclRvRGlzY29yZFVzZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL21lbWJlci5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1UZWFtVG9EaXNjb3JkVGVhbSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvdGVhbS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Sb2xlLCB0cmFuc2Zvcm1Sb2xlQ29sb3JzIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcm9sZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudCwgdHJhbnNmb3JtU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3NjaGVkdWxlZEV2ZW50LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVNrdSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3NrdS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Tb3VuZGJvYXJkU291bmQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zb3VuZGJvYXJkU291bmQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtU3RhZ2VJbnN0YW5jZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N0YWdlSW5zdGFuY2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtSW52aXRlU3RhZ2VJbnN0YW5jZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N0YWdlSW52aXRlSW5zdGFuY2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtU3RpY2tlciwgdHJhbnNmb3JtU3RpY2tlclBhY2sgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zdGlja2VyLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVN1YnNjcmlwdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N1YnNjcmlwdGlvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1UZWFtIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdGVhbS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1UZW1wbGF0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3RlbXBsYXRlLmpzJztcbmltcG9ydCB7IHR5cGUgVGhyZWFkTWVtYmVyVHJhbnNmb3JtZXJFeHRyYSwgdHJhbnNmb3JtVGhyZWFkTWVtYmVyLCB0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3RocmVhZE1lbWJlci5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIEFjdGl2aXR5LFxuICBBY3Rpdml0eUluc3RhbmNlLFxuICBBY3Rpdml0eUxvY2F0aW9uLFxuICBBcHBsaWNhdGlvbixcbiAgQXBwbGljYXRpb25Db21tYW5kLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sXG4gIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgQXR0YWNobWVudCxcbiAgQXVkaXRMb2dFbnRyeSxcbiAgQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sXG4gIEF1dG9Nb2RlcmF0aW9uUnVsZSxcbiAgQXZhdGFyRGVjb3JhdGlvbkRhdGEsXG4gIENoYW5uZWwsXG4gIENvbGxlY3RpYmxlcyxcbiAgQ29tcG9uZW50LFxuICBEZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgRW1iZWQsXG4gIEVtb2ppLFxuICBFbnRpdGxlbWVudCxcbiAgRm9ydW1UYWcsXG4gIEdldEdhdGV3YXlCb3QsXG4gIEd1aWxkLFxuICBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBHdWlsZE9uYm9hcmRpbmcsXG4gIEd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICBHdWlsZFdpZGdldCxcbiAgR3VpbGRXaWRnZXRTZXR0aW5ncyxcbiAgSW5jaWRlbnRzRGF0YSxcbiAgSW50ZWdyYXRpb24sXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb3VyY2UsXG4gIEludml0ZSxcbiAgSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgTG9iYnksXG4gIExvYmJ5TWVtYmVyLFxuICBNZWRpYUdhbGxlcnlJdGVtLFxuICBNZW1iZXIsXG4gIE1lc3NhZ2UsXG4gIE1lc3NhZ2VDYWxsLFxuICBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgTWVzc2FnZVBpbixcbiAgTWVzc2FnZVNuYXBzaG90LFxuICBOYW1lcGxhdGUsXG4gIFBvbGwsXG4gIFBvbGxNZWRpYSxcbiAgUHJlc2VuY2VVcGRhdGUsXG4gIFJvbGUsXG4gIFJvbGVDb2xvcnMsXG4gIFNjaGVkdWxlZEV2ZW50LFxuICBTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICBTa3UsXG4gIFNvdW5kYm9hcmRTb3VuZCxcbiAgU3RhZ2VJbnN0YW5jZSxcbiAgU3RpY2tlcixcbiAgU3RpY2tlclBhY2ssXG4gIFN1YnNjcmlwdGlvbixcbiAgVGVhbSxcbiAgVGVtcGxhdGUsXG4gIFRocmVhZE1lbWJlcixcbiAgVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUsXG4gIFVuZnVybGVkTWVkaWFJdGVtLFxuICBVc2VyLFxuICBVc2VyUHJpbWFyeUd1aWxkLFxuICBWb2ljZVJlZ2lvbixcbiAgVm9pY2VTdGF0ZSxcbiAgV2ViaG9vayxcbiAgV2VsY29tZVNjcmVlbixcbn0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdHlwZXMuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQ29sbGVjdGlibGVzLCB0cmFuc2Zvcm1OYW1lcGxhdGUsIHRyYW5zZm9ybVVzZXIsIHRyYW5zZm9ybVVzZXJQcmltYXJ5R3VpbGQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy91c2VyLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVZvaWNlUmVnaW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdm9pY2VSZWdpb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtVm9pY2VTdGF0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3ZvaWNlU3RhdGUuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtV2ViaG9vayB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dlYmhvb2suanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtV2VsY29tZVNjcmVlbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dlbGNvbWVTY3JlZW4uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtV2lkZ2V0IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvd2lkZ2V0LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVdpZGdldFNldHRpbmdzIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvd2lkZ2V0U2V0dGluZ3MuanMnO1xuXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1lckZ1bmN0aW9uczxUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSB7XG4gIGFjdGl2aXR5OiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkQWN0aXZpdHksIEFjdGl2aXR5LCB7fSwgJ3VuY2hhbmdlZCc+O1xuICBhY3Rpdml0eUluc3RhbmNlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSwgQWN0aXZpdHlJbnN0YW5jZT47XG4gIGFjdGl2aXR5TG9jYXRpb246IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRBY3Rpdml0eUxvY2F0aW9uLCBBY3Rpdml0eUxvY2F0aW9uPjtcbiAgYXBwbGljYXRpb246IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRBcHBsaWNhdGlvbiwgQXBwbGljYXRpb24sIHsgc2hhcmRJZD86IG51bWJlciB9LCAndW5jaGFuZ2VkJz47XG4gIGFwcGxpY2F0aW9uQ29tbWFuZDogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCwgQXBwbGljYXRpb25Db21tYW5kLCB7fSwgJ3VuY2hhbmdlZCc+O1xuICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiwge30sICd1bmNoYW5nZWQnPjtcbiAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFxuICAgIFRQcm9wcyxcbiAgICBUQmVoYXZpb3IsXG4gICAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gICAge30sXG4gICAgJ3VuY2hhbmdlZCdcbiAgPjtcbiAgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbjogVHJhbnNmb3JtZXJGdW5jdGlvbjxcbiAgICBUUHJvcHMsXG4gICAgVEJlaGF2aW9yLFxuICAgIERpc2NvcmRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICAgIEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsXG4gICAge30sXG4gICAgJ3VuY2hhbmdlZCdcbiAgPjtcbiAgYXR0YWNobWVudDogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEF0dGFjaG1lbnQsIEF0dGFjaG1lbnQ+O1xuICBhdWRpdExvZ0VudHJ5OiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkQXVkaXRMb2dFbnRyeSwgQXVkaXRMb2dFbnRyeSwge30sICd1bmNoYW5nZWQnPjtcbiAgYXV0b21vZEFjdGlvbkV4ZWN1dGlvbjogVHJhbnNmb3JtZXJGdW5jdGlvbjxcbiAgICBUUHJvcHMsXG4gICAgVEJlaGF2aW9yLFxuICAgIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgICBBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgICB7fSxcbiAgICAndW5jaGFuZ2VkJ1xuICA+O1xuICBhdXRvbW9kUnVsZTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSwgQXV0b01vZGVyYXRpb25SdWxlLCB7fSwgJ3VuY2hhbmdlZCc+O1xuICBhdmF0YXJEZWNvcmF0aW9uRGF0YTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEF2YXRhckRlY29yYXRpb25EYXRhLCBBdmF0YXJEZWNvcmF0aW9uRGF0YT47XG4gIGNoYW5uZWw6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRDaGFubmVsLCBDaGFubmVsLCB7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfT47XG4gIGNvbGxlY3RpYmxlczogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZENvbGxlY3RpYmxlcywgQ29sbGVjdGlibGVzPjtcbiAgY29tcG9uZW50OiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFxuICAgIFRQcm9wcyxcbiAgICBUQmVoYXZpb3IsXG4gICAgRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gICAgQ29tcG9uZW50LFxuICAgIHt9LFxuICAgICd1bmNoYW5nZWQnXG4gID47XG4gIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamksIERlZmF1bHRSZWFjdGlvbkVtb2ppPjtcbiAgZW1iZWQ6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRFbWJlZCwgRW1iZWQsIHt9LCAndW5jaGFuZ2VkJz47XG4gIGVtb2ppOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkRW1vamksIEVtb2ppPjtcbiAgZW50aXRsZW1lbnQ6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRFbnRpdGxlbWVudCwgRW50aXRsZW1lbnQ+O1xuICBmb3J1bVRhZzogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEZvcnVtVGFnLCBGb3J1bVRhZz47XG4gIGdhdGV3YXlCb3Q6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRHZXRHYXRld2F5Qm90LCBHZXRHYXRld2F5Qm90LCB7fSwgJ3VuY2hhbmdlZCc+O1xuICBndWlsZDogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEd1aWxkLCBHdWlsZCwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBndWlsZE9uYm9hcmRpbmc6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmcsIEd1aWxkT25ib2FyZGluZz47XG4gIGd1aWxkT25ib2FyZGluZ1Byb21wdDogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdCwgR3VpbGRPbmJvYXJkaW5nUHJvbXB0PjtcbiAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLCBHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24+O1xuICBpbmNpZGVudHNEYXRhOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkSW5jaWRlbnRzRGF0YSwgSW5jaWRlbnRzRGF0YT47XG4gIGludGVncmF0aW9uOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUsIEludGVncmF0aW9uLCB7fSwgJ3VuY2hhbmdlZCc+O1xuICBpbnRlcmFjdGlvbjogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEludGVyYWN0aW9uLCBJbnRlcmFjdGlvbiwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBpbnRlcmFjdGlvbkNhbGxiYWNrOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjaywgSW50ZXJhY3Rpb25DYWxsYmFjaz47XG4gIGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogVHJhbnNmb3JtZXJGdW5jdGlvbjxcbiAgICBUUHJvcHMsXG4gICAgVEJlaGF2aW9yLFxuICAgIERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gICAgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICAgIHsgc2hhcmRJZD86IG51bWJlciB9XG4gID47XG4gIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sIEludGVyYWN0aW9uRGF0YU9wdGlvbiwge30sICd1bmNoYW5nZWQnPjtcbiAgaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ6IFRyYW5zZm9ybWVyRnVuY3Rpb248XG4gICAgVFByb3BzLFxuICAgIFRCZWhhdmlvcixcbiAgICBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gICAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gICAgeyBzaGFyZElkPzogbnVtYmVyOyBndWlsZElkPzogQmlnU3RyaW5nIH0sXG4gICAgJ3RyYW5zZm9ybSdcbiAgPjtcbiAgaW50ZXJhY3Rpb25SZXNvdXJjZTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2UsIEludGVyYWN0aW9uUmVzb3VyY2UsIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgaW52aXRlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkSW52aXRlQ3JlYXRlIHwgRGlzY29yZEludml0ZU1ldGFkYXRhLCBJbnZpdGUsIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgaW52aXRlU3RhZ2VJbnN0YW5jZTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZEludml0ZVN0YWdlSW5zdGFuY2UsIEludml0ZVN0YWdlSW5zdGFuY2UsIHsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9PjtcbiAgbG9iYnk6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRMb2JieSwgTG9iYnk+O1xuICBsb2JieU1lbWJlcjogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZExvYmJ5TWVtYmVyLCBMb2JieU1lbWJlcj47XG4gIG1lZGlhR2FsbGVyeUl0ZW06IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtLCBNZWRpYUdhbGxlcnlJdGVtLCB7fSwgJ3VuY2hhbmdlZCc+O1xuICBtZW1iZXI6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRNZW1iZXIsIE1lbWJlciwgeyBndWlsZElkPzogQmlnU3RyaW5nOyB1c2VySWQ/OiBCaWdTdHJpbmcgfT47XG4gIG1lc3NhZ2U6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRNZXNzYWdlLCBNZXNzYWdlLCB7IHNoYXJkSWQ/OiBudW1iZXIgfT47XG4gIG1lc3NhZ2VDYWxsOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkTWVzc2FnZUNhbGwsIE1lc3NhZ2VDYWxsPjtcbiAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSwgTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE+O1xuICBtZXNzYWdlUGluOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkTWVzc2FnZVBpbiwgTWVzc2FnZVBpbiwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBtZXNzYWdlU25hcHNob3Q6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRNZXNzYWdlU25hcHNob3QsIE1lc3NhZ2VTbmFwc2hvdCwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBuYW1lcGxhdGU6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmROYW1lcGxhdGUsIE5hbWVwbGF0ZT47XG4gIHBvbGw6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRQb2xsLCBQb2xsPjtcbiAgcG9sbE1lZGlhOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkUG9sbE1lZGlhLCBQb2xsTWVkaWE+O1xuICBwcmVzZW5jZTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZFByZXNlbmNlVXBkYXRlLCBQcmVzZW5jZVVwZGF0ZSwge30sICd1bmNoYW5nZWQnPjtcbiAgcm9sZTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZFJvbGUsIFJvbGUsIHsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9PjtcbiAgcm9sZUNvbG9yczogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZFJvbGVDb2xvcnMsIFJvbGVDb2xvcnM+O1xuICBzY2hlZHVsZWRFdmVudDogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZFNjaGVkdWxlZEV2ZW50LCBTY2hlZHVsZWRFdmVudD47XG4gIHNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLCBTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlPjtcbiAgc2t1OiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkU2t1LCBTa3U+O1xuICBzb3VuZGJvYXJkU291bmQ6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRTb3VuZGJvYXJkU291bmQsIFNvdW5kYm9hcmRTb3VuZD47XG4gIHN0YWdlSW5zdGFuY2U6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRTdGFnZUluc3RhbmNlLCBTdGFnZUluc3RhbmNlPjtcbiAgc3RpY2tlcjogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZFN0aWNrZXIsIFN0aWNrZXI+O1xuICBzdGlja2VyUGFjazogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZFN0aWNrZXJQYWNrLCBTdGlja2VyUGFjaywge30sICd1bmNoYW5nZWQnPjtcbiAgc3Vic2NyaXB0aW9uOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkU3Vic2NyaXB0aW9uLCBTdWJzY3JpcHRpb24+O1xuICB0ZWFtOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkVGVhbSwgVGVhbSwge30sICd1bmNoYW5nZWQnPjtcbiAgdGVtcGxhdGU6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRUZW1wbGF0ZSwgVGVtcGxhdGUsIHt9LCAndW5jaGFuZ2VkJz47XG4gIHRocmVhZE1lbWJlcjogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZFRocmVhZE1lbWJlciwgVGhyZWFkTWVtYmVyLCBUaHJlYWRNZW1iZXJUcmFuc2Zvcm1lckV4dHJhLCAndW5jaGFuZ2VkJz47XG4gIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUsIFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLCB7fSwgJ3VuY2hhbmdlZCc+O1xuICB1bmZ1cmxlZE1lZGlhSXRlbTogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtLCBVbmZ1cmxlZE1lZGlhSXRlbSwge30sICd1bmNoYW5nZWQnPjtcbiAgdXNlcjogVHJhbnNmb3JtZXJGdW5jdGlvbjxUUHJvcHMsIFRCZWhhdmlvciwgRGlzY29yZFVzZXIsIFVzZXI+O1xuICB1c2VyUHJpbWFyeUd1aWxkOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkVXNlclByaW1hcnlHdWlsZCwgVXNlclByaW1hcnlHdWlsZD47XG4gIHZvaWNlUmVnaW9uOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkVm9pY2VSZWdpb24sIFZvaWNlUmVnaW9uLCB7fSwgJ3VuY2hhbmdlZCc+O1xuICB2b2ljZVN0YXRlOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkVm9pY2VTdGF0ZSwgVm9pY2VTdGF0ZSwgeyBndWlsZElkPzogQmlnU3RyaW5nIH0+O1xuICB3ZWJob29rOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkV2ViaG9vaywgV2ViaG9vaz47XG4gIHdlbGNvbWVTY3JlZW46IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRXZWxjb21lU2NyZWVuLCBXZWxjb21lU2NyZWVuLCB7fSwgJ3VuY2hhbmdlZCc+O1xuICB3aWRnZXQ6IFRyYW5zZm9ybWVyRnVuY3Rpb248VFByb3BzLCBUQmVoYXZpb3IsIERpc2NvcmRHdWlsZFdpZGdldCwgR3VpbGRXaWRnZXQsIHt9LCAndW5jaGFuZ2VkJz47XG4gIHdpZGdldFNldHRpbmdzOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFRQcm9wcywgVEJlaGF2aW9yLCBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncywgR3VpbGRXaWRnZXRTZXR0aW5ncywge30sICd1bmNoYW5nZWQnPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVyczxUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBUcmFuc2Zvcm1lckZ1bmN0aW9uczxcbiAgVFByb3BzLFxuICBUQmVoYXZpb3Jcbj4gJiB7XG4gIGN1c3RvbWl6ZXJzOiBUcmFuc2Zvcm1lckN1c3RvbWl6ZXJzPFRQcm9wcywgVEJlaGF2aW9yPjtcbiAgZGVzaXJlZFByb3BlcnRpZXM6IFRQcm9wcztcbiAgcmV2ZXJzZToge1xuICAgIGFjdGl2aXR5OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBY3Rpdml0eSkgPT4gRGlzY29yZEFjdGl2aXR5O1xuICAgIGFsbG93ZWRNZW50aW9uczogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQWxsb3dlZE1lbnRpb25zKSA9PiBEaXNjb3JkQWxsb3dlZE1lbnRpb25zO1xuICAgIGFwcGxpY2F0aW9uOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBcHBsaWNhdGlvbikgPT4gRGlzY29yZEFwcGxpY2F0aW9uO1xuICAgIGFwcGxpY2F0aW9uQ29tbWFuZDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQXBwbGljYXRpb25Db21tYW5kKSA9PiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kO1xuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uKSA9PiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uO1xuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlKSA9PiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlO1xuICAgIGF0dGFjaG1lbnQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFNldHVwRGVzaXJlZFByb3BzPEF0dGFjaG1lbnQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gRGlzY29yZEF0dGFjaG1lbnQ7XG4gICAgY29tcG9uZW50OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBDb21wb25lbnQpID0+IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlO1xuICAgIGVtYmVkOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBFbWJlZCkgPT4gRGlzY29yZEVtYmVkO1xuICAgIG1lZGlhR2FsbGVyeUl0ZW06IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IE1lZGlhR2FsbGVyeUl0ZW0pID0+IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtO1xuICAgIG1lbWJlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRNZW1iZXI7XG4gICAgc25vd2ZsYWtlOiAoc25vd2ZsYWtlOiBCaWdTdHJpbmcpID0+IHN0cmluZztcbiAgICB0ZWFtOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBUZWFtKSA9PiBEaXNjb3JkVGVhbTtcbiAgICB1bmZ1cmxlZE1lZGlhSXRlbTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogVW5mdXJsZWRNZWRpYUl0ZW0pID0+IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbTtcbiAgICB1c2VyOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBTZXR1cERlc2lyZWRQcm9wczxVc2VyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRVc2VyO1xuICB9O1xuICBzbm93Zmxha2U6IChzbm93Zmxha2U6IEJpZ1N0cmluZykgPT4gYmlnaW50O1xufTtcblxuY29uc3QgZGVmYXVsdEN1c3RvbWl6ZXIgPSAoX2JvdDogdW5rbm93biwgX3BheWxvYWQ6IHVua25vd24sIHN0cnVjdHVyZTogdW5rbm93bikgPT4gc3RydWN0dXJlO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHJhbnNmb3JtZXJzPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPihcbiAgb3B0aW9uczogUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+Pixcbik6IFRyYW5zZm9ybWVyczxUUHJvcHMsIFRCZWhhdmlvcj4ge1xuICBjb25zdCBfb3B0aW9ucyA9IG9wdGlvbnMgYXMgUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnM8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5Pj47XG5cbiAgcmV0dXJuIHtcbiAgICBjdXN0b21pemVyczoge1xuICAgICAgYWN0aXZpdHk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFjdGl2aXR5SW5zdGFuY2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eUluc3RhbmNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYWN0aXZpdHlMb2NhdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmFjdGl2aXR5TG9jYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb25Db21tYW5kID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdHRhY2htZW50OiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXR0YWNobWVudCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF1ZGl0TG9nRW50cnk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hdWRpdExvZ0VudHJ5ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXV0b21vZEFjdGlvbkV4ZWN1dGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmF1dG9tb2RBY3Rpb25FeGVjdXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdXRvbW9kUnVsZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmF1dG9tb2RSdWxlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hdmF0YXJEZWNvcmF0aW9uRGF0YSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGNoYW5uZWw6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5jaGFubmVsID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgY29sbGVjdGlibGVzOiBfb3B0aW9ucy5jdXN0b21pemVycz8uY29sbGVjdGlibGVzID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgY29tcG9uZW50OiBfb3B0aW9ucy5jdXN0b21pemVycz8uY29tcG9uZW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5kZWZhdWx0UmVhY3Rpb25FbW9qaSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGVtYmVkOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZW1iZWQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBlbW9qaTogX29wdGlvbnMuY3VzdG9taXplcnM/LmVtb2ppID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZW50aXRsZW1lbnQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5lbnRpdGxlbWVudCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGZvcnVtVGFnOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZm9ydW1UYWcgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBnYXRld2F5Qm90OiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ2F0ZXdheUJvdCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGd1aWxkOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBndWlsZE9uYm9hcmRpbmc6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZE9uYm9hcmRpbmcgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbmNpZGVudHNEYXRhOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW5jaWRlbnRzRGF0YSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVncmF0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZWdyYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25DYWxsYmFjazogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uQ2FsbGJhY2sgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkRhdGFPcHRpb25zOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvblJlc291cmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb25SZXNvdXJjZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludml0ZTogX29wdGlvbnMuY3VzdG9taXplcnM/Lmludml0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnZpdGVTdGFnZUluc3RhbmNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbG9iYnk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5sb2JieSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGxvYmJ5TWVtYmVyOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubG9iYnlNZW1iZXIgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZWRpYUdhbGxlcnlJdGVtOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVkaWFHYWxsZXJ5SXRlbSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lbWJlcjogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lbWJlciA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZUNhbGw6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlQ2FsbCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZXNzYWdlUGluOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZVBpbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2VTbmFwc2hvdDogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2VTbmFwc2hvdCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG5hbWVwbGF0ZTogX29wdGlvbnMuY3VzdG9taXplcnM/Lm5hbWVwbGF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHBvbGw6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5wb2xsID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcG9sbE1lZGlhOiBfb3B0aW9ucy5jdXN0b21pemVycz8ucG9sbE1lZGlhID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcHJlc2VuY2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5wcmVzZW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHJvbGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5yb2xlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcm9sZUNvbG9yczogX29wdGlvbnMuY3VzdG9taXplcnM/LnJvbGVDb2xvcnMgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzY2hlZHVsZWRFdmVudDogX29wdGlvbnMuY3VzdG9taXplcnM/LnNjaGVkdWxlZEV2ZW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZTogX29wdGlvbnMuY3VzdG9taXplcnM/LnNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBza3U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5za3UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzb3VuZGJvYXJkU291bmQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zb3VuZGJvYXJkU291bmQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzdGFnZUluc3RhbmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uc3RhZ2VJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN0aWNrZXI6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGlja2VyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc3RpY2tlclBhY2s6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGlja2VyUGFjayA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN1YnNjcmlwdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LnN1YnNjcmlwdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRlYW06IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy50ZWFtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGVtcGxhdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy50ZW1wbGF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRocmVhZE1lbWJlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LnRocmVhZE1lbWJlciA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBfb3B0aW9ucy5jdXN0b21pemVycz8udGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB1bmZ1cmxlZE1lZGlhSXRlbTogX29wdGlvbnMuY3VzdG9taXplcnM/LnVuZnVybGVkTWVkaWFJdGVtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdXNlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LnVzZXIgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB1c2VyUHJpbWFyeUd1aWxkOiBfb3B0aW9ucy5jdXN0b21pemVycz8udXNlclByaW1hcnlHdWlsZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHZvaWNlUmVnaW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8udm9pY2VSZWdpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB2b2ljZVN0YXRlOiBfb3B0aW9ucy5jdXN0b21pemVycz8udm9pY2VTdGF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHdlYmhvb2s6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy53ZWJob29rID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgd2VsY29tZVNjcmVlbjogX29wdGlvbnMuY3VzdG9taXplcnM/LndlbGNvbWVTY3JlZW4gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3aWRnZXQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy53aWRnZXQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3aWRnZXRTZXR0aW5nczogX29wdGlvbnMuY3VzdG9taXplcnM/LndpZGdldFNldHRpbmdzID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgIH0sXG4gICAgZGVzaXJlZFByb3BlcnRpZXM6IGNyZWF0ZURlc2lyZWRQcm9wZXJ0aWVzT2JqZWN0KF9vcHRpb25zLmRlc2lyZWRQcm9wZXJ0aWVzID8/IHt9KSxcbiAgICByZXZlcnNlOiB7XG4gICAgICBhY3Rpdml0eTogX29wdGlvbnMucmV2ZXJzZT8uYWN0aXZpdHkgPz8gdHJhbnNmb3JtQWN0aXZpdHlUb0Rpc2NvcmRBY3Rpdml0eSxcbiAgICAgIGFsbG93ZWRNZW50aW9uczogX29wdGlvbnMucmV2ZXJzZT8uYWxsb3dlZE1lbnRpb25zID8/IHRyYW5zZm9ybUFsbG93ZWRNZW50aW9uc1RvRGlzY29yZEFsbG93ZWRNZW50aW9ucyxcbiAgICAgIGFwcGxpY2F0aW9uOiBfb3B0aW9ucy5yZXZlcnNlPy5hcHBsaWNhdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kOiBfb3B0aW9ucy5yZXZlcnNlPy5hcHBsaWNhdGlvbkNvbW1hbmQgPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBfb3B0aW9ucy5yZXZlcnNlPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOlxuICAgICAgICBfb3B0aW9ucy5yZXZlcnNlPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UgPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICAgICAgYXR0YWNobWVudDogX29wdGlvbnMucmV2ZXJzZT8uYXR0YWNobWVudCA/PyB0cmFuc2Zvcm1BdHRhY2htZW50VG9EaXNjb3JkQXR0YWNobWVudCxcbiAgICAgIGNvbXBvbmVudDogX29wdGlvbnMucmV2ZXJzZT8uY29tcG9uZW50ID8/IHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCxcbiAgICAgIGVtYmVkOiBfb3B0aW9ucy5yZXZlcnNlPy5lbWJlZCA/PyB0cmFuc2Zvcm1FbWJlZFRvRGlzY29yZEVtYmVkLFxuICAgICAgbWVkaWFHYWxsZXJ5SXRlbTogX29wdGlvbnMucmV2ZXJzZT8ubWVkaWFHYWxsZXJ5SXRlbSA/PyB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgICAgIG1lbWJlcjogX29wdGlvbnMucmV2ZXJzZT8ubWVtYmVyID8/IHRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlcixcbiAgICAgIHNub3dmbGFrZTogX29wdGlvbnMucmV2ZXJzZT8uc25vd2ZsYWtlID8/IGJpZ2ludFRvU25vd2ZsYWtlLFxuICAgICAgdGVhbTogX29wdGlvbnMucmV2ZXJzZT8udGVhbSA/PyB0cmFuc2Zvcm1UZWFtVG9EaXNjb3JkVGVhbSxcbiAgICAgIHVuZnVybGVkTWVkaWFJdGVtOiBfb3B0aW9ucy5yZXZlcnNlPy51bmZ1cmxlZE1lZGlhSXRlbSA/PyB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtLFxuICAgICAgdXNlcjogX29wdGlvbnMucmV2ZXJzZT8udXNlciA/PyB0cmFuc2Zvcm1Vc2VyVG9EaXNjb3JkVXNlcixcbiAgICB9LFxuICAgIGFjdGl2aXR5OiBfb3B0aW9ucy5hY3Rpdml0eSA/PyB0cmFuc2Zvcm1BY3Rpdml0eSxcbiAgICBhY3Rpdml0eUluc3RhbmNlOiBfb3B0aW9ucy5hY3Rpdml0eUluc3RhbmNlID8/IHRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UsXG4gICAgYWN0aXZpdHlMb2NhdGlvbjogX29wdGlvbnMuYWN0aXZpdHlMb2NhdGlvbiA/PyB0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uLFxuICAgIGFwcGxpY2F0aW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbixcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IF9vcHRpb25zLmFwcGxpY2F0aW9uQ29tbWFuZCA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogX29wdGlvbnMuYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24sXG4gICAgYXR0YWNobWVudDogX29wdGlvbnMuYXR0YWNobWVudCA/PyB0cmFuc2Zvcm1BdHRhY2htZW50LFxuICAgIGF1ZGl0TG9nRW50cnk6IF9vcHRpb25zLmF1ZGl0TG9nRW50cnkgPz8gdHJhbnNmb3JtQXVkaXRMb2dFbnRyeSxcbiAgICBhdXRvbW9kQWN0aW9uRXhlY3V0aW9uOiBfb3B0aW9ucy5hdXRvbW9kQWN0aW9uRXhlY3V0aW9uID8/IHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICAgIGF1dG9tb2RSdWxlOiBfb3B0aW9ucy5hdXRvbW9kUnVsZSA/PyB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvblJ1bGUsXG4gICAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IF9vcHRpb25zLmF2YXRhckRlY29yYXRpb25EYXRhID8/IHRyYW5zZm9ybUF2YXRhckRlY29yYXRpb25EYXRhLFxuICAgIGNoYW5uZWw6IF9vcHRpb25zLmNoYW5uZWwgPz8gdHJhbnNmb3JtQ2hhbm5lbCxcbiAgICBjb2xsZWN0aWJsZXM6IF9vcHRpb25zLmNvbGxlY3RpYmxlcyA/PyB0cmFuc2Zvcm1Db2xsZWN0aWJsZXMsXG4gICAgY29tcG9uZW50OiBfb3B0aW9ucy5jb21wb25lbnQgPz8gdHJhbnNmb3JtQ29tcG9uZW50LFxuICAgIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiBfb3B0aW9ucy5kZWZhdWx0UmVhY3Rpb25FbW9qaSA/PyB0cmFuc2Zvcm1EZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgICBlbWJlZDogX29wdGlvbnMuZW1iZWQgPz8gdHJhbnNmb3JtRW1iZWQsXG4gICAgZW1vamk6IF9vcHRpb25zLmVtb2ppID8/IHRyYW5zZm9ybUVtb2ppLFxuICAgIGVudGl0bGVtZW50OiBfb3B0aW9ucy5lbnRpdGxlbWVudCA/PyB0cmFuc2Zvcm1FbnRpdGxlbWVudCxcbiAgICBmb3J1bVRhZzogX29wdGlvbnMuZm9ydW1UYWcgPz8gdHJhbnNmb3JtRm9ydW1UYWcsXG4gICAgZ2F0ZXdheUJvdDogX29wdGlvbnMuZ2F0ZXdheUJvdCA/PyB0cmFuc2Zvcm1HYXRld2F5Qm90LFxuICAgIGd1aWxkOiBfb3B0aW9ucy5ndWlsZCA/PyB0cmFuc2Zvcm1HdWlsZCxcbiAgICBndWlsZE9uYm9hcmRpbmc6IF9vcHRpb25zLmd1aWxkT25ib2FyZGluZyA/PyB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmcsXG4gICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiBfb3B0aW9ucy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQgPz8gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogX29wdGlvbnMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uID8/IHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgICBpbmNpZGVudHNEYXRhOiBfb3B0aW9ucy5pbmNpZGVudHNEYXRhID8/IHRyYW5zZm9ybUluY2lkZW50c0RhdGEsXG4gICAgaW50ZWdyYXRpb246IF9vcHRpb25zLmludGVncmF0aW9uID8/IHRyYW5zZm9ybUludGVncmF0aW9uLFxuICAgIGludGVyYWN0aW9uOiBfb3B0aW9ucy5pbnRlcmFjdGlvbiA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbixcbiAgICBpbnRlcmFjdGlvbkNhbGxiYWNrOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkNhbGxiYWNrID8/IHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2ssXG4gICAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICAgIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IF9vcHRpb25zLmludGVyYWN0aW9uRGF0YU9wdGlvbnMgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICAgIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICBpbnRlcmFjdGlvblJlc291cmNlOiBfb3B0aW9ucy5pbnRlcmFjdGlvblJlc291cmNlID8/IHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UsXG4gICAgaW52aXRlOiBfb3B0aW9ucy5pbnZpdGUgPz8gdHJhbnNmb3JtSW52aXRlLFxuICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IF9vcHRpb25zLmludml0ZVN0YWdlSW5zdGFuY2UgPz8gdHJhbnNmb3JtSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgICBsb2JieTogX29wdGlvbnMubG9iYnkgPz8gdHJhbnNmb3JtTG9iYnksXG4gICAgbG9iYnlNZW1iZXI6IF9vcHRpb25zLmxvYmJ5TWVtYmVyID8/IHRyYW5zZm9ybUxvYmJ5TWVtYmVyLFxuICAgIG1lZGlhR2FsbGVyeUl0ZW06IF9vcHRpb25zLm1lZGlhR2FsbGVyeUl0ZW0gPz8gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSxcbiAgICBtZW1iZXI6IF9vcHRpb25zLm1lbWJlciA/PyB0cmFuc2Zvcm1NZW1iZXIsXG4gICAgbWVzc2FnZTogX29wdGlvbnMubWVzc2FnZSA/PyB0cmFuc2Zvcm1NZXNzYWdlLFxuICAgIG1lc3NhZ2VDYWxsOiBfb3B0aW9ucy5tZXNzYWdlQ2FsbCA/PyB0cmFuc2Zvcm1NZXNzYWdlQ2FsbCxcbiAgICBtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YTogX29wdGlvbnMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEgPz8gdHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gICAgbWVzc2FnZVBpbjogX29wdGlvbnMubWVzc2FnZVBpbiA/PyB0cmFuc2Zvcm1NZXNzYWdlUGluLFxuICAgIG1lc3NhZ2VTbmFwc2hvdDogX29wdGlvbnMubWVzc2FnZVNuYXBzaG90ID8/IHRyYW5zZm9ybU1lc3NhZ2VTbmFwc2hvdCxcbiAgICBuYW1lcGxhdGU6IF9vcHRpb25zLm5hbWVwbGF0ZSA/PyB0cmFuc2Zvcm1OYW1lcGxhdGUsXG4gICAgcG9sbDogX29wdGlvbnMucG9sbCA/PyB0cmFuc2Zvcm1Qb2xsLFxuICAgIHBvbGxNZWRpYTogX29wdGlvbnMucG9sbE1lZGlhID8/IHRyYW5zZm9ybVBvbGxNZWRpYSxcbiAgICBwcmVzZW5jZTogX29wdGlvbnMucHJlc2VuY2UgPz8gdHJhbnNmb3JtUHJlc2VuY2UsXG4gICAgcm9sZTogX29wdGlvbnMucm9sZSA/PyB0cmFuc2Zvcm1Sb2xlLFxuICAgIHJvbGVDb2xvcnM6IF9vcHRpb25zLnJvbGVDb2xvcnMgPz8gdHJhbnNmb3JtUm9sZUNvbG9ycyxcbiAgICBzY2hlZHVsZWRFdmVudDogX29wdGlvbnMuc2NoZWR1bGVkRXZlbnQgPz8gdHJhbnNmb3JtU2NoZWR1bGVkRXZlbnQsXG4gICAgc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZTogX29wdGlvbnMuc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSA/PyB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICAgIHNrdTogX29wdGlvbnMuc2t1ID8/IHRyYW5zZm9ybVNrdSxcbiAgICBzb3VuZGJvYXJkU291bmQ6IF9vcHRpb25zLnNvdW5kYm9hcmRTb3VuZCA/PyB0cmFuc2Zvcm1Tb3VuZGJvYXJkU291bmQsXG4gICAgc25vd2ZsYWtlOiBfb3B0aW9ucy5zbm93Zmxha2UgPz8gc25vd2ZsYWtlVG9CaWdpbnQsXG4gICAgc3RhZ2VJbnN0YW5jZTogX29wdGlvbnMuc3RhZ2VJbnN0YW5jZSA/PyB0cmFuc2Zvcm1TdGFnZUluc3RhbmNlLFxuICAgIHN0aWNrZXI6IF9vcHRpb25zLnN0aWNrZXIgPz8gdHJhbnNmb3JtU3RpY2tlcixcbiAgICBzdGlja2VyUGFjazogX29wdGlvbnMuc3RpY2tlclBhY2sgPz8gdHJhbnNmb3JtU3RpY2tlclBhY2ssXG4gICAgc3Vic2NyaXB0aW9uOiBfb3B0aW9ucy5zdWJzY3JpcHRpb24gPz8gdHJhbnNmb3JtU3Vic2NyaXB0aW9uLFxuICAgIHRlYW06IF9vcHRpb25zLnRlYW0gPz8gdHJhbnNmb3JtVGVhbSxcbiAgICB0ZW1wbGF0ZTogX29wdGlvbnMudGVtcGxhdGUgPz8gdHJhbnNmb3JtVGVtcGxhdGUsXG4gICAgdGhyZWFkTWVtYmVyOiBfb3B0aW9ucy50aHJlYWRNZW1iZXIgPz8gdHJhbnNmb3JtVGhyZWFkTWVtYmVyLFxuICAgIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBfb3B0aW9ucy50aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSA/PyB0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgICB1bmZ1cmxlZE1lZGlhSXRlbTogX29wdGlvbnMudW5mdXJsZWRNZWRpYUl0ZW0gPz8gdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0sXG4gICAgdXNlcjogX29wdGlvbnMudXNlciA/PyB0cmFuc2Zvcm1Vc2VyLFxuICAgIHVzZXJQcmltYXJ5R3VpbGQ6IF9vcHRpb25zLnVzZXJQcmltYXJ5R3VpbGQgPz8gdHJhbnNmb3JtVXNlclByaW1hcnlHdWlsZCxcbiAgICB2b2ljZVJlZ2lvbjogX29wdGlvbnMudm9pY2VSZWdpb24gPz8gdHJhbnNmb3JtVm9pY2VSZWdpb24sXG4gICAgdm9pY2VTdGF0ZTogX29wdGlvbnMudm9pY2VTdGF0ZSA/PyB0cmFuc2Zvcm1Wb2ljZVN0YXRlLFxuICAgIHdlYmhvb2s6IF9vcHRpb25zLndlYmhvb2sgPz8gdHJhbnNmb3JtV2ViaG9vayxcbiAgICB3ZWxjb21lU2NyZWVuOiBfb3B0aW9ucy53ZWxjb21lU2NyZWVuID8/IHRyYW5zZm9ybVdlbGNvbWVTY3JlZW4sXG4gICAgd2lkZ2V0OiBfb3B0aW9ucy53aWRnZXQgPz8gdHJhbnNmb3JtV2lkZ2V0LFxuICAgIHdpZGdldFNldHRpbmdzOiBfb3B0aW9ucy53aWRnZXRTZXR0aW5ncyA/PyB0cmFuc2Zvcm1XaWRnZXRTZXR0aW5ncyxcbiAgfSBzYXRpc2ZpZXMgVHJhbnNmb3JtZXJzPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleT4gYXMgdW5rbm93biBhcyBUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+O1xufVxuXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1lckZ1bmN0aW9uPFxuICBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgVFBheWxvYWQsXG4gIFRUcmFuc2Zvcm1lZCxcbiAgVEV4dHJhID0ge30sXG4gIC8vIERldGVjdGluZyB3aGF0IGtpbmQgb2YgdHJhbnNmb3JtYXRpb24gaXMgYmVpbmcgYXBwbGllZCBpcyBhY3R1YWxseSBwcmV0dHkgaGFyZCwgc28gd2UganVzdCBkbyBpdCBtYW51YWxseVxuICBUS2luZCBleHRlbmRzICdkZXNpcmVkLXByb3BzJyB8ICd0cmFuc2Zvcm0nIHwgJ3VuY2hhbmdlZCcgPSAnZGVzaXJlZC1wcm9wcycsXG4+ID0gKFxuICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gIHBheWxvYWQ6IFRQYXlsb2FkLFxuICBleHRyYT86IFRFeHRyYSxcbikgPT4gVEtpbmQgZXh0ZW5kcyAnZGVzaXJlZC1wcm9wcydcbiAgPyBUVHJhbnNmb3JtZWQgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNPYmplY3RzW2tleW9mIFRyYW5zZm9ybWVyc09iamVjdHNdXG4gICAgPyBTZXR1cERlc2lyZWRQcm9wczxUVHJhbnNmb3JtZWQsIFRQcm9wcywgVEJlaGF2aW9yPlxuICAgIDogLy8gQXMgZmFpciBhcyBpIGNhbiB0ZWxsLCBubyB0cmFuc2Zvcm1lciBpcyBhY3R1YWxseSBpbiB0aGlzIGNhc2VcbiAgICAgICdFUlJPUjogSW52YWxpZCB0cmFuc2Zvcm1lciBraW5kJ1xuICA6IFRLaW5kIGV4dGVuZHMgJ3RyYW5zZm9ybSdcbiAgICA/IFRyYW5zZm9ybVByb3BlcnR5PFRUcmFuc2Zvcm1lZCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gICAgOiBUVHJhbnNmb3JtZWQ7XG5cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVyQ3VzdG9taXplckZ1bmN0aW9uPFxuICBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgVFBheWxvYWQsXG4gIFRUcmFuc2Zvcm1lZCxcbiAgVEV4dHJhID0ge30sXG4+ID0gKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogVFBheWxvYWQsIHRyYW5zZm9ybWVkOiBUVHJhbnNmb3JtZWQsIGV4dHJhPzogVEV4dHJhKSA9PiBhbnk7XG5cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVyQ3VzdG9taXplcnM8VFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0ge1xuICBbSyBpbiBrZXlvZiBUcmFuc2Zvcm1lckZ1bmN0aW9uczxUUHJvcHMsIFRCZWhhdmlvcj5dOiBUcmFuc2Zvcm1lckZ1bmN0aW9uczxUUHJvcHMsIFRCZWhhdmlvcj5bS10gZXh0ZW5kcyBUcmFuc2Zvcm1lckZ1bmN0aW9uPFxuICAgIFRQcm9wcyxcbiAgICBUQmVoYXZpb3IsXG4gICAgaW5mZXIgVFBheWxvYWQsXG4gICAgaW5mZXIgX1RUcmFuc2Zvcm1lZCxcbiAgICBpbmZlciBURXh0cmEsXG4gICAgaW5mZXIgX1RLaW5kXG4gID5cbiAgICA/IFRyYW5zZm9ybWVyQ3VzdG9taXplckZ1bmN0aW9uPFxuICAgICAgICBUUHJvcHMsXG4gICAgICAgIFRCZWhhdmlvcixcbiAgICAgICAgVFBheWxvYWQsXG4gICAgICAgIC8vIFdlIHVzZSBSZXR1cm5UeXBlIGluc3RlYWQgb2YgaW5mZXJyaW5nIHRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSBzbyB3ZSBkb24ndCBuZWVkIHRvIGRvIHRoZSBsb2dpYyBvbiB0aGUga2luZCBhcyB3ZWxsXG4gICAgICAgIFJldHVyblR5cGU8VHJhbnNmb3JtZXJzPFRQcm9wcywgVEJlaGF2aW9yPltLXT4sXG4gICAgICAgIEJpZ1N0cmluZ3NUb0JpZ2ludHM8VEV4dHJhPlxuICAgICAgPlxuICAgIDogJ0VSUk9SOiBJbnZhbGlkIHRyYW5zZm9ybWVyIGZvdW5kJztcbn07XG5cbmV4cG9ydCB0eXBlIEJpZ1N0cmluZ3NUb0JpZ2ludHM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBCaWdTdHJpbmcgZXh0ZW5kcyBUW0tdID8gYmlnaW50IDogVFtLXTtcbn07XG4iXSwibmFtZXMiOlsiYmlnaW50VG9Tbm93Zmxha2UiLCJzbm93Zmxha2VUb0JpZ2ludCIsImNyZWF0ZURlc2lyZWRQcm9wZXJ0aWVzT2JqZWN0IiwidHJhbnNmb3JtQWN0aXZpdHkiLCJ0cmFuc2Zvcm1BY3Rpdml0eUluc3RhbmNlIiwidHJhbnNmb3JtQWN0aXZpdHlMb2NhdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uIiwidHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kIiwidHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIiwidHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlIiwidHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbiIsInRyYW5zZm9ybUF0dGFjaG1lbnQiLCJ0cmFuc2Zvcm1BdWRpdExvZ0VudHJ5IiwidHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24iLCJ0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvblJ1bGUiLCJ0cmFuc2Zvcm1BdmF0YXJEZWNvcmF0aW9uRGF0YSIsInRyYW5zZm9ybUNoYW5uZWwiLCJ0cmFuc2Zvcm1Gb3J1bVRhZyIsInRyYW5zZm9ybUNvbXBvbmVudCIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW0iLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbSIsInRyYW5zZm9ybUVtYmVkIiwidHJhbnNmb3JtRGVmYXVsdFJlYWN0aW9uRW1vamkiLCJ0cmFuc2Zvcm1FbW9qaSIsInRyYW5zZm9ybUVudGl0bGVtZW50IiwidHJhbnNmb3JtR2F0ZXdheUJvdCIsInRyYW5zZm9ybUd1aWxkIiwidHJhbnNmb3JtSW5jaWRlbnRzRGF0YSIsInRyYW5zZm9ybUludGVncmF0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlIiwidHJhbnNmb3JtSW52aXRlIiwidHJhbnNmb3JtTG9iYnkiLCJ0cmFuc2Zvcm1Mb2JieU1lbWJlciIsInRyYW5zZm9ybU1lbWJlciIsInRyYW5zZm9ybU1lc3NhZ2UiLCJ0cmFuc2Zvcm1NZXNzYWdlQ2FsbCIsInRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwidHJhbnNmb3JtTWVzc2FnZVBpbiIsInRyYW5zZm9ybU1lc3NhZ2VTbmFwc2hvdCIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZyIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdCIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiIsInRyYW5zZm9ybVBvbGwiLCJ0cmFuc2Zvcm1Qb2xsTWVkaWEiLCJ0cmFuc2Zvcm1QcmVzZW5jZSIsInRyYW5zZm9ybUFjdGl2aXR5VG9EaXNjb3JkQWN0aXZpdHkiLCJ0cmFuc2Zvcm1BbGxvd2VkTWVudGlvbnNUb0Rpc2NvcmRBbGxvd2VkTWVudGlvbnMiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uIiwidHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kIiwidHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIiwidHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlIiwidHJhbnNmb3JtQXR0YWNobWVudFRvRGlzY29yZEF0dGFjaG1lbnQiLCJ0cmFuc2Zvcm1Db21wb25lbnRUb0Rpc2NvcmRDb21wb25lbnQiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSIsInRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtVG9EaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0iLCJ0cmFuc2Zvcm1FbWJlZFRvRGlzY29yZEVtYmVkIiwidHJhbnNmb3JtTWVtYmVyVG9EaXNjb3JkTWVtYmVyIiwidHJhbnNmb3JtVXNlclRvRGlzY29yZFVzZXIiLCJ0cmFuc2Zvcm1UZWFtVG9EaXNjb3JkVGVhbSIsInRyYW5zZm9ybVJvbGUiLCJ0cmFuc2Zvcm1Sb2xlQ29sb3JzIiwidHJhbnNmb3JtU2NoZWR1bGVkRXZlbnQiLCJ0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlIiwidHJhbnNmb3JtU2t1IiwidHJhbnNmb3JtU291bmRib2FyZFNvdW5kIiwidHJhbnNmb3JtU3RhZ2VJbnN0YW5jZSIsInRyYW5zZm9ybUludml0ZVN0YWdlSW5zdGFuY2UiLCJ0cmFuc2Zvcm1TdGlja2VyIiwidHJhbnNmb3JtU3RpY2tlclBhY2siLCJ0cmFuc2Zvcm1TdWJzY3JpcHRpb24iLCJ0cmFuc2Zvcm1UZWFtIiwidHJhbnNmb3JtVGVtcGxhdGUiLCJ0cmFuc2Zvcm1UaHJlYWRNZW1iZXIiLCJ0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSIsInRyYW5zZm9ybUNvbGxlY3RpYmxlcyIsInRyYW5zZm9ybU5hbWVwbGF0ZSIsInRyYW5zZm9ybVVzZXIiLCJ0cmFuc2Zvcm1Vc2VyUHJpbWFyeUd1aWxkIiwidHJhbnNmb3JtVm9pY2VSZWdpb24iLCJ0cmFuc2Zvcm1Wb2ljZVN0YXRlIiwidHJhbnNmb3JtV2ViaG9vayIsInRyYW5zZm9ybVdlbGNvbWVTY3JlZW4iLCJ0cmFuc2Zvcm1XaWRnZXQiLCJ0cmFuc2Zvcm1XaWRnZXRTZXR0aW5ncyIsImRlZmF1bHRDdXN0b21pemVyIiwiX2JvdCIsIl9wYXlsb2FkIiwic3RydWN0dXJlIiwiY3JlYXRlVHJhbnNmb3JtZXJzIiwib3B0aW9ucyIsIl9vcHRpb25zIiwiY3VzdG9taXplcnMiLCJhY3Rpdml0eSIsImFjdGl2aXR5SW5zdGFuY2UiLCJhY3Rpdml0eUxvY2F0aW9uIiwiYXBwbGljYXRpb24iLCJhcHBsaWNhdGlvbkNvbW1hbmQiLCJhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24iLCJhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UiLCJhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwiYXR0YWNobWVudCIsImF1ZGl0TG9nRW50cnkiLCJhdXRvbW9kQWN0aW9uRXhlY3V0aW9uIiwiYXV0b21vZFJ1bGUiLCJhdmF0YXJEZWNvcmF0aW9uRGF0YSIsImNoYW5uZWwiLCJjb2xsZWN0aWJsZXMiLCJjb21wb25lbnQiLCJkZWZhdWx0UmVhY3Rpb25FbW9qaSIsImVtYmVkIiwiZW1vamkiLCJlbnRpdGxlbWVudCIsImZvcnVtVGFnIiwiZ2F0ZXdheUJvdCIsImd1aWxkIiwiZ3VpbGRPbmJvYXJkaW5nIiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0IiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIiwiaW5jaWRlbnRzRGF0YSIsImludGVncmF0aW9uIiwiaW50ZXJhY3Rpb24iLCJpbnRlcmFjdGlvbkNhbGxiYWNrIiwiaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlIiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwiaW50ZXJhY3Rpb25SZXNvdXJjZSIsImludml0ZSIsImludml0ZVN0YWdlSW5zdGFuY2UiLCJsb2JieSIsImxvYmJ5TWVtYmVyIiwibWVkaWFHYWxsZXJ5SXRlbSIsIm1lbWJlciIsIm1lc3NhZ2UiLCJtZXNzYWdlQ2FsbCIsIm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwibWVzc2FnZVBpbiIsIm1lc3NhZ2VTbmFwc2hvdCIsIm5hbWVwbGF0ZSIsInBvbGwiLCJwb2xsTWVkaWEiLCJwcmVzZW5jZSIsInJvbGUiLCJyb2xlQ29sb3JzIiwic2NoZWR1bGVkRXZlbnQiLCJzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlIiwic2t1Iiwic291bmRib2FyZFNvdW5kIiwic3RhZ2VJbnN0YW5jZSIsInN0aWNrZXIiLCJzdGlja2VyUGFjayIsInN1YnNjcmlwdGlvbiIsInRlYW0iLCJ0ZW1wbGF0ZSIsInRocmVhZE1lbWJlciIsInRocmVhZE1lbWJlckd1aWxkQ3JlYXRlIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJ1c2VyIiwidXNlclByaW1hcnlHdWlsZCIsInZvaWNlUmVnaW9uIiwidm9pY2VTdGF0ZSIsIndlYmhvb2siLCJ3ZWxjb21lU2NyZWVuIiwid2lkZ2V0Iiwid2lkZ2V0U2V0dGluZ3MiLCJkZXNpcmVkUHJvcGVydGllcyIsInJldmVyc2UiLCJhbGxvd2VkTWVudGlvbnMiLCJzbm93Zmxha2UiXSwibWFwcGluZ3MiOiJBQWdGQSxTQUFTQSxpQkFBaUIsRUFBRUMsaUJBQWlCLFFBQVEsb0JBQW9CO0FBRXpFLFNBQ0VDLDZCQUE2QixRQU14Qix5QkFBeUI7QUFDaEMsU0FBU0MsaUJBQWlCLEVBQUVDLHlCQUF5QixFQUFFQyx5QkFBeUIsUUFBUSw2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
294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmFuc2Zvcm1lcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBbGxvd2VkTWVudGlvbnMsXG4gIEJpZ1N0cmluZyxcbiAgRGlzY29yZEFjdGl2aXR5LFxuICBEaXNjb3JkQWN0aXZpdHlBc3NldHMsXG4gIERpc2NvcmRBY3Rpdml0eUVtb2ppLFxuICBEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSxcbiAgRGlzY29yZEFjdGl2aXR5TG9jYXRpb24sXG4gIERpc2NvcmRBbGxvd2VkTWVudGlvbnMsXG4gIERpc2NvcmRBcHBsaWNhdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBEaXNjb3JkQXR0YWNobWVudCxcbiAgRGlzY29yZEF1ZGl0TG9nRW50cnksXG4gIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbixcbiAgRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSxcbiAgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSxcbiAgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YSxcbiAgRGlzY29yZEF2YXRhckRlY29yYXRpb25EYXRhLFxuICBEaXNjb3JkQ2hhbm5lbCxcbiAgRGlzY29yZENvbGxlY3RpYmxlcyxcbiAgRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbWJlZEF1dGhvcixcbiAgRGlzY29yZEVtYmVkRm9vdGVyLFxuICBEaXNjb3JkRW1iZWRJbWFnZSxcbiAgRGlzY29yZEVtYmVkVmlkZW8sXG4gIERpc2NvcmRFbW9qaSxcbiAgRGlzY29yZEVudGl0bGVtZW50LFxuICBEaXNjb3JkRm9ydW1UYWcsXG4gIERpc2NvcmRHZXRHYXRld2F5Qm90LFxuICBEaXNjb3JkR3VpbGQsXG4gIERpc2NvcmRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nLFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICBEaXNjb3JkR3VpbGRXaWRnZXQsXG4gIERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLFxuICBEaXNjb3JkSW5jaWRlbnRzRGF0YSxcbiAgRGlzY29yZEludGVncmF0aW9uQWNjb3VudCxcbiAgRGlzY29yZEludGVncmF0aW9uQXBwbGljYXRpb24sXG4gIERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSxcbiAgRGlzY29yZEludGVyYWN0aW9uLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgRGlzY29yZEludml0ZU1ldGFkYXRhLFxuICBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgRGlzY29yZExvYmJ5LFxuICBEaXNjb3JkTG9iYnlJbnZpdGUsXG4gIERpc2NvcmRMb2JieU1lbWJlcixcbiAgRGlzY29yZExvYmJ5TWVzc2FnZSxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIERpc2NvcmRNZW1iZXIsXG4gIERpc2NvcmRNZXNzYWdlLFxuICBEaXNjb3JkTWVzc2FnZUNhbGwsXG4gIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LFxuICBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgRGlzY29yZE1lc3NhZ2VQaW4sXG4gIERpc2NvcmRNZXNzYWdlU25hcHNob3QsXG4gIERpc2NvcmROYW1lcGxhdGUsXG4gIERpc2NvcmRPcHRpb25hbEF1ZGl0RW50cnlJbmZvLFxuICBEaXNjb3JkUG9sbCxcbiAgRGlzY29yZFBvbGxNZWRpYSxcbiAgRGlzY29yZFByZXNlbmNlVXBkYXRlLFxuICBEaXNjb3JkUm9sZSxcbiAgRGlzY29yZFJvbGVDb2xvcnMsXG4gIERpc2NvcmRTY2hlZHVsZWRFdmVudCxcbiAgRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gIERpc2NvcmRTZXNzaW9uU3RhcnRMaW1pdCxcbiAgRGlzY29yZFNoYXJlZENsaWVudFRoZW1lLFxuICBEaXNjb3JkU2t1LFxuICBEaXNjb3JkU291bmRib2FyZFNvdW5kLFxuICBEaXNjb3JkU3RhZ2VJbnN0YW5jZSxcbiAgRGlzY29yZFN0aWNrZXIsXG4gIERpc2NvcmRTdGlja2VyUGFjayxcbiAgRGlzY29yZFN1YnNjcmlwdGlvbixcbiAgRGlzY29yZFRlYW0sXG4gIERpc2NvcmRUZWFtTWVtYmVyLFxuICBEaXNjb3JkVGVtcGxhdGUsXG4gIERpc2NvcmRUaHJlYWRNZW1iZXIsXG4gIERpc2NvcmRUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtLFxuICBEaXNjb3JkVXNlcixcbiAgRGlzY29yZFVzZXJQcmltYXJ5R3VpbGQsXG4gIERpc2NvcmRWb2ljZVJlZ2lvbixcbiAgRGlzY29yZFZvaWNlU3RhdGUsXG4gIERpc2NvcmRXZWJob29rLFxuICBEaXNjb3JkV2VsY29tZVNjcmVlbixcbiAgRGlzY29yZFdlbGNvbWVTY3JlZW5DaGFubmVsLFxuICBSZWN1cnNpdmVQYXJ0aWFsLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgeyBiaWdpbnRUb1Nub3dmbGFrZSwgc25vd2ZsYWtlVG9CaWdpbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4vYm90LmpzJztcbmltcG9ydCB7XG4gIGNyZWF0ZURlc2lyZWRQcm9wZXJ0aWVzT2JqZWN0LFxuICB0eXBlIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsXG4gIHR5cGUgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIHR5cGUgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG59IGZyb20gJy4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHtcbiAgdHJhbnNmb3JtQWN0aXZpdHksXG4gIHRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzLFxuICB0cmFuc2Zvcm1BY3Rpdml0eUVtb2ppLFxuICB0cmFuc2Zvcm1BY3Rpdml0eUluc3RhbmNlLFxuICB0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy9hY3Rpdml0eS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uQ29tbWFuZC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLCB0cmFuc2Zvcm1HdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BdHRhY2htZW50IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXR0YWNobWVudC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BdWRpdExvZ0VudHJ5LCB0cmFuc2Zvcm1PcHRpb25hbEF1ZGl0RW50cnlJbmZvIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXVkaXRMb2dFbnRyeS5qcyc7XG5pbXBvcnQge1xuICB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvbkFjdGlvbixcbiAgdHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sXG4gIHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGEsXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL2F1dG9tb2RBY3Rpb25FeGVjdXRpb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXV0b01vZGVyYXRpb25SdWxlLCB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGEgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hdXRvbW9kUnVsZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BdmF0YXJEZWNvcmF0aW9uRGF0YSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2F2YXRhckRlY29yYXRpb25EYXRhLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUNoYW5uZWwsIHRyYW5zZm9ybUZvcnVtVGFnIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvY2hhbm5lbC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Db21wb25lbnQsIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW0sIHRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvY29tcG9uZW50LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUVtYmVkLCB0cmFuc2Zvcm1FbWJlZEF1dGhvciwgdHJhbnNmb3JtRW1iZWRGb290ZXIsIHRyYW5zZm9ybUVtYmVkSW1hZ2UsIHRyYW5zZm9ybUVtYmVkVmlkZW8gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9lbWJlZC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1EZWZhdWx0UmVhY3Rpb25FbW9qaSwgdHJhbnNmb3JtRW1vamkgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9lbW9qaS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1FbnRpdGxlbWVudCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2VudGl0bGVtZW50LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUdhdGV3YXlCb3QsIHRyYW5zZm9ybVNlc3Npb25TdGFydExpbWl0IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZ2F0ZXdheUJvdC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1HdWlsZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2d1aWxkLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUluY2lkZW50c0RhdGEgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbmNpZGVudHNEYXRhLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUludGVncmF0aW9uLCB0cmFuc2Zvcm1JbnRlZ3JhdGlvbkFjY291bnQsIHRyYW5zZm9ybUludGVncmF0aW9uQXBwbGljYXRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbnRlZ3JhdGlvbi5qcyc7XG5pbXBvcnQge1xuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbixcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbnRlcmFjdGlvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1JbnZpdGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbnZpdGUuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtTG9iYnksIHRyYW5zZm9ybUxvYmJ5SW52aXRlLCB0cmFuc2Zvcm1Mb2JieU1lbWJlciwgdHJhbnNmb3JtTG9iYnlNZXNzYWdlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvbG9iYnkuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtTWVtYmVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvbWVtYmVyLmpzJztcbmltcG9ydCB7XG4gIHRyYW5zZm9ybU1lc3NhZ2UsXG4gIHRyYW5zZm9ybU1lc3NhZ2VDYWxsLFxuICB0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHJhbnNmb3JtTWVzc2FnZVBpbixcbiAgdHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90LFxuICB0cmFuc2Zvcm1TaGFyZWRDbGllbnRUaGVtZSxcbn0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvbWVzc2FnZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmcsIHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdCwgdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvb25ib2FyZGluZy5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Qb2xsLCB0cmFuc2Zvcm1Qb2xsTWVkaWEgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9wb2xsLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVByZXNlbmNlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcHJlc2VuY2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQWN0aXZpdHlBc3NldHNUb0Rpc2NvcmRBY3Rpdml0eUFzc2V0cywgdHJhbnNmb3JtQWN0aXZpdHlUb0Rpc2NvcmRBY3Rpdml0eSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYWN0aXZpdHkuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQWxsb3dlZE1lbnRpb25zVG9EaXNjb3JkQWxsb3dlZE1lbnRpb25zIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hbGxvd2VkTWVudGlvbnMuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYXBwbGljYXRpb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hcHBsaWNhdGlvbkNvbW1hbmQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXR0YWNobWVudFRvRGlzY29yZEF0dGFjaG1lbnQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2F0dGFjaG1lbnQuanMnO1xuaW1wb3J0IHtcbiAgdHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50LFxuICB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW1Ub0Rpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbn0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtRW1iZWRUb0Rpc2NvcmRFbWJlZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvZW1iZWQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtTWVtYmVyVG9EaXNjb3JkTWVtYmVyLCB0cmFuc2Zvcm1Vc2VyVG9EaXNjb3JkVXNlciB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvbWVtYmVyLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVRlYW1Ub0Rpc2NvcmRUZWFtIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS90ZWFtLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUNvbGxlY3RpYmxlc1RvRGlzY29yZENvbGxlY3RpYmxlcywgdHJhbnNmb3JtTmFtZXBsYXRlVG9EaXNjb3JkTmFtZXBsYXRlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS91c2VyLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVJvbGUsIHRyYW5zZm9ybVJvbGVDb2xvcnMgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yb2xlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50LCB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc2NoZWR1bGVkRXZlbnQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtU2t1IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc2t1LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVNvdW5kYm9hcmRTb3VuZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3NvdW5kYm9hcmRTb3VuZC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1TdGFnZUluc3RhbmNlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc3RhZ2VJbnN0YW5jZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1JbnZpdGVTdGFnZUluc3RhbmNlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc3RhZ2VJbnZpdGVJbnN0YW5jZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1TdGlja2VyLCB0cmFuc2Zvcm1TdGlja2VyUGFjayB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N0aWNrZXIuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc3Vic2NyaXB0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVRlYW0sIHRyYW5zZm9ybVRlYW1NZW1iZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy90ZWFtLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVRlbXBsYXRlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdGVtcGxhdGUuanMnO1xuaW1wb3J0IHsgdHlwZSBUaHJlYWRNZW1iZXJUcmFuc2Zvcm1lckV4dHJhLCB0cmFuc2Zvcm1UaHJlYWRNZW1iZXIsIHRyYW5zZm9ybVRocmVhZE1lbWJlckd1aWxkQ3JlYXRlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdGhyZWFkTWVtYmVyLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgQWN0aXZpdHksXG4gIEFjdGl2aXR5QXNzZXRzLFxuICBBY3Rpdml0eUVtb2ppLFxuICBBY3Rpdml0eUluc3RhbmNlLFxuICBBY3Rpdml0eUxvY2F0aW9uLFxuICBBcHBsaWNhdGlvbixcbiAgQXBwbGljYXRpb25Db21tYW5kLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sXG4gIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsXG4gIEF0dGFjaG1lbnQsXG4gIEF1ZGl0TG9nRW50cnksXG4gIEF1dG9Nb2RlcmF0aW9uQWN0aW9uLFxuICBBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSxcbiAgQXV0b01vZGVyYXRpb25SdWxlLFxuICBBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGEsXG4gIEF2YXRhckRlY29yYXRpb25EYXRhLFxuICBDaGFubmVsLFxuICBDb2xsZWN0aWJsZXMsXG4gIENvbXBvbmVudCxcbiAgRGVmYXVsdFJlYWN0aW9uRW1vamksXG4gIEVtYmVkLFxuICBFbWJlZEF1dGhvcixcbiAgRW1iZWRGb290ZXIsXG4gIEVtYmVkSW1hZ2UsXG4gIEVtYmVkVmlkZW8sXG4gIEVtb2ppLFxuICBFbnRpdGxlbWVudCxcbiAgRm9ydW1UYWcsXG4gIEdldEdhdGV3YXlCb3QsXG4gIEd1aWxkLFxuICBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBHdWlsZE9uYm9hcmRpbmcsXG4gIEd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICBHdWlsZFdpZGdldCxcbiAgR3VpbGRXaWRnZXRTZXR0aW5ncyxcbiAgSW5jaWRlbnRzRGF0YSxcbiAgSW50ZWdyYXRpb24sXG4gIEludGVncmF0aW9uQWNjb3VudCxcbiAgSW50ZWdyYXRpb25BcHBsaWNhdGlvbixcbiAgSW50ZXJhY3Rpb24sXG4gIEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgSW52aXRlLFxuICBJbnZpdGVTdGFnZUluc3RhbmNlLFxuICBMb2JieSxcbiAgTG9iYnlJbnZpdGUsXG4gIExvYmJ5TWVtYmVyLFxuICBMb2JieU1lc3NhZ2UsXG4gIE1lZGlhR2FsbGVyeUl0ZW0sXG4gIE1lbWJlcixcbiAgTWVzc2FnZSxcbiAgTWVzc2FnZUNhbGwsXG4gIE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLFxuICBNZXNzYWdlUGluLFxuICBNZXNzYWdlU25hcHNob3QsXG4gIE5hbWVwbGF0ZSxcbiAgT3B0aW9uYWxBdWRpdEVudHJ5SW5mbyxcbiAgUG9sbCxcbiAgUG9sbE1lZGlhLFxuICBQcmVzZW5jZVVwZGF0ZSxcbiAgUm9sZSxcbiAgUm9sZUNvbG9ycyxcbiAgU2NoZWR1bGVkRXZlbnQsXG4gIFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gIFNlc3Npb25TdGFydExpbWl0LFxuICBTaGFyZWRDbGllbnRUaGVtZSxcbiAgU2t1LFxuICBTb3VuZGJvYXJkU291bmQsXG4gIFN0YWdlSW5zdGFuY2UsXG4gIFN0aWNrZXIsXG4gIFN0aWNrZXJQYWNrLFxuICBTdWJzY3JpcHRpb24sXG4gIFRlYW0sXG4gIFRlYW1NZW1iZXIsXG4gIFRlbXBsYXRlLFxuICBUaHJlYWRNZW1iZXIsXG4gIFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLFxuICBVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgVXNlcixcbiAgVXNlclByaW1hcnlHdWlsZCxcbiAgVm9pY2VSZWdpb24sXG4gIFZvaWNlU3RhdGUsXG4gIFdlYmhvb2ssXG4gIFdlbGNvbWVTY3JlZW4sXG4gIFdlbGNvbWVTY3JlZW5DaGFubmVsLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy90eXBlcy5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Db2xsZWN0aWJsZXMsIHRyYW5zZm9ybU5hbWVwbGF0ZSwgdHJhbnNmb3JtVXNlciwgdHJhbnNmb3JtVXNlclByaW1hcnlHdWlsZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3VzZXIuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtVm9pY2VSZWdpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy92b2ljZVJlZ2lvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Wb2ljZVN0YXRlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdm9pY2VTdGF0ZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1XZWJob29rIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvd2ViaG9vay5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1XZWxjb21lU2NyZWVuLCB0cmFuc2Zvcm1XZWxjb21lU2NyZWVuQ2hhbm5lbCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dlbGNvbWVTY3JlZW4uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtR3VpbGRXaWRnZXQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy93aWRnZXQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtR3VpbGRXaWRnZXRTZXR0aW5ncyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dpZGdldFNldHRpbmdzLmpzJztcblxuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJJbmZvcm1hdGlvbnMgPSB7XG4gIGFjdGl2aXR5OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBY3Rpdml0eSwgQWN0aXZpdHk+O1xuICBhY3Rpdml0eUFzc2V0czogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQWN0aXZpdHlBc3NldHMsIEFjdGl2aXR5QXNzZXRzPjtcbiAgYWN0aXZpdHlFbW9qaTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQWN0aXZpdHlFbW9qaSwgQWN0aXZpdHlFbW9qaT47XG4gIGFjdGl2aXR5SW5zdGFuY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEFjdGl2aXR5SW5zdGFuY2UsIEFjdGl2aXR5SW5zdGFuY2U+O1xuICBhY3Rpdml0eUxvY2F0aW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBY3Rpdml0eUxvY2F0aW9uLCBBY3Rpdml0eUxvY2F0aW9uPjtcbiAgYXBwbGljYXRpb246IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEFwcGxpY2F0aW9uLCBBcHBsaWNhdGlvbiwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBhcHBsaWNhdGlvbkNvbW1hbmQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCwgQXBwbGljYXRpb25Db21tYW5kPjtcbiAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbj47XG4gIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLCBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U+O1xuICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsIEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zPjtcbiAgYXR0YWNobWVudDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXR0YWNobWVudCwgQXR0YWNobWVudD47XG4gIGF1ZGl0TG9nRW50cnk6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEF1ZGl0TG9nRW50cnksIEF1ZGl0TG9nRW50cnk+O1xuICBhdXRvTW9kZXJhdGlvbkFjdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb24sIEF1dG9Nb2RlcmF0aW9uQWN0aW9uPjtcbiAgYXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb246IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLCBBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbj47XG4gIGF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGE6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGEsIEF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGE+O1xuICBhdXRvTW9kZXJhdGlvblJ1bGU6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSwgQXV0b01vZGVyYXRpb25SdWxlPjtcbiAgYXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGEsIEF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YT47XG4gIGF2YXRhckRlY29yYXRpb25EYXRhOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSwgQXZhdGFyRGVjb3JhdGlvbkRhdGE+O1xuICBjaGFubmVsOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRDaGFubmVsLCBDaGFubmVsLCB7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfT47XG4gIGNvbGxlY3RpYmxlczogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQ29sbGVjdGlibGVzLCBDb2xsZWN0aWJsZXM+O1xuICBjb21wb25lbnQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsIENvbXBvbmVudD47XG4gIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmREZWZhdWx0UmVhY3Rpb25FbW9qaSwgRGVmYXVsdFJlYWN0aW9uRW1vamk+O1xuICBlbWJlZDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkRW1iZWQsIEVtYmVkPjtcbiAgZW1iZWRBdXRob3I6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEVtYmVkQXV0aG9yLCBFbWJlZEF1dGhvcj47XG4gIGVtYmVkRm9vdGVyOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRFbWJlZEZvb3RlciwgRW1iZWRGb290ZXI+O1xuICBlbWJlZEltYWdlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRFbWJlZEltYWdlLCBFbWJlZEltYWdlPjtcbiAgZW1iZWRWaWRlbzogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkRW1iZWRWaWRlbywgRW1iZWRWaWRlbz47XG4gIGVtb2ppOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRFbW9qaSwgRW1vamk+O1xuICBlbnRpdGxlbWVudDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkRW50aXRsZW1lbnQsIEVudGl0bGVtZW50PjtcbiAgZm9ydW1UYWc6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEZvcnVtVGFnLCBGb3J1bVRhZz47XG4gIGdhdGV3YXlCb3Q6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEdldEdhdGV3YXlCb3QsIEdldEdhdGV3YXlCb3Q+O1xuICBndWlsZDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkR3VpbGQsIEd1aWxkLCB7IHNoYXJkSWQ/OiBudW1iZXIgfT47XG4gIGd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsIEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM+O1xuICBndWlsZE9uYm9hcmRpbmc6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEd1aWxkT25ib2FyZGluZywgR3VpbGRPbmJvYXJkaW5nPjtcbiAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIEd1aWxkT25ib2FyZGluZ1Byb21wdD47XG4gIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLCBHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24+O1xuICBndWlsZFdpZGdldDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkR3VpbGRXaWRnZXQsIEd1aWxkV2lkZ2V0PjtcbiAgZ3VpbGRXaWRnZXRTZXR0aW5nczogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncywgR3VpbGRXaWRnZXRTZXR0aW5ncz47XG4gIGluY2lkZW50c0RhdGE6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEluY2lkZW50c0RhdGEsIEluY2lkZW50c0RhdGE+O1xuICBpbnRlZ3JhdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUsIEludGVncmF0aW9uPjtcbiAgaW50ZWdyYXRpb25BY2NvdW50OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnRlZ3JhdGlvbkFjY291bnQsIEludGVncmF0aW9uQWNjb3VudD47XG4gIGludGVncmF0aW9uQXBwbGljYXRpb246IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEludGVncmF0aW9uQXBwbGljYXRpb24sIEludGVncmF0aW9uQXBwbGljYXRpb24+O1xuICBpbnRlcmFjdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkSW50ZXJhY3Rpb24sIEludGVyYWN0aW9uLCB7IHNoYXJkSWQ/OiBudW1iZXIgfT47XG4gIGludGVyYWN0aW9uQ2FsbGJhY2s6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssIEludGVyYWN0aW9uQ2FsbGJhY2s+O1xuICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSwgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLCB7IHNoYXJkSWQ/OiBudW1iZXIgfT47XG4gIGludGVyYWN0aW9uRGF0YU9wdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uLCBJbnRlcmFjdGlvbkRhdGFPcHRpb24+O1xuICBpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsIEludGVyYWN0aW9uRGF0YVJlc29sdmVkLCB7IHNoYXJkSWQ/OiBudW1iZXI7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfT47XG4gIGludGVyYWN0aW9uUmVzb3VyY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2UsIEludGVyYWN0aW9uUmVzb3VyY2UsIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgaW52aXRlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnZpdGVNZXRhZGF0YSwgSW52aXRlLCB7IHNoYXJkSWQ/OiBudW1iZXIgfT47XG4gIGludml0ZVN0YWdlSW5zdGFuY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEludml0ZVN0YWdlSW5zdGFuY2UsIEludml0ZVN0YWdlSW5zdGFuY2UsIHsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9PjtcbiAgbG9iYnk6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZExvYmJ5LCBMb2JieT47XG4gIGxvYmJ5SW52aXRlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRMb2JieUludml0ZSwgTG9iYnlJbnZpdGU+O1xuICBsb2JieU1lbWJlcjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkTG9iYnlNZW1iZXIsIExvYmJ5TWVtYmVyPjtcbiAgbG9iYnlNZXNzYWdlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRMb2JieU1lc3NhZ2UsIExvYmJ5TWVzc2FnZT47XG4gIG1lZGlhR2FsbGVyeUl0ZW06IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sIE1lZGlhR2FsbGVyeUl0ZW0+O1xuICBtZW1iZXI6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE1lbWJlciwgTWVtYmVyLCB7IGd1aWxkSWQ/OiBCaWdTdHJpbmc7IHVzZXJJZD86IEJpZ1N0cmluZyB9PjtcbiAgbWVzc2FnZTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkTWVzc2FnZSwgTWVzc2FnZSwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBtZXNzYWdlQ2FsbDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkTWVzc2FnZUNhbGwsIE1lc3NhZ2VDYWxsPjtcbiAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLCBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YT47XG4gIG1lc3NhZ2VQaW46IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE1lc3NhZ2VQaW4sIE1lc3NhZ2VQaW4sIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgbWVzc2FnZVNuYXBzaG90OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRNZXNzYWdlU25hcHNob3QsIE1lc3NhZ2VTbmFwc2hvdCwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBuYW1lcGxhdGU6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE5hbWVwbGF0ZSwgTmFtZXBsYXRlPjtcbiAgb3B0aW9uYWxBdWRpdEVudHJ5SW5mbzogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkT3B0aW9uYWxBdWRpdEVudHJ5SW5mbywgT3B0aW9uYWxBdWRpdEVudHJ5SW5mbz47XG4gIHBvbGw6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFBvbGwsIFBvbGw+O1xuICBwb2xsTWVkaWE6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFBvbGxNZWRpYSwgUG9sbE1lZGlhPjtcbiAgcHJlc2VuY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFByZXNlbmNlVXBkYXRlLCBQcmVzZW5jZVVwZGF0ZT47XG4gIHJvbGU6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFJvbGUsIFJvbGUsIHsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9PjtcbiAgcm9sZUNvbG9yczogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkUm9sZUNvbG9ycywgUm9sZUNvbG9ycz47XG4gIHNjaGVkdWxlZEV2ZW50OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTY2hlZHVsZWRFdmVudCwgU2NoZWR1bGVkRXZlbnQ+O1xuICBzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLCBTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlPjtcbiAgc2Vzc2lvblN0YXJ0TGltaXQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFNlc3Npb25TdGFydExpbWl0LCBTZXNzaW9uU3RhcnRMaW1pdD47XG4gIHNoYXJlZENsaWVudFRoZW1lOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTaGFyZWRDbGllbnRUaGVtZSwgU2hhcmVkQ2xpZW50VGhlbWU+O1xuICBza3U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFNrdSwgU2t1PjtcbiAgc291bmRib2FyZFNvdW5kOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTb3VuZGJvYXJkU291bmQsIFNvdW5kYm9hcmRTb3VuZD47XG4gIHN0YWdlSW5zdGFuY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFN0YWdlSW5zdGFuY2UsIFN0YWdlSW5zdGFuY2U+O1xuICBzdGlja2VyOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTdGlja2VyLCBTdGlja2VyPjtcbiAgc3RpY2tlclBhY2s6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFN0aWNrZXJQYWNrLCBTdGlja2VyUGFjaz47XG4gIHN1YnNjcmlwdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkU3Vic2NyaXB0aW9uLCBTdWJzY3JpcHRpb24+O1xuICB0ZWFtOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRUZWFtLCBUZWFtPjtcbiAgdGVhbU1lbWJlcjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkVGVhbU1lbWJlciwgVGVhbU1lbWJlcj47XG4gIHRlbXBsYXRlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRUZW1wbGF0ZSwgVGVtcGxhdGU+O1xuICB0aHJlYWRNZW1iZXI6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFRocmVhZE1lbWJlciwgVGhyZWFkTWVtYmVyLCBUaHJlYWRNZW1iZXJUcmFuc2Zvcm1lckV4dHJhPjtcbiAgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLCBUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZT47XG4gIHVuZnVybGVkTWVkaWFJdGVtOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0+O1xuICB1c2VyOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRVc2VyLCBVc2VyPjtcbiAgdXNlclByaW1hcnlHdWlsZDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkVXNlclByaW1hcnlHdWlsZCwgVXNlclByaW1hcnlHdWlsZD47XG4gIHZvaWNlUmVnaW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRWb2ljZVJlZ2lvbiwgVm9pY2VSZWdpb24+O1xuICB2b2ljZVN0YXRlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRWb2ljZVN0YXRlLCBWb2ljZVN0YXRlLCB7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfT47XG4gIHdlYmhvb2s6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFdlYmhvb2ssIFdlYmhvb2s+O1xuICB3ZWxjb21lU2NyZWVuOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRXZWxjb21lU2NyZWVuLCBXZWxjb21lU2NyZWVuPjtcbiAgd2VsY29tZVNjcmVlbkNoYW5uZWw6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFdlbGNvbWVTY3JlZW5DaGFubmVsLCBXZWxjb21lU2NyZWVuQ2hhbm5lbD47XG59O1xuXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1lcnM8VFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0gVHJhbnNmb3JtZXJGdW5jdGlvbnM8XG4gIFRQcm9wcyxcbiAgVEJlaGF2aW9yXG4+ICYge1xuICBjdXN0b21pemVyczogVHJhbnNmb3JtZXJDdXN0b21pemVyczxUUHJvcHMsIFRCZWhhdmlvcj47XG4gIGRlc2lyZWRQcm9wZXJ0aWVzOiBUUHJvcHM7XG4gIHJldmVyc2U6IHtcbiAgICBhY3Rpdml0eTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQWN0aXZpdHkpID0+IERpc2NvcmRBY3Rpdml0eTtcbiAgICBhY3Rpdml0eUFzc2V0czogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQWN0aXZpdHlBc3NldHMpID0+IERpc2NvcmRBY3Rpdml0eUFzc2V0cztcbiAgICBhbGxvd2VkTWVudGlvbnM6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFsbG93ZWRNZW50aW9ucykgPT4gRGlzY29yZEFsbG93ZWRNZW50aW9ucztcbiAgICBhcHBsaWNhdGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQXBwbGljYXRpb24pID0+IERpc2NvcmRBcHBsaWNhdGlvbjtcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZDtcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbikgPT4gRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjtcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSkgPT4gRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTtcbiAgICBhdHRhY2htZW50OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBTZXR1cERlc2lyZWRQcm9wczxBdHRhY2htZW50LCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRBdHRhY2htZW50O1xuICAgIGNvbGxlY3RpYmxlczogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogU2V0dXBEZXNpcmVkUHJvcHM8Q29sbGVjdGlibGVzLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRDb2xsZWN0aWJsZXM7XG4gICAgY29tcG9uZW50OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBDb21wb25lbnQpID0+IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlO1xuICAgIGVtYmVkOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBFbWJlZCkgPT4gRGlzY29yZEVtYmVkO1xuICAgIG1lZGlhR2FsbGVyeUl0ZW06IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IE1lZGlhR2FsbGVyeUl0ZW0pID0+IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtO1xuICAgIG1lbWJlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRNZW1iZXI7XG4gICAgbmFtZXBsYXRlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBTZXR1cERlc2lyZWRQcm9wczxOYW1lcGxhdGUsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gRGlzY29yZE5hbWVwbGF0ZTtcbiAgICBzbm93Zmxha2U6IChzbm93Zmxha2U6IEJpZ1N0cmluZykgPT4gc3RyaW5nO1xuICAgIHRlYW06IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFRlYW0pID0+IERpc2NvcmRUZWFtO1xuICAgIHVuZnVybGVkTWVkaWFJdGVtOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSkgPT4gRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtO1xuICAgIHVzZXI6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFNldHVwRGVzaXJlZFByb3BzPFVzZXIsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gRGlzY29yZFVzZXI7XG4gIH07XG4gIHNub3dmbGFrZTogKHNub3dmbGFrZTogQmlnU3RyaW5nKSA9PiBiaWdpbnQ7XG59O1xuXG5jb25zdCBkZWZhdWx0Q3VzdG9taXplciA9IChfYm90OiB1bmtub3duLCBfcGF5bG9hZDogdW5rbm93biwgc3RydWN0dXJlOiB1bmtub3duKSA9PiBzdHJ1Y3R1cmU7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUcmFuc2Zvcm1lcnM8VFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+KFxuICBvcHRpb25zOiBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyczxUUHJvcHMsIFRCZWhhdmlvcj4+LFxuKTogVHJhbnNmb3JtZXJzPFRQcm9wcywgVEJlaGF2aW9yPiB7XG4gIGNvbnN0IF9vcHRpb25zID0gb3B0aW9ucyBhcyBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyczxUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+PjtcblxuICByZXR1cm4ge1xuICAgIGN1c3RvbWl6ZXJzOiB7XG4gICAgICBhY3Rpdml0eTogX29wdGlvbnMuY3VzdG9taXplcnM/LmFjdGl2aXR5ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYWN0aXZpdHlBc3NldHM6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eUFzc2V0cyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFjdGl2aXR5RW1vamk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eUVtb2ppID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYWN0aXZpdHlJbnN0YW5jZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmFjdGl2aXR5SW5zdGFuY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhY3Rpdml0eUxvY2F0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYWN0aXZpdHlMb2NhdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFwcGxpY2F0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogX29wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXR0YWNobWVudDogX29wdGlvbnMuY3VzdG9taXplcnM/LmF0dGFjaG1lbnQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdWRpdExvZ0VudHJ5OiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXVkaXRMb2dFbnRyeSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF1dG9Nb2RlcmF0aW9uQWN0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXV0b01vZGVyYXRpb25BY3Rpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YTogX29wdGlvbnMuY3VzdG9taXplcnM/LmF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdXRvTW9kZXJhdGlvblJ1bGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hdXRvTW9kZXJhdGlvblJ1bGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGE6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdmF0YXJEZWNvcmF0aW9uRGF0YTogX29wdGlvbnMuY3VzdG9taXplcnM/LmF2YXRhckRlY29yYXRpb25EYXRhID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgY2hhbm5lbDogX29wdGlvbnMuY3VzdG9taXplcnM/LmNoYW5uZWwgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBjb2xsZWN0aWJsZXM6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5jb2xsZWN0aWJsZXMgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBjb21wb25lbnQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5jb21wb25lbnQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBkZWZhdWx0UmVhY3Rpb25FbW9qaTogX29wdGlvbnMuY3VzdG9taXplcnM/LmRlZmF1bHRSZWFjdGlvbkVtb2ppID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZW1iZWQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5lbWJlZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGVtYmVkQXV0aG9yOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZW1iZWRBdXRob3IgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBlbWJlZEZvb3RlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LmVtYmVkRm9vdGVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZW1iZWRJbWFnZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmVtYmVkSW1hZ2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBlbWJlZFZpZGVvOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZW1iZWRWaWRlbyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGVtb2ppOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZW1vamkgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBlbnRpdGxlbWVudDogX29wdGlvbnMuY3VzdG9taXplcnM/LmVudGl0bGVtZW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZm9ydW1UYWc6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5mb3J1bVRhZyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGdhdGV3YXlCb3Q6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5nYXRld2F5Qm90ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRPbmJvYXJkaW5nOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGRPbmJvYXJkaW5nID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGRPbmJvYXJkaW5nUHJvbXB0ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW5jaWRlbnRzRGF0YTogX29wdGlvbnMuY3VzdG9taXplcnM/LmluY2lkZW50c0RhdGEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlZ3JhdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVncmF0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZWdyYXRpb25BY2NvdW50OiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZWdyYXRpb25BY2NvdW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZWdyYXRpb25BcHBsaWNhdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVncmF0aW9uQXBwbGljYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25DYWxsYmFjazogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uQ2FsbGJhY2sgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkRhdGFPcHRpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkRhdGFPcHRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uRGF0YVJlc29sdmVkID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25SZXNvdXJjZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uUmVzb3VyY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnZpdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnZpdGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnZpdGVTdGFnZUluc3RhbmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW52aXRlU3RhZ2VJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGxvYmJ5OiBfb3B0aW9ucy5jdXN0b21pemVycz8ubG9iYnkgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBsb2JieU1lbWJlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LmxvYmJ5TWVtYmVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbG9iYnlNZXNzYWdlOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubG9iYnlNZXNzYWdlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbG9iYnlJbnZpdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5sb2JieUludml0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lZGlhR2FsbGVyeUl0ZW06IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZWRpYUdhbGxlcnlJdGVtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVtYmVyOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVtYmVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZTogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZXNzYWdlQ2FsbDogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2VDYWxsID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2VQaW46IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlUGluID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZVNuYXBzaG90OiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZVNuYXBzaG90ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbmFtZXBsYXRlOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubmFtZXBsYXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgb3B0aW9uYWxBdWRpdEVudHJ5SW5mbzogX29wdGlvbnMuY3VzdG9taXplcnM/Lm9wdGlvbmFsQXVkaXRFbnRyeUluZm8gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBwb2xsOiBfb3B0aW9ucy5jdXN0b21pemVycz8ucG9sbCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHBvbGxNZWRpYTogX29wdGlvbnMuY3VzdG9taXplcnM/LnBvbGxNZWRpYSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHByZXNlbmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8ucHJlc2VuY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICByb2xlOiBfb3B0aW9ucy5jdXN0b21pemVycz8ucm9sZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHJvbGVDb2xvcnM6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5yb2xlQ29sb3JzID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc2NoZWR1bGVkRXZlbnQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zY2hlZHVsZWRFdmVudCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc2Vzc2lvblN0YXJ0TGltaXQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zZXNzaW9uU3RhcnRMaW1pdCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNoYXJlZENsaWVudFRoZW1lOiBfb3B0aW9ucy5jdXN0b21pemVycz8uc2hhcmVkQ2xpZW50VGhlbWUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBza3U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5za3UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzb3VuZGJvYXJkU291bmQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zb3VuZGJvYXJkU291bmQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzdGFnZUluc3RhbmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uc3RhZ2VJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN0aWNrZXI6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGlja2VyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc3RpY2tlclBhY2s6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGlja2VyUGFjayA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN1YnNjcmlwdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LnN1YnNjcmlwdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRlYW06IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy50ZWFtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGVhbU1lbWJlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LnRlYW1NZW1iZXIgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB0ZW1wbGF0ZTogX29wdGlvbnMuY3VzdG9taXplcnM/LnRlbXBsYXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGhyZWFkTWVtYmVyOiBfb3B0aW9ucy5jdXN0b21pemVycz8udGhyZWFkTWVtYmVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy50aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHVuZnVybGVkTWVkaWFJdGVtOiBfb3B0aW9ucy5jdXN0b21pemVycz8udW5mdXJsZWRNZWRpYUl0ZW0gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB1c2VyOiBfb3B0aW9ucy5jdXN0b21pemVycz8udXNlciA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHVzZXJQcmltYXJ5R3VpbGQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy51c2VyUHJpbWFyeUd1aWxkID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdm9pY2VSZWdpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy52b2ljZVJlZ2lvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHZvaWNlU3RhdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy52b2ljZVN0YXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgd2ViaG9vazogX29wdGlvbnMuY3VzdG9taXplcnM/LndlYmhvb2sgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3ZWxjb21lU2NyZWVuOiBfb3B0aW9ucy5jdXN0b21pemVycz8ud2VsY29tZVNjcmVlbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHdlbGNvbWVTY3JlZW5DaGFubmVsOiBfb3B0aW9ucy5jdXN0b21pemVycz8ud2VsY29tZVNjcmVlbkNoYW5uZWwgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBndWlsZFdpZGdldDogX29wdGlvbnMuY3VzdG9taXplcnM/Lmd1aWxkV2lkZ2V0ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRXaWRnZXRTZXR0aW5nczogX29wdGlvbnMuY3VzdG9taXplcnM/Lmd1aWxkV2lkZ2V0U2V0dGluZ3MgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgfSxcbiAgICBkZXNpcmVkUHJvcGVydGllczogY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3QoX29wdGlvbnMuZGVzaXJlZFByb3BlcnRpZXMgPz8ge30pLFxuICAgIHJldmVyc2U6IHtcbiAgICAgIGFjdGl2aXR5OiBfb3B0aW9ucy5yZXZlcnNlPy5hY3Rpdml0eSA/PyB0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5LFxuICAgICAgYWN0aXZpdHlBc3NldHM6IF9vcHRpb25zLnJldmVyc2U/LmFjdGl2aXR5QXNzZXRzID8/IHRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzVG9EaXNjb3JkQWN0aXZpdHlBc3NldHMsXG4gICAgICBhbGxvd2VkTWVudGlvbnM6IF9vcHRpb25zLnJldmVyc2U/LmFsbG93ZWRNZW50aW9ucyA/PyB0cmFuc2Zvcm1BbGxvd2VkTWVudGlvbnNUb0Rpc2NvcmRBbGxvd2VkTWVudGlvbnMsXG4gICAgICBhcHBsaWNhdGlvbjogX29wdGlvbnMucmV2ZXJzZT8uYXBwbGljYXRpb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZDogX29wdGlvbnMucmV2ZXJzZT8uYXBwbGljYXRpb25Db21tYW5kID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogX29wdGlvbnMucmV2ZXJzZT8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTpcbiAgICAgICAgX29wdGlvbnMucmV2ZXJzZT8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICAgIGF0dGFjaG1lbnQ6IF9vcHRpb25zLnJldmVyc2U/LmF0dGFjaG1lbnQgPz8gdHJhbnNmb3JtQXR0YWNobWVudFRvRGlzY29yZEF0dGFjaG1lbnQsXG4gICAgICBjb2xsZWN0aWJsZXM6IF9vcHRpb25zLnJldmVyc2U/LmNvbGxlY3RpYmxlcyA/PyB0cmFuc2Zvcm1Db2xsZWN0aWJsZXNUb0Rpc2NvcmRDb2xsZWN0aWJsZXMsXG4gICAgICBjb21wb25lbnQ6IF9vcHRpb25zLnJldmVyc2U/LmNvbXBvbmVudCA/PyB0cmFuc2Zvcm1Db21wb25lbnRUb0Rpc2NvcmRDb21wb25lbnQsXG4gICAgICBlbWJlZDogX29wdGlvbnMucmV2ZXJzZT8uZW1iZWQgPz8gdHJhbnNmb3JtRW1iZWRUb0Rpc2NvcmRFbWJlZCxcbiAgICAgIG1lZGlhR2FsbGVyeUl0ZW06IF9vcHRpb25zLnJldmVyc2U/Lm1lZGlhR2FsbGVyeUl0ZW0gPz8gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gICAgICBtZW1iZXI6IF9vcHRpb25zLnJldmVyc2U/Lm1lbWJlciA/PyB0cmFuc2Zvcm1NZW1iZXJUb0Rpc2NvcmRNZW1iZXIsXG4gICAgICBuYW1lcGxhdGU6IF9vcHRpb25zLnJldmVyc2U/Lm5hbWVwbGF0ZSA/PyB0cmFuc2Zvcm1OYW1lcGxhdGVUb0Rpc2NvcmROYW1lcGxhdGUsXG4gICAgICBzbm93Zmxha2U6IF9vcHRpb25zLnJldmVyc2U/LnNub3dmbGFrZSA/PyBiaWdpbnRUb1Nub3dmbGFrZSxcbiAgICAgIHRlYW06IF9vcHRpb25zLnJldmVyc2U/LnRlYW0gPz8gdHJhbnNmb3JtVGVhbVRvRGlzY29yZFRlYW0sXG4gICAgICB1bmZ1cmxlZE1lZGlhSXRlbTogX29wdGlvbnMucmV2ZXJzZT8udW5mdXJsZWRNZWRpYUl0ZW0gPz8gdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW1Ub0Rpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgICAgIHVzZXI6IF9vcHRpb25zLnJldmVyc2U/LnVzZXIgPz8gdHJhbnNmb3JtVXNlclRvRGlzY29yZFVzZXIsXG4gICAgfSxcbiAgICBhY3Rpdml0eTogX29wdGlvbnMuYWN0aXZpdHkgPz8gdHJhbnNmb3JtQWN0aXZpdHksXG4gICAgYWN0aXZpdHlBc3NldHM6IF9vcHRpb25zLmFjdGl2aXR5QXNzZXRzID8/IHRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzLFxuICAgIGFjdGl2aXR5RW1vamk6IF9vcHRpb25zLmFjdGl2aXR5RW1vamkgPz8gdHJhbnNmb3JtQWN0aXZpdHlFbW9qaSxcbiAgICBhY3Rpdml0eUluc3RhbmNlOiBfb3B0aW9ucy5hY3Rpdml0eUluc3RhbmNlID8/IHRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UsXG4gICAgYWN0aXZpdHlMb2NhdGlvbjogX29wdGlvbnMuYWN0aXZpdHlMb2NhdGlvbiA/PyB0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uLFxuICAgIGFwcGxpY2F0aW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbixcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IF9vcHRpb25zLmFwcGxpY2F0aW9uQ29tbWFuZCA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogX29wdGlvbnMuYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogX29wdGlvbnMuYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMgPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsXG4gICAgYXR0YWNobWVudDogX29wdGlvbnMuYXR0YWNobWVudCA/PyB0cmFuc2Zvcm1BdHRhY2htZW50LFxuICAgIGF1ZGl0TG9nRW50cnk6IF9vcHRpb25zLmF1ZGl0TG9nRW50cnkgPz8gdHJhbnNmb3JtQXVkaXRMb2dFbnRyeSxcbiAgICBhdXRvTW9kZXJhdGlvbkFjdGlvbjogX29wdGlvbnMuYXV0b01vZGVyYXRpb25BY3Rpb24gPz8gdHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb24sXG4gICAgYXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb246IF9vcHRpb25zLmF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uID8/IHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICAgIGF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGE6IF9vcHRpb25zLmF1dG9Nb2RlcmF0aW9uQWN0aW9uTWV0YWRhdGEgPz8gdHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSxcbiAgICBhdXRvTW9kZXJhdGlvblJ1bGU6IF9vcHRpb25zLmF1dG9Nb2RlcmF0aW9uUnVsZSA/PyB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvblJ1bGUsXG4gICAgYXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhOiBfb3B0aW9ucy5hdXRvTW9kZXJhdGlvblJ1bGVUcmlnZ2VyTWV0YWRhdGEgPz8gdHJhbnNmb3JtQXV0b01vZGVyYXRpb25SdWxlVHJpZ2dlck1ldGFkYXRhLFxuICAgIGF2YXRhckRlY29yYXRpb25EYXRhOiBfb3B0aW9ucy5hdmF0YXJEZWNvcmF0aW9uRGF0YSA/PyB0cmFuc2Zvcm1BdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgICBjaGFubmVsOiBfb3B0aW9ucy5jaGFubmVsID8/IHRyYW5zZm9ybUNoYW5uZWwsXG4gICAgY29sbGVjdGlibGVzOiBfb3B0aW9ucy5jb2xsZWN0aWJsZXMgPz8gdHJhbnNmb3JtQ29sbGVjdGlibGVzLFxuICAgIGNvbXBvbmVudDogX29wdGlvbnMuY29tcG9uZW50ID8/IHRyYW5zZm9ybUNvbXBvbmVudCxcbiAgICBkZWZhdWx0UmVhY3Rpb25FbW9qaTogX29wdGlvbnMuZGVmYXVsdFJlYWN0aW9uRW1vamkgPz8gdHJhbnNmb3JtRGVmYXVsdFJlYWN0aW9uRW1vamksXG4gICAgZW1iZWQ6IF9vcHRpb25zLmVtYmVkID8/IHRyYW5zZm9ybUVtYmVkLFxuICAgIGVtYmVkQXV0aG9yOiBfb3B0aW9ucy5lbWJlZEF1dGhvciA/PyB0cmFuc2Zvcm1FbWJlZEF1dGhvcixcbiAgICBlbWJlZEZvb3RlcjogX29wdGlvbnMuZW1iZWRGb290ZXIgPz8gdHJhbnNmb3JtRW1iZWRGb290ZXIsXG4gICAgZW1iZWRJbWFnZTogX29wdGlvbnMuZW1iZWRJbWFnZSA/PyB0cmFuc2Zvcm1FbWJlZEltYWdlLFxuICAgIGVtYmVkVmlkZW86IF9vcHRpb25zLmVtYmVkVmlkZW8gPz8gdHJhbnNmb3JtRW1iZWRWaWRlbyxcbiAgICBlbW9qaTogX29wdGlvbnMuZW1vamkgPz8gdHJhbnNmb3JtRW1vamksXG4gICAgZW50aXRsZW1lbnQ6IF9vcHRpb25zLmVudGl0bGVtZW50ID8/IHRyYW5zZm9ybUVudGl0bGVtZW50LFxuICAgIGZvcnVtVGFnOiBfb3B0aW9ucy5mb3J1bVRhZyA/PyB0cmFuc2Zvcm1Gb3J1bVRhZyxcbiAgICBnYXRld2F5Qm90OiBfb3B0aW9ucy5nYXRld2F5Qm90ID8/IHRyYW5zZm9ybUdhdGV3YXlCb3QsXG4gICAgZ3VpbGQ6IF9vcHRpb25zLmd1aWxkID8/IHRyYW5zZm9ybUd1aWxkLFxuICAgIGd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IF9vcHRpb25zLmd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMgPz8gdHJhbnNmb3JtR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgICBndWlsZE9uYm9hcmRpbmc6IF9vcHRpb25zLmd1aWxkT25ib2FyZGluZyA/PyB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmcsXG4gICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiBfb3B0aW9ucy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQgPz8gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogX29wdGlvbnMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uID8/IHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgICBpbmNpZGVudHNEYXRhOiBfb3B0aW9ucy5pbmNpZGVudHNEYXRhID8/IHRyYW5zZm9ybUluY2lkZW50c0RhdGEsXG4gICAgaW50ZWdyYXRpb246IF9vcHRpb25zLmludGVncmF0aW9uID8/IHRyYW5zZm9ybUludGVncmF0aW9uLFxuICAgIGludGVncmF0aW9uQWNjb3VudDogX29wdGlvbnMuaW50ZWdyYXRpb25BY2NvdW50ID8/IHRyYW5zZm9ybUludGVncmF0aW9uQWNjb3VudCxcbiAgICBpbnRlZ3JhdGlvbkFwcGxpY2F0aW9uOiBfb3B0aW9ucy5pbnRlZ3JhdGlvbkFwcGxpY2F0aW9uID8/IHRyYW5zZm9ybUludGVncmF0aW9uQXBwbGljYXRpb24sXG4gICAgaW50ZXJhY3Rpb246IF9vcHRpb25zLmludGVyYWN0aW9uID8/IHRyYW5zZm9ybUludGVyYWN0aW9uLFxuICAgIGludGVyYWN0aW9uQ2FsbGJhY2s6IF9vcHRpb25zLmludGVyYWN0aW9uQ2FsbGJhY2sgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IF9vcHRpb25zLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gICAgaW50ZXJhY3Rpb25EYXRhT3B0aW9uOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkRhdGFPcHRpb24gPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICAgIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICBpbnRlcmFjdGlvblJlc291cmNlOiBfb3B0aW9ucy5pbnRlcmFjdGlvblJlc291cmNlID8/IHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UsXG4gICAgaW52aXRlOiBfb3B0aW9ucy5pbnZpdGUgPz8gdHJhbnNmb3JtSW52aXRlLFxuICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IF9vcHRpb25zLmludml0ZVN0YWdlSW5zdGFuY2UgPz8gdHJhbnNmb3JtSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgICBsb2JieTogX29wdGlvbnMubG9iYnkgPz8gdHJhbnNmb3JtTG9iYnksXG4gICAgbG9iYnlNZW1iZXI6IF9vcHRpb25zLmxvYmJ5TWVtYmVyID8/IHRyYW5zZm9ybUxvYmJ5TWVtYmVyLFxuICAgIGxvYmJ5TWVzc2FnZTogX29wdGlvbnMubG9iYnlNZXNzYWdlID8/IHRyYW5zZm9ybUxvYmJ5TWVzc2FnZSxcbiAgICBsb2JieUludml0ZTogX29wdGlvbnMubG9iYnlJbnZpdGUgPz8gdHJhbnNmb3JtTG9iYnlJbnZpdGUsXG4gICAgbWVkaWFHYWxsZXJ5SXRlbTogX29wdGlvbnMubWVkaWFHYWxsZXJ5SXRlbSA/PyB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtLFxuICAgIG1lbWJlcjogX29wdGlvbnMubWVtYmVyID8/IHRyYW5zZm9ybU1lbWJlcixcbiAgICBtZXNzYWdlOiBfb3B0aW9ucy5tZXNzYWdlID8/IHRyYW5zZm9ybU1lc3NhZ2UsXG4gICAgbWVzc2FnZUNhbGw6IF9vcHRpb25zLm1lc3NhZ2VDYWxsID8/IHRyYW5zZm9ybU1lc3NhZ2VDYWxsLFxuICAgIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiBfb3B0aW9ucy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSA/PyB0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgICBtZXNzYWdlUGluOiBfb3B0aW9ucy5tZXNzYWdlUGluID8/IHRyYW5zZm9ybU1lc3NhZ2VQaW4sXG4gICAgbWVzc2FnZVNuYXBzaG90OiBfb3B0aW9ucy5tZXNzYWdlU25hcHNob3QgPz8gdHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90LFxuICAgIG5hbWVwbGF0ZTogX29wdGlvbnMubmFtZXBsYXRlID8/IHRyYW5zZm9ybU5hbWVwbGF0ZSxcbiAgICBvcHRpb25hbEF1ZGl0RW50cnlJbmZvOiBfb3B0aW9ucy5vcHRpb25hbEF1ZGl0RW50cnlJbmZvID8/IHRyYW5zZm9ybU9wdGlvbmFsQXVkaXRFbnRyeUluZm8sXG4gICAgcG9sbDogX29wdGlvbnMucG9sbCA/PyB0cmFuc2Zvcm1Qb2xsLFxuICAgIHBvbGxNZWRpYTogX29wdGlvbnMucG9sbE1lZGlhID8/IHRyYW5zZm9ybVBvbGxNZWRpYSxcbiAgICBwcmVzZW5jZTogX29wdGlvbnMucHJlc2VuY2UgPz8gdHJhbnNmb3JtUHJlc2VuY2UsXG4gICAgcm9sZTogX29wdGlvbnMucm9sZSA/PyB0cmFuc2Zvcm1Sb2xlLFxuICAgIHJvbGVDb2xvcnM6IF9vcHRpb25zLnJvbGVDb2xvcnMgPz8gdHJhbnNmb3JtUm9sZUNvbG9ycyxcbiAgICBzY2hlZHVsZWRFdmVudDogX29wdGlvbnMuc2NoZWR1bGVkRXZlbnQgPz8gdHJhbnNmb3JtU2NoZWR1bGVkRXZlbnQsXG4gICAgc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZTogX29wdGlvbnMuc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSA/PyB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICAgIHNlc3Npb25TdGFydExpbWl0OiBfb3B0aW9ucy5zZXNzaW9uU3RhcnRMaW1pdCA/PyB0cmFuc2Zvcm1TZXNzaW9uU3RhcnRMaW1pdCxcbiAgICBzaGFyZWRDbGllbnRUaGVtZTogX29wdGlvbnMuc2hhcmVkQ2xpZW50VGhlbWUgPz8gdHJhbnNmb3JtU2hhcmVkQ2xpZW50VGhlbWUsXG4gICAgc2t1OiBfb3B0aW9ucy5za3UgPz8gdHJhbnNmb3JtU2t1LFxuICAgIHNvdW5kYm9hcmRTb3VuZDogX29wdGlvbnMuc291bmRib2FyZFNvdW5kID8/IHRyYW5zZm9ybVNvdW5kYm9hcmRTb3VuZCxcbiAgICBzbm93Zmxha2U6IF9vcHRpb25zLnNub3dmbGFrZSA/PyBzbm93Zmxha2VUb0JpZ2ludCxcbiAgICBzdGFnZUluc3RhbmNlOiBfb3B0aW9ucy5zdGFnZUluc3RhbmNlID8/IHRyYW5zZm9ybVN0YWdlSW5zdGFuY2UsXG4gICAgc3RpY2tlcjogX29wdGlvbnMuc3RpY2tlciA/PyB0cmFuc2Zvcm1TdGlja2VyLFxuICAgIHN0aWNrZXJQYWNrOiBfb3B0aW9ucy5zdGlja2VyUGFjayA/PyB0cmFuc2Zvcm1TdGlja2VyUGFjayxcbiAgICBzdWJzY3JpcHRpb246IF9vcHRpb25zLnN1YnNjcmlwdGlvbiA/PyB0cmFuc2Zvcm1TdWJzY3JpcHRpb24sXG4gICAgdGVhbTogX29wdGlvbnMudGVhbSA/PyB0cmFuc2Zvcm1UZWFtLFxuICAgIHRlYW1NZW1iZXI6IF9vcHRpb25zLnRlYW1NZW1iZXIgPz8gdHJhbnNmb3JtVGVhbU1lbWJlcixcbiAgICB0ZW1wbGF0ZTogX29wdGlvbnMudGVtcGxhdGUgPz8gdHJhbnNmb3JtVGVtcGxhdGUsXG4gICAgdGhyZWFkTWVtYmVyOiBfb3B0aW9ucy50aHJlYWRNZW1iZXIgPz8gdHJhbnNmb3JtVGhyZWFkTWVtYmVyLFxuICAgIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBfb3B0aW9ucy50aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSA/PyB0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgICB1bmZ1cmxlZE1lZGlhSXRlbTogX29wdGlvbnMudW5mdXJsZWRNZWRpYUl0ZW0gPz8gdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0sXG4gICAgdXNlcjogX29wdGlvbnMudXNlciA/PyB0cmFuc2Zvcm1Vc2VyLFxuICAgIHVzZXJQcmltYXJ5R3VpbGQ6IF9vcHRpb25zLnVzZXJQcmltYXJ5R3VpbGQgPz8gdHJhbnNmb3JtVXNlclByaW1hcnlHdWlsZCxcbiAgICB2b2ljZVJlZ2lvbjogX29wdGlvbnMudm9pY2VSZWdpb24gPz8gdHJhbnNmb3JtVm9pY2VSZWdpb24sXG4gICAgdm9pY2VTdGF0ZTogX29wdGlvbnMudm9pY2VTdGF0ZSA/PyB0cmFuc2Zvcm1Wb2ljZVN0YXRlLFxuICAgIHdlYmhvb2s6IF9vcHRpb25zLndlYmhvb2sgPz8gdHJhbnNmb3JtV2ViaG9vayxcbiAgICB3ZWxjb21lU2NyZWVuOiBfb3B0aW9ucy53ZWxjb21lU2NyZWVuID8/IHRyYW5zZm9ybVdlbGNvbWVTY3JlZW4sXG4gICAgd2VsY29tZVNjcmVlbkNoYW5uZWw6IF9vcHRpb25zLndlbGNvbWVTY3JlZW5DaGFubmVsID8/IHRyYW5zZm9ybVdlbGNvbWVTY3JlZW5DaGFubmVsLFxuICAgIGd1aWxkV2lkZ2V0OiBfb3B0aW9ucy5ndWlsZFdpZGdldCA/PyB0cmFuc2Zvcm1HdWlsZFdpZGdldCxcbiAgICBndWlsZFdpZGdldFNldHRpbmdzOiBfb3B0aW9ucy5ndWlsZFdpZGdldFNldHRpbmdzID8/IHRyYW5zZm9ybUd1aWxkV2lkZ2V0U2V0dGluZ3MsXG4gIH0gc2F0aXNmaWVzIFRyYW5zZm9ybWVyczxUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+IGFzIHVua25vd24gYXMgVHJhbnNmb3JtZXJzPFRQcm9wcywgVEJlaGF2aW9yPjtcbn1cblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBhYm91dCBhIHRyYW5zZm9ybWVyIGluY2x1ZGluZyBpdHMgcGF5bG9hZCBhbmQgdHJhbnNmb3JtZWQgdHlwZXMuXG4gKlxuICogQHRlbXBsYXRlIFRQYXlsb2FkIC0gVGhlIHR5cGUgb2YgdGhlIHBheWxvYWQgcmVjZWl2ZWQgZnJvbSBEaXNjb3JkLlxuICogQHRlbXBsYXRlIFRUcmFuc2Zvcm1lZCAtIFRoZSB0eXBlIG9mIHRoZSB0cmFuc2Zvcm1lZCBvYmplY3QgcmV0dXJuZWQgYnkgdGhlIHRyYW5zZm9ybWVyLlxuICogQHRlbXBsYXRlIFRFeHRyYSAtIEFkZGl0aW9uYWwgZXh0cmEgaW5mb3JtYXRpb24gdGhhdCBtaWdodCBiZSBuZWVkZWQgZm9yIHRyYW5zZm9ybWF0aW9uLlxuICovXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPFRQYXlsb2FkLCBUVHJhbnNmb3JtZWQsIFRFeHRyYSA9IHt9PiA9IHtcbiAgcGF5bG9hZDogVFBheWxvYWQ7XG4gIHRyYW5zZm9ybWVkOiBUVHJhbnNmb3JtZWQ7XG4gIGV4dHJhOiBURXh0cmE7XG59O1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCB0cmFuc2Zvcm1zIGEgcGF5bG9hZCBmcm9tIERpc2NvcmQgaW50byBhIGRlc2lyZWQgZm9ybWF0LlxuICpcbiAqIEB0ZW1wbGF0ZSBUUHJvcHMgLSBUaGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGZvciB0aGUgdHJhbnNmb3JtZXIuXG4gKiBAdGVtcGxhdGUgVEJlaGF2aW9yIC0gVGhlIGJlaGF2aW9yIGZvciBoYW5kbGluZyBkZXNpcmVkIHByb3BlcnRpZXMuXG4gKiBAdGVtcGxhdGUgVFBheWxvYWQgLSBUaGUgdHlwZSBvZiB0aGUgcGF5bG9hZCByZWNlaXZlZCBmcm9tIERpc2NvcmQuXG4gKiBAdGVtcGxhdGUgVFRyYW5zZm9ybWVkIC0gVGhlIHR5cGUgb2YgdGhlIHRyYW5zZm9ybWVkIG9iamVjdCByZXR1cm5lZCBieSB0aGUgdHJhbnNmb3JtZXIuXG4gKiBAdGVtcGxhdGUgVEV4dHJhIC0gQWRkaXRpb25hbCBleHRyYSBpbmZvcm1hdGlvbiB0aGF0IG1pZ2h0IGJlIG5lZWRlZCBmb3IgdHJhbnNmb3JtYXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVyRnVuY3Rpb248XG4gIFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICBUUGF5bG9hZCxcbiAgVFRyYW5zZm9ybWVkLFxuICBURXh0cmEgPSB7fSxcbj4gPVxuICAvLyBXZSB1c2UgdGhlIG1ldGhvZCBzeW50YXggZm9yIGZ1bmN0aW9ucyAoLi4uUGFyYW1zKTogUmV0dXJuVHlwZSBpbnN0ZWFkIG9mIHRoZSBhcnJvdyBzeW50YXggYmVjYXVzZSBpdCBhbGxvd3MgdXMgdG8gaGF2ZSBvdmVybG9hZHMgaW4gdGhlIHR5cGVcbiAge1xuICAgIChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFRQYXlsb2FkLCBleHRyYT86IFRFeHRyYSAmIHsgcGFydGlhbD86IGZhbHNlIH0pOiBTZXR1cERlc2lyZWRQcm9wczxUVHJhbnNmb3JtZWQsIFRQcm9wcywgVEJlaGF2aW9yPjtcbiAgICAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBQYXJ0aWFsPFRQYXlsb2FkPixcbiAgICAgIGV4dHJhOiBURXh0cmEgJiB7IHBhcnRpYWw6IHRydWUgfSxcbiAgICApOiBQYXJ0aWFsPFNldHVwRGVzaXJlZFByb3BzPFRUcmFuc2Zvcm1lZCwgVFByb3BzLCBUQmVoYXZpb3I+PjtcbiAgfTtcblxuLyoqXG4gKiBBIGNvbGxlY3Rpb24gb2YgdHJhbnNmb3JtZXIgZnVuY3Rpb25zIGZvciB2YXJpb3VzIERpc2NvcmQgZW50aXRpZXMuXG4gKlxuICogQHRlbXBsYXRlIFRQcm9wcyAtIFRoZSBkZXNpcmVkIHByb3BlcnRpZXMgZm9yIHRoZSB0cmFuc2Zvcm1lcnMuXG4gKiBAdGVtcGxhdGUgVEJlaGF2aW9yIC0gVGhlIGJlaGF2aW9yIGZvciBoYW5kbGluZyBkZXNpcmVkIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVyRnVuY3Rpb25zPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9IHtcbiAgW0sgaW4ga2V5b2YgVHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNdOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFxuICAgIFRQcm9wcyxcbiAgICBUQmVoYXZpb3IsXG4gICAgVHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNbS11bJ3BheWxvYWQnXSxcbiAgICBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tLXVsndHJhbnNmb3JtZWQnXSxcbiAgICBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tLXVsnZXh0cmEnXVxuICA+O1xufTtcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgY3VzdG9taXplcyB0aGUgdHJhbnNmb3JtZWQgb2JqZWN0IGFmdGVyIHRoZSBpbml0aWFsIHRyYW5zZm9ybWF0aW9uLlxuICpcbiAqIEB0ZW1wbGF0ZSBUUHJvcHMgLSBUaGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGZvciB0aGUgdHJhbnNmb3JtZXIuXG4gKiBAdGVtcGxhdGUgVEJlaGF2aW9yIC0gVGhlIGJlaGF2aW9yIGZvciBoYW5kbGluZyBkZXNpcmVkIHByb3BlcnRpZXMuXG4gKiBAdGVtcGxhdGUgVFBheWxvYWQgLSBUaGUgdHlwZSBvZiB0aGUgcGF5bG9hZCByZWNlaXZlZCBmcm9tIERpc2NvcmQuXG4gKiBAdGVtcGxhdGUgVFRyYW5zZm9ybWVkIC0gVGhlIHR5cGUgb2YgdGhlIHRyYW5zZm9ybWVkIG9iamVjdCByZXR1cm5lZCBieSB0aGUgdHJhbnNmb3JtZXIuXG4gKiBAdGVtcGxhdGUgVEV4dHJhIC0gQWRkaXRpb25hbCBleHRyYSBpbmZvcm1hdGlvbiB0aGF0IG1pZ2h0IGJlIG5lZWRlZCBmb3IgY3VzdG9taXphdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJDdXN0b21pemVyRnVuY3Rpb248XG4gIFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICBUUGF5bG9hZCxcbiAgVFRyYW5zZm9ybWVkLFxuICBURXh0cmEgPSB7fSxcbj4gPVxuICAvLyBXZSB1c2UgdGhlIG1ldGhvZCBzeW50YXggZm9yIGZ1bmN0aW9ucyAoLi4uUGFyYW1zKTogUmV0dXJuVHlwZSBpbnN0ZWFkIG9mIHRoZSBhcnJvdyBzeW50YXggYmVjYXVzZSBpdCBhbGxvd3MgdXMgdG8gaGF2ZSBvdmVybG9hZHMgaW4gdGhlIHR5cGVcbiAge1xuICAgIChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IFRQYXlsb2FkLFxuICAgICAgdHJhbnNmb3JtZWQ6IFNldHVwRGVzaXJlZFByb3BzPFRUcmFuc2Zvcm1lZCwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgZXh0cmE6IFRFeHRyYSAmIHsgcGFydGlhbDogZmFsc2UgfSxcbiAgICApOiBhbnk7XG4gICAgKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogUGFydGlhbDxUUGF5bG9hZD4sXG4gICAgICB0cmFuc2Zvcm1lZDogUGFydGlhbDxTZXR1cERlc2lyZWRQcm9wczxUVHJhbnNmb3JtZWQsIFRQcm9wcywgVEJlaGF2aW9yPj4sXG4gICAgICBleHRyYTogVEV4dHJhICYgeyBwYXJ0aWFsOiB0cnVlIH0sXG4gICAgKTogYW55O1xuICB9O1xuXG4vKipcbiAqIEEgY29sbGVjdGlvbiBvZiB0cmFuc2Zvcm1lciBjdXN0b21pemVyIGZ1bmN0aW9ucyBmb3IgdmFyaW91cyBEaXNjb3JkIGVudGl0aWVzLlxuICpcbiAqIEB0ZW1wbGF0ZSBUUHJvcHMgLSBUaGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGZvciB0aGUgdHJhbnNmb3JtZXJzLlxuICogQHRlbXBsYXRlIFRCZWhhdmlvciAtIFRoZSBiZWhhdmlvciBmb3IgaGFuZGxpbmcgZGVzaXJlZCBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1lckN1c3RvbWl6ZXJzPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9IHtcbiAgW0sgaW4ga2V5b2YgVHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNdOiBUcmFuc2Zvcm1lckN1c3RvbWl6ZXJGdW5jdGlvbjxcbiAgICBUUHJvcHMsXG4gICAgVEJlaGF2aW9yLFxuICAgIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW0tdWydwYXlsb2FkJ10sXG4gICAgVHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNbS11bJ3RyYW5zZm9ybWVkJ10sXG4gICAgQmlnU3RyaW5nc1RvQmlnaW50czxUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tLXVsnZXh0cmEnXT5cbiAgPjtcbn07XG5cbi8qKlxuICogQ29udmVydGluZyBCaWdTdHJpbmcgcHJvcGVydGllcyBpbiBUIHRvIGJpZ2ludCwgbGVhdmluZyBvdGhlciBwcm9wZXJ0aWVzIHVuY2hhbmdlZC5cbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSBvYmplY3QgdHlwZSB0byB0cmFuc2Zvcm0uXG4gKi9cbmV4cG9ydCB0eXBlIEJpZ1N0cmluZ3NUb0JpZ2ludHM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBCaWdTdHJpbmcgZXh0ZW5kcyBUW0tdID8gYmlnaW50IDogVFtLXTtcbn07XG5cbi8qKlxuICogQ2FsbHMgYSB0cmFuc2Zvcm1lciBjdXN0b21pemVyIGZ1bmN0aW9uIHdpdGggdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHRlbXBsYXRlIFRJbmZvIC0gVGhlIGtleSBvZiB0aGUgdHJhbnNmb3JtZXIgaW5mb3JtYXRpb24gdG8gdXNlLlxuICogQHBhcmFtIGN1c3RvbWl6ZXIgLSBUaGUga2V5IG9mIHRoZSB0cmFuc2Zvcm1lciBpbmZvcm1hdGlvbiB0byB1c2UuXG4gKiBAcGFyYW0gYm90IC0gVGhlIGJvdCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXlsb2FkIC0gVGhlIG9yaWdpbmFsIHBheWxvYWQgZnJvbSBEaXNjb3JkLlxuICogQHBhcmFtIHRyYW5zZm9ybWVkIC0gVGhlIHRyYW5zZm9ybWVkIG9iamVjdC5cbiAqIEBwYXJhbSBleHRyYSAtIEFkZGl0aW9uYWwgZXh0cmEgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXN0b21pemVyLlxuICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgY3VzdG9taXplciBmdW5jdGlvbi5cbiAqXG4gKiBAcmVtYXJrc1xuICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGJlY2F1c2UgaXQgaXMgaGFyZCB0byBkZWFsIHdpdGggdGhlIGN1c3RvbWl6ZXIgb3ZlcmxvYWRzIGRpcmVjdGx5IGluIHRoZSB0cmFuc2Zvcm1lcnMuXG4gKlxuICogU2luY2UgdGhlIG92ZXJsb2FkcyBhcmUgcHJlc2VudCBvbmx5IHdpdGggcGFydGlhbCB0cmFuc2Zvcm1lcnMsIHRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhlIHBhcnRpYWwgZXh0cmEsIGZvciBub24tcGFydGlhbCB0cmFuc2Zvcm1lcnMgdGhlIG5vcm1hbCBmdW5jdGlvbiBjYWxsIGNhbiBiZSB1c2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxsQ3VzdG9taXplcjxUSW5mbyBleHRlbmRzIGtleW9mIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zPihcbiAgY3VzdG9taXplcjogVEluZm8sXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tUSW5mb11bJ3BheWxvYWQnXSB8IFBhcnRpYWw8VHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNbVEluZm9dWydwYXlsb2FkJ10+LFxuICB0cmFuc2Zvcm1lZDpcbiAgICB8IFNldHVwRGVzaXJlZFByb3BzPFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW1RJbmZvXVsndHJhbnNmb3JtZWQnXSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG4gICAgfCBQYXJ0aWFsPFNldHVwRGVzaXJlZFByb3BzPFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW1RJbmZvXVsndHJhbnNmb3JtZWQnXSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+PixcbiAgZXh0cmE6IFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW1RJbmZvXVsnZXh0cmEnXSAmIHsgcGFydGlhbDogYm9vbGVhbiB9LFxuKTogYW55IHtcbiAgLy8gVGhlIHR5cGUgb2YgdGhlIGN1c3RvbWl6ZXIgaXMgbm90IGdlbmVyYWxpemFibGUsIHNvIHdlIHVzZSB1bmtub3duLCBjYWxsQ3VzdG9taXplciBoYXMgdGhlIGNvcnJlY3QgdHlwZSBhbmQgd2UgY2FzdCBpdCBoZXJlXG4gIGNvbnN0IGN1c3RvbWl6ZXJGbiA9IGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnNbY3VzdG9taXplcl0gYXMgKGJvdDogQm90LCBwYXlsb2FkOiB1bmtub3duLCB0cmFuc2Zvcm1lZDogdW5rbm93biwgZXh0cmE6IHVua25vd24pID0+IGFueTtcblxuICByZXR1cm4gY3VzdG9taXplckZuKGJvdCwgcGF5bG9hZCwgdHJhbnNmb3JtZWQsIGV4dHJhKTtcbn1cbiJdLCJuYW1lcyI6WyJiaWdpbnRUb1Nub3dmbGFrZSIsInNub3dmbGFrZVRvQmlnaW50IiwiY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3QiLCJ0cmFuc2Zvcm1BY3Rpdml0eSIsInRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzIiwidHJhbnNmb3JtQWN0aXZpdHlFbW9qaSIsInRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UiLCJ0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uIiwidHJhbnNmb3JtQXBwbGljYXRpb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyIsInRyYW5zZm9ybUd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMiLCJ0cmFuc2Zvcm1BdHRhY2htZW50IiwidHJhbnNmb3JtQXVkaXRMb2dFbnRyeSIsInRyYW5zZm9ybU9wdGlvbmFsQXVkaXRFbnRyeUluZm8iLCJ0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvbkFjdGlvbiIsInRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIiwidHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSIsInRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uUnVsZSIsInRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YSIsInRyYW5zZm9ybUF2YXRhckRlY29yYXRpb25EYXRhIiwidHJhbnNmb3JtQ2hhbm5lbCIsInRyYW5zZm9ybUZvcnVtVGFnIiwidHJhbnNmb3JtQ29tcG9uZW50IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsInRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtIiwidHJhbnNmb3JtRW1iZWQiLCJ0cmFuc2Zvcm1FbWJlZEF1dGhvciIsInRyYW5zZm9ybUVtYmVkRm9vdGVyIiwidHJhbnNmb3JtRW1iZWRJbWFnZSIsInRyYW5zZm9ybUVtYmVkVmlkZW8iLCJ0cmFuc2Zvcm1EZWZhdWx0UmVhY3Rpb25FbW9qaSIsInRyYW5zZm9ybUVtb2ppIiwidHJhbnNmb3JtRW50aXRsZW1lbnQiLCJ0cmFuc2Zvcm1HYXRld2F5Qm90IiwidHJhbnNmb3JtU2Vzc2lvblN0YXJ0TGltaXQiLCJ0cmFuc2Zvcm1HdWlsZCIsInRyYW5zZm9ybUluY2lkZW50c0RhdGEiLCJ0cmFuc2Zvcm1JbnRlZ3JhdGlvbiIsInRyYW5zZm9ybUludGVncmF0aW9uQWNjb3VudCIsInRyYW5zZm9ybUludGVncmF0aW9uQXBwbGljYXRpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2siLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsInRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UiLCJ0cmFuc2Zvcm1JbnZpdGUiLCJ0cmFuc2Zvcm1Mb2JieSIsInRyYW5zZm9ybUxvYmJ5SW52aXRlIiwidHJhbnNmb3JtTG9iYnlNZW1iZXIiLCJ0cmFuc2Zvcm1Mb2JieU1lc3NhZ2UiLCJ0cmFuc2Zvcm1NZW1iZXIiLCJ0cmFuc2Zvcm1NZXNzYWdlIiwidHJhbnNmb3JtTWVzc2FnZUNhbGwiLCJ0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsInRyYW5zZm9ybU1lc3NhZ2VQaW4iLCJ0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QiLCJ0cmFuc2Zvcm1TaGFyZWRDbGllbnRUaGVtZSIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZyIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdCIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiIsInRyYW5zZm9ybVBvbGwiLCJ0cmFuc2Zvcm1Qb2xsTWVkaWEiLCJ0cmFuc2Zvcm1QcmVzZW5jZSIsInRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzVG9EaXNjb3JkQWN0aXZpdHlBc3NldHMiLCJ0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5IiwidHJhbnNmb3JtQWxsb3dlZE1lbnRpb25zVG9EaXNjb3JkQWxsb3dlZE1lbnRpb25zIiwidHJhbnNmb3JtQXBwbGljYXRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsInRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50IiwidHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0iLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtIiwidHJhbnNmb3JtRW1iZWRUb0Rpc2NvcmRFbWJlZCIsInRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlciIsInRyYW5zZm9ybVVzZXJUb0Rpc2NvcmRVc2VyIiwidHJhbnNmb3JtVGVhbVRvRGlzY29yZFRlYW0iLCJ0cmFuc2Zvcm1Db2xsZWN0aWJsZXNUb0Rpc2NvcmRDb2xsZWN0aWJsZXMiLCJ0cmFuc2Zvcm1OYW1lcGxhdGVUb0Rpc2NvcmROYW1lcGxhdGUiLCJ0cmFuc2Zvcm1Sb2xlIiwidHJhbnNmb3JtUm9sZUNvbG9ycyIsInRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50IiwidHJhbnNmb3JtU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSIsInRyYW5zZm9ybVNrdSIsInRyYW5zZm9ybVNvdW5kYm9hcmRTb3VuZCIsInRyYW5zZm9ybVN0YWdlSW5zdGFuY2UiLCJ0cmFuc2Zvcm1JbnZpdGVTdGFnZUluc3RhbmNlIiwidHJhbnNmb3JtU3RpY2tlciIsInRyYW5zZm9ybVN0aWNrZXJQYWNrIiwidHJhbnNmb3JtU3Vic2NyaXB0aW9uIiwidHJhbnNmb3JtVGVhbSIsInRyYW5zZm9ybVRlYW1NZW1iZXIiLCJ0cmFuc2Zvcm1UZW1wbGF0ZSIsInRyYW5zZm9ybVRocmVhZE1lbWJlciIsInRyYW5zZm9ybVRocmVhZE1lbWJlckd1aWxkQ3JlYXRlIiwidHJhbnNmb3JtQ29sbGVjdGlibGVzIiwidHJhbnNmb3JtTmFtZXBsYXRlIiwidHJhbnNmb3JtVXNlciIsInRyYW5zZm9ybVVzZXJQcmltYXJ5R3VpbGQiLCJ0cmFuc2Zvcm1Wb2ljZVJlZ2lvbiIsInRyYW5zZm9ybVZvaWNlU3RhdGUiLCJ0cmFuc2Zvcm1XZWJob29rIiwidHJhbnNmb3JtV2VsY29tZVNjcmVlbiIsInRyYW5zZm9ybVdlbGNvbWVTY3JlZW5DaGFubmVsIiwidHJhbnNmb3JtR3VpbGRXaWRnZXQiLCJ0cmFuc2Zvcm1HdWlsZFdpZGdldFNldHRpbmdzIiwiZGVmYXVsdEN1c3RvbWl6ZXIiLCJfYm90IiwiX3BheWxvYWQiLCJzdHJ1Y3R1cmUiLCJjcmVhdGVUcmFuc2Zvcm1lcnMiLCJvcHRpb25zIiwiX29wdGlvbnMiLCJjdXN0b21pemVycyIsImFjdGl2aXR5IiwiYWN0aXZpdHlBc3NldHMiLCJhY3Rpdml0eUVtb2ppIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5TG9jYXRpb24iLCJhcHBsaWNhdGlvbiIsImFwcGxpY2F0aW9uQ29tbWFuZCIsImFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsImFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsImFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIiwiYXR0YWNobWVudCIsImF1ZGl0TG9nRW50cnkiLCJhdXRvTW9kZXJhdGlvbkFjdGlvbiIsImF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIiwiYXV0b01vZGVyYXRpb25BY3Rpb25NZXRhZGF0YSIsImF1dG9Nb2RlcmF0aW9uUnVsZSIsImF1dG9Nb2RlcmF0aW9uUnVsZVRyaWdnZXJNZXRhZGF0YSIsImF2YXRhckRlY29yYXRpb25EYXRhIiwiY2hhbm5lbCIsImNvbGxlY3RpYmxlcyIsImNvbXBvbmVudCIsImRlZmF1bHRSZWFjdGlvbkVtb2ppIiwiZW1iZWQiLCJlbWJlZEF1dGhvciIsImVtYmVkRm9vdGVyIiwiZW1iZWRJbWFnZSIsImVtYmVkVmlkZW8iLCJlbW9qaSIsImVudGl0bGVtZW50IiwiZm9ydW1UYWciLCJnYXRld2F5Qm90IiwiZ3VpbGQiLCJndWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIiwiZ3VpbGRPbmJvYXJkaW5nIiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0IiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIiwiaW5jaWRlbnRzRGF0YSIsImludGVncmF0aW9uIiwiaW50ZWdyYXRpb25BY2NvdW50IiwiaW50ZWdyYXRpb25BcHBsaWNhdGlvbiIsImludGVyYWN0aW9uIiwiaW50ZXJhY3Rpb25DYWxsYmFjayIsImludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsImludGVyYWN0aW9uRGF0YU9wdGlvbiIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwiaW50ZXJhY3Rpb25SZXNvdXJjZSIsImludml0ZSIsImludml0ZVN0YWdlSW5zdGFuY2UiLCJsb2JieSIsImxvYmJ5TWVtYmVyIiwibG9iYnlNZXNzYWdlIiwibG9iYnlJbnZpdGUiLCJtZWRpYUdhbGxlcnlJdGVtIiwibWVtYmVyIiwibWVzc2FnZSIsIm1lc3NhZ2VDYWxsIiwibWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJtZXNzYWdlUGluIiwibWVzc2FnZVNuYXBzaG90IiwibmFtZXBsYXRlIiwib3B0aW9uYWxBdWRpdEVudHJ5SW5mbyIsInBvbGwiLCJwb2xsTWVkaWEiLCJwcmVzZW5jZSIsInJvbGUiLCJyb2xlQ29sb3JzIiwic2NoZWR1bGVkRXZlbnQiLCJzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlIiwic2Vzc2lvblN0YXJ0TGltaXQiLCJzaGFyZWRDbGllbnRUaGVtZSIsInNrdSIsInNvdW5kYm9hcmRTb3VuZCIsInN0YWdlSW5zdGFuY2UiLCJzdGlja2VyIiwic3RpY2tlclBhY2siLCJzdWJzY3JpcHRpb24iLCJ0ZWFtIiwidGVhbU1lbWJlciIsInRlbXBsYXRlIiwidGhyZWFkTWVtYmVyIiwidGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUiLCJ1bmZ1cmxlZE1lZGlhSXRlbSIsInVzZXIiLCJ1c2VyUHJpbWFyeUd1aWxkIiwidm9pY2VSZWdpb24iLCJ2b2ljZVN0YXRlIiwid2ViaG9vayIsIndlbGNvbWVTY3JlZW4iLCJ3ZWxjb21lU2NyZWVuQ2hhbm5lbCIsImd1aWxkV2lkZ2V0IiwiZ3VpbGRXaWRnZXRTZXR0aW5ncyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwicmV2ZXJzZSIsImFsbG93ZWRNZW50aW9ucyIsInNub3dmbGFrZSIsImNhbGxDdXN0b21pemVyIiwiY3VzdG9taXplciIsImJvdCIsInBheWxvYWQiLCJ0cmFuc2Zvcm1lZCIsImV4dHJhIiwiY3VzdG9taXplckZuIiwidHJhbnNmb3JtZXJzIl0sIm1hcHBpbmdz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