@discordeno/bot 22.0.1-next.f2e8d7e → 22.0.1-next.f334bb8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/desiredProperties.d.ts.map +1 -1
- package/dist/desiredProperties.js +3 -1
- package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
- package/dist/handlers/invites/INVITE_CREATE.js +2 -1
- package/dist/helpers.d.ts +3 -3
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +9 -9
- package/dist/transformers/component.d.ts.map +1 -1
- package/dist/transformers/component.js +152 -8
- package/dist/transformers/invite.d.ts.map +1 -1
- package/dist/transformers/invite.js +2 -1
- package/dist/transformers/reverse/component.d.ts.map +1 -1
- package/dist/transformers/reverse/component.js +149 -11
- package/dist/transformers/toggles/guild.d.ts +2 -2
- package/dist/transformers/toggles/guild.js +3 -3
- package/dist/transformers/types.d.ts +19 -14
- package/dist/transformers/types.d.ts.map +1 -1
- package/dist/transformers/types.js +2 -2
- package/package.json +14 -14
|
@@ -11,11 +11,15 @@ export function transformComponentToDiscordComponent(bot, payload) {
|
|
|
11
11
|
case MessageComponentTypes.TextInput:
|
|
12
12
|
return transformInputTextComponent(bot, payload);
|
|
13
13
|
case MessageComponentTypes.StringSelect:
|
|
14
|
-
|
|
15
|
-
case MessageComponentTypes.RoleSelect:
|
|
14
|
+
return transformStringSelectMenuComponent(bot, payload);
|
|
16
15
|
case MessageComponentTypes.UserSelect:
|
|
16
|
+
return transformUserSelectMenuComponent(bot, payload);
|
|
17
|
+
case MessageComponentTypes.RoleSelect:
|
|
18
|
+
return transformRoleSelectMenuComponent(bot, payload);
|
|
17
19
|
case MessageComponentTypes.MentionableSelect:
|
|
18
|
-
return
|
|
20
|
+
return transformMentionableSelectMenuComponent(bot, payload);
|
|
21
|
+
case MessageComponentTypes.ChannelSelect:
|
|
22
|
+
return transformChannelSelectMenuComponent(bot, payload);
|
|
19
23
|
case MessageComponentTypes.Section:
|
|
20
24
|
return transformSectionComponent(bot, payload);
|
|
21
25
|
case MessageComponentTypes.File:
|
|
@@ -28,6 +32,12 @@ export function transformComponentToDiscordComponent(bot, payload) {
|
|
|
28
32
|
return transformLabelComponent(bot, payload);
|
|
29
33
|
case MessageComponentTypes.FileUpload:
|
|
30
34
|
return transformFileUploadComponent(bot, payload);
|
|
35
|
+
case MessageComponentTypes.RadioGroup:
|
|
36
|
+
return transformRadioGroupComponent(bot, payload);
|
|
37
|
+
case MessageComponentTypes.CheckboxGroup:
|
|
38
|
+
return transformCheckboxGroupComponent(bot, payload);
|
|
39
|
+
case MessageComponentTypes.Checkbox:
|
|
40
|
+
return transformCheckboxComponent(bot, payload);
|
|
31
41
|
case MessageComponentTypes.Separator:
|
|
32
42
|
case MessageComponentTypes.TextDisplay:
|
|
33
43
|
// As of now they are compatible
|
|
@@ -101,7 +111,7 @@ function transformInputTextComponent(_bot, payload) {
|
|
|
101
111
|
required: payload.required
|
|
102
112
|
};
|
|
103
113
|
}
|
|
104
|
-
function
|
|
114
|
+
function transformStringSelectMenuComponent(bot, payload) {
|
|
105
115
|
if (payload.values) {
|
|
106
116
|
return {
|
|
107
117
|
type: MessageComponentTypes.StringSelect,
|
|
@@ -111,14 +121,9 @@ function transformSelectMenuComponent(bot, payload) {
|
|
|
111
121
|
};
|
|
112
122
|
}
|
|
113
123
|
return {
|
|
114
|
-
type:
|
|
124
|
+
type: MessageComponentTypes.StringSelect,
|
|
115
125
|
id: payload.id,
|
|
116
126
|
custom_id: payload.customId,
|
|
117
|
-
channel_types: payload.channelTypes,
|
|
118
|
-
default_values: payload.defaultValues?.map((defaultValue)=>({
|
|
119
|
-
id: bot.transformers.reverse.snowflake(defaultValue.id),
|
|
120
|
-
type: defaultValue.type
|
|
121
|
-
})),
|
|
122
127
|
disabled: payload.disabled,
|
|
123
128
|
max_values: payload.maxValues,
|
|
124
129
|
min_values: payload.minValues,
|
|
@@ -137,6 +142,111 @@ function transformSelectMenuComponent(bot, payload) {
|
|
|
137
142
|
required: payload.required
|
|
138
143
|
};
|
|
139
144
|
}
|
|
145
|
+
function transformUserSelectMenuComponent(bot, payload) {
|
|
146
|
+
if (payload.values) {
|
|
147
|
+
return {
|
|
148
|
+
type: MessageComponentTypes.UserSelect,
|
|
149
|
+
values: payload.values,
|
|
150
|
+
custom_id: payload.customId,
|
|
151
|
+
id: payload.id,
|
|
152
|
+
// TODO: Add resolved reverse transformer
|
|
153
|
+
resolved: {}
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
type: MessageComponentTypes.UserSelect,
|
|
158
|
+
id: payload.id,
|
|
159
|
+
custom_id: payload.customId,
|
|
160
|
+
disabled: payload.disabled,
|
|
161
|
+
max_values: payload.maxValues,
|
|
162
|
+
min_values: payload.minValues,
|
|
163
|
+
placeholder: payload.placeholder,
|
|
164
|
+
default_values: payload.defaultValues?.map((value)=>({
|
|
165
|
+
id: bot.transformers.reverse.snowflake(value.id),
|
|
166
|
+
type: value.type
|
|
167
|
+
})),
|
|
168
|
+
required: payload.required
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function transformRoleSelectMenuComponent(bot, payload) {
|
|
172
|
+
if (payload.values) {
|
|
173
|
+
return {
|
|
174
|
+
type: MessageComponentTypes.RoleSelect,
|
|
175
|
+
values: payload.values,
|
|
176
|
+
custom_id: payload.customId,
|
|
177
|
+
id: payload.id,
|
|
178
|
+
// TODO: Add resolved reverse transformer
|
|
179
|
+
resolved: {}
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
type: MessageComponentTypes.RoleSelect,
|
|
184
|
+
id: payload.id,
|
|
185
|
+
custom_id: payload.customId,
|
|
186
|
+
disabled: payload.disabled,
|
|
187
|
+
max_values: payload.maxValues,
|
|
188
|
+
min_values: payload.minValues,
|
|
189
|
+
placeholder: payload.placeholder,
|
|
190
|
+
default_values: payload.defaultValues?.map((value)=>({
|
|
191
|
+
id: bot.transformers.reverse.snowflake(value.id),
|
|
192
|
+
type: value.type
|
|
193
|
+
})),
|
|
194
|
+
required: payload.required
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
function transformMentionableSelectMenuComponent(bot, payload) {
|
|
198
|
+
if (payload.values) {
|
|
199
|
+
return {
|
|
200
|
+
type: MessageComponentTypes.MentionableSelect,
|
|
201
|
+
values: payload.values,
|
|
202
|
+
custom_id: payload.customId,
|
|
203
|
+
id: payload.id,
|
|
204
|
+
// TODO: Add resolved reverse transformer
|
|
205
|
+
resolved: {}
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
return {
|
|
209
|
+
type: MessageComponentTypes.MentionableSelect,
|
|
210
|
+
id: payload.id,
|
|
211
|
+
custom_id: payload.customId,
|
|
212
|
+
disabled: payload.disabled,
|
|
213
|
+
max_values: payload.maxValues,
|
|
214
|
+
min_values: payload.minValues,
|
|
215
|
+
placeholder: payload.placeholder,
|
|
216
|
+
default_values: payload.defaultValues?.map((value)=>({
|
|
217
|
+
id: bot.transformers.reverse.snowflake(value.id),
|
|
218
|
+
type: value.type
|
|
219
|
+
})),
|
|
220
|
+
required: payload.required
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
function transformChannelSelectMenuComponent(bot, payload) {
|
|
224
|
+
if (payload.values) {
|
|
225
|
+
return {
|
|
226
|
+
type: MessageComponentTypes.ChannelSelect,
|
|
227
|
+
values: payload.values,
|
|
228
|
+
custom_id: payload.customId,
|
|
229
|
+
id: payload.id,
|
|
230
|
+
// TODO: Add resolved reverse transformer
|
|
231
|
+
resolved: {}
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
return {
|
|
235
|
+
type: MessageComponentTypes.ChannelSelect,
|
|
236
|
+
id: payload.id,
|
|
237
|
+
custom_id: payload.customId,
|
|
238
|
+
disabled: payload.disabled,
|
|
239
|
+
max_values: payload.maxValues,
|
|
240
|
+
min_values: payload.minValues,
|
|
241
|
+
default_values: payload.defaultValues?.map((value)=>({
|
|
242
|
+
id: bot.transformers.reverse.snowflake(value.id),
|
|
243
|
+
type: value.type
|
|
244
|
+
})),
|
|
245
|
+
placeholder: payload.placeholder,
|
|
246
|
+
required: payload.required,
|
|
247
|
+
channel_types: payload.channelTypes
|
|
248
|
+
};
|
|
249
|
+
}
|
|
140
250
|
function transformSectionComponent(bot, payload) {
|
|
141
251
|
return {
|
|
142
252
|
type: MessageComponentTypes.Section,
|
|
@@ -190,5 +300,33 @@ function transformFileUploadComponent(bot, payload) {
|
|
|
190
300
|
required: payload.required
|
|
191
301
|
};
|
|
192
302
|
}
|
|
303
|
+
function transformRadioGroupComponent(bot, payload) {
|
|
304
|
+
return {
|
|
305
|
+
type: MessageComponentTypes.RadioGroup,
|
|
306
|
+
id: payload.id,
|
|
307
|
+
custom_id: payload.customId,
|
|
308
|
+
options: payload.options ?? [],
|
|
309
|
+
required: payload.required
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
function transformCheckboxGroupComponent(bot, payload) {
|
|
313
|
+
return {
|
|
314
|
+
type: MessageComponentTypes.CheckboxGroup,
|
|
315
|
+
id: payload.id,
|
|
316
|
+
custom_id: payload.customId,
|
|
317
|
+
options: payload.options ?? [],
|
|
318
|
+
min_values: payload.minValues,
|
|
319
|
+
max_values: payload.maxValues,
|
|
320
|
+
required: payload.required
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
function transformCheckboxComponent(bot, payload) {
|
|
324
|
+
return {
|
|
325
|
+
type: MessageComponentTypes.Checkbox,
|
|
326
|
+
id: payload.id,
|
|
327
|
+
custom_id: payload.customId,
|
|
328
|
+
default: payload.default
|
|
329
|
+
};
|
|
330
|
+
}
|
|
193
331
|
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCdXR0b25TdHlsZXMsXG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDb250YWluZXJDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVVcGxvYWRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRUaHVtYm5haWxDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtLFxuICBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG4gIHR5cGUgVGV4dFN0eWxlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi8uLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnQsIE1lZGlhR2FsbGVyeUl0ZW0sIFVuZnVybGVkTWVkaWFJdGVtIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50KFxuICBib3Q6IEJvdCxcbiAgcGF5bG9hZDogQ29tcG9uZW50LFxuKTogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2Uge1xuICAvLyBUaGlzIHN3aXRjaCBzaG91bGQgaW5jbHVkZSBhbGwgY2FzZXNcbiAgc3dpdGNoIChwYXlsb2FkLnR5cGUpIHtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3c6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1Db250YWluZXJDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU3RyaW5nU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lbnRpb25hYmxlU2VsZWN0OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TZWN0aW9uOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZWRpYUdhbGxlcnk6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGh1bWJuYWlsOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZVVwbG9hZDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1GaWxlVXBsb2FkQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHREaXNwbGF5OlxuICAgICAgLy8gQXMgb2Ygbm93IHRoZXkgYXJlIGNvbXBhdGlibGVcbiAgICAgIHJldHVybiBwYXlsb2FkIGFzIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSk6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSB7XG4gIHJldHVybiB7XG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBwcm94eV91cmw6IHBheWxvYWQucHJveHlVcmwsXG4gICAgaGVpZ2h0OiBwYXlsb2FkLmhlaWdodCxcbiAgICB3aWR0aDogcGF5bG9hZC53aWR0aCxcbiAgICBjb250ZW50X3R5cGU6IHBheWxvYWQuY29udGVudFR5cGUsXG4gICAgYXR0YWNobWVudF9pZDogcGF5bG9hZC5hdHRhY2htZW50SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudElkKSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBNZWRpYUdhbGxlcnlJdGVtKTogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0ge1xuICByZXR1cm4ge1xuICAgIG1lZGlhOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEFjdGlvblJvdyB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkFjdGlvblJvdyxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICAvLyBUaGUgYWN0aW9uUm93LmNvbXBvbmVudHMgdHlwZSBpcyBraW5kYSBhbm5veWluZywgc28gd2UgbmVlZCBhIGNhc3QgZm9yIHRoaXNcbiAgICBjb21wb25lbnRzOiAocGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpID8/IFtdKSBhcyBEaXNjb3JkQWN0aW9uUm93Wydjb21wb25lbnRzJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBhY2NlbnRfY29sb3I6IHBheWxvYWQuYWNjZW50Q29sb3IsXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICAgIGNvbXBvbmVudHM6IChwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgPz9cbiAgICAgIFtdKSBhcyBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50Wydjb21wb25lbnRzJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB7XG4gIC8vIFNpbmNlIENvbXBvbmVudCBpcyBhIG1lcmdlIG9mIGFsbCBjb21wb25lbnRzLCBzb21lIGNhc3RzIGFyZSBuZWNlc3NhcnlcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlIGFzIEJ1dHRvblN0eWxlcyxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgZW1vamk6IHBheWxvYWQuZW1vamlcbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBwYXlsb2FkLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmVtb2ppLmlkKSA6IG51bGwsXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5lbW9qaS5uYW1lID8/IG51bGwsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsLFxuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgc2t1X2lkOiBwYXlsb2FkLnNrdUlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLnNrdUlkKSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KF9ib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCB8IERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLy8gU2luY2UgQ29tcG9uZW50IGlzIGEgbWVyZ2Ugb2YgYWxsIGNvbXBvbmVudHMsIHNvbWUgY2FzdHMgYXJlIG5lY2Vzc2FyeVxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgc3R5bGU6IHBheWxvYWQuc3R5bGUgYXMgVGV4dFN0eWxlcyxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsISxcbiAgICB2YWx1ZTogcGF5bG9hZC52YWx1ZSxcbiAgICBtYXhfbGVuZ3RoOiBwYXlsb2FkLm1heExlbmd0aCxcbiAgICBtaW5fbGVuZ3RoOiBwYXlsb2FkLm1pbkxlbmd0aCxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQgfCBEaXNjb3JkU3RyaW5nU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU3RyaW5nU2VsZWN0LFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLnZhbHVlcyxcbiAgICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgICBpZDogcGF5bG9hZC5pZCEsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdHlwZTogcGF5bG9hZC50eXBlIGFzIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50Wyd0eXBlJ10sXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBjaGFubmVsX3R5cGVzOiBwYXlsb2FkLmNoYW5uZWxUeXBlcyxcbiAgICBkZWZhdWx0X3ZhbHVlczogcGF5bG9hZC5kZWZhdWx0VmFsdWVzPy5tYXAoKGRlZmF1bHRWYWx1ZSkgPT4gKHtcbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKGRlZmF1bHRWYWx1ZS5pZCksXG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICB9KSksXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgb3B0aW9uczogcGF5bG9hZC5vcHRpb25zPy5tYXAoKG9wdGlvbikgPT4gKHtcbiAgICAgIGxhYmVsOiBvcHRpb24ubGFiZWwsXG4gICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbi5kZXNjcmlwdGlvbixcbiAgICAgIGVtb2ppOiBvcHRpb24uZW1vamlcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBpZDogb3B0aW9uLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShvcHRpb24uZW1vamkuaWQpIDogbnVsbCxcbiAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lID8/IG51bGwsXG4gICAgICAgICAgICBhbmltYXRlZDogb3B0aW9uLmVtb2ppLmFuaW1hdGVkLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBkZWZhdWx0OiBvcHRpb24uZGVmYXVsdCxcbiAgICB9KSksXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjb21wb25lbnRzOiBwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgYXMgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50W10sXG4gICAgYWNjZXNzb3J5OiAocGF5bG9hZC5hY2Nlc3NvcnkgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5hY2Nlc3NvcnkpIDogdW5kZWZpbmVkKSBhcyBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudFsnYWNjZXNzb3J5J10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBmaWxlOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUhKSxcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lISxcbiAgICBzaXplOiBwYXlsb2FkLnNpemUhLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZWRpYUdhbGxlcnksXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgaXRlbXM6IHBheWxvYWQuaXRlbXM/Lm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBpdGVtKSkgPz8gW10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBtZWRpYTogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5tZWRpYSEpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTGFiZWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRMYWJlbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsISxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBjb21wb25lbnQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBwYXlsb2FkLmNvbXBvbmVudCEpIGFzIERpc2NvcmRMYWJlbENvbXBvbmVudFsnY29tcG9uZW50J10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZVVwbG9hZCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9O1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwiQ2hhbm5lbFNlbGVjdCIsIlJvbGVTZWxlY3QiLCJVc2VyU2VsZWN0IiwiTWVudGlvbmFibGVTZWxlY3QiLCJ0cmFuc2Zvcm1TZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIk1lZGlhR2FsbGVyeSIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudCIsIlRodW1ibmFpbCIsInRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudCIsIkxhYmVsIiwidHJhbnNmb3JtTGFiZWxDb21wb25lbnQiLCJGaWxlVXBsb2FkIiwidHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudCIsIlNlcGFyYXRvciIsIlRleHREaXNwbGF5IiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW1Ub0Rpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSIsInVybCIsInByb3h5X3VybCIsInByb3h5VXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJjb250ZW50X3R5cGUiLCJjb250ZW50VHlwZSIsImF0dGFjaG1lbnRfaWQiLCJhdHRhY2htZW50SWQiLCJ0cmFuc2Zvcm1lcnMiLCJyZXZlcnNlIiwic25vd2ZsYWtlIiwidW5kZWZpbmVkIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0iLCJtZWRpYSIsInVuZnVybGVkTWVkaWFJdGVtIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29tcG9uZW50IiwiYWNjZW50X2NvbG9yIiwiYWNjZW50Q29sb3IiLCJzdHlsZSIsImN1c3RvbV9pZCIsImN1c3RvbUlkIiwiZGlzYWJsZWQiLCJlbW9qaSIsIm5hbWUiLCJhbmltYXRlZCIsImxhYmVsIiwic2t1X2lkIiwic2t1SWQiLCJfYm90IiwidmFsdWUiLCJtYXhfbGVuZ3RoIiwibWF4TGVuZ3RoIiwibWluX2xlbmd0aCIsIm1pbkxlbmd0aCIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJ2YWx1ZXMiLCJjaGFubmVsX3R5cGVzIiwiY2hhbm5lbFR5cGVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdFZhbHVlIiwibWF4X3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1pbl92YWx1ZXMiLCJtaW5WYWx1ZXMiLCJvcHRpb25zIiwib3B0aW9uIiwiZGVmYXVsdCIsImFjY2Vzc29yeSIsImZpbGUiLCJzaXplIiwiaXRlbXMiLCJpdGVtIiwibWVkaWFHYWxsZXJ5SXRlbSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FvQkVBLHFCQUFxQixRQUVoQixvQkFBb0I7QUFJM0IsT0FBTyxTQUFTQyxxQ0FDZEMsR0FBUSxFQUNSQyxPQUFrQjtJQUVsQix1Q0FBdUM7SUFDdkMsT0FBUUEsUUFBUUMsSUFBSTtRQUNsQixLQUFLSixzQkFBc0JLLFNBQVM7WUFDbEMsT0FBT0MsbUJBQW1CSixLQUFLQztRQUNqQyxLQUFLSCxzQkFBc0JPLE1BQU07WUFDL0IsT0FBT0MseUJBQXlCTixLQUFLQztRQUN2QyxLQUFLSCxzQkFBc0JTLFNBQVM7WUFDbEMsT0FBT0MsNEJBQTRCUixLQUFLQztRQUMxQyxLQUFLSCxzQkFBc0JXLFNBQVM7WUFDbEMsT0FBT0MsNEJBQTRCVixLQUFLQztRQUMxQyxLQUFLSCxzQkFBc0JhLFlBQVk7UUFDdkMsS0FBS2Isc0JBQXNCYyxhQUFh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
|
|
332
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCdXR0b25TdHlsZXMsXG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTGFiZWxDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJvbGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIHR5cGUgRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFVzZXJTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG4gIHR5cGUgU2VsZWN0T3B0aW9uLFxuICB0eXBlIFRleHRTdHlsZXMsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50LCBNZWRpYUdhbGxlcnlJdGVtLCBVbmZ1cmxlZE1lZGlhSXRlbSB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudChcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IENvbXBvbmVudCxcbik6IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLy8gVGhpcyBzd2l0Y2ggc2hvdWxkIGluY2x1ZGUgYWxsIGNhc2VzXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUFjdGlvblJvdyhib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtUm9sZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1GaWxlQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGVVcGxvYWQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJhZGlvR3JvdXA6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ2hlY2tib3hHcm91cENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHREaXNwbGF5OlxuICAgICAgLy8gQXMgb2Ygbm93IHRoZXkgYXJlIGNvbXBhdGlibGVcbiAgICAgIHJldHVybiBwYXlsb2FkIGFzIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSk6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSB7XG4gIHJldHVybiB7XG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBwcm94eV91cmw6IHBheWxvYWQucHJveHlVcmwsXG4gICAgaGVpZ2h0OiBwYXlsb2FkLmhlaWdodCxcbiAgICB3aWR0aDogcGF5bG9hZC53aWR0aCxcbiAgICBjb250ZW50X3R5cGU6IHBheWxvYWQuY29udGVudFR5cGUsXG4gICAgYXR0YWNobWVudF9pZDogcGF5bG9hZC5hdHRhY2htZW50SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudElkKSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBNZWRpYUdhbGxlcnlJdGVtKTogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0ge1xuICByZXR1cm4ge1xuICAgIG1lZGlhOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEFjdGlvblJvdyB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkFjdGlvblJvdyxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICAvLyBUaGUgYWN0aW9uUm93LmNvbXBvbmVudHMgdHlwZSBpcyBraW5kYSBhbm5veWluZywgc28gd2UgbmVlZCBhIGNhc3QgZm9yIHRoaXNcbiAgICBjb21wb25lbnRzOiAocGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpID8/IFtdKSBhcyBEaXNjb3JkQWN0aW9uUm93Wydjb21wb25lbnRzJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBhY2NlbnRfY29sb3I6IHBheWxvYWQuYWNjZW50Q29sb3IsXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICAgIGNvbXBvbmVudHM6IChwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgPz9cbiAgICAgIFtdKSBhcyBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50Wydjb21wb25lbnRzJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB7XG4gIC8vIFNpbmNlIENvbXBvbmVudCBpcyBhIG1lcmdlIG9mIGFsbCBjb21wb25lbnRzLCBzb21lIGNhc3RzIGFyZSBuZWNlc3NhcnlcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlIGFzIEJ1dHRvblN0eWxlcyxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgZW1vamk6IHBheWxvYWQuZW1vamlcbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBwYXlsb2FkLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmVtb2ppLmlkKSA6IG51bGwsXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5lbW9qaS5uYW1lID8/IG51bGwsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsLFxuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgc2t1X2lkOiBwYXlsb2FkLnNrdUlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLnNrdUlkKSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KF9ib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCB8IERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLy8gU2luY2UgQ29tcG9uZW50IGlzIGEgbWVyZ2Ugb2YgYWxsIGNvbXBvbmVudHMsIHNvbWUgY2FzdHMgYXJlIG5lY2Vzc2FyeVxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgc3R5bGU6IHBheWxvYWQuc3R5bGUgYXMgVGV4dFN0eWxlcyxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsISxcbiAgICB2YWx1ZTogcGF5bG9hZC52YWx1ZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgbWF4X2xlbmd0aDogcGF5bG9hZC5tYXhMZW5ndGgsXG4gICAgbWluX2xlbmd0aDogcGF5bG9hZC5taW5MZW5ndGgsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVN0cmluZ1NlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBDb21wb25lbnQsXG4pOiBEaXNjb3JkU3RyaW5nU2VsZWN0Q29tcG9uZW50IHwgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgIH0gc2F0aXNmaWVzIERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU3RyaW5nU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgb3B0aW9uczogKHBheWxvYWQub3B0aW9ucyBhcyBTZWxlY3RPcHRpb25bXSB8IHVuZGVmaW5lZCk/Lm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgZW1vamk6IG9wdGlvbi5lbW9qaVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGlkOiBvcHRpb24uZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiBudWxsLFxuICAgICAgICAgICAgbmFtZTogb3B0aW9uLmVtb2ppLm5hbWUgPz8gbnVsbCxcbiAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgIH0pKSEsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH0gc2F0aXNmaWVzIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVVzZXJTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVJvbGVTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkUm9sZVNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lbnRpb25hYmxlU2VsZWN0TWVudUNvbXBvbmVudChcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IENvbXBvbmVudCxcbik6IERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lbnRpb25hYmxlU2VsZWN0LFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLnZhbHVlcyxcbiAgICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgICBpZDogcGF5bG9hZC5pZCEsXG4gICAgICAvLyBUT0RPOiBBZGQgcmVzb2x2ZWQgcmV2ZXJzZSB0cmFuc2Zvcm1lclxuICAgICAgcmVzb2x2ZWQ6IHt9LFxuICAgIH0gc2F0aXNmaWVzIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIGRlZmF1bHRfdmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRWYWx1ZXM/Lm1hcCgodmFsdWUpID0+ICh7IGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHZhbHVlLmlkKSwgdHlwZTogdmFsdWUudHlwZSB9KSksXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH0gc2F0aXNmaWVzIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdENvbXBvbmVudDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ2hhbm5lbFNlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBDb21wb25lbnQsXG4pOiBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkQ2hhbm5lbFNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgICBjaGFubmVsX3R5cGVzOiBwYXlsb2FkLmNoYW5uZWxUeXBlcyxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZENoYW5uZWxTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjb21wb25lbnRzOiBwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgYXMgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50W10sXG4gICAgYWNjZXNzb3J5OiAocGF5bG9hZC5hY2Nlc3NvcnkgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5hY2Nlc3NvcnkpIDogdW5kZWZpbmVkKSBhcyBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudFsnYWNjZXNzb3J5J10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBmaWxlOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUhKSxcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lISxcbiAgICBzaXplOiBwYXlsb2FkLnNpemUhLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZWRpYUdhbGxlcnksXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgaXRlbXM6IHBheWxvYWQuaXRlbXM/Lm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBpdGVtKSkgPz8gW10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBtZWRpYTogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5tZWRpYSEpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTGFiZWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRMYWJlbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsISxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBjb21wb25lbnQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBwYXlsb2FkLmNvbXBvbmVudCEpIGFzIERpc2NvcmRMYWJlbENvbXBvbmVudFsnY29tcG9uZW50J10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZVVwbG9hZCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1SYWRpb0dyb3VwQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkUmFkaW9Hcm91cENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJhZGlvR3JvdXAsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnMgPz8gW10sXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hlY2tib3hHcm91cCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIG9wdGlvbnM6IHBheWxvYWQub3B0aW9ucyA/PyBbXSxcbiAgICBtaW5fdmFsdWVzOiBwYXlsb2FkLm1pblZhbHVlcyxcbiAgICBtYXhfdmFsdWVzOiBwYXlsb2FkLm1heFZhbHVlcyxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ2hlY2tib3hDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRDaGVja2JveENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGVmYXVsdDogcGF5bG9hZC5kZWZhdWx0LFxuICB9O1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwidHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudCIsIlVzZXJTZWxlY3QiLCJ0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudCIsIlJvbGVTZWxlY3QiLCJ0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtTWVudGlvbmFibGVTZWxlY3RNZW51Q29tcG9uZW50IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIk1lZGlhR2FsbGVyeSIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudCIsIlRodW1ibmFpbCIsInRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudCIsIkxhYmVsIiwidHJhbnNmb3JtTGFiZWxDb21wb25lbnQiLCJGaWxlVXBsb2FkIiwidHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudCIsIlJhZGlvR3JvdXAiLCJ0cmFuc2Zvcm1SYWRpb0dyb3VwQ29tcG9uZW50IiwiQ2hlY2tib3hHcm91cCIsInRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQiLCJDaGVja2JveCIsInRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50IiwiU2VwYXJhdG9yIiwiVGV4dERpc3BsYXkiLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtIiwidXJsIiwicHJveHlfdXJsIiwicHJveHlVcmwiLCJoZWlnaHQiLCJ3aWR0aCIsImNvbnRlbnRfdHlwZSIsImNvbnRlbnRUeXBlIiwiYXR0YWNobWVudF9pZCIsImF0dGFjaG1lbnRJZCIsInRyYW5zZm9ybWVycyIsInJldmVyc2UiLCJzbm93Zmxha2UiLCJ1bmRlZmluZWQiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJkZXNjcmlwdGlvbiIsInNwb2lsZXIiLCJpZCIsImNvbXBvbmVudHMiLCJtYXAiLCJjb21wb25lbnQiLCJhY2NlbnRfY29sb3IiLCJhY2NlbnRDb2xvciIsInN0eWxlIiwiY3VzdG9tX2lkIiwiY3VzdG9tSWQiLCJkaXNhYmxlZCIsImVtb2ppIiwibmFtZSIsImFuaW1hdGVkIiwibGFiZWwiLCJza3VfaWQiLCJza3VJZCIsIl9ib3QiLCJ2YWx1ZSIsIm1heF9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtaW5fbGVuZ3RoIiwibWluTGVuZ3RoIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsInZhbHVlcyIsIm1heF92YWx1ZXMiLCJtYXhWYWx1ZXMiLCJtaW5fdmFsdWVzIiwibWluVmFsdWVzIiwib3B0aW9ucyIsIm9wdGlvbiIsImRlZmF1bHQiLCJyZXNvbHZlZCIsImRlZmF1bHRfdmFsdWVzIiwiZGVmYXVsdFZhbHVlcyIsImNoYW5uZWxfdHlwZXMiLCJjaGFubmVsVHlwZXMiLCJhY2Nlc3NvcnkiLCJmaWxlIiwic2l6ZSIsIml0ZW1zIiwiaXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iXSwibWFwcGluZ3MiOiJBQUFBLFNBK0JFQSxxQkFBcUIsUUFHaEIsb0JBQW9CO0FBSTNCLE9BQU8sU0FBU0MscUNBQ2RDLEdBQVEsRUFDUkMsT0FBa0I7SUFFbEIsdUNBQXVDO0lBQ3ZDLE9BQVFBLFFBQVFDLElBQUk7UUFDbEIsS0FBS0osc0JBQXNCSyxTQUFTO1lBQ2xDLE9BQU9DLG1CQUFtQkosS0FBS0M7UUFDakMsS0FBS0gsc0JBQXNCTyxNQUFNO1lBQy9CLE9BQU9DLHlCQUF5Qk4sS0FBS0M7UUFDdkMsS0FBS0gsc0JBQXNCUyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlIsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCVyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlYsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCYSxZQUFZO1lBQ3JDLE9BQU9DLG1DQUFtQ1osS0FBS0M7UUFDakQsS0FBS0gsc0JBQXNCZSxVQUFVO1lBQ25DLE9BQU9DLGlDQUFpQ2QsS0FBS0M7UUFDL0MsS0FBS0gsc0JBQXNCaUIsVUFBVTtZQUNuQyxPQUFPQyxpQ0FBaUNoQixLQUFLQztRQUMvQyxLQUFLSCxzQkFBc0JtQixpQkFBaUI7WUFDMUMsT0FBT0Msd0NBQXdDbEIsS0FBS0M7UUFDdEQsS0FBS0gs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
|
|
@@ -39,7 +39,7 @@ export declare const GuildToggle: {
|
|
|
39
39
|
invitesDisabled: bigint;
|
|
40
40
|
/** Whether the guild has access to set an invite splash background */
|
|
41
41
|
inviteSplash: bigint;
|
|
42
|
-
/** Whether the guild has enabled [Membership Screening](https://discord.com/developers/
|
|
42
|
+
/** Whether the guild has enabled [Membership Screening](https://docs.discord.com/developers/resources/guild#membership-screening-object) */
|
|
43
43
|
memberVerificationGateEnabled: bigint;
|
|
44
44
|
/** Whether the guild has more soundboard sound slot */
|
|
45
45
|
moreSoundboard: bigint;
|
|
@@ -119,7 +119,7 @@ export declare class GuildToggles extends ToggleBitfieldBigint {
|
|
|
119
119
|
get banner(): boolean;
|
|
120
120
|
/** Whether the guild has enabled the welcome screen */
|
|
121
121
|
get welcomeScreenEnabled(): boolean;
|
|
122
|
-
/** Whether the guild has enabled [Membership Screening](https://discord.com/developers/
|
|
122
|
+
/** Whether the guild has enabled [Membership Screening](https://docs.discord.com/developers/resources/guild#membership-screening-object) */
|
|
123
123
|
get memberVerificationGateEnabled(): boolean;
|
|
124
124
|
/** Whether the guild has more soundboard sound slot */
|
|
125
125
|
get moreSoundboard(): boolean;
|
|
@@ -53,7 +53,7 @@ export const GuildToggle = {
|
|
|
53
53
|
/** Whether the guild is able to be featured in the directory */ featurable: 1n << 15n,
|
|
54
54
|
/** Whether the guild has paused invites, preventing new users from joining */ invitesDisabled: 1n << 29n,
|
|
55
55
|
/** Whether the guild has access to set an invite splash background */ inviteSplash: 1n << 5n,
|
|
56
|
-
/** Whether the guild has enabled [Membership Screening](https://discord.com/developers/
|
|
56
|
+
/** Whether the guild has enabled [Membership Screening](https://docs.discord.com/developers/resources/guild#membership-screening-object) */ memberVerificationGateEnabled: 1n << 19n,
|
|
57
57
|
/** Whether the guild has more soundboard sound slot */ moreSoundboard: 1n << 24n,
|
|
58
58
|
/** Whether the guild has increased custom sticker slots */ moreStickers: 1n << 23n,
|
|
59
59
|
/** Whether the guild has access to create news channels */ news: 1n << 12n,
|
|
@@ -186,7 +186,7 @@ export class GuildToggles extends ToggleBitfieldBigint {
|
|
|
186
186
|
/** Whether the guild has enabled the welcome screen */ get welcomeScreenEnabled() {
|
|
187
187
|
return this.has('welcomeScreenEnabled');
|
|
188
188
|
}
|
|
189
|
-
/** Whether the guild has enabled [Membership Screening](https://discord.com/developers/
|
|
189
|
+
/** Whether the guild has enabled [Membership Screening](https://docs.discord.com/developers/resources/guild#membership-screening-object) */ get memberVerificationGateEnabled() {
|
|
190
190
|
return this.has('memberVerificationGateEnabled');
|
|
191
191
|
}
|
|
192
192
|
/** Whether the guild has more soundboard sound slot */ get moreSoundboard() {
|
|
@@ -253,4 +253,4 @@ export class GuildToggles extends ToggleBitfieldBigint {
|
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9ndWlsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERpc2NvcmRHdWlsZCwgR3VpbGRGZWF0dXJlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkQmlnaW50IH0gZnJvbSAnLi9Ub2dnbGVCaXRmaWVsZC5qcyc7XG5cbi8qKiBAcHJpdmF0ZSBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZXMgKi9cbmV4cG9ydCBjb25zdCBndWlsZEZlYXR1cmVOYW1lcyA9IFtcbiAgJ2FuaW1hdGVkQmFubmVyJyxcbiAgJ2FuaW1hdGVkSWNvbicsXG4gICdhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyJyxcbiAgJ2F1dG9Nb2RlcmF0aW9uJyxcbiAgJ2Jhbm5lcicsXG4gICdjb21tdW5pdHknLFxuICAnY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwnLFxuICAnY3JlYXRvclN0b3JlUGFnZScsXG4gICdkZXZlbG9wZXJTdXBwb3J0U2VydmVyJyxcbiAgJ2Rpc2NvdmVyYWJsZScsXG4gICdmZWF0dXJhYmxlJyxcbiAgJ2ludml0ZXNEaXNhYmxlZCcsXG4gICdpbnZpdGVTcGxhc2gnLFxuICAnbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQnLFxuICAnbW9yZVNvdW5kYm9hcmQnLFxuICAnbW9yZVN0aWNrZXJzJyxcbiAgJ25ld3MnLFxuICAncGFydG5lcmVkJyxcbiAgJ3ByZXZpZXdFbmFibGVkJyxcbiAgJ3JhaWRBbGVydHNEaXNhYmxlZCcsXG4gICdyb2xlSWNvbnMnLFxuICAncm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZScsXG4gICdyb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQnLFxuICAndGlja2V0ZWRFdmVudHNFbmFibGVkJyxcbiAgJ3Zhbml0eVVybCcsXG4gICd2ZXJpZmllZCcsXG4gICd2aXBSZWdpb25zJyxcbiAgJ3dlbGNvbWVTY3JlZW5FbmFibGVkJyxcbiAgJ2d1ZXN0c0VuYWJsZWQnLFxuICAnZ3VpbGRUYWdzJyxcbiAgJ2VuaGFuY2VkUm9sZUNvbG9ycycsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgR3VpbGRUb2dnbGUgPSB7XG4gIC8qKiBXaGV0aGVyIHRoZSBib3QgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcjogMW4gPDwgMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgd2lkZ2V0RW5hYmxlZDogMW4gPDwgMW4sXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGxhcmdlOiAxbiA8PCAybixcbiAgLyoqIFdoZXRoZXIgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIHVuYXZhaWxhYmxlOiAxbiA8PCAzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZDogMW4gPDwgNG4sXG5cbiAgLy8gR1VJTEQgRkVBVFVSRVMgQVJFIEJFTE9XIFRISVNcblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGFuaW1hdGVkQmFubmVyOiAxbiA8PCAxMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBpY29uICovXG4gIGFuaW1hdGVkSWNvbjogMW4gPDwgMTZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdXNpbmcgdGhlIG9sZCBwZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uIGJlaGF2aW9yICovXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjI6IDFuIDw8IDE0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBzZXQgdXAgYXV0byBtb2RlcmF0aW9uIHJ1bGVzICovXG4gIGF1dG9Nb2RlcmF0aW9uOiAxbiA8PCAyOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBiYW5uZXI6IDFuIDw8IDE3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBlbmFibGUgd2VsY29tZSBzY3JlZW4sIE1lbWJlcnNoaXAgU2NyZWVuaW5nLCBzdGFnZSBjaGFubmVscyBhbmQgZGlzY292ZXJ5LCBhbmQgcmVjZWl2ZXMgY29tbXVuaXR5IHVwZGF0ZXMgKi9cbiAgY29tbXVuaXR5OiAxbiA8PCAxMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBtb25ldGl6YXRpb24uICovXG4gIGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsOiAxbiA8PCAzMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgY3JlYXRvclN0b3JlUGFnZTogMW4gPDwgMzJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcjogMW4gPDwgMzBuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBkaXNjb3ZlcmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZGlzY292ZXJhYmxlOiAxbiA8PCAxM24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGZlYXR1cmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZmVhdHVyYWJsZTogMW4gPDwgMTVuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHBhdXNlZCBpbnZpdGVzLCBwcmV2ZW50aW5nIG5ldyB1c2VycyBmcm9tIGpvaW5pbmcgKi9cbiAgaW52aXRlc0Rpc2FibGVkOiAxbiA8PCAyOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBpbnZpdGUgc3BsYXNoIGJhY2tncm91bmQgKi9cbiAgaW52aXRlU3BsYXNoOiAxbiA8PCA1bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIFtNZW1iZXJzaGlwIFNjcmVlbmluZ10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI21lbWJlcnNoaXAtc2NyZWVuaW5nLW9iamVjdCkgKi9cbiAgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQ6IDFuIDw8IDE5bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBtb3JlIHNvdW5kYm9hcmQgc291bmQgc2xvdCAqL1xuICBtb3JlU291bmRib2FyZDogMW4gPDwgMjRuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBtb3JlU3RpY2tlcnM6IDFuIDw8IDIzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgbmV3czogMW4gPDwgMTJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgcGFydG5lcmVkICovXG4gIHBhcnRuZXJlZDogMW4gPDwgOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gYmUgcHJldmlld2VkIGJlZm9yZSBqb2luaW5nIHZpYSBNZW1iZXJzaGlwIFNjcmVlbmluZyBvciB0aGUgZGlyZWN0b3J5ICovXG4gIHByZXZpZXdFbmFibGVkOiAxbiA8PCAyMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZGlzYWJsZWQgYWxlcnRzIGZvciBqb2luIHJhaWRzIGluIHRoZSBjb25maWd1cmVkIHNhZmV0eSBhbGVydHMgY2hhbm5lbCAqL1xuICByYWlkQWxlcnRzRGlzYWJsZWQ6IDFuIDw8IDIybixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgcm9sZUljb25zOiAxbiA8PCAyN24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcm9sZSBzdWJzY3JpcHRpb25zIHRoYXQgY2FuIGJlIHB1cmNoYXNlZC4gKi9cbiAgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZTogMW4gPDwgMzNuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgcm9sZSBzdWJzY3JpcHRpb25zLiAqL1xuICByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQ6IDFuIDw8IDM0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBjcmVhdGVkIHNvdW5kYm9hcmQgc291bmRzLiAqL1xuICBzb3VuZGJvYXJkOiAxbiA8PCAyNW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aWNrZXRlZCBldmVudHMgKi9cbiAgdGlja2V0ZWRFdmVudHNFbmFibGVkOiAxbiA8PCAyMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIHZhbml0eSBVUkwgKi9cbiAgdmFuaXR5VXJsOiAxbiA8PCA3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHZlcmlmaWVkICovXG4gIHZlcmlmaWVkOiAxbiA8PCA4bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIHZpcFJlZ2lvbnM6IDFuIDw8IDZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIHdlbGNvbWVTY3JlZW5FbmFibGVkOiAxbiA8PCAxOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIGd1ZXN0IGludml0ZXMgKi9cbiAgZ3Vlc3RzRW5hYmxlZDogMW4gPDwgMjZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgZ3VpbGQgdGFncyAqL1xuICBndWlsZFRhZ3M6IDFuIDw8IDM2bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IGdyYWRpZW50IGNvbG9ycyB0byByb2xlcyAqL1xuICBlbmhhbmNlZFJvbGVDb2xvcnM6IDFuIDw8IDM1bixcbn07XG5cbmV4cG9ydCBjbGFzcyBHdWlsZFRvZ2dsZXMgZXh0ZW5kcyBUb2dnbGVCaXRmaWVsZEJpZ2ludCB7XG4gIGNvbnN0cnVjdG9yKGd1aWxkT3JUb2dnbGVzQmlnaW50OiBEaXNjb3JkR3VpbGQgfCBiaWdpbnQpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKHR5cGVvZiBndWlsZE9yVG9nZ2xlc0JpZ2ludCA9PT0gJ2JpZ2ludCcpIHRoaXMuYml0ZmllbGQgPSBndWlsZE9yVG9nZ2xlc0JpZ2ludDtcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGd1aWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnQ7XG4gICAgICAvLyBDYXVzZSBkaXNjb3JkIGJlIHNtYXJ0IGxpa2UgdGhhdFxuICAgICAgaWYgKCFndWlsZC5mZWF0dXJlcykgZ3VpbGQuZmVhdHVyZXMgPSBbXTtcblxuICAgICAgaWYgKGd1aWxkLm93bmVyKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5vd25lcik7XG4gICAgICBpZiAoZ3VpbGQud2lkZ2V0X2VuYWJsZWQpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLndpZGdldEVuYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmxhcmdlKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5sYXJnZSk7XG4gICAgICBpZiAoZ3VpbGQudW5hdmFpbGFibGUpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnVuYXZhaWxhYmxlKTtcbiAgICAgIGlmIChndWlsZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKTtcblxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQW5pbWF0ZWRCYW5uZXIpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hbmltYXRlZEJhbm5lcik7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BbmltYXRlZEljb24pKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hbmltYXRlZEljb24pO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXV0b01vZGVyYXRpb24pKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hdXRvTW9kZXJhdGlvbik7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5CYW5uZXIpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5iYW5uZXIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ29tbXVuaXR5KSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY29tbXVuaXR5KTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ3JlYXRvclN0b3JlUGFnZSkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmNyZWF0b3JTdG9yZVBhZ2UpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGV2ZWxvcGVyU3VwcG9ydFNlcnZlcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmRldmVsb3BlclN1cHBvcnRTZXJ2ZXIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGlzY292ZXJhYmxlKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZGlzY292ZXJhYmxlKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkZlYXR1cmFibGUpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5mZWF0dXJhYmxlKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZXNEaXNhYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZXNEaXNhYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5JbnZpdGVTcGxhc2gpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5pbnZpdGVTcGxhc2gpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5tZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Nb3JlU291bmRib2FyZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1vcmVTb3VuZGJvYXJkKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLk1vcmVTdGlja2VycykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1vcmVTdGlja2Vycyk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5OZXdzKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubmV3cyk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QYXJ0bmVyZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wYXJ0bmVyZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUHJldmlld0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmV2aWV3RW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5SYWlkQWxlcnRzRGlzYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yYWlkQWxlcnRzRGlzYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZUljb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucm9sZUljb25zKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Tb3VuZGJvYXJkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuc291bmRib2FyZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5UaWNrZXRlZEV2ZW50c0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS50aWNrZXRlZEV2ZW50c0VuYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuVmFuaXR5VXJsKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmFuaXR5VXJsKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZlcmlmaWVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmVyaWZpZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuVmlwUmVnaW9ucykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnZpcFJlZ2lvbnMpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuV2VsY29tZVNjcmVlbkVuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS53ZWxjb21lU2NyZWVuRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5HdWVzdHNFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZ3Vlc3RzRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5HdWlsZFRhZ3MpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5ndWlsZFRhZ3MpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRW5oYW5jZWRSb2xlQ29sb3JzKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZW5oYW5jZWRSb2xlQ29sb3JzKTtcbiAgICB9XG4gIH1cblxuICBnZXQgZmVhdHVyZXMoKTogR3VpbGRGZWF0dXJlS2V5c1tdIHtcbiAgICBjb25zdCBmZWF0dXJlczogR3VpbGRGZWF0dXJlS2V5c1tdID0gW107XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoR3VpbGRUb2dnbGUpKSB7XG4gICAgICBpZiAoIWd1aWxkRmVhdHVyZU5hbWVzLmluY2x1ZGVzKGtleSBhcyBHdWlsZEZlYXR1cmVLZXlzKSkgY29udGludWU7XG4gICAgICBpZiAoIXN1cGVyLmNvbnRhaW5zKEd1aWxkVG9nZ2xlW2tleSBhcyBHdWlsZFRvZ2dsZUtleXNdKSkgY29udGludWU7XG5cbiAgICAgIGZlYXR1cmVzLnB1c2goa2V5IGFzIEd1aWxkRmVhdHVyZUtleXMpO1xuICAgIH1cblxuICAgIHJldHVybiBmZWF0dXJlcztcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBib3QgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBnZXQgb3duZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdvd25lcicpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHNlcnZlciB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICBnZXQgd2lkZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3dpZGdldEVuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGdldCBsYXJnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2xhcmdlJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGlzIGd1aWxkIGlzIHVuYXZhaWxhYmxlIGR1ZSB0byBhbiBvdXRhZ2UgKi9cbiAgZ2V0IHVuYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndW5hdmFpbGFibGUnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgdGhlIGJvb3N0IHByb2dyZXNzIGJhciBlbmFibGVkICovXG4gIGdldCBwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGludml0ZSBzcGxhc2ggYmFja2dyb3VuZCAqL1xuICBnZXQgaW52aXRlU3BsYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaW52aXRlU3BsYXNoJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgMzg0IGticHMgYml0cmF0ZSBpbiB2b2ljZSAocHJldmlvdXNseSBWSVAgdm9pY2Ugc2VydmVycykgKi9cbiAgZ2V0IHZpcFJlZ2lvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2aXBSZWdpb25zJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYSB2YW5pdHkgVVJMICovXG4gIGdldCB2YW5pdHlVcmwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2YW5pdHlVcmwnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyB2ZXJpZmllZCAqL1xuICBnZXQgdmVyaWZpZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2ZXJpZmllZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHBhcnRuZXJlZCAqL1xuICBnZXQgcGFydG5lcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncGFydG5lcmVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgY2FuIGVuYWJsZSB3ZWxjb21lIHNjcmVlbiwgTWVtYmVyc2hpcCBTY3JlZW5pbmcsIHN0YWdlIGNoYW5uZWxzIGFuZCBkaXNjb3ZlcnksIGFuZCByZWNlaXZlcyBjb21tdW5pdHkgdXBkYXRlcyAqL1xuICBnZXQgY29tbXVuaXR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY29tbXVuaXR5Jyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgR3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZ2V0IGRldmVsb3BlclN1cHBvcnRTZXJ2ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkZXZlbG9wZXJTdXBwb3J0U2VydmVyJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGdldCBhbmltYXRlZEJhbm5lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FuaW1hdGVkQmFubmVyJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBjcmVhdGUgbmV3cyBjaGFubmVscyAqL1xuICBnZXQgbmV3cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ25ld3MnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGRpc2NvdmVyZWQgaW4gdGhlIGRpcmVjdG9yeSAqL1xuICBnZXQgZGlzY292ZXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZGlzY292ZXJhYmxlJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBmZWF0dXJlZCBpbiB0aGUgZGlyZWN0b3J5ICovXG4gIGdldCBmZWF0dXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZmVhdHVyYWJsZScpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGFuaW1hdGVkIGd1aWxkIGljb24gKi9cbiAgZ2V0IGFuaW1hdGVkSWNvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FuaW1hdGVkSWNvbicpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGEgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGdldCBiYW5uZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdiYW5uZXInKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgd2VsY29tZSBzY3JlZW4gKi9cbiAgZ2V0IHdlbGNvbWVTY3JlZW5FbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnd2VsY29tZVNjcmVlbkVuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBbTWVtYmVyc2hpcCBTY3JlZW5pbmddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNtZW1iZXJzaGlwLXNjcmVlbmluZy1vYmplY3QpICovXG4gIGdldCBtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIG1vcmUgc291bmRib2FyZCBzb3VuZCBzbG90ICovXG4gIGdldCBtb3JlU291bmRib2FyZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21vcmVTb3VuZGJvYXJkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgY2FuIGJlIHByZXZpZXdlZCBiZWZvcmUgam9pbmluZyB2aWEgTWVtYmVyc2hpcCBTY3JlZW5pbmcgb3IgdGhlIGRpcmVjdG9yeSAqL1xuICBnZXQgcHJldmlld0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdwcmV2aWV3RW5hYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRpY2tldGVkIGV2ZW50cyAqL1xuICBnZXQgdGlja2V0ZWRFdmVudHNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndGlja2V0ZWRFdmVudHNFbmFibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBnZXQgbW9yZVN0aWNrZXJzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbW9yZVN0aWNrZXJzJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBzZXQgcm9sZSBpY29ucyAqL1xuICBnZXQgcm9sZUljb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncm9sZUljb25zJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHNldCB1cCBhdXRvIG1vZGVyYXRpb24gcnVsZXMgKi9cbiAgZ2V0IGF1dG9Nb2RlcmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXV0b01vZGVyYXRpb24nKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcGF1c2VkIGludml0ZXMsIHByZXZlbnRpbmcgbmV3IHVzZXJzIGZyb20gam9pbmluZyAqL1xuICBnZXQgaW52aXRlc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaW52aXRlc0Rpc2FibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdXNpbmcgdGhlIG9sZCBwZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uIGJlaGF2aW9yICovXG4gIGdldCBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMicpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIG1vbmV0aXphdGlvbi4gKi9cbiAgZ2V0IGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgZ2V0IGNyZWF0b3JTdG9yZVBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdjcmVhdG9yU3RvcmVQYWdlJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGRpc2FibGVkIGFsZXJ0cyBmb3Igam9pbiByYWlkcyBpbiB0aGUgY29uZmlndXJlZCBzYWZldHkgYWxlcnRzIGNoYW5uZWwgKi9cbiAgZ2V0IHJhaWRBbGVydHNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JhaWRBbGVydHNEaXNhYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyByb2xlIHN1YnNjcmlwdGlvbnMgdGhhdCBjYW4gYmUgcHVyY2hhc2VkLiAqL1xuICBnZXQgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCByb2xlIHN1YnNjcmlwdGlvbnMuICovXG4gIGdldCByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgY3JlYXRlZCBzb3VuZGJvYXJkIHNvdW5kcy4gKi9cbiAgZ2V0IHNvdW5kYm9hcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdzb3VuZGJvYXJkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBndWVzdCBpbnZpdGVzICovXG4gIGdldCBndWVzdHNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZ3Vlc3RzRW5hYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGd1aWxkIHRhZ3MgKi9cbiAgZ2V0IGd1aWxkVGFncygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2d1aWxkVGFncycpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IGdyYWRpZW50IGNvbG9ycyB0byByb2xlcyAqL1xuICBnZXQgZW5oYW5jZWRSb2xlQ29sb3JzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZW5oYW5jZWRSb2xlQ29sb3JzJyk7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSBwZXJtaXNzaW9ucyBleGlzdCBpbiB0aGlzICovXG4gIGhhcyhwZXJtaXNzaW9uczogR3VpbGRUb2dnbGVLZXlzIHwgR3VpbGRUb2dnbGVLZXlzW10pOiBib29sZWFuIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGVybWlzc2lvbnMpKSByZXR1cm4gc3VwZXIuY29udGFpbnMoR3VpbGRUb2dnbGVbcGVybWlzc2lvbnNdKTtcblxuICAgIHJldHVybiBzdXBlci5jb250YWlucyhwZXJtaXNzaW9ucy5yZWR1Y2UoKGEsIGIpID0+IChhIHw9IEd1aWxkVG9nZ2xlW2JdKSwgMG4pKTtcbiAgfVxuXG4gIC8qKiBMaXN0cyBhbGwgdGhlIHRvZ2dsZXMgZm9yIHRoZSByb2xlIGFuZCB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIHRydWUgb3IgZmFsc2UuICovXG4gIGxpc3QoKTogUmVjb3JkPEd1aWxkVG9nZ2xlS2V5cywgYm9vbGVhbj4ge1xuICAgIGNvbnN0IGpzb246IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoR3VpbGRUb2dnbGUpKSB7XG4gICAgICBqc29uW2tleV0gPSBzdXBlci5jb250YWlucyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGpzb24gYXMgUmVjb3JkPEd1aWxkVG9nZ2xlS2V5cywgYm9vbGVhbj47XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgR3VpbGRUb2dnbGVLZXlzID0ga2V5b2YgdHlwZW9mIEd1aWxkVG9nZ2xlO1xuXG5leHBvcnQgdHlwZSBHdWlsZEZlYXR1cmVLZXlzID0gKHR5cGVvZiBndWlsZEZlYXR1cmVOYW1lcylbbnVtYmVyXTtcbiJdLCJuYW1lcyI6WyJHdWlsZEZlYXR1cmVzIiwiVG9nZ2xlQml0ZmllbGRCaWdpbnQiLCJndWlsZEZlYXR1cmVOYW1lcyIsIkd1aWxkVG9nZ2xlIiwib3duZXIiLCJ3aWRnZXRFbmFibGVkIiwibGFyZ2UiLCJ1bmF2YWlsYWJsZSIsInByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQiLCJhbmltYXRlZEJhbm5lciIsImFuaW1hdGVkSWNvbiIsImFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIiLCJhdXRvTW9kZXJhdGlvbiIsImJhbm5lciIsImNvbW11bml0eSIsImNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsIiwiY3JlYXRvclN0b3JlUGFnZSIsImRldmVsb3BlclN1cHBvcnRTZXJ2ZXIiLCJkaXNjb3ZlcmFibGUiLCJmZWF0dXJhYmxlIiwiaW52aXRlc0Rpc2FibGVkIiwiaW52aXRlU3BsYXNoIiwibWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQiLCJtb3JlU291bmRib2FyZCIsIm1vcmVTdGlja2VycyIsIm5ld3MiLCJwYXJ0bmVyZWQiLCJwcmV2aWV3RW5hYmxlZCIsInJhaWRBbGVydHNEaXNhYmxlZCIsInJvbGVJY29ucyIsInJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UiLCJyb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQiLCJzb3VuZGJvYXJkIiwidGlja2V0ZWRFdmVudHNFbmFibGVkIiwidmFuaXR5VXJsIiwidmVyaWZpZWQiLCJ2aXBSZWdpb25zIiwid2VsY29tZVNjcmVlbkVuYWJsZWQiLCJndWVzdHNFbmFibGVkIiwiZ3VpbGRUYWdzIiwiZW5oYW5jZWRSb2xlQ29sb3JzIiwiR3VpbGRUb2dnbGVzIiwiZ3VpbGRPclRvZ2dsZXNCaWdpbnQiLCJiaXRmaWVsZCIsImd1aWxkIiwiZmVhdHVyZXMiLCJhZGQiLCJ3aWRnZXRfZW5hYmxlZCIsInByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQiLCJpbmNsdWRlcyIsIkFuaW1hdGVkQmFubmVyIiwiQW5pbWF0ZWRJY29uIiwiQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMiIsIkF1dG9Nb2RlcmF0aW9uIiwiQmFubmVyIiwiQ29tbXVuaXR5IiwiQ3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwiLCJDcmVhdG9yU3RvcmVQYWdlIiwiRGV2ZWxvcGVyU3VwcG9ydFNlcnZlciIsIkRpc2NvdmVyYWJsZSIsIkZlYXR1cmFibGUiLCJJbnZpdGVzRGlzYWJsZWQiLCJJbnZpdGVTcGxhc2giLCJNZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCIsIk1vcmVTb3VuZGJvYXJkIiwiTW9yZVN0aWNrZXJzIiwiTmV3cyIsIlBhcnRuZXJlZCIsIlByZXZpZXdFbmFibGVkIiwiUmFpZEFsZXJ0c0Rpc2FibGVkIiwiUm9sZUljb25zIiwiUm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSIsIlJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCIsIlNvdW5kYm9hcmQiLCJUaWNrZXRlZEV2ZW50c0VuYWJsZWQiLCJWYW5pdHlVcmwiLCJWZXJpZmllZCIsIlZpcFJlZ2lvbnMiLCJXZWxjb21lU2NyZWVuRW5hYmxlZCIsIkd1ZXN0c0VuYWJsZWQiLCJHdWlsZFRhZ3MiLCJFbmhhbmNlZFJvbGVDb2xvcnMiLCJrZXkiLCJPYmplY3QiLCJrZXlzIiwiY29udGFpbnMiLCJwdXNoIiwiaGFzIiwicGVybWlzc2lvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJyZWR1Y2UiLCJhIiwiYiIsImxpc3QiLCJqc29uIiwidmFsdWUiLCJlbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUE0QkEsYUFBYSxRQUFRLG9CQUFvQjtBQUNyRSxTQUFTQyxvQkFBb0IsUUFBUSxzQkFBc0I7QUFFM0QsaUVBQWlFLEdBQ2pFLE9BQU8sTUFBTUMsb0JBQW9CO0lBQy9CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0QsQ0FBVTtBQUVYLE9BQU8sTUFBTUMsY0FBYztJQUN6Qiw4Q0FBOEMsR0FDOUNDLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDZix5Q0FBeUMsR0FDekNDLGVBQWUsRUFBRSxJQUFJLEVBQUU7SUFDdkIsNkNBQTZDLEdBQzdDQyxPQUFPLEVBQUUsSUFBSSxFQUFFO0lBQ2YsdURBQXVELEdBQ3ZEQyxhQUFhLEVBQUUsSUFBSSxFQUFFO0lBQ3JCLHlEQUF5RCxHQUN6REMsMkJBQTJCLEVBQUUsSUFBSSxFQUFFO0lBRW5DLGdDQUFnQztJQUVoQyx1RUFBdUUsR0FDdkVDLGdCQUFnQixFQUFFLElBQUksR0FBRztJQUN6QiwrREFBK0QsR0FDL0RDLGNBQWMs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
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9ndWlsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERpc2NvcmRHdWlsZCwgR3VpbGRGZWF0dXJlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkQmlnaW50IH0gZnJvbSAnLi9Ub2dnbGVCaXRmaWVsZC5qcyc7XG5cbi8qKiBAcHJpdmF0ZSBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZXMgKi9cbmV4cG9ydCBjb25zdCBndWlsZEZlYXR1cmVOYW1lcyA9IFtcbiAgJ2FuaW1hdGVkQmFubmVyJyxcbiAgJ2FuaW1hdGVkSWNvbicsXG4gICdhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyJyxcbiAgJ2F1dG9Nb2RlcmF0aW9uJyxcbiAgJ2Jhbm5lcicsXG4gICdjb21tdW5pdHknLFxuICAnY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwnLFxuICAnY3JlYXRvclN0b3JlUGFnZScsXG4gICdkZXZlbG9wZXJTdXBwb3J0U2VydmVyJyxcbiAgJ2Rpc2NvdmVyYWJsZScsXG4gICdmZWF0dXJhYmxlJyxcbiAgJ2ludml0ZXNEaXNhYmxlZCcsXG4gICdpbnZpdGVTcGxhc2gnLFxuICAnbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQnLFxuICAnbW9yZVNvdW5kYm9hcmQnLFxuICAnbW9yZVN0aWNrZXJzJyxcbiAgJ25ld3MnLFxuICAncGFydG5lcmVkJyxcbiAgJ3ByZXZpZXdFbmFibGVkJyxcbiAgJ3JhaWRBbGVydHNEaXNhYmxlZCcsXG4gICdyb2xlSWNvbnMnLFxuICAncm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZScsXG4gICdyb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQnLFxuICAndGlja2V0ZWRFdmVudHNFbmFibGVkJyxcbiAgJ3Zhbml0eVVybCcsXG4gICd2ZXJpZmllZCcsXG4gICd2aXBSZWdpb25zJyxcbiAgJ3dlbGNvbWVTY3JlZW5FbmFibGVkJyxcbiAgJ2d1ZXN0c0VuYWJsZWQnLFxuICAnZ3VpbGRUYWdzJyxcbiAgJ2VuaGFuY2VkUm9sZUNvbG9ycycsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgR3VpbGRUb2dnbGUgPSB7XG4gIC8qKiBXaGV0aGVyIHRoZSBib3QgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcjogMW4gPDwgMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgd2lkZ2V0RW5hYmxlZDogMW4gPDwgMW4sXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGxhcmdlOiAxbiA8PCAybixcbiAgLyoqIFdoZXRoZXIgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIHVuYXZhaWxhYmxlOiAxbiA8PCAzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZDogMW4gPDwgNG4sXG5cbiAgLy8gR1VJTEQgRkVBVFVSRVMgQVJFIEJFTE9XIFRISVNcblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGFuaW1hdGVkQmFubmVyOiAxbiA8PCAxMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBpY29uICovXG4gIGFuaW1hdGVkSWNvbjogMW4gPDwgMTZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdXNpbmcgdGhlIG9sZCBwZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uIGJlaGF2aW9yICovXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjI6IDFuIDw8IDE0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBzZXQgdXAgYXV0byBtb2RlcmF0aW9uIHJ1bGVzICovXG4gIGF1dG9Nb2RlcmF0aW9uOiAxbiA8PCAyOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBiYW5uZXI6IDFuIDw8IDE3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBlbmFibGUgd2VsY29tZSBzY3JlZW4sIE1lbWJlcnNoaXAgU2NyZWVuaW5nLCBzdGFnZSBjaGFubmVscyBhbmQgZGlzY292ZXJ5LCBhbmQgcmVjZWl2ZXMgY29tbXVuaXR5IHVwZGF0ZXMgKi9cbiAgY29tbXVuaXR5OiAxbiA8PCAxMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBtb25ldGl6YXRpb24uICovXG4gIGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsOiAxbiA8PCAzMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgY3JlYXRvclN0b3JlUGFnZTogMW4gPDwgMzJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcjogMW4gPDwgMzBuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBkaXNjb3ZlcmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZGlzY292ZXJhYmxlOiAxbiA8PCAxM24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGZlYXR1cmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZmVhdHVyYWJsZTogMW4gPDwgMTVuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHBhdXNlZCBpbnZpdGVzLCBwcmV2ZW50aW5nIG5ldyB1c2VycyBmcm9tIGpvaW5pbmcgKi9cbiAgaW52aXRlc0Rpc2FibGVkOiAxbiA8PCAyOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBpbnZpdGUgc3BsYXNoIGJhY2tncm91bmQgKi9cbiAgaW52aXRlU3BsYXNoOiAxbiA8PCA1bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIFtNZW1iZXJzaGlwIFNjcmVlbmluZ10oaHR0cHM6Ly9kb2NzLmRpc2NvcmQuY29tL2RldmVsb3BlcnMvcmVzb3VyY2VzL2d1aWxkI21lbWJlcnNoaXAtc2NyZWVuaW5nLW9iamVjdCkgKi9cbiAgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQ6IDFuIDw8IDE5bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBtb3JlIHNvdW5kYm9hcmQgc291bmQgc2xvdCAqL1xuICBtb3JlU291bmRib2FyZDogMW4gPDwgMjRuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBtb3JlU3RpY2tlcnM6IDFuIDw8IDIzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgbmV3czogMW4gPDwgMTJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgcGFydG5lcmVkICovXG4gIHBhcnRuZXJlZDogMW4gPDwgOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gYmUgcHJldmlld2VkIGJlZm9yZSBqb2luaW5nIHZpYSBNZW1iZXJzaGlwIFNjcmVlbmluZyBvciB0aGUgZGlyZWN0b3J5ICovXG4gIHByZXZpZXdFbmFibGVkOiAxbiA8PCAyMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZGlzYWJsZWQgYWxlcnRzIGZvciBqb2luIHJhaWRzIGluIHRoZSBjb25maWd1cmVkIHNhZmV0eSBhbGVydHMgY2hhbm5lbCAqL1xuICByYWlkQWxlcnRzRGlzYWJsZWQ6IDFuIDw8IDIybixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgcm9sZUljb25zOiAxbiA8PCAyN24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcm9sZSBzdWJzY3JpcHRpb25zIHRoYXQgY2FuIGJlIHB1cmNoYXNlZC4gKi9cbiAgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZTogMW4gPDwgMzNuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgcm9sZSBzdWJzY3JpcHRpb25zLiAqL1xuICByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQ6IDFuIDw8IDM0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBjcmVhdGVkIHNvdW5kYm9hcmQgc291bmRzLiAqL1xuICBzb3VuZGJvYXJkOiAxbiA8PCAyNW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aWNrZXRlZCBldmVudHMgKi9cbiAgdGlja2V0ZWRFdmVudHNFbmFibGVkOiAxbiA8PCAyMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIHZhbml0eSBVUkwgKi9cbiAgdmFuaXR5VXJsOiAxbiA8PCA3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHZlcmlmaWVkICovXG4gIHZlcmlmaWVkOiAxbiA8PCA4bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIHZpcFJlZ2lvbnM6IDFuIDw8IDZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIHdlbGNvbWVTY3JlZW5FbmFibGVkOiAxbiA8PCAxOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIGd1ZXN0IGludml0ZXMgKi9cbiAgZ3Vlc3RzRW5hYmxlZDogMW4gPDwgMjZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgZ3VpbGQgdGFncyAqL1xuICBndWlsZFRhZ3M6IDFuIDw8IDM2bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IGdyYWRpZW50IGNvbG9ycyB0byByb2xlcyAqL1xuICBlbmhhbmNlZFJvbGVDb2xvcnM6IDFuIDw8IDM1bixcbn07XG5cbmV4cG9ydCBjbGFzcyBHdWlsZFRvZ2dsZXMgZXh0ZW5kcyBUb2dnbGVCaXRmaWVsZEJpZ2ludCB7XG4gIGNvbnN0cnVjdG9yKGd1aWxkT3JUb2dnbGVzQmlnaW50OiBEaXNjb3JkR3VpbGQgfCBiaWdpbnQpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKHR5cGVvZiBndWlsZE9yVG9nZ2xlc0JpZ2ludCA9PT0gJ2JpZ2ludCcpIHRoaXMuYml0ZmllbGQgPSBndWlsZE9yVG9nZ2xlc0JpZ2ludDtcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGd1aWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnQ7XG4gICAgICAvLyBDYXVzZSBkaXNjb3JkIGJlIHNtYXJ0IGxpa2UgdGhhdFxuICAgICAgaWYgKCFndWlsZC5mZWF0dXJlcykgZ3VpbGQuZmVhdHVyZXMgPSBbXTtcblxuICAgICAgaWYgKGd1aWxkLm93bmVyKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5vd25lcik7XG4gICAgICBpZiAoZ3VpbGQud2lkZ2V0X2VuYWJsZWQpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLndpZGdldEVuYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmxhcmdlKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5sYXJnZSk7XG4gICAgICBpZiAoZ3VpbGQudW5hdmFpbGFibGUpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnVuYXZhaWxhYmxlKTtcbiAgICAgIGlmIChndWlsZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKTtcblxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQW5pbWF0ZWRCYW5uZXIpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hbmltYXRlZEJhbm5lcik7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BbmltYXRlZEljb24pKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hbmltYXRlZEljb24pO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXV0b01vZGVyYXRpb24pKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5hdXRvTW9kZXJhdGlvbik7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5CYW5uZXIpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5iYW5uZXIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ29tbXVuaXR5KSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY29tbXVuaXR5KTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ3JlYXRvclN0b3JlUGFnZSkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmNyZWF0b3JTdG9yZVBhZ2UpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGV2ZWxvcGVyU3VwcG9ydFNlcnZlcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmRldmVsb3BlclN1cHBvcnRTZXJ2ZXIpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGlzY292ZXJhYmxlKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZGlzY292ZXJhYmxlKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkZlYXR1cmFibGUpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5mZWF0dXJhYmxlKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZXNEaXNhYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZXNEaXNhYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5JbnZpdGVTcGxhc2gpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5pbnZpdGVTcGxhc2gpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5tZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Nb3JlU291bmRib2FyZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1vcmVTb3VuZGJvYXJkKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLk1vcmVTdGlja2VycykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1vcmVTdGlja2Vycyk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5OZXdzKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubmV3cyk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QYXJ0bmVyZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wYXJ0bmVyZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUHJldmlld0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmV2aWV3RW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5SYWlkQWxlcnRzRGlzYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yYWlkQWxlcnRzRGlzYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZUljb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucm9sZUljb25zKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Tb3VuZGJvYXJkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuc291bmRib2FyZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5UaWNrZXRlZEV2ZW50c0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS50aWNrZXRlZEV2ZW50c0VuYWJsZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuVmFuaXR5VXJsKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmFuaXR5VXJsKTtcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZlcmlmaWVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmVyaWZpZWQpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuVmlwUmVnaW9ucykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnZpcFJlZ2lvbnMpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuV2VsY29tZVNjcmVlbkVuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS53ZWxjb21lU2NyZWVuRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5HdWVzdHNFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZ3Vlc3RzRW5hYmxlZCk7XG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5HdWlsZFRhZ3MpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5ndWlsZFRhZ3MpO1xuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRW5oYW5jZWRSb2xlQ29sb3JzKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZW5oYW5jZWRSb2xlQ29sb3JzKTtcbiAgICB9XG4gIH1cblxuICBnZXQgZmVhdHVyZXMoKTogR3VpbGRGZWF0dXJlS2V5c1tdIHtcbiAgICBjb25zdCBmZWF0dXJlczogR3VpbGRGZWF0dXJlS2V5c1tdID0gW107XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoR3VpbGRUb2dnbGUpKSB7XG4gICAgICBpZiAoIWd1aWxkRmVhdHVyZU5hbWVzLmluY2x1ZGVzKGtleSBhcyBHdWlsZEZlYXR1cmVLZXlzKSkgY29udGludWU7XG4gICAgICBpZiAoIXN1cGVyLmNvbnRhaW5zKEd1aWxkVG9nZ2xlW2tleSBhcyBHdWlsZFRvZ2dsZUtleXNdKSkgY29udGludWU7XG5cbiAgICAgIGZlYXR1cmVzLnB1c2goa2V5IGFzIEd1aWxkRmVhdHVyZUtleXMpO1xuICAgIH1cblxuICAgIHJldHVybiBmZWF0dXJlcztcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBib3QgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBnZXQgb3duZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdvd25lcicpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHNlcnZlciB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICBnZXQgd2lkZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3dpZGdldEVuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGdldCBsYXJnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2xhcmdlJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGlzIGd1aWxkIGlzIHVuYXZhaWxhYmxlIGR1ZSB0byBhbiBvdXRhZ2UgKi9cbiAgZ2V0IHVuYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndW5hdmFpbGFibGUnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgdGhlIGJvb3N0IHByb2dyZXNzIGJhciBlbmFibGVkICovXG4gIGdldCBwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGludml0ZSBzcGxhc2ggYmFja2dyb3VuZCAqL1xuICBnZXQgaW52aXRlU3BsYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaW52aXRlU3BsYXNoJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgMzg0IGticHMgYml0cmF0ZSBpbiB2b2ljZSAocHJldmlvdXNseSBWSVAgdm9pY2Ugc2VydmVycykgKi9cbiAgZ2V0IHZpcFJlZ2lvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2aXBSZWdpb25zJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYSB2YW5pdHkgVVJMICovXG4gIGdldCB2YW5pdHlVcmwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2YW5pdHlVcmwnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyB2ZXJpZmllZCAqL1xuICBnZXQgdmVyaWZpZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2ZXJpZmllZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHBhcnRuZXJlZCAqL1xuICBnZXQgcGFydG5lcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncGFydG5lcmVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgY2FuIGVuYWJsZSB3ZWxjb21lIHNjcmVlbiwgTWVtYmVyc2hpcCBTY3JlZW5pbmcsIHN0YWdlIGNoYW5uZWxzIGFuZCBkaXNjb3ZlcnksIGFuZCByZWNlaXZlcyBjb21tdW5pdHkgdXBkYXRlcyAqL1xuICBnZXQgY29tbXVuaXR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY29tbXVuaXR5Jyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgR3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZ2V0IGRldmVsb3BlclN1cHBvcnRTZXJ2ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkZXZlbG9wZXJTdXBwb3J0U2VydmVyJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGdldCBhbmltYXRlZEJhbm5lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FuaW1hdGVkQmFubmVyJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBjcmVhdGUgbmV3cyBjaGFubmVscyAqL1xuICBnZXQgbmV3cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ25ld3MnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGRpc2NvdmVyZWQgaW4gdGhlIGRpcmVjdG9yeSAqL1xuICBnZXQgZGlzY292ZXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZGlzY292ZXJhYmxlJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBmZWF0dXJlZCBpbiB0aGUgZGlyZWN0b3J5ICovXG4gIGdldCBmZWF0dXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZmVhdHVyYWJsZScpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGFuaW1hdGVkIGd1aWxkIGljb24gKi9cbiAgZ2V0IGFuaW1hdGVkSWNvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FuaW1hdGVkSWNvbicpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGEgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGdldCBiYW5uZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdiYW5uZXInKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgd2VsY29tZSBzY3JlZW4gKi9cbiAgZ2V0IHdlbGNvbWVTY3JlZW5FbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnd2VsY29tZVNjcmVlbkVuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBbTWVtYmVyc2hpcCBTY3JlZW5pbmddKGh0dHBzOi8vZG9jcy5kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL3Jlc291cmNlcy9ndWlsZCNtZW1iZXJzaGlwLXNjcmVlbmluZy1vYmplY3QpICovXG4gIGdldCBtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIG1vcmUgc291bmRib2FyZCBzb3VuZCBzbG90ICovXG4gIGdldCBtb3JlU291bmRib2FyZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21vcmVTb3VuZGJvYXJkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgY2FuIGJlIHByZXZpZXdlZCBiZWZvcmUgam9pbmluZyB2aWEgTWVtYmVyc2hpcCBTY3JlZW5pbmcgb3IgdGhlIGRpcmVjdG9yeSAqL1xuICBnZXQgcHJldmlld0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdwcmV2aWV3RW5hYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRpY2tldGVkIGV2ZW50cyAqL1xuICBnZXQgdGlja2V0ZWRFdmVudHNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndGlja2V0ZWRFdmVudHNFbmFibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBnZXQgbW9yZVN0aWNrZXJzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbW9yZVN0aWNrZXJzJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBzZXQgcm9sZSBpY29ucyAqL1xuICBnZXQgcm9sZUljb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncm9sZUljb25zJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHNldCB1cCBhdXRvIG1vZGVyYXRpb24gcnVsZXMgKi9cbiAgZ2V0IGF1dG9Nb2RlcmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXV0b01vZGVyYXRpb24nKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcGF1c2VkIGludml0ZXMsIHByZXZlbnRpbmcgbmV3IHVzZXJzIGZyb20gam9pbmluZyAqL1xuICBnZXQgaW52aXRlc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaW52aXRlc0Rpc2FibGVkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdXNpbmcgdGhlIG9sZCBwZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uIGJlaGF2aW9yICovXG4gIGdldCBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMicpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIG1vbmV0aXphdGlvbi4gKi9cbiAgZ2V0IGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgZ2V0IGNyZWF0b3JTdG9yZVBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdjcmVhdG9yU3RvcmVQYWdlJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGRpc2FibGVkIGFsZXJ0cyBmb3Igam9pbiByYWlkcyBpbiB0aGUgY29uZmlndXJlZCBzYWZldHkgYWxlcnRzIGNoYW5uZWwgKi9cbiAgZ2V0IHJhaWRBbGVydHNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JhaWRBbGVydHNEaXNhYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyByb2xlIHN1YnNjcmlwdGlvbnMgdGhhdCBjYW4gYmUgcHVyY2hhc2VkLiAqL1xuICBnZXQgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCByb2xlIHN1YnNjcmlwdGlvbnMuICovXG4gIGdldCByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgY3JlYXRlZCBzb3VuZGJvYXJkIHNvdW5kcy4gKi9cbiAgZ2V0IHNvdW5kYm9hcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdzb3VuZGJvYXJkJyk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBndWVzdCBpbnZpdGVzICovXG4gIGdldCBndWVzdHNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZ3Vlc3RzRW5hYmxlZCcpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGd1aWxkIHRhZ3MgKi9cbiAgZ2V0IGd1aWxkVGFncygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2d1aWxkVGFncycpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IGdyYWRpZW50IGNvbG9ycyB0byByb2xlcyAqL1xuICBnZXQgZW5oYW5jZWRSb2xlQ29sb3JzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZW5oYW5jZWRSb2xlQ29sb3JzJyk7XG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSBwZXJtaXNzaW9ucyBleGlzdCBpbiB0aGlzICovXG4gIGhhcyhwZXJtaXNzaW9uczogR3VpbGRUb2dnbGVLZXlzIHwgR3VpbGRUb2dnbGVLZXlzW10pOiBib29sZWFuIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGVybWlzc2lvbnMpKSByZXR1cm4gc3VwZXIuY29udGFpbnMoR3VpbGRUb2dnbGVbcGVybWlzc2lvbnNdKTtcblxuICAgIHJldHVybiBzdXBlci5jb250YWlucyhwZXJtaXNzaW9ucy5yZWR1Y2UoKGEsIGIpID0+IChhIHw9IEd1aWxkVG9nZ2xlW2JdKSwgMG4pKTtcbiAgfVxuXG4gIC8qKiBMaXN0cyBhbGwgdGhlIHRvZ2dsZXMgZm9yIHRoZSByb2xlIGFuZCB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIHRydWUgb3IgZmFsc2UuICovXG4gIGxpc3QoKTogUmVjb3JkPEd1aWxkVG9nZ2xlS2V5cywgYm9vbGVhbj4ge1xuICAgIGNvbnN0IGpzb246IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoR3VpbGRUb2dnbGUpKSB7XG4gICAgICBqc29uW2tleV0gPSBzdXBlci5jb250YWlucyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGpzb24gYXMgUmVjb3JkPEd1aWxkVG9nZ2xlS2V5cywgYm9vbGVhbj47XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgR3VpbGRUb2dnbGVLZXlzID0ga2V5b2YgdHlwZW9mIEd1aWxkVG9nZ2xlO1xuXG5leHBvcnQgdHlwZSBHdWlsZEZlYXR1cmVLZXlzID0gKHR5cGVvZiBndWlsZEZlYXR1cmVOYW1lcylbbnVtYmVyXTtcbiJdLCJuYW1lcyI6WyJHdWlsZEZlYXR1cmVzIiwiVG9nZ2xlQml0ZmllbGRCaWdpbnQiLCJndWlsZEZlYXR1cmVOYW1lcyIsIkd1aWxkVG9nZ2xlIiwib3duZXIiLCJ3aWRnZXRFbmFibGVkIiwibGFyZ2UiLCJ1bmF2YWlsYWJsZSIsInByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQiLCJhbmltYXRlZEJhbm5lciIsImFuaW1hdGVkSWNvbiIsImFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIiLCJhdXRvTW9kZXJhdGlvbiIsImJhbm5lciIsImNvbW11bml0eSIsImNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsIiwiY3JlYXRvclN0b3JlUGFnZSIsImRldmVsb3BlclN1cHBvcnRTZXJ2ZXIiLCJkaXNjb3ZlcmFibGUiLCJmZWF0dXJhYmxlIiwiaW52aXRlc0Rpc2FibGVkIiwiaW52aXRlU3BsYXNoIiwibWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQiLCJtb3JlU291bmRib2FyZCIsIm1vcmVTdGlja2VycyIsIm5ld3MiLCJwYXJ0bmVyZWQiLCJwcmV2aWV3RW5hYmxlZCIsInJhaWRBbGVydHNEaXNhYmxlZCIsInJvbGVJY29ucyIsInJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UiLCJyb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQiLCJzb3VuZGJvYXJkIiwidGlja2V0ZWRFdmVudHNFbmFibGVkIiwidmFuaXR5VXJsIiwidmVyaWZpZWQiLCJ2aXBSZWdpb25zIiwid2VsY29tZVNjcmVlbkVuYWJsZWQiLCJndWVzdHNFbmFibGVkIiwiZ3VpbGRUYWdzIiwiZW5oYW5jZWRSb2xlQ29sb3JzIiwiR3VpbGRUb2dnbGVzIiwiZ3VpbGRPclRvZ2dsZXNCaWdpbnQiLCJiaXRmaWVsZCIsImd1aWxkIiwiZmVhdHVyZXMiLCJhZGQiLCJ3aWRnZXRfZW5hYmxlZCIsInByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQiLCJpbmNsdWRlcyIsIkFuaW1hdGVkQmFubmVyIiwiQW5pbWF0ZWRJY29uIiwiQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMiIsIkF1dG9Nb2RlcmF0aW9uIiwiQmFubmVyIiwiQ29tbXVuaXR5IiwiQ3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwiLCJDcmVhdG9yU3RvcmVQYWdlIiwiRGV2ZWxvcGVyU3VwcG9ydFNlcnZlciIsIkRpc2NvdmVyYWJsZSIsIkZlYXR1cmFibGUiLCJJbnZpdGVzRGlzYWJsZWQiLCJJbnZpdGVTcGxhc2giLCJNZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCIsIk1vcmVTb3VuZGJvYXJkIiwiTW9yZVN0aWNrZXJzIiwiTmV3cyIsIlBhcnRuZXJlZCIsIlByZXZpZXdFbmFibGVkIiwiUmFpZEFsZXJ0c0Rpc2FibGVkIiwiUm9sZUljb25zIiwiUm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSIsIlJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCIsIlNvdW5kYm9hcmQiLCJUaWNrZXRlZEV2ZW50c0VuYWJsZWQiLCJWYW5pdHlVcmwiLCJWZXJpZmllZCIsIlZpcFJlZ2lvbnMiLCJXZWxjb21lU2NyZWVuRW5hYmxlZCIsIkd1ZXN0c0VuYWJsZWQiLCJHdWlsZFRhZ3MiLCJFbmhhbmNlZFJvbGVDb2xvcnMiLCJrZXkiLCJPYmplY3QiLCJrZXlzIiwiY29udGFpbnMiLCJwdXNoIiwiaGFzIiwicGVybWlzc2lvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJyZWR1Y2UiLCJhIiwiYiIsImxpc3QiLCJqc29uIiwidmFsdWUiLCJlbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUE0QkEsYUFBYSxRQUFRLG9CQUFvQjtBQUNyRSxTQUFTQyxvQkFBb0IsUUFBUSxzQkFBc0I7QUFFM0QsaUVBQWlFLEdBQ2pFLE9BQU8sTUFBTUMsb0JBQW9CO0lBQy9CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0QsQ0FBVTtBQUVYLE9BQU8sTUFBTUMsY0FBYztJQUN6Qiw4Q0FBOEMsR0FDOUNDLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDZix5Q0FBeUMsR0FDekNDLGVBQWUsRUFBRSxJQUFJLEVBQUU7SUFDdkIsNkNBQTZDLEdBQzdDQyxPQUFPLEVBQUUsSUFBSSxFQUFFO0lBQ2YsdURBQXVELEdBQ3ZEQyxhQUFhLEVBQUUsSUFBSSxFQUFFO0lBQ3JCLHlEQUF5RCxHQUN6REMsMkJBQTJCLEVBQUUsSUFBSSxFQUFFO0lBRW5DLGdDQUFnQztJQUVoQyx1RUFBdUUsR0FDdkVDLGdCQUFnQixFQUFFLElBQUksR0FBRztJQUN6QiwrREFBK0QsR0FDL0RDLGNBQWMs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
|