@discordeno/bot 22.0.1-next.e99d8f4 → 22.0.1-next.eb4cdaa

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/desiredProperties.d.ts +4 -1
  2. package/dist/desiredProperties.d.ts.map +1 -1
  3. package/dist/desiredProperties.js +37 -1
  4. package/dist/helpers.d.ts +10 -2
  5. package/dist/helpers.d.ts.map +1 -1
  6. package/dist/helpers.js +25 -1
  7. package/dist/transformers/activity.d.ts +3 -2
  8. package/dist/transformers/activity.d.ts.map +1 -1
  9. package/dist/transformers/activity.js +25 -15
  10. package/dist/transformers/application.d.ts.map +1 -1
  11. package/dist/transformers/application.js +4 -1
  12. package/dist/transformers/attachment.d.ts.map +1 -1
  13. package/dist/transformers/attachment.js +6 -1
  14. package/dist/transformers/channel.d.ts.map +1 -1
  15. package/dist/transformers/channel.js +2 -1
  16. package/dist/transformers/component.d.ts.map +1 -1
  17. package/dist/transformers/component.js +5 -1
  18. package/dist/transformers/embed.d.ts.map +1 -1
  19. package/dist/transformers/embed.js +22 -5
  20. package/dist/transformers/lobby.d.ts +4 -2
  21. package/dist/transformers/lobby.d.ts.map +1 -1
  22. package/dist/transformers/lobby.js +22 -1
  23. package/dist/transformers/member.d.ts.map +1 -1
  24. package/dist/transformers/member.js +2 -1
  25. package/dist/transformers/message.d.ts +3 -2
  26. package/dist/transformers/message.d.ts.map +1 -1
  27. package/dist/transformers/message.js +11 -1
  28. package/dist/transformers/reverse/activity.d.ts +4 -3
  29. package/dist/transformers/reverse/activity.d.ts.map +1 -1
  30. package/dist/transformers/reverse/activity.js +20 -25
  31. package/dist/transformers/reverse/component.d.ts.map +1 -1
  32. package/dist/transformers/reverse/component.js +4 -1
  33. package/dist/transformers/reverse/embed.d.ts.map +1 -1
  34. package/dist/transformers/reverse/embed.js +19 -4
  35. package/dist/transformers/reverse/member.d.ts.map +1 -1
  36. package/dist/transformers/reverse/member.js +4 -2
  37. package/dist/transformers/reverse/user.d.ts +5 -0
  38. package/dist/transformers/reverse/user.d.ts.map +1 -0
  39. package/dist/transformers/reverse/user.js +17 -0
  40. package/dist/transformers/toggles/channel.d.ts +1 -1
  41. package/dist/transformers/toggles/channel.d.ts.map +1 -1
  42. package/dist/transformers/toggles/channel.js +2 -2
  43. package/dist/transformers/types.d.ts +150 -32
  44. package/dist/transformers/types.d.ts.map +1 -1
  45. package/dist/transformers/types.js +2 -2
  46. package/dist/transformers.d.ts +9 -2
  47. package/dist/transformers.d.ts.map +1 -1
  48. package/dist/transformers.js +17 -5
  49. package/package.json +9 -9
@@ -180,6 +180,7 @@ export function transformMessage(bot, payload, extra) {
180
180
  }
181
181
  if (props.mentionedRoleIds && payload.mention_roles?.length) message.mentionedRoleIds = payload.mention_roles.map((id)=>bot.transformers.snowflake(id));
182
182
  if (props.mentions && payload.mentions?.length) message.mentions = payload.mentions.map((user)=>bot.transformers.user(bot, user));
183
+ if (props.channelType && payload.channel_type) message.channelType = payload.channel_type;
183
184
  if (props.messageReference && payload.message_reference) {
184
185
  const reference = {};
185
186
  const messageReferenceProps = bot.transformers.desiredProperties.messageReference;
@@ -283,5 +284,14 @@ export function transformMessageCall(bot, payload) {
283
284
  if (props.endedTimestamp && payload.ended_timestamp) call.endedTimestamp = Date.parse(payload.ended_timestamp);
284
285
  return bot.transformers.customizers.messageCall(bot, payload, call);
285
286
  }
287
+ export function transformSharedClientTheme(bot, payload) {
288
+ const props = bot.transformers.desiredProperties.sharedClientTheme;
289
+ const theme = {};
290
+ if (props.colors && payload.colors) theme.colors = payload.colors;
291
+ if (props.baseMix) theme.baseMix = payload.base_mix;
292
+ if (props.gradientAngle) theme.gradientAngle = payload.gradient_angle;
293
+ if (props.baseTheme && payload.base_theme !== undefined && payload.base_theme !== null) theme.baseTheme = payload.base_theme;
294
+ return bot.transformers.customizers.sharedClientTheme(bot, payload, theme);
295
+ }
286
296
 
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2UsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDYWxsLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVBpbixcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVNuYXBzaG90LFxuICBNZXNzYWdlRmxhZ3MsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IHNub3dmbGFrZVRvVGltZXN0YW1wIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHsgQ0hBTk5FTF9NRU5USU9OX1JFR0VYIH0gZnJvbSAnLi4vY29uc3RhbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL3RvZ2dsZXMvVG9nZ2xlQml0ZmllbGQuanMnO1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlLCBNZXNzYWdlQ2FsbCwgTWVzc2FnZUludGVyYWN0aW9uLCBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSwgTWVzc2FnZVBpbiwgTWVzc2FnZVNuYXBzaG90IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmNvbnN0IEVNUFRZX1NUUklORyA9ICcnO1xuXG5leHBvcnQgY29uc3QgYmFzZU1lc3NhZ2U6IE1lc3NhZ2UgPSB7XG4gIC8vIFRoaXMgYWxsb3dzIHR5cGVzY3JpcHQgdG8gc3RpbGwgY2hlY2sgZm9yIHR5cGUgZXJyb3JzIG9uIGZ1bmN0aW9ucyBiZWxvd1xuICAuLi4odW5kZWZpbmVkIGFzIHVua25vd24gYXMgTWVzc2FnZSksXG5cbiAgZ2V0IGNyb3NzcG9zdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuQ3Jvc3Nwb3N0ZWQpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgY3Jvc3Nwb3N0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuQ3Jvc3Nwb3N0ZWQpO1xuICB9LFxuICBnZXQgZXBoZW1lcmFsKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGVwaGVtZXJhbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKTtcbiAgfSxcbiAgZ2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpO1xuICB9LFxuICBnZXQgaGFzVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuSGFzVGhyZWFkKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGhhc1RocmVhZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuSGFzVGhyZWFkKTtcbiAgfSxcbiAgZ2V0IGlzQ3Jvc3Nwb3N0KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgaXNDcm9zc3Bvc3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Jc0Nyb3NzcG9zdCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpO1xuICB9LFxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkxvYWRpbmcpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkxvYWRpbmcpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkxvYWRpbmcpO1xuICB9LFxuICBnZXQgbWVudGlvbmVkVXNlcklkcygpIHtcbiAgICByZXR1cm4gdGhpcy5tZW50aW9ucz8ubWFwKCh1c2VyKSA9PiB1c2VyLmlkKSA/PyBbXTtcbiAgfSxcbiAgZ2V0IG1lbnRpb25FdmVyeW9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZD8uY29udGFpbnMoMikgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBtZW50aW9uRXZlcnlvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuYml0ZmllbGQuYWRkKDIpO1xuICAgIGVsc2UgdGhpcy5iaXRmaWVsZC5yZW1vdmUoMik7XG4gIH0sXG4gIGdldCBwaW5uZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDMpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgcGlubmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgzKTtcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDMpO1xuICB9LFxuICBnZXQgc291cmNlTWVzc2FnZURlbGV0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5Tb3VyY2VNZXNzYWdlRGVsZXRlZCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBzb3VyY2VNZXNzYWdlRGVsZXRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5Tb3VyY2VNZXNzYWdlRGVsZXRlZCk7XG4gIH0sXG4gIGdldCBzdXBwcmVzc0VtYmVkcygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHN1cHByZXNzRW1iZWRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU3VwcHJlc3NFbWJlZHMpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKTtcbiAgfSxcbiAgZ2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucykgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBzdXBwcmVzc05vdGlmaWNhdGlvbnModmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucyk7XG4gIH0sXG4gIGdldCB0aW1lc3RhbXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPyBzbm93Zmxha2VUb1RpbWVzdGFtcCh0aGlzLmlkKSA6IDA7XG4gIH0sXG4gIGdldCB0dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDEpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgdHRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgxKTtcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDEpO1xuICB9LFxuICBnZXQgdXJnZW50KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuVXJnZW50KSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHVyZ2VudCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlVyZ2VudCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuVXJnZW50KTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZSwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IE1lc3NhZ2Uge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkO1xuICBjb25zdCB1c2VySWQgPSBwYXlsb2FkLmF1dGhvcj8uaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmF1dGhvci5pZCkgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgbWVzc2FnZTogU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0gT2JqZWN0LmNyZWF0ZShiYXNlTWVzc2FnZSk7XG4gIG1lc3NhZ2UuYml0ZmllbGQgPSBuZXcgVG9nZ2xlQml0ZmllbGQoKTtcbiAgbWVzc2FnZS5mbGFncyA9IG5ldyBUb2dnbGVCaXRmaWVsZChwYXlsb2FkLmZsYWdzKTtcblxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZTtcblxuICBpZiAocHJvcHMuYXV0aG9yICYmIHBheWxvYWQuYXV0aG9yKSBtZXNzYWdlLmF1dGhvciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQuYXV0aG9yKTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uICYmIHBheWxvYWQuYXBwbGljYXRpb24pXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBQYXJ0aWFsc1xuICAgIG1lc3NhZ2UuYXBwbGljYXRpb24gPSBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwgcGF5bG9hZC5hcHBsaWNhdGlvbiwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgbWVzc2FnZS5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy5hdHRhY2htZW50cyAmJiBwYXlsb2FkLmF0dGFjaG1lbnRzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5hdHRhY2htZW50cyA9IHBheWxvYWQuYXR0YWNobWVudHMubWFwKChhdHRhY2htZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCBhdHRhY2htZW50KSk7XG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsX2lkKSBtZXNzYWdlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZCk7XG4gIGlmIChwcm9wcy5jb21wb25lbnRzICYmIHBheWxvYWQuY29tcG9uZW50cz8ubGVuZ3RoKSBtZXNzYWdlLmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wKSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXApKTtcbiAgaWYgKHByb3BzLmNvbnRlbnQpIG1lc3NhZ2UuY29udGVudCA9IHBheWxvYWQuY29udGVudCA/PyBFTVBUWV9TVFJJTkc7XG4gIGlmIChwcm9wcy5lZGl0ZWRUaW1lc3RhbXAgJiYgcGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKSBtZXNzYWdlLmVkaXRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKTtcbiAgaWYgKHByb3BzLmVtYmVkcyAmJiBwYXlsb2FkLmVtYmVkcz8ubGVuZ3RoKSBtZXNzYWdlLmVtYmVkcyA9IHBheWxvYWQuZW1iZWRzLm1hcCgoZW1iZWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuZW1iZWQoYm90LCBlbWJlZCkpO1xuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBtZXNzYWdlLmd1aWxkSWQgPSBndWlsZElkO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbWVzc2FnZS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMuaW50ZXJhY3Rpb25NZXRhZGF0YSAmJiBwYXlsb2FkLmludGVyYWN0aW9uX21ldGFkYXRhKVxuICAgIG1lc3NhZ2UuaW50ZXJhY3Rpb25NZXRhZGF0YSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uX21ldGFkYXRhKTtcbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24pIHtcbiAgICBjb25zdCBpbnRlcmFjdGlvbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VJbnRlcmFjdGlvbiwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuICAgIGNvbnN0IG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb247XG5cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMuaWQpIHtcbiAgICAgIGludGVyYWN0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5pZCk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5tZW1iZXIgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIpIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogcGFydGlhbCAtIGNoZWNrIHdoeSB0aGlzIGlzIHBhcnRpYWwgYW5kIGhhbmRsZSBhcyBuZWVkZWRcbiAgICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIsIHsgZ3VpbGRJZCwgdXNlcklkOiBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIuaWQgfSk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5uYW1lKSB7XG4gICAgICBpbnRlcmFjdGlvbi5uYW1lID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5uYW1lO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMudHlwZSkge1xuICAgICAgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLnVzZXIpIHtcbiAgICAgIGludGVyYWN0aW9uLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIpO1xuICAgIH1cblxuICAgIG1lc3NhZ2UuaW50ZXJhY3Rpb24gPSBpbnRlcmFjdGlvbjtcbiAgfVxuICBpZiAocHJvcHMubWVtYmVyICYmIGd1aWxkSWQgJiYgdXNlcklkICYmIHBheWxvYWQubWVtYmVyKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogcGFydGlhbFxuICAgIG1lc3NhZ2UubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwgeyBndWlsZElkLCB1c2VySWQgfSk7XG4gIGlmIChwYXlsb2FkLm1lbnRpb25fZXZlcnlvbmUpIG1lc3NhZ2UubWVudGlvbkV2ZXJ5b25lID0gdHJ1ZTtcbiAgaWYgKHByb3BzLm1lbnRpb25lZENoYW5uZWxJZHMgJiYgcGF5bG9hZC5tZW50aW9uX2NoYW5uZWxzPy5sZW5ndGgpIHtcbiAgICBtZXNzYWdlLm1lbnRpb25lZENoYW5uZWxJZHMgPSBbXG4gICAgICAvLyBLZWVwIGFueSBpZHMgdGh0IGRpc2NvcmQgc2VuZHNcbiAgICAgIC4uLihwYXlsb2FkLm1lbnRpb25fY2hhbm5lbHMgPz8gW10pLm1hcCgobSkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UobS5pZCkpLFxuICAgICAgLy8gQWRkIGFueSBvdGhlciBpZHMgdGhhdCBjYW4gYmUgdmFsaWRhdGVkIGluIGEgY2hhbm5lbCBtZW50aW9uIGZvcm1hdFxuICAgICAgLi4uKHBheWxvYWQuY29udGVudD8ubWF0Y2goQ0hBTk5FTF9NRU5USU9OX1JFR0VYKSA/PyBbXSkubWFwKCh0ZXh0KSA9PlxuICAgICAgICAvLyBjb252ZXJ0cyB0aGUgPCMxMjM+IGludG8gMTIzXG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHRleHQuc3Vic3RyaW5nKDIsIHRleHQubGVuZ3RoIC0gMSkpLFxuICAgICAgKSxcbiAgICBdO1xuICB9XG4gIGlmIChwcm9wcy5tZW50aW9uZWRSb2xlSWRzICYmIHBheWxvYWQubWVudGlvbl9yb2xlcz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2UubWVudGlvbmVkUm9sZUlkcyA9IHBheWxvYWQubWVudGlvbl9yb2xlcy5tYXAoKGlkKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpO1xuICBpZiAocHJvcHMubWVudGlvbnMgJiYgcGF5bG9hZC5tZW50aW9ucz8ubGVuZ3RoKSBtZXNzYWdlLm1lbnRpb25zID0gcGF5bG9hZC5tZW50aW9ucy5tYXAoKHVzZXIpID0+IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHVzZXIpKTtcbiAgaWYgKHByb3BzLm1lc3NhZ2VSZWZlcmVuY2UgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZSkge1xuICAgIGNvbnN0IHJlZmVyZW5jZSA9IHt9IGFzIE5vbk51bGxhYmxlPE1lc3NhZ2VbJ21lc3NhZ2VSZWZlcmVuY2UnXT47XG4gICAgY29uc3QgbWVzc2FnZVJlZmVyZW5jZVByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlUmVmZXJlbmNlO1xuXG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5jaGFubmVsX2lkKSB7XG4gICAgICByZWZlcmVuY2UuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5jaGFubmVsX2lkKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5ndWlsZElkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UuZ3VpbGRfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZCk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlUmVmZXJlbmNlUHJvcHMubWVzc2FnZUlkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UubWVzc2FnZV9pZCkge1xuICAgICAgcmVmZXJlbmNlLm1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UubWVzc2FnZV9pZCk7XG4gICAgfVxuXG4gICAgbWVzc2FnZS5tZXNzYWdlUmVmZXJlbmNlID0gcmVmZXJlbmNlO1xuICB9XG4gIGlmIChwcm9wcy5yZWZlcmVuY2VkTWVzc2FnZSAmJiBwYXlsb2FkLnJlZmVyZW5jZWRfbWVzc2FnZSlcbiAgICBtZXNzYWdlLnJlZmVyZW5jZWRNZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5yZWZlcmVuY2VkX21lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSk7XG4gIGlmIChwcm9wcy5tZXNzYWdlU25hcHNob3RzICYmIHBheWxvYWQubWVzc2FnZV9zbmFwc2hvdHMpXG4gICAgbWVzc2FnZS5tZXNzYWdlU25hcHNob3RzID0gcGF5bG9hZC5tZXNzYWdlX3NuYXBzaG90cy5tYXAoKHNuYXApID0+IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgc25hcCwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KSk7XG4gIGlmIChwcm9wcy5ub25jZSAmJiBwYXlsb2FkLm5vbmNlKSBtZXNzYWdlLm5vbmNlID0gcGF5bG9hZC5ub25jZTtcbiAgaWYgKHBheWxvYWQucGlubmVkKSBtZXNzYWdlLnBpbm5lZCA9IHRydWU7XG4gIGlmIChwcm9wcy5yZWFjdGlvbnMgJiYgcGF5bG9hZC5yZWFjdGlvbnM/Lmxlbmd0aCkge1xuICAgIG1lc3NhZ2UucmVhY3Rpb25zID0gcGF5bG9hZC5yZWFjdGlvbnMubWFwKChyZWFjdGlvbikgPT4gKHtcbiAgICAgIG1lOiByZWFjdGlvbi5tZSxcbiAgICAgIG1lQnVyc3Q6IHJlYWN0aW9uLm1lX2J1cnN0LFxuICAgICAgY291bnQ6IHJlYWN0aW9uLmNvdW50LFxuICAgICAgY291bnREZXRhaWxzOiB7XG4gICAgICAgIGJ1cnN0OiByZWFjdGlvbi5jb3VudF9kZXRhaWxzLmJ1cnN0LFxuICAgICAgICBub3JtYWw6IHJlYWN0aW9uLmNvdW50X2RldGFpbHMubm9ybWFsLFxuICAgICAgfSxcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogRGVhbCB3aXRoIHBhcnRpYWxzXG4gICAgICBlbW9qaTogYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHJlYWN0aW9uLmVtb2ppKSxcbiAgICAgIGJ1cnN0Q29sb3JzOiByZWFjdGlvbi5idXJzdF9jb2xvcnMsXG4gICAgfSkpO1xuICB9XG4gIGlmIChwcm9wcy5zdGlja2VySXRlbXMgJiYgcGF5bG9hZC5zdGlja2VyX2l0ZW1zPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5zdGlja2VySXRlbXMgPSBwYXlsb2FkLnN0aWNrZXJfaXRlbXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGl0ZW0uaWQpLFxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgZm9ybWF0VHlwZTogaXRlbS5mb3JtYXRfdHlwZSxcbiAgICB9KSk7XG4gIGlmIChwYXlsb2FkLnR0cykgbWVzc2FnZS50dHMgPSB0cnVlO1xuICBpZiAocHJvcHMudGhyZWFkICYmIHBheWxvYWQudGhyZWFkKSBtZXNzYWdlLnRocmVhZCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHBheWxvYWQudGhyZWFkLCB7IGd1aWxkSWQgfSk7XG4gIGlmIChwcm9wcy50eXBlKSBtZXNzYWdlLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy53ZWJob29rSWQgJiYgcGF5bG9hZC53ZWJob29rX2lkKSBtZXNzYWdlLndlYmhvb2tJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQud2ViaG9va19pZCk7XG4gIGlmIChwcm9wcy5wb2xsICYmIHBheWxvYWQucG9sbCkgbWVzc2FnZS5wb2xsID0gYm90LnRyYW5zZm9ybWVycy5wb2xsKGJvdCwgcGF5bG9hZC5wb2xsKTtcbiAgaWYgKHByb3BzLmNhbGwgJiYgcGF5bG9hZC5jYWxsKSBtZXNzYWdlLmNhbGwgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VDYWxsKGJvdCwgcGF5bG9hZC5jYWxsKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZCwgbWVzc2FnZSwgZXh0cmEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZVBpbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VQaW4sIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBNZXNzYWdlUGluIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VQaW47XG4gIGNvbnN0IG1lc3NhZ2VQaW4gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlUGluLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnBpbm5lZEF0ICYmIHBheWxvYWQucGlubmVkX2F0KSBtZXNzYWdlUGluLnBpbm5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLnBpbm5lZF9hdCk7XG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSkgbWVzc2FnZVBpbi5tZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5tZXNzYWdlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2VQaW4oYm90LCBwYXlsb2FkLCBtZXNzYWdlUGluLCBleHRyYSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlU25hcHNob3QsIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBNZXNzYWdlU25hcHNob3Qge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVNuYXBzaG90O1xuICBjb25zdCBtZXNzYWdlU25hcHNob3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlU25hcHNob3QsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBQYXJ0aWFsc1xuICAgIG1lc3NhZ2VTbmFwc2hvdC5tZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5tZXNzYWdlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pIGFzIE1lc3NhZ2U7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgcGF5bG9hZCwgbWVzc2FnZVNuYXBzaG90LCBleHRyYSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKTogTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE7XG4gIGNvbnN0IG1ldGFkYXRhID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaWQpIG1ldGFkYXRhLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzKSB7XG4gICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9O1xuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddKVxuICAgICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuR3VpbGRJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddLFxuICAgICAgKTtcbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIG1ldGFkYXRhLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKTtcbiAgfVxuICBpZiAocHJvcHMub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQpXG4gICAgbWV0YWRhdGEub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQub3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZCk7XG4gIGlmIChwcm9wcy50eXBlKSBtZXRhZGF0YS50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMudXNlciAmJiBwYXlsb2FkLnVzZXIpIG1ldGFkYXRhLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpO1xuICAvLyBBcHBsaWNhdGlvbiBjb21tYW5kIG1ldGFkYXRhXG4gIGlmICgndGFyZ2V0X3VzZXInIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudGFyZ2V0VXNlciAmJiBwYXlsb2FkLnRhcmdldF91c2VyKSBtZXRhZGF0YS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC50YXJnZXRfdXNlcik7XG4gICAgaWYgKHByb3BzLnRhcmdldE1lc3NhZ2VJZCAmJiBwYXlsb2FkLnRhcmdldF9tZXNzYWdlX2lkKSBtZXRhZGF0YS50YXJnZXRNZXNzYWdlSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnRhcmdldF9tZXNzYWdlX2lkKTtcbiAgfVxuICAvLyBNZXNzYWdlIGNvbXBvbmVudCBtZXRhZGF0YVxuICBpZiAoJ2ludGVyYWN0ZWRfbWVzc2FnZV9pZCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5pbnRlcmFjdGVkTWVzc2FnZUlkICYmIHBheWxvYWQuaW50ZXJhY3RlZF9tZXNzYWdlX2lkKVxuICAgICAgbWV0YWRhdGEuaW50ZXJhY3RlZE1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3RlZF9tZXNzYWdlX2lkKTtcbiAgfVxuICAvLyBNb2RhbCBzdWJtaXQgbWV0YWRhdGFcbiAgaWYgKCd0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhICYmIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICAgIG1ldGFkYXRhLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSk7XG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQsIG1ldGFkYXRhKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VDYWxsKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNhbGwpOiBNZXNzYWdlQ2FsbCB7XG4gIGNvbnN0IGNhbGwgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlQ2FsbCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUNhbGw7XG5cbiAgaWYgKHByb3BzLnBhcnRpY2lwYW50cyAmJiBwYXlsb2FkLnBhcnRpY2lwYW50cykgY2FsbC5wYXJ0aWNpcGFudHMgPSBwYXlsb2FkLnBhcnRpY2lwYW50cy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKTtcbiAgaWYgKHByb3BzLmVuZGVkVGltZXN0YW1wICYmIHBheWxvYWQuZW5kZWRfdGltZXN0YW1wKSBjYWxsLmVuZGVkVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLmVuZGVkX3RpbWVzdGFtcCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZUNhbGwoYm90LCBwYXlsb2FkLCBjYWxsKTtcbn1cbiJdLCJuYW1lcyI6WyJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJNZXNzYWdlRmxhZ3MiLCJzbm93Zmxha2VUb1RpbWVzdGFtcCIsIkNIQU5ORUxfTUVOVElPTl9SRUdFWCIsIlRvZ2dsZUJpdGZpZWxkIiwiRU1QVFlfU1RSSU5HIiwiYmFzZU1lc3NhZ2UiLCJ1bmRlZmluZWQiLCJjcm9zc3Bvc3RlZCIsImZsYWdzIiwiY29udGFpbnMiLCJDcm9zc3Bvc3RlZCIsInZhbHVlIiwiYWRkIiwicmVtb3ZlIiwiZXBoZW1lcmFsIiwiRXBoZW1lcmFsIiwiZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJGYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCIsImhhc1RocmVhZCIsIkhhc1RocmVhZCIsImlzQ3Jvc3Nwb3N0IiwiSXNDcm9zc3Bvc3QiLCJsb2FkaW5nIiwiTG9hZGluZyIsIm1lbnRpb25lZFVzZXJJZHMiLCJtZW50aW9ucyIsIm1hcCIsInVzZXIiLCJpZCIsIm1lbnRpb25FdmVyeW9uZSIsImJpdGZpZWxkIiwicGlubmVkIiwic291cmNlTWVzc2FnZURlbGV0ZWQiLCJTb3VyY2VNZXNzYWdlRGVsZXRlZCIsInN1cHByZXNzRW1iZWRzIiwiU3VwcHJlc3NFbWJlZHMiLCJzdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJTdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJ0aW1lc3RhbXAiLCJ0dHMiLCJ1cmdlbnQiLCJVcmdlbnQiLCJ0cmFuc2Zvcm1NZXNzYWdlIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwidXNlcklkIiwiYXV0aG9yIiwibWVzc2FnZSIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhcHBsaWNhdGlvbiIsInNoYXJkSWQiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJhdHRhY2htZW50cyIsImxlbmd0aCIsImF0dGFjaG1lbnQiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwiY29tcG9uZW50cyIsImNvbXAiLCJjb21wb25lbnQiLCJjb250ZW50IiwiZWRpdGVkVGltZXN0YW1wIiwiZWRpdGVkX3RpbWVzdGFtcCIsIkRhdGUiLCJwYXJzZSIsImVtYmVkcyIsImVtYmVkIiwiaW50ZXJhY3Rpb25NZXRhZGF0YSIsImludGVyYWN0aW9uX21ldGFkYXRhIiwibWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJpbnRlcmFjdGlvbiIsIm1lc3NhZ2VJbnRlcmFjdGlvblByb3BzIiwibWVzc2FnZUludGVyYWN0aW9uIiwibWVtYmVyIiwibmFtZSIsInR5cGUiLCJtZW50aW9uX2V2ZXJ5b25lIiwibWVudGlvbmVkQ2hhbm5lbElkcyIsIm1lbnRpb25fY2hhbm5lbHMiLCJtIiwibWF0Y2giLCJ0ZXh0Iiwic3Vic3RyaW5nIiwibWVudGlvbmVkUm9sZUlkcyIsIm1lbnRpb25fcm9sZXMiLCJtZXNzYWdlUmVmZXJlbmNlIiwibWVzc2FnZV9yZWZlcmVuY2UiLCJyZWZlcmVuY2UiLCJtZXNzYWdlUmVmZXJlbmNlUHJvcHMiLCJtZXNzYWdlSWQiLCJtZXNzYWdlX2lkIiwicmVmZXJlbmNlZE1lc3NhZ2UiLCJyZWZlcmVuY2VkX21lc3NhZ2UiLCJtZXNzYWdlU25hcHNob3RzIiwibWVzc2FnZV9zbmFwc2hvdHMiLCJzbmFwIiwibWVzc2FnZVNuYXBzaG90Iiwibm9uY2UiLCJyZWFjdGlvbnMiLCJyZWFjdGlvbiIsIm1lIiwibWVCdXJzdCIsIm1lX2J1cnN0IiwiY291bnQiLCJjb3VudERldGFpbHMiLCJidXJzdCIsImNvdW50X2RldGFpbHMiLCJub3JtYWwiLCJlbW9qaSIsImJ1cnN0Q29sb3JzIiwiYnVyc3RfY29sb3JzIiwic3RpY2tlckl0ZW1zIiwic3RpY2tlcl9pdGVtcyIsIml0ZW0iLCJmb3JtYXRUeXBlIiwiZm9ybWF0X3R5cGUiLCJ0aHJlYWQiLCJjaGFubmVsIiwid2ViaG9va0lkIiwid2ViaG9va19pZCIsInBvbGwiLCJjYWxsIiwibWVzc2FnZUNhbGwiLCJjdXN0b21pemVycyIsInRyYW5zZm9ybU1lc3NhZ2VQaW4iLCJtZXNzYWdlUGluIiwicGlubmVkQXQiLCJwaW5uZWRfYXQiLCJ0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QiLCJ0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsIm1ldGFkYXRhIiwiYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyIsImF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycyIsIkd1aWxkSW5zdGFsbCIsIlVzZXJJbnN0YWxsIiwib3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCIsIm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQiLCJ0YXJnZXRVc2VyIiwidGFyZ2V0X3VzZXIiLCJ0YXJnZXRNZXNzYWdlSWQiLCJ0YXJnZXRfbWVzc2FnZV9pZCIsImludGVyYWN0ZWRNZXNzYWdlSWQiLCJpbnRlcmFjdGVkX21lc3NhZ2VfaWQiLCJ0cmlnZ2VyaW5nSW50ZXJhY3Rpb25NZXRhZGF0YSIsInRyaWdnZXJpbmdfaW50ZXJhY3Rpb25fbWV0YWRhdGEiLCJ0cmFuc2Zvcm1NZXNzYWdlQ2FsbCIsInBhcnRpY2lwYW50cyIsIngiLCJlbmRlZFRpbWVzdGFtcCIsImVuZGVkX3RpbWVzdGFtcCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FDRUEsaUNBQWlDLEVBTWpDQyxZQUFZLFFBQ1Asb0JBQW9CO0FBQzNCLFNBQVNDLG9CQUFvQixRQUFRLG9CQUFvQjtBQUV6RCxTQUFTQyxxQkFBcUIsUUFBUSxrQkFBa0I7QUFFeEQsU0FBU0MsY0FBYyxRQUFRLDhCQUE4QjtBQUc3RCxNQUFNQyxlQUFlO0FBRXJCLE9BQU8sTUFBTUMsY0FBdUI7SUFDbEMsMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixJQUFJQyxlQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDQyxLQUFLLEVBQUVDLFNBQVNULGFBQWFVLFdBQVcsS0FBSztJQUMzRDtJQUNBLElBQUlILGFBQVlJLE1BQWdCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUNILEtBQUssRUFBRTtRQUNqQixJQUFJRyxPQUFPLElBQUksQ0FBQ0gsS0FBSyxDQUFDSSxHQUFHLENBQUNaLGFBQWFVLFdBQVc7YUFDN0MsSUFBSSxDQUFDRixLQUFLLENBQUNLLE1BQU0sQ0FBQ2IsYUFBYVUsV0FBVztJQUNqRDtJQUNBLElBQUlJLGFBQVk7UUFDZCxPQUFPLElBQUksQ0FBQ04sS0FBSyxFQUFFQyxTQUFTVCxhQUFhZSxTQUFTLEtBQUs7SUFDekQ7SUFD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
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2UsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDYWxsLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVBpbixcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVNuYXBzaG90LFxuICB0eXBlIERpc2NvcmRTaGFyZWRDbGllbnRUaGVtZSxcbiAgTWVzc2FnZUZsYWdzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgeyBzbm93Zmxha2VUb1RpbWVzdGFtcCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB7IENIQU5ORUxfTUVOVElPTl9SRUdFWCB9IGZyb20gJy4uL2NvbnN0YW50cy5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkIH0gZnJvbSAnLi90b2dnbGVzL1RvZ2dsZUJpdGZpZWxkLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgTWVzc2FnZSxcbiAgTWVzc2FnZUNhbGwsXG4gIE1lc3NhZ2VJbnRlcmFjdGlvbixcbiAgTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIE1lc3NhZ2VQaW4sXG4gIE1lc3NhZ2VTbmFwc2hvdCxcbiAgU2hhcmVkQ2xpZW50VGhlbWUsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG5jb25zdCBFTVBUWV9TVFJJTkcgPSAnJztcblxuZXhwb3J0IGNvbnN0IGJhc2VNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIE1lc3NhZ2UpLFxuXG4gIGdldCBjcm9zc3Bvc3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGNyb3NzcG9zdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuQ3Jvc3Nwb3N0ZWQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKTtcbiAgfSxcbiAgZ2V0IGVwaGVtZXJhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBlcGhlbWVyYWwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCk7XG4gIH0sXG4gIGdldCBmYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKTtcbiAgfSxcbiAgZ2V0IGhhc1RocmVhZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBoYXNUaHJlYWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5IYXNUaHJlYWQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCk7XG4gIH0sXG4gIGdldCBpc0Nyb3NzcG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGlzQ3Jvc3Nwb3N0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KTtcbiAgfSxcbiAgZ2V0IGxvYWRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKTtcbiAgfSxcbiAgZ2V0IG1lbnRpb25lZFVzZXJJZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVudGlvbnM/Lm1hcCgodXNlcikgPT4gdXNlci5pZCkgPz8gW107XG4gIH0sXG4gIGdldCBtZW50aW9uRXZlcnlvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDIpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgbWVudGlvbkV2ZXJ5b25lKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgyKTtcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDIpO1xuICB9LFxuICBnZXQgcGlubmVkKCkge1xuICAgIHJldHVybiB0aGlzLmJpdGZpZWxkPy5jb250YWlucygzKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHBpbm5lZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMyk7XG4gICAgZWxzZSB0aGlzLmJpdGZpZWxkLnJlbW92ZSgzKTtcbiAgfSxcbiAgZ2V0IHNvdXJjZU1lc3NhZ2VEZWxldGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgc291cmNlTWVzc2FnZURlbGV0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Tb3VyY2VNZXNzYWdlRGVsZXRlZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpO1xuICB9LFxuICBnZXQgc3VwcHJlc3NFbWJlZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcykgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBzdXBwcmVzc0VtYmVkcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcyk7XG4gIH0sXG4gIGdldCBzdXBwcmVzc05vdGlmaWNhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgc3VwcHJlc3NOb3RpZmljYXRpb25zKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpO1xuICB9LFxuICBnZXQgdGltZXN0YW1wKCkge1xuICAgIHJldHVybiB0aGlzLmlkID8gc25vd2ZsYWtlVG9UaW1lc3RhbXAodGhpcy5pZCkgOiAwO1xuICB9LFxuICBnZXQgdHRzKCkge1xuICAgIHJldHVybiB0aGlzLmJpdGZpZWxkPy5jb250YWlucygxKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHR0cyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMSk7XG4gICAgZWxzZSB0aGlzLmJpdGZpZWxkLnJlbW92ZSgxKTtcbiAgfSxcbiAgZ2V0IHVyZ2VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlVyZ2VudCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCB1cmdlbnQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5VcmdlbnQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlVyZ2VudCk7XG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2UsIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBNZXNzYWdlIHtcbiAgY29uc3QgZ3VpbGRJZCA9IHBheWxvYWQuZ3VpbGRfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgdXNlcklkID0gcGF5bG9hZC5hdXRob3I/LmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hdXRob3IuaWQpIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IG1lc3NhZ2U6IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2UsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9IE9iamVjdC5jcmVhdGUoYmFzZU1lc3NhZ2UpO1xuICBtZXNzYWdlLmJpdGZpZWxkID0gbmV3IFRvZ2dsZUJpdGZpZWxkKCk7XG4gIG1lc3NhZ2UuZmxhZ3MgPSBuZXcgVG9nZ2xlQml0ZmllbGQocGF5bG9hZC5mbGFncyk7XG5cbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2U7XG5cbiAgaWYgKHByb3BzLmF1dGhvciAmJiBwYXlsb2FkLmF1dGhvcikgbWVzc2FnZS5hdXRob3IgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmF1dGhvcik7XG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbiAmJiBwYXlsb2FkLmFwcGxpY2F0aW9uKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogUGFydGlhbHNcbiAgICBtZXNzYWdlLmFwcGxpY2F0aW9uID0gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbihib3QsIHBheWxvYWQuYXBwbGljYXRpb24sIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSk7XG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuYXBwbGljYXRpb25faWQpIG1lc3NhZ2UuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpO1xuICBpZiAocHJvcHMuYXR0YWNobWVudHMgJiYgcGF5bG9hZC5hdHRhY2htZW50cz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2UuYXR0YWNobWVudHMgPSBwYXlsb2FkLmF0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5hdHRhY2htZW50KGJvdCwgYXR0YWNobWVudCkpO1xuICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuY2hhbm5lbF9pZCkgbWVzc2FnZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHM/Lmxlbmd0aCkgbWVzc2FnZS5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wKSk7XG4gIGlmIChwcm9wcy5jb250ZW50KSBtZXNzYWdlLmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQgPz8gRU1QVFlfU1RSSU5HO1xuICBpZiAocHJvcHMuZWRpdGVkVGltZXN0YW1wICYmIHBheWxvYWQuZWRpdGVkX3RpbWVzdGFtcCkgbWVzc2FnZS5lZGl0ZWRUaW1lc3RhbXAgPSBEYXRlLnBhcnNlKHBheWxvYWQuZWRpdGVkX3RpbWVzdGFtcCk7XG4gIGlmIChwcm9wcy5lbWJlZHMgJiYgcGF5bG9hZC5lbWJlZHM/Lmxlbmd0aCkgbWVzc2FnZS5lbWJlZHMgPSBwYXlsb2FkLmVtYmVkcy5tYXAoKGVtYmVkKSA9PiBib3QudHJhbnNmb3JtZXJzLmVtYmVkKGJvdCwgZW1iZWQpKTtcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgZ3VpbGRJZCkgbWVzc2FnZS5ndWlsZElkID0gZ3VpbGRJZDtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG1lc3NhZ2UuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLmludGVyYWN0aW9uTWV0YWRhdGEgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICBtZXNzYWdlLmludGVyYWN0aW9uTWV0YWRhdGEgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbl9tZXRhZGF0YSk7XG4gIGlmIChwcm9wcy5pbnRlcmFjdGlvbiAmJiBwYXlsb2FkLmludGVyYWN0aW9uKSB7XG4gICAgY29uc3QgaW50ZXJhY3Rpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlSW50ZXJhY3Rpb24sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcbiAgICBjb25zdCBtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUludGVyYWN0aW9uO1xuXG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLmlkKSB7XG4gICAgICBpbnRlcmFjdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uaWQpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMubWVtYmVyICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IHBhcnRpYWwgLSBjaGVjayB3aHkgdGhpcyBpcyBwYXJ0aWFsIGFuZCBoYW5kbGUgYXMgbmVlZGVkXG4gICAgICBpbnRlcmFjdGlvbi5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyLCB7IGd1aWxkSWQsIHVzZXJJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyLmlkIH0pO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMubmFtZSkge1xuICAgICAgaW50ZXJhY3Rpb24ubmFtZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24ubmFtZTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLnR5cGUpIHtcbiAgICAgIGludGVyYWN0aW9uLnR5cGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLnR5cGU7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy51c2VyKSB7XG4gICAgICBpbnRlcmFjdGlvbi51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyKTtcbiAgICB9XG5cbiAgICBtZXNzYWdlLmludGVyYWN0aW9uID0gaW50ZXJhY3Rpb247XG4gIH1cbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHVzZXJJZCAmJiBwYXlsb2FkLm1lbWJlcilcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IHBhcnRpYWxcbiAgICBtZXNzYWdlLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5tZW1iZXIsIHsgZ3VpbGRJZCwgdXNlcklkIH0pO1xuICBpZiAocGF5bG9hZC5tZW50aW9uX2V2ZXJ5b25lKSBtZXNzYWdlLm1lbnRpb25FdmVyeW9uZSA9IHRydWU7XG4gIGlmIChwcm9wcy5tZW50aW9uZWRDaGFubmVsSWRzICYmIHBheWxvYWQubWVudGlvbl9jaGFubmVscz8ubGVuZ3RoKSB7XG4gICAgbWVzc2FnZS5tZW50aW9uZWRDaGFubmVsSWRzID0gW1xuICAgICAgLy8gS2VlcCBhbnkgaWRzIHRodCBkaXNjb3JkIHNlbmRzXG4gICAgICAuLi4ocGF5bG9hZC5tZW50aW9uX2NoYW5uZWxzID8/IFtdKS5tYXAoKG0pID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG0uaWQpKSxcbiAgICAgIC8vIEFkZCBhbnkgb3RoZXIgaWRzIHRoYXQgY2FuIGJlIHZhbGlkYXRlZCBpbiBhIGNoYW5uZWwgbWVudGlvbiBmb3JtYXRcbiAgICAgIC4uLihwYXlsb2FkLmNvbnRlbnQ/Lm1hdGNoKENIQU5ORUxfTUVOVElPTl9SRUdFWCkgPz8gW10pLm1hcCgodGV4dCkgPT5cbiAgICAgICAgLy8gY29udmVydHMgdGhlIDwjMTIzPiBpbnRvIDEyM1xuICAgICAgICBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh0ZXh0LnN1YnN0cmluZygyLCB0ZXh0Lmxlbmd0aCAtIDEpKSxcbiAgICAgICksXG4gICAgXTtcbiAgfVxuICBpZiAocHJvcHMubWVudGlvbmVkUm9sZUlkcyAmJiBwYXlsb2FkLm1lbnRpb25fcm9sZXM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLm1lbnRpb25lZFJvbGVJZHMgPSBwYXlsb2FkLm1lbnRpb25fcm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKTtcbiAgaWYgKHByb3BzLm1lbnRpb25zICYmIHBheWxvYWQubWVudGlvbnM/Lmxlbmd0aCkgbWVzc2FnZS5tZW50aW9ucyA9IHBheWxvYWQubWVudGlvbnMubWFwKCh1c2VyKSA9PiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB1c2VyKSk7XG4gIGlmIChwcm9wcy5jaGFubmVsVHlwZSAmJiBwYXlsb2FkLmNoYW5uZWxfdHlwZSkgbWVzc2FnZS5jaGFubmVsVHlwZSA9IHBheWxvYWQuY2hhbm5lbF90eXBlO1xuICBpZiAocHJvcHMubWVzc2FnZVJlZmVyZW5jZSAmJiBwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlID0ge30gYXMgTm9uTnVsbGFibGU8TWVzc2FnZVsnbWVzc2FnZVJlZmVyZW5jZSddPjtcbiAgICBjb25zdCBtZXNzYWdlUmVmZXJlbmNlUHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VSZWZlcmVuY2U7XG5cbiAgICBpZiAobWVzc2FnZVJlZmVyZW5jZVByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLmNoYW5uZWxfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLmNoYW5uZWxfaWQpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZVJlZmVyZW5jZVByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZCkge1xuICAgICAgcmVmZXJlbmNlLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLmd1aWxkX2lkKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5tZXNzYWdlSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKSB7XG4gICAgICByZWZlcmVuY2UubWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKTtcbiAgICB9XG5cbiAgICBtZXNzYWdlLm1lc3NhZ2VSZWZlcmVuY2UgPSByZWZlcmVuY2U7XG4gIH1cbiAgaWYgKHByb3BzLnJlZmVyZW5jZWRNZXNzYWdlICYmIHBheWxvYWQucmVmZXJlbmNlZF9tZXNzYWdlKVxuICAgIG1lc3NhZ2UucmVmZXJlbmNlZE1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLnJlZmVyZW5jZWRfbWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcbiAgaWYgKHByb3BzLm1lc3NhZ2VTbmFwc2hvdHMgJiYgcGF5bG9hZC5tZXNzYWdlX3NuYXBzaG90cylcbiAgICBtZXNzYWdlLm1lc3NhZ2VTbmFwc2hvdHMgPSBwYXlsb2FkLm1lc3NhZ2Vfc25hcHNob3RzLm1hcCgoc25hcCkgPT4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlU25hcHNob3QoYm90LCBzbmFwLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pKTtcbiAgaWYgKHByb3BzLm5vbmNlICYmIHBheWxvYWQubm9uY2UpIG1lc3NhZ2Uubm9uY2UgPSBwYXlsb2FkLm5vbmNlO1xuICBpZiAocGF5bG9hZC5waW5uZWQpIG1lc3NhZ2UucGlubmVkID0gdHJ1ZTtcbiAgaWYgKHByb3BzLnJlYWN0aW9ucyAmJiBwYXlsb2FkLnJlYWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgbWVzc2FnZS5yZWFjdGlvbnMgPSBwYXlsb2FkLnJlYWN0aW9ucy5tYXAoKHJlYWN0aW9uKSA9PiAoe1xuICAgICAgbWU6IHJlYWN0aW9uLm1lLFxuICAgICAgbWVCdXJzdDogcmVhY3Rpb24ubWVfYnVyc3QsXG4gICAgICBjb3VudDogcmVhY3Rpb24uY291bnQsXG4gICAgICBjb3VudERldGFpbHM6IHtcbiAgICAgICAgYnVyc3Q6IHJlYWN0aW9uLmNvdW50X2RldGFpbHMuYnVyc3QsXG4gICAgICAgIG5vcm1hbDogcmVhY3Rpb24uY291bnRfZGV0YWlscy5ub3JtYWwsXG4gICAgICB9LFxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBEZWFsIHdpdGggcGFydGlhbHNcbiAgICAgIGVtb2ppOiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgcmVhY3Rpb24uZW1vamkpLFxuICAgICAgYnVyc3RDb2xvcnM6IHJlYWN0aW9uLmJ1cnN0X2NvbG9ycyxcbiAgICB9KSk7XG4gIH1cbiAgaWYgKHByb3BzLnN0aWNrZXJJdGVtcyAmJiBwYXlsb2FkLnN0aWNrZXJfaXRlbXM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLnN0aWNrZXJJdGVtcyA9IHBheWxvYWQuc3RpY2tlcl9pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaXRlbS5pZCksXG4gICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICBmb3JtYXRUeXBlOiBpdGVtLmZvcm1hdF90eXBlLFxuICAgIH0pKTtcbiAgaWYgKHBheWxvYWQudHRzKSBtZXNzYWdlLnR0cyA9IHRydWU7XG4gIGlmIChwcm9wcy50aHJlYWQgJiYgcGF5bG9hZC50aHJlYWQpIG1lc3NhZ2UudGhyZWFkID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgcGF5bG9hZC50aHJlYWQsIHsgZ3VpbGRJZCB9KTtcbiAgaWYgKHByb3BzLnR5cGUpIG1lc3NhZ2UudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLndlYmhvb2tJZCAmJiBwYXlsb2FkLndlYmhvb2tfaWQpIG1lc3NhZ2Uud2ViaG9va0lkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC53ZWJob29rX2lkKTtcbiAgaWYgKHByb3BzLnBvbGwgJiYgcGF5bG9hZC5wb2xsKSBtZXNzYWdlLnBvbGwgPSBib3QudHJhbnNmb3JtZXJzLnBvbGwoYm90LCBwYXlsb2FkLnBvbGwpO1xuICBpZiAocHJvcHMuY2FsbCAmJiBwYXlsb2FkLmNhbGwpIG1lc3NhZ2UuY2FsbCA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZUNhbGwoYm90LCBwYXlsb2FkLmNhbGwpO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLCBtZXNzYWdlLCBleHRyYSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlUGluKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZVBpbiwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IE1lc3NhZ2VQaW4ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVBpbjtcbiAgY29uc3QgbWVzc2FnZVBpbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VQaW4sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMucGlubmVkQXQgJiYgcGF5bG9hZC5waW5uZWRfYXQpIG1lc3NhZ2VQaW4ucGlubmVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQucGlubmVkX2F0KTtcbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5tZXNzYWdlKSBtZXNzYWdlUGluLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVBpbihib3QsIHBheWxvYWQsIG1lc3NhZ2VQaW4sIGV4dHJhKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VTbmFwc2hvdChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VTbmFwc2hvdCwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IE1lc3NhZ2VTbmFwc2hvdCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlU25hcHNob3Q7XG4gIGNvbnN0IG1lc3NhZ2VTbmFwc2hvdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VTbmFwc2hvdCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSlcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IFBhcnRpYWxzXG4gICAgbWVzc2FnZVNuYXBzaG90Lm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSkgYXMgTWVzc2FnZTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlU25hcHNob3QoYm90LCBwYXlsb2FkLCBtZXNzYWdlU25hcHNob3QsIGV4dHJhKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEpOiBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YTtcbiAgY29uc3QgbWV0YWRhdGEgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pZCkgbWV0YWRhdGEuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMpIHtcbiAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzID0ge307XG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10sXG4gICAgICApO1xuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddKVxuICAgICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuVXNlckluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10sXG4gICAgICApO1xuICB9XG4gIGlmIChwcm9wcy5vcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkICYmIHBheWxvYWQub3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgICBtZXRhZGF0YS5vcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5vcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkKTtcbiAgaWYgKHByb3BzLnR5cGUpIG1ldGFkYXRhLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy51c2VyICYmIHBheWxvYWQudXNlcikgbWV0YWRhdGEudXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudXNlcik7XG4gIC8vIEFwcGxpY2F0aW9uIGNvbW1hbmQgbWV0YWRhdGFcbiAgaWYgKCd0YXJnZXRfdXNlcicgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy50YXJnZXRVc2VyICYmIHBheWxvYWQudGFyZ2V0X3VzZXIpIG1ldGFkYXRhLnRhcmdldFVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnRhcmdldF91c2VyKTtcbiAgICBpZiAocHJvcHMudGFyZ2V0TWVzc2FnZUlkICYmIHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpIG1ldGFkYXRhLnRhcmdldE1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpO1xuICB9XG4gIC8vIE1lc3NhZ2UgY29tcG9uZW50IG1ldGFkYXRhXG4gIGlmICgnaW50ZXJhY3RlZF9tZXNzYWdlX2lkJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLmludGVyYWN0ZWRNZXNzYWdlSWQgJiYgcGF5bG9hZC5pbnRlcmFjdGVkX21lc3NhZ2VfaWQpXG4gICAgICBtZXRhZGF0YS5pbnRlcmFjdGVkTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGVkX21lc3NhZ2VfaWQpO1xuICB9XG4gIC8vIE1vZGFsIHN1Ym1pdCBtZXRhZGF0YVxuICBpZiAoJ3RyaWdnZXJpbmdfaW50ZXJhY3Rpb25fbWV0YWRhdGEnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEgJiYgcGF5bG9hZC50cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhKVxuICAgICAgbWV0YWRhdGEudHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZC50cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhKTtcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZCwgbWV0YWRhdGEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZUNhbGwoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlQ2FsbCk6IE1lc3NhZ2VDYWxsIHtcbiAgY29uc3QgY2FsbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VDYWxsLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlQ2FsbDtcblxuICBpZiAocHJvcHMucGFydGljaXBhbnRzICYmIHBheWxvYWQucGFydGljaXBhbnRzKSBjYWxsLnBhcnRpY2lwYW50cyA9IHBheWxvYWQucGFydGljaXBhbnRzLm1hcCgoeCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoeCkpO1xuICBpZiAocHJvcHMuZW5kZWRUaW1lc3RhbXAgJiYgcGF5bG9hZC5lbmRlZF90aW1lc3RhbXApIGNhbGwuZW5kZWRUaW1lc3RhbXAgPSBEYXRlLnBhcnNlKHBheWxvYWQuZW5kZWRfdGltZXN0YW1wKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlQ2FsbChib3QsIHBheWxvYWQsIGNhbGwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtU2hhcmVkQ2xpZW50VGhlbWUoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRTaGFyZWRDbGllbnRUaGVtZSk6IFNoYXJlZENsaWVudFRoZW1lIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnNoYXJlZENsaWVudFRoZW1lO1xuICBjb25zdCB0aGVtZSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFNoYXJlZENsaWVudFRoZW1lLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLmNvbG9ycyAmJiBwYXlsb2FkLmNvbG9ycykgdGhlbWUuY29sb3JzID0gcGF5bG9hZC5jb2xvcnM7XG4gIGlmIChwcm9wcy5iYXNlTWl4KSB0aGVtZS5iYXNlTWl4ID0gcGF5bG9hZC5iYXNlX21peDtcbiAgaWYgKHByb3BzLmdyYWRpZW50QW5nbGUpIHRoZW1lLmdyYWRpZW50QW5nbGUgPSBwYXlsb2FkLmdyYWRpZW50X2FuZ2xlO1xuICBpZiAocHJvcHMuYmFzZVRoZW1lICYmIHBheWxvYWQuYmFzZV90aGVtZSAhPT0gdW5kZWZpbmVkICYmIHBheWxvYWQuYmFzZV90aGVtZSAhPT0gbnVsbCkgdGhlbWUuYmFzZVRoZW1lID0gcGF5bG9hZC5iYXNlX3RoZW1lO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLnNoYXJlZENsaWVudFRoZW1lKGJvdCwgcGF5bG9hZCwgdGhlbWUpO1xufVxuIl0sIm5hbWVzIjpbIkRpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSIsIk1lc3NhZ2VGbGFncyIsInNub3dmbGFrZVRvVGltZXN0YW1wIiwiQ0hBTk5FTF9NRU5USU9OX1JFR0VYIiwiVG9nZ2xlQml0ZmllbGQiLCJFTVBUWV9TVFJJTkciLCJiYXNlTWVzc2FnZSIsInVuZGVmaW5lZCIsImNyb3NzcG9zdGVkIiwiZmxhZ3MiLCJjb250YWlucyIsIkNyb3NzcG9zdGVkIiwidmFsdWUiLCJhZGQiLCJyZW1vdmUiLCJlcGhlbWVyYWwiLCJFcGhlbWVyYWwiLCJmYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCIsIkZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkIiwiaGFzVGhyZWFkIiwiSGFzVGhyZWFkIiwiaXNDcm9zc3Bvc3QiLCJJc0Nyb3NzcG9zdCIsImxvYWRpbmciLCJMb2FkaW5nIiwibWVudGlvbmVkVXNlcklkcyIsIm1lbnRpb25zIiwibWFwIiwidXNlciIsImlkIiwibWVudGlvbkV2ZXJ5b25lIiwiYml0ZmllbGQiLCJwaW5uZWQiLCJzb3VyY2VNZXNzYWdlRGVsZXRlZCIsIlNvdXJjZU1lc3NhZ2VEZWxldGVkIiwic3VwcHJlc3NFbWJlZHMiLCJTdXBwcmVzc0VtYmVkcyIsInN1cHByZXNzTm90aWZpY2F0aW9ucyIsIlN1cHByZXNzTm90aWZpY2F0aW9ucyIsInRpbWVzdGFtcCIsInR0cyIsInVyZ2VudCIsIlVyZ2VudCIsInRyYW5zZm9ybU1lc3NhZ2UiLCJib3QiLCJwYXlsb2FkIiwiZXh0cmEiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJ1c2VySWQiLCJhdXRob3IiLCJtZXNzYWdlIiwiT2JqZWN0IiwiY3JlYXRlIiwicHJvcHMiLCJkZXNpcmVkUHJvcGVydGllcyIsImFwcGxpY2F0aW9uIiwic2hhcmRJZCIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsImF0dGFjaG1lbnRzIiwibGVuZ3RoIiwiYXR0YWNobWVudCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJjb21wb25lbnRzIiwiY29tcCIsImNvbXBvbmVudCIsImNvbnRlbnQiLCJlZGl0ZWRUaW1lc3RhbXAiLCJlZGl0ZWRfdGltZXN0YW1wIiwiRGF0ZSIsInBhcnNlIiwiZW1iZWRzIiwiZW1iZWQiLCJpbnRlcmFjdGlvbk1ldGFkYXRhIiwiaW50ZXJhY3Rpb25fbWV0YWRhdGEiLCJtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsImludGVyYWN0aW9uIiwibWVzc2FnZUludGVyYWN0aW9uUHJvcHMiLCJtZXNzYWdlSW50ZXJhY3Rpb24iLCJtZW1iZXIiLCJuYW1lIiwidHlwZSIsIm1lbnRpb25fZXZlcnlvbmUiLCJtZW50aW9uZWRDaGFubmVsSWRzIiwibWVudGlvbl9jaGFubmVscyIsIm0iLCJtYXRjaCIsInRleHQiLCJzdWJzdHJpbmciLCJtZW50aW9uZWRSb2xlSWRzIiwibWVudGlvbl9yb2xlcyIsImNoYW5uZWxUeXBlIiwiY2hhbm5lbF90eXBlIiwibWVzc2FnZVJlZmVyZW5jZSIsIm1lc3NhZ2VfcmVmZXJlbmNlIiwicmVmZXJlbmNlIiwibWVzc2FnZVJlZmVyZW5jZVByb3BzIiwibWVzc2FnZUlkIiwibWVzc2FnZV9pZCIsInJlZmVyZW5jZWRNZXNzYWdlIiwicmVmZXJlbmNlZF9tZXNzYWdlIiwibWVzc2FnZVNuYXBzaG90cyIsIm1lc3NhZ2Vfc25hcHNob3RzIiwic25hcCIsIm1lc3NhZ2VTbmFwc2hvdCIsIm5vbmNlIiwicmVhY3Rpb25zIiwicmVhY3Rpb24iLCJtZSIsIm1lQnVyc3QiLCJtZV9idXJzdCIsImNvdW50IiwiY291bnREZXRhaWxzIiwiYnVyc3QiLCJjb3VudF9kZXRhaWxzIiwibm9ybWFsIiwiZW1vamkiLCJidXJzdENvbG9ycyIsImJ1cnN0X2NvbG9ycyIsInN0aWNrZXJJdGVtcyIsInN0aWNrZXJfaXRlbXMiLCJpdGVtIiwiZm9ybWF0VHlwZSIsImZvcm1hdF90eXBlIiwidGhyZWFkIiwiY2hhbm5lbCIsIndlYmhvb2tJZCIsIndlYmhvb2tfaWQiLCJwb2xsIiwiY2FsbCIsIm1lc3NhZ2VDYWxsIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1NZXNzYWdlUGluIiwibWVzc2FnZVBpbiIsInBpbm5lZEF0IiwicGlubmVkX2F0IiwidHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90IiwidHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJtZXRhZGF0YSIsImF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMiLCJhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMiLCJHdWlsZEluc3RhbGwiLCJVc2VySW5zdGFsbCIsIm9yaWdpbmFsUmVzcG9uc2VNZXNzYWdlSWQiLCJvcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkIiwidGFyZ2V0VXNlciIsInRhcmdldF91c2VyIiwidGFyZ2V0TWVzc2FnZUlkIiwidGFyZ2V0X21lc3NhZ2VfaWQiLCJpbnRlcmFjdGVkTWVzc2FnZUlkIiwiaW50ZXJhY3RlZF9tZXNzYWdlX2lkIiwidHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEiLCJ0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhIiwidHJhbnNmb3JtTWVzc2FnZUNhbGwiLCJwYXJ0aWNpcGFudHMiLCJ4IiwiZW5kZWRUaW1lc3RhbXAiLCJlbmRlZF90aW1lc3RhbXAiLCJ0cmFuc2Zvcm1TaGFyZWRDbGllbnRUaGVtZSIsInNoYXJlZENsaWVudFRoZW1lIiwidGhlbWUiLCJjb2xvcnMiLCJiYXNlTWl4IiwiYmFzZV9taXgiLCJncmFkaWVudEFuZ2xlIiwiZ3JhZGllbnRfYW5nbGUiLCJiYXNlVGhlbWUiLCJiYXNlX3RoZW1lIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSxpQ0FBaUMsRUFPakNDLFlBQVksUUFDUCxvQkFBb0I7QUFDM0IsU0FBU0Msb0JBQW9CLFFBQVEsb0JBQW9CO0FBRXpELFNBQVNDLHFCQUFxQixRQUFRLGtCQUFrQjtBQUV4RCxTQUFTQyxjQUFjLFFBQVEsOEJBQThCO0FBVzdELE1BQU1DLGVBQWU7QUFFckIsT0FBTyxNQUFNQyxjQUF1QjtJQUNsQywyRUFBMkU7SUFDM0UsR0FBSUMsU0FBUztJQUViLElBQUlDLGVBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUNDLEtBQUssRUFBRUMsU0FBU1QsYUFBYVUsV0FBVyxLQUFLO0lBQzNEO0lBQ0EsSUFBSUgsYUFBWUksTUFBZ0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQ0gsS0FBSyxFQUFFO1FBQ2pCLElBQUlHLE9BQU8sSUFBSSxDQUFDSCxLQUFLLENB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
@@ -1,5 +1,6 @@
1
- import type { DiscordActivity } from '@discordeno/types';
1
+ import type { DiscordActivity, DiscordActivityAssets } from '@discordeno/types';
2
2
  import type { Bot } from '../../bot.js';
3
- import type { Activity } from '../types.js';
4
- export declare function transformActivityToDiscordActivity(_bot: Bot, payload: Activity): DiscordActivity;
3
+ import type { Activity, ActivityAssets } from '../types.js';
4
+ export declare function transformActivityToDiscordActivity(bot: Bot, payload: Activity): DiscordActivity;
5
+ export declare function transformActivityAssetsToDiscordActivityAssets(bot: Bot, payload: ActivityAssets): DiscordActivityAssets;
5
6
  //# sourceMappingURL=activity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,GAAG,eAAe,CAwChG"}
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,GAAG,eAAe,CA2B/F;AAED,wBAAgB,8CAA8C,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,CAUvH"}
@@ -1,13 +1,9 @@
1
- export function transformActivityToDiscordActivity(_bot, payload) {
1
+ export function transformActivityToDiscordActivity(bot, payload) {
2
2
  return {
3
3
  name: payload.name,
4
4
  type: payload.type,
5
5
  url: payload.url ?? undefined,
6
6
  created_at: payload.createdAt,
7
- timestamps: {
8
- start: payload.startedAt,
9
- end: payload.endedAt
10
- },
11
7
  application_id: payload.applicationId?.toString(),
12
8
  details: payload.details ?? undefined,
13
9
  state: payload.state ?? undefined,
@@ -16,29 +12,28 @@ export function transformActivityToDiscordActivity(_bot, payload) {
16
12
  animated: payload.emoji.animated,
17
13
  id: payload.emoji.id?.toString()
18
14
  } : undefined,
19
- party: {
20
- id: payload.partyId,
21
- size: payload.partyCurrentSize && payload.partyMaxSize ? [
22
- payload.partyCurrentSize,
23
- payload.partyMaxSize
24
- ] : undefined
25
- },
26
- assets: {
27
- large_image: payload.largeImage,
28
- large_text: payload.largeText,
29
- small_image: payload.smallImage,
30
- small_text: payload.smallText,
31
- invite_cover_image: payload.inviteCoverImage
32
- },
33
- secrets: {
34
- join: payload.join,
35
- spectate: payload.spectate,
36
- match: payload.match
37
- },
15
+ assets: payload.assets ? bot.transformers.reverse.activityAssets(bot, payload.assets) : undefined,
16
+ details_url: payload.detailsUrl ?? undefined,
17
+ state_url: payload.stateUrl ?? undefined,
18
+ party: payload.party,
19
+ timestamps: payload.timestamps,
20
+ status_display_type: payload.statusDisplayType,
21
+ secrets: payload.secrets,
38
22
  instance: payload.instance,
39
23
  flags: payload.flags,
40
24
  buttons: payload.buttons
41
25
  };
42
26
  }
27
+ export function transformActivityAssetsToDiscordActivityAssets(bot, payload) {
28
+ return {
29
+ large_image: payload.largeImage,
30
+ large_text: payload.largeText,
31
+ large_url: payload.largeUrl,
32
+ small_image: payload.smallImage,
33
+ small_text: payload.smallText,
34
+ small_url: payload.smallUrl,
35
+ invite_cover_image: payload.inviteCoverImage
36
+ };
37
+ }
43
38
 
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hY3Rpdml0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRBY3Rpdml0eSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgQWN0aXZpdHkgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5KF9ib3Q6IEJvdCwgcGF5bG9hZDogQWN0aXZpdHkpOiBEaXNjb3JkQWN0aXZpdHkge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IHBheWxvYWQubmFtZSxcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUsXG4gICAgdXJsOiBwYXlsb2FkLnVybCA/PyB1bmRlZmluZWQsXG4gICAgY3JlYXRlZF9hdDogcGF5bG9hZC5jcmVhdGVkQXQsXG4gICAgdGltZXN0YW1wczoge1xuICAgICAgc3RhcnQ6IHBheWxvYWQuc3RhcnRlZEF0LFxuICAgICAgZW5kOiBwYXlsb2FkLmVuZGVkQXQsXG4gICAgfSxcbiAgICBhcHBsaWNhdGlvbl9pZDogcGF5bG9hZC5hcHBsaWNhdGlvbklkPy50b1N0cmluZygpLFxuICAgIGRldGFpbHM6IHBheWxvYWQuZGV0YWlscyA/PyB1bmRlZmluZWQsXG4gICAgc3RhdGU6IHBheWxvYWQuc3RhdGUgPz8gdW5kZWZpbmVkLFxuICAgIGVtb2ppOiBwYXlsb2FkLmVtb2ppXG4gICAgICA/IHtcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmVtb2ppLm5hbWUsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgaWQ6IHBheWxvYWQuZW1vamkuaWQ/LnRvU3RyaW5nKCksXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHBhcnR5OiB7XG4gICAgICBpZDogcGF5bG9hZC5wYXJ0eUlkLFxuICAgICAgc2l6ZTogcGF5bG9hZC5wYXJ0eUN1cnJlbnRTaXplICYmIHBheWxvYWQucGFydHlNYXhTaXplID8gW3BheWxvYWQucGFydHlDdXJyZW50U2l6ZSwgcGF5bG9hZC5wYXJ0eU1heFNpemVdIDogdW5kZWZpbmVkLFxuICAgIH0sXG4gICAgYXNzZXRzOiB7XG4gICAgICBsYXJnZV9pbWFnZTogcGF5bG9hZC5sYXJnZUltYWdlLFxuICAgICAgbGFyZ2VfdGV4dDogcGF5bG9hZC5sYXJnZVRleHQsXG4gICAgICBzbWFsbF9pbWFnZTogcGF5bG9hZC5zbWFsbEltYWdlLFxuICAgICAgc21hbGxfdGV4dDogcGF5bG9hZC5zbWFsbFRleHQsXG4gICAgICBpbnZpdGVfY292ZXJfaW1hZ2U6IHBheWxvYWQuaW52aXRlQ292ZXJJbWFnZSxcbiAgICB9LFxuICAgIHNlY3JldHM6IHtcbiAgICAgIGpvaW46IHBheWxvYWQuam9pbixcbiAgICAgIHNwZWN0YXRlOiBwYXlsb2FkLnNwZWN0YXRlLFxuICAgICAgbWF0Y2g6IHBheWxvYWQubWF0Y2gsXG4gICAgfSxcbiAgICBpbnN0YW5jZTogcGF5bG9hZC5pbnN0YW5jZSxcbiAgICBmbGFnczogcGF5bG9hZC5mbGFncyxcbiAgICBidXR0b25zOiBwYXlsb2FkLmJ1dHRvbnMsXG4gIH07XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtQWN0aXZpdHlUb0Rpc2NvcmRBY3Rpdml0eSIsIl9ib3QiLCJwYXlsb2FkIiwibmFtZSIsInR5cGUiLCJ1cmwiLCJ1bmRlZmluZWQiLCJjcmVhdGVkX2F0IiwiY3JlYXRlZEF0IiwidGltZXN0YW1wcyIsInN0YXJ0Iiwic3RhcnRlZEF0IiwiZW5kIiwiZW5kZWRBdCIsImFwcGxpY2F0aW9uX2lkIiwiYXBwbGljYXRpb25JZCIsInRvU3RyaW5nIiwiZGV0YWlscyIsInN0YXRlIiwiZW1vamkiLCJhbmltYXRlZCIsImlkIiwicGFydHkiLCJwYXJ0eUlkIiwic2l6ZSIsInBhcnR5Q3VycmVudFNpemUiLCJwYXJ0eU1heFNpemUiLCJhc3NldHMiLCJsYXJnZV9pbWFnZSIsImxhcmdlSW1hZ2UiLCJsYXJnZV90ZXh0IiwibGFyZ2VUZXh0Iiwic21hbGxfaW1hZ2UiLCJzbWFsbEltYWdlIiwic21hbGxfdGV4dCIsInNtYWxsVGV4dCIsImludml0ZV9jb3Zlcl9pbWFnZSIsImludml0ZUNvdmVySW1hZ2UiLCJzZWNyZXRzIiwiam9pbiIsInNwZWN0YXRlIiwibWF0Y2giLCJpbnN0YW5jZSIsImZsYWdzIiwiYnV0dG9ucyJdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxTQUFTQSxtQ0FBbUNDLElBQVMsRUFBRUMsT0FBaUI7SUFDN0UsT0FBTztRQUNMQyxNQUFNRCxRQUFRQyxJQUFJO1FBQ2xCQyxNQUFNRixRQUFRRSxJQUFJO1FBQ2xCQyxLQUFLSCxRQUFRRyxHQUFHLElBQUlDO1FBQ3BCQyxZQUFZTCxRQUFRTSxTQUFTO1FBQzdCQyxZQUFZO1lBQ1ZDLE9BQU9SLFFBQVFTLFNBQVM7WUFDeEJDLEtBQUtWLFFBQVFXLE9BQU87UUFDdEI7UUFDQUMsZ0JBQWdCWixRQUFRYSxhQUFhLEVBQUVDO1FBQ3ZDQyxTQUFTZixRQUFRZSxPQUFPLElBQUlYO1FBQzVCWSxPQUFPaEIsUUFBUWdCLEtBQUssSUFBSVo7UUFDeEJhLE9BQU9qQixRQUFRaUIsS0FBSyxHQUNoQjtZQUNFaEIsTUFBTUQsUUFBUWlCLEtBQUssQ0FBQ2hCLElBQUk7WUFDeEJpQixVQUFVbEIsUUFBUWlCLEtBQUssQ0FBQ0MsUUFBUTtZQUNoQ0MsSUFBSW5CLFFBQVFpQixLQUFLLENBQUNFLEVBQUUsRUFBRUw7UUFDeEIsSUFDQVY7UUFDSmdCLE9BQU87WUFDTEQsSUFBSW5CLFFBQVFxQixPQUFPO1lBQ25CQyxNQUFNdEIsUUFBUXVCLGdCQUFnQixJQUFJdkIsUUFBUXdCLFlBQVksR0FBRztnQkFBQ3hCLFFBQVF1QixnQkFBZ0I7Z0JBQUV2QixRQUFRd0IsWUFBWTthQUFDLEdBQUdwQjtRQUM5RztRQUNBcUIsUUFBUTtZQUNOQyxhQUFhMUIsUUFBUTJCLFVBQVU7WUFDL0JDLFlBQVk1QixRQUFRNkIsU0FBUztZQUM3QkMsYUFBYTlCLFFBQVErQixVQUFVO1lBQy9CQyxZQUFZaEMsUUFBUWlDLFNBQVM7WUFDN0JDLG9CQUFvQmxDLFFBQVFtQyxnQkFBZ0I7UUFDOUM7UUFDQUMsU0FBUztZQUNQQyxNQUFNckMsUUFBUXFDLElBQUk7WUFDbEJDLFVBQVV0QyxRQUFRc0MsUUFBUTtZQUMxQkMsT0FBT3ZDLFFBQVF1QyxLQUFLO1FBQ3RCO1FBQ0FDLFVBQVV4QyxRQUFRd0MsUUFBUTtRQUMxQkMsT0FBT3pDLFFBQVF5QyxLQUFLO1FBQ3BCQyxTQUFTMUMsUUFBUTBDLE9BQU87SUFDMUI7QUFDRiJ9
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hY3Rpdml0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRBY3Rpdml0eSwgRGlzY29yZEFjdGl2aXR5QXNzZXRzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi8uLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBBY3Rpdml0eSwgQWN0aXZpdHlBc3NldHMgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5KGJvdDogQm90LCBwYXlsb2FkOiBBY3Rpdml0eSk6IERpc2NvcmRBY3Rpdml0eSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIHR5cGU6IHBheWxvYWQudHlwZSxcbiAgICB1cmw6IHBheWxvYWQudXJsID8/IHVuZGVmaW5lZCxcbiAgICBjcmVhdGVkX2F0OiBwYXlsb2FkLmNyZWF0ZWRBdCxcbiAgICBhcHBsaWNhdGlvbl9pZDogcGF5bG9hZC5hcHBsaWNhdGlvbklkPy50b1N0cmluZygpLFxuICAgIGRldGFpbHM6IHBheWxvYWQuZGV0YWlscyA/PyB1bmRlZmluZWQsXG4gICAgc3RhdGU6IHBheWxvYWQuc3RhdGUgPz8gdW5kZWZpbmVkLFxuICAgIGVtb2ppOiBwYXlsb2FkLmVtb2ppXG4gICAgICA/IHtcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmVtb2ppLm5hbWUsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgaWQ6IHBheWxvYWQuZW1vamkuaWQ/LnRvU3RyaW5nKCksXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGFzc2V0czogcGF5bG9hZC5hc3NldHMgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuYWN0aXZpdHlBc3NldHMoYm90LCBwYXlsb2FkLmFzc2V0cykgOiB1bmRlZmluZWQsXG4gICAgZGV0YWlsc191cmw6IHBheWxvYWQuZGV0YWlsc1VybCA/PyB1bmRlZmluZWQsXG4gICAgc3RhdGVfdXJsOiBwYXlsb2FkLnN0YXRlVXJsID8/IHVuZGVmaW5lZCxcbiAgICBwYXJ0eTogcGF5bG9hZC5wYXJ0eSxcbiAgICB0aW1lc3RhbXBzOiBwYXlsb2FkLnRpbWVzdGFtcHMsXG4gICAgc3RhdHVzX2Rpc3BsYXlfdHlwZTogcGF5bG9hZC5zdGF0dXNEaXNwbGF5VHlwZSxcbiAgICBzZWNyZXRzOiBwYXlsb2FkLnNlY3JldHMsXG4gICAgaW5zdGFuY2U6IHBheWxvYWQuaW5zdGFuY2UsXG4gICAgZmxhZ3M6IHBheWxvYWQuZmxhZ3MsXG4gICAgYnV0dG9uczogcGF5bG9hZC5idXR0b25zLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQWN0aXZpdHlBc3NldHNUb0Rpc2NvcmRBY3Rpdml0eUFzc2V0cyhib3Q6IEJvdCwgcGF5bG9hZDogQWN0aXZpdHlBc3NldHMpOiBEaXNjb3JkQWN0aXZpdHlBc3NldHMge1xuICByZXR1cm4ge1xuICAgIGxhcmdlX2ltYWdlOiBwYXlsb2FkLmxhcmdlSW1hZ2UsXG4gICAgbGFyZ2VfdGV4dDogcGF5bG9hZC5sYXJnZVRleHQsXG4gICAgbGFyZ2VfdXJsOiBwYXlsb2FkLmxhcmdlVXJsLFxuICAgIHNtYWxsX2ltYWdlOiBwYXlsb2FkLnNtYWxsSW1hZ2UsXG4gICAgc21hbGxfdGV4dDogcGF5bG9hZC5zbWFsbFRleHQsXG4gICAgc21hbGxfdXJsOiBwYXlsb2FkLnNtYWxsVXJsLFxuICAgIGludml0ZV9jb3Zlcl9pbWFnZTogcGF5bG9hZC5pbnZpdGVDb3ZlckltYWdlLFxuICB9O1xufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUFjdGl2aXR5VG9EaXNjb3JkQWN0aXZpdHkiLCJib3QiLCJwYXlsb2FkIiwibmFtZSIsInR5cGUiLCJ1cmwiLCJ1bmRlZmluZWQiLCJjcmVhdGVkX2F0IiwiY3JlYXRlZEF0IiwiYXBwbGljYXRpb25faWQiLCJhcHBsaWNhdGlvbklkIiwidG9TdHJpbmciLCJkZXRhaWxzIiwic3RhdGUiLCJlbW9qaSIsImFuaW1hdGVkIiwiaWQiLCJhc3NldHMiLCJ0cmFuc2Zvcm1lcnMiLCJyZXZlcnNlIiwiYWN0aXZpdHlBc3NldHMiLCJkZXRhaWxzX3VybCIsImRldGFpbHNVcmwiLCJzdGF0ZV91cmwiLCJzdGF0ZVVybCIsInBhcnR5IiwidGltZXN0YW1wcyIsInN0YXR1c19kaXNwbGF5X3R5cGUiLCJzdGF0dXNEaXNwbGF5VHlwZSIsInNlY3JldHMiLCJpbnN0YW5jZSIsImZsYWdzIiwiYnV0dG9ucyIsInRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzVG9EaXNjb3JkQWN0aXZpdHlBc3NldHMiLCJsYXJnZV9pbWFnZSIsImxhcmdlSW1hZ2UiLCJsYXJnZV90ZXh0IiwibGFyZ2VUZXh0IiwibGFyZ2VfdXJsIiwibGFyZ2VVcmwiLCJzbWFsbF9pbWFnZSIsInNtYWxsSW1hZ2UiLCJzbWFsbF90ZXh0Iiwic21hbGxUZXh0Iiwic21hbGxfdXJsIiwic21hbGxVcmwiLCJpbnZpdGVfY292ZXJfaW1hZ2UiLCJpbnZpdGVDb3ZlckltYWdlIl0sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLFNBQVNBLG1DQUFtQ0MsR0FBUSxFQUFFQyxPQUFpQjtJQUM1RSxPQUFPO1FBQ0xDLE1BQU1ELFFBQVFDLElBQUk7UUFDbEJDLE1BQU1GLFFBQVFFLElBQUk7UUFDbEJDLEtBQUtILFFBQVFHLEdBQUcsSUFBSUM7UUFDcEJDLFlBQVlMLFFBQVFNLFNBQVM7UUFDN0JDLGdCQUFnQlAsUUFBUVEsYUFBYSxFQUFFQztRQUN2Q0MsU0FBU1YsUUFBUVUsT0FBTyxJQUFJTjtRQUM1Qk8sT0FBT1gsUUFBUVcsS0FBSyxJQUFJUDtRQUN4QlEsT0FBT1osUUFBUVksS0FBSyxHQUNoQjtZQUNFWCxNQUFNRCxRQUFRWSxLQUFLLENBQUNYLElBQUk7WUFDeEJZLFVBQVViLFFBQVFZLEtBQUssQ0FBQ0MsUUFBUTtZQUNoQ0MsSUFBSWQsUUFBUVksS0FBSyxDQUFDRSxFQUFFLEVBQUVMO1FBQ3hCLElBQ0FMO1FBQ0pXLFFBQVFmLFFBQVFlLE1BQU0sR0FBR2hCLElBQUlpQixZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsY0FBYyxDQUFDbkIsS0FBS0MsUUFBUWUsTUFBTSxJQUFJWDtRQUN4RmUsYUFBYW5CLFFBQVFvQixVQUFVLElBQUloQjtRQUNuQ2lCLFdBQVdyQixRQUFRc0IsUUFBUSxJQUFJbEI7UUFDL0JtQixPQUFPdkIsUUFBUXVCLEtBQUs7UUFDcEJDLFlBQVl4QixRQUFRd0IsVUFBVTtRQUM5QkMscUJBQXFCekIsUUFBUTBCLGlCQUFpQjtRQUM5Q0MsU0FBUzNCLFFBQVEyQixPQUFPO1FBQ3hCQyxVQUFVNUIsUUFBUTRCLFFBQVE7UUFDMUJDLE9BQU83QixRQUFRNkIsS0FBSztRQUNwQkMsU0FBUzlCLFFBQVE4QixPQUFPO0lBQzFCO0FBQ0Y7QUFFQSxPQUFPLFNBQVNDLCtDQUErQ2hDLEdBQVEsRUFBRUMsT0FBdUI7SUFDOUYsT0FBTztRQUNMZ0MsYUFBYWhDLFFBQVFpQyxVQUFVO1FBQy9CQyxZQUFZbEMsUUFBUW1DLFNBQVM7UUFDN0JDLFdBQVdwQyxRQUFRcUMsUUFBUTtRQUMzQkMsYUFBYXRDLFFBQVF1QyxVQUFVO1FBQy9CQyxZQUFZeEMsUUFBUXlDLFNBQVM7UUFDN0JDLFdBQVcxQyxRQUFRMkMsUUFBUTtRQUMzQkMsb0JBQW9CNUMsUUFBUTZDLGdCQUFnQjtJQUM5QztBQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,KAAK,uBAAuB,EAG5B,KAAK,uBAAuB,EAC5B,KAAK,mDAAmD,EAWxD,KAAK,wBAAwB,EAM9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,SAAS,GACjB,uBAAuB,GAAG,mDAAmD,CA4C/E;AAED,wBAAgB,oDAAoD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,wBAAwB,CASnI;AAED,wBAAgB,kDAAkD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,uBAAuB,CAM/H"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,KAAK,uBAAuB,EAG5B,KAAK,uBAAuB,EAC5B,KAAK,mDAAmD,EAWxD,KAAK,wBAAwB,EAM9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,SAAS,GACjB,uBAAuB,GAAG,mDAAmD,CA4C/E;AAED,wBAAgB,oDAAoD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,wBAAwB,CAYnI;AAED,wBAAgB,kDAAkD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,uBAAuB,CAM/H"}
@@ -50,7 +50,10 @@ export function transformUnfurledMediaItemToDiscordUnfurledMediaItem(bot, payloa
50
50
  proxy_url: payload.proxyUrl,
51
51
  height: payload.height,
52
52
  width: payload.width,
53
+ placeholder: payload.placeholder,
54
+ placeholder_version: payload.placeholderVersion,
53
55
  content_type: payload.contentType,
56
+ flags: payload.flags?.bitfield,
54
57
  attachment_id: payload.attachmentId ? bot.transformers.reverse.snowflake(payload.attachmentId) : undefined
55
58
  };
56
59
  }
@@ -329,4 +332,4 @@ function transformCheckboxComponent(bot, payload) {
329
332
  };
330
333
  }
331
334
 
332
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCdXR0b25TdHlsZXMsXG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTGFiZWxDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJvbGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIHR5cGUgRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFVzZXJTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG4gIHR5cGUgU2VsZWN0T3B0aW9uLFxuICB0eXBlIFRleHRTdHlsZXMsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50LCBNZWRpYUdhbGxlcnlJdGVtLCBVbmZ1cmxlZE1lZGlhSXRlbSB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudChcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IENvbXBvbmVudCxcbik6IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLy8gVGhpcyBzd2l0Y2ggc2hvdWxkIGluY2x1ZGUgYWxsIGNhc2VzXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUFjdGlvblJvdyhib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtUm9sZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1GaWxlQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGVVcGxvYWQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJhZGlvR3JvdXA6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ2hlY2tib3hHcm91cENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHREaXNwbGF5OlxuICAgICAgLy8gQXMgb2Ygbm93IHRoZXkgYXJlIGNvbXBhdGlibGVcbiAgICAgIHJldHVybiBwYXlsb2FkIGFzIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSk6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSB7XG4gIHJldHVybiB7XG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBwcm94eV91cmw6IHBheWxvYWQucHJveHlVcmwsXG4gICAgaGVpZ2h0OiBwYXlsb2FkLmhlaWdodCxcbiAgICB3aWR0aDogcGF5bG9hZC53aWR0aCxcbiAgICBjb250ZW50X3R5cGU6IHBheWxvYWQuY29udGVudFR5cGUsXG4gICAgYXR0YWNobWVudF9pZDogcGF5bG9hZC5hdHRhY2htZW50SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudElkKSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBNZWRpYUdhbGxlcnlJdGVtKTogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0ge1xuICByZXR1cm4ge1xuICAgIG1lZGlhOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEFjdGlvblJvdyB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkFjdGlvblJvdyxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICAvLyBUaGUgYWN0aW9uUm93LmNvbXBvbmVudHMgdHlwZSBpcyBraW5kYSBhbm5veWluZywgc28gd2UgbmVlZCBhIGNhc3QgZm9yIHRoaXNcbiAgICBjb21wb25lbnRzOiAocGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpID8/IFtdKSBhcyBEaXNjb3JkQWN0aW9uUm93Wydjb21wb25lbnRzJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBhY2NlbnRfY29sb3I6IHBheWxvYWQuYWNjZW50Q29sb3IsXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICAgIGNvbXBvbmVudHM6IChwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgPz9cbiAgICAgIFtdKSBhcyBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50Wydjb21wb25lbnRzJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB7XG4gIC8vIFNpbmNlIENvbXBvbmVudCBpcyBhIG1lcmdlIG9mIGFsbCBjb21wb25lbnRzLCBzb21lIGNhc3RzIGFyZSBuZWNlc3NhcnlcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlIGFzIEJ1dHRvblN0eWxlcyxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgZW1vamk6IHBheWxvYWQuZW1vamlcbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBwYXlsb2FkLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmVtb2ppLmlkKSA6IG51bGwsXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5lbW9qaS5uYW1lID8/IG51bGwsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsLFxuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgc2t1X2lkOiBwYXlsb2FkLnNrdUlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLnNrdUlkKSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KF9ib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCB8IERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLy8gU2luY2UgQ29tcG9uZW50IGlzIGEgbWVyZ2Ugb2YgYWxsIGNvbXBvbmVudHMsIHNvbWUgY2FzdHMgYXJlIG5lY2Vzc2FyeVxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgc3R5bGU6IHBheWxvYWQuc3R5bGUgYXMgVGV4dFN0eWxlcyxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsISxcbiAgICB2YWx1ZTogcGF5bG9hZC52YWx1ZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgbWF4X2xlbmd0aDogcGF5bG9hZC5tYXhMZW5ndGgsXG4gICAgbWluX2xlbmd0aDogcGF5bG9hZC5taW5MZW5ndGgsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVN0cmluZ1NlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBDb21wb25lbnQsXG4pOiBEaXNjb3JkU3RyaW5nU2VsZWN0Q29tcG9uZW50IHwgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgIH0gc2F0aXNmaWVzIERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU3RyaW5nU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgb3B0aW9uczogKHBheWxvYWQub3B0aW9ucyBhcyBTZWxlY3RPcHRpb25bXSB8IHVuZGVmaW5lZCk/Lm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgZW1vamk6IG9wdGlvbi5lbW9qaVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGlkOiBvcHRpb24uZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiBudWxsLFxuICAgICAgICAgICAgbmFtZTogb3B0aW9uLmVtb2ppLm5hbWUgPz8gbnVsbCxcbiAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgIH0pKSEsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH0gc2F0aXNmaWVzIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVVzZXJTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVJvbGVTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkUm9sZVNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lbnRpb25hYmxlU2VsZWN0TWVudUNvbXBvbmVudChcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IENvbXBvbmVudCxcbik6IERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lbnRpb25hYmxlU2VsZWN0LFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLnZhbHVlcyxcbiAgICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgICBpZDogcGF5bG9hZC5pZCEsXG4gICAgICAvLyBUT0RPOiBBZGQgcmVzb2x2ZWQgcmV2ZXJzZSB0cmFuc2Zvcm1lclxuICAgICAgcmVzb2x2ZWQ6IHt9LFxuICAgIH0gc2F0aXNmaWVzIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIGRlZmF1bHRfdmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRWYWx1ZXM/Lm1hcCgodmFsdWUpID0+ICh7IGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHZhbHVlLmlkKSwgdHlwZTogdmFsdWUudHlwZSB9KSksXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH0gc2F0aXNmaWVzIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdENvbXBvbmVudDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ2hhbm5lbFNlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBDb21wb25lbnQsXG4pOiBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkQ2hhbm5lbFNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgICBjaGFubmVsX3R5cGVzOiBwYXlsb2FkLmNoYW5uZWxUeXBlcyxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZENoYW5uZWxTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjb21wb25lbnRzOiBwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgYXMgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50W10sXG4gICAgYWNjZXNzb3J5OiAocGF5bG9hZC5hY2Nlc3NvcnkgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5hY2Nlc3NvcnkpIDogdW5kZWZpbmVkKSBhcyBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudFsnYWNjZXNzb3J5J10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBmaWxlOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUhKSxcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lISxcbiAgICBzaXplOiBwYXlsb2FkLnNpemUhLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZWRpYUdhbGxlcnksXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgaXRlbXM6IHBheWxvYWQuaXRlbXM/Lm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBpdGVtKSkgPz8gW10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBtZWRpYTogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5tZWRpYSEpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTGFiZWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRMYWJlbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsISxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBjb21wb25lbnQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBwYXlsb2FkLmNvbXBvbmVudCEpIGFzIERpc2NvcmRMYWJlbENvbXBvbmVudFsnY29tcG9uZW50J10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZVVwbG9hZCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1SYWRpb0dyb3VwQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkUmFkaW9Hcm91cENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJhZGlvR3JvdXAsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnMgPz8gW10sXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hlY2tib3hHcm91cCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIG9wdGlvbnM6IHBheWxvYWQub3B0aW9ucyA/PyBbXSxcbiAgICBtaW5fdmFsdWVzOiBwYXlsb2FkLm1pblZhbHVlcyxcbiAgICBtYXhfdmFsdWVzOiBwYXlsb2FkLm1heFZhbHVlcyxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ2hlY2tib3hDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRDaGVja2JveENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGVmYXVsdDogcGF5bG9hZC5kZWZhdWx0LFxuICB9O1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwidHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudCIsIlVzZXJTZWxlY3QiLCJ0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudCIsIlJvbGVTZWxlY3QiLCJ0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtTWVudGlvbmFibGVTZWxlY3RNZW51Q29tcG9uZW50IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIk1lZGlhR2FsbGVyeSIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudCIsIlRodW1ibmFpbCIsInRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudCIsIkxhYmVsIiwidHJhbnNmb3JtTGFiZWxDb21wb25lbnQiLCJGaWxlVXBsb2FkIiwidHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudCIsIlJhZGlvR3JvdXAiLCJ0cmFuc2Zvcm1SYWRpb0dyb3VwQ29tcG9uZW50IiwiQ2hlY2tib3hHcm91cCIsInRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQiLCJDaGVja2JveCIsInRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50IiwiU2VwYXJhdG9yIiwiVGV4dERpc3BsYXkiLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtIiwidXJsIiwicHJveHlfdXJsIiwicHJveHlVcmwiLCJoZWlnaHQiLCJ3aWR0aCIsImNvbnRlbnRfdHlwZSIsImNvbnRlbnRUeXBlIiwiYXR0YWNobWVudF9pZCIsImF0dGFjaG1lbnRJZCIsInRyYW5zZm9ybWVycyIsInJldmVyc2UiLCJzbm93Zmxha2UiLCJ1bmRlZmluZWQiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJkZXNjcmlwdGlvbiIsInNwb2lsZXIiLCJpZCIsImNvbXBvbmVudHMiLCJtYXAiLCJjb21wb25lbnQiLCJhY2NlbnRfY29sb3IiLCJhY2NlbnRDb2xvciIsInN0eWxlIiwiY3VzdG9tX2lkIiwiY3VzdG9tSWQiLCJkaXNhYmxlZCIsImVtb2ppIiwibmFtZSIsImFuaW1hdGVkIiwibGFiZWwiLCJza3VfaWQiLCJza3VJZCIsIl9ib3QiLCJ2YWx1ZSIsIm1heF9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtaW5fbGVuZ3RoIiwibWluTGVuZ3RoIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsInZhbHVlcyIsIm1heF92YWx1ZXMiLCJtYXhWYWx1ZXMiLCJtaW5fdmFsdWVzIiwibWluVmFsdWVzIiwib3B0aW9ucyIsIm9wdGlvbiIsImRlZmF1bHQiLCJyZXNvbHZlZCIsImRlZmF1bHRfdmFsdWVzIiwiZGVmYXVsdFZhbHVlcyIsImNoYW5uZWxfdHlwZXMiLCJjaGFubmVsVHlwZXMiLCJhY2Nlc3NvcnkiLCJmaWxlIiwic2l6ZSIsIml0ZW1zIiwiaXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iXSwibWFwcGluZ3MiOiJBQUFBLFNBK0JFQSxxQkFBcUIsUUFHaEIsb0JBQW9CO0FBSTNCLE9BQU8sU0FBU0MscUNBQ2RDLEdBQVEsRUFDUkMsT0FBa0I7SUFFbEIsdUNBQXVDO0lBQ3ZDLE9BQVFBLFFBQVFDLElBQUk7UUFDbEIsS0FBS0osc0JBQXNCSyxTQUFTO1lBQ2xDLE9BQU9DLG1CQUFtQkosS0FBS0M7UUFDakMsS0FBS0gsc0JBQXNCTyxNQUFNO1lBQy9CLE9BQU9DLHlCQUF5Qk4sS0FBS0M7UUFDdkMsS0FBS0gsc0JBQXNCUyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlIsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCVyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlYsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCYSxZQUFZO1lBQ3JDLE9BQU9DLG1DQUFtQ1osS0FBS0M7UUFDakQsS0FBS0gsc0JBQXNCZSxVQUFVO1lBQ25DLE9BQU9DLGlDQUFpQ2QsS0FBS0M7UUFDL0MsS0FBS0gsc0JBQXNCaUIsVUFBVTtZQUNuQyxPQUFPQyxpQ0FBaUNoQixLQUFLQztRQUMvQyxLQUFLSCxzQkFBc0JtQixpQkFBaUI7WUFDMUMsT0FBT0Msd0NBQXdDbEIsS0FBS0M7UUFDdEQsS0FBS0gs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
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCdXR0b25TdHlsZXMsXG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTGFiZWxDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJvbGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIHR5cGUgRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFVzZXJTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG4gIHR5cGUgU2VsZWN0T3B0aW9uLFxuICB0eXBlIFRleHRTdHlsZXMsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50LCBNZWRpYUdhbGxlcnlJdGVtLCBVbmZ1cmxlZE1lZGlhSXRlbSB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudChcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IENvbXBvbmVudCxcbik6IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLy8gVGhpcyBzd2l0Y2ggc2hvdWxkIGluY2x1ZGUgYWxsIGNhc2VzXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUFjdGlvblJvdyhib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtUm9sZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1GaWxlQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGVVcGxvYWQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJhZGlvR3JvdXA6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ2hlY2tib3hHcm91cENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHREaXNwbGF5OlxuICAgICAgLy8gQXMgb2Ygbm93IHRoZXkgYXJlIGNvbXBhdGlibGVcbiAgICAgIHJldHVybiBwYXlsb2FkIGFzIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSk6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSB7XG4gIHJldHVybiB7XG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBwcm94eV91cmw6IHBheWxvYWQucHJveHlVcmwsXG4gICAgaGVpZ2h0OiBwYXlsb2FkLmhlaWdodCxcbiAgICB3aWR0aDogcGF5bG9hZC53aWR0aCxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgICBwbGFjZWhvbGRlcl92ZXJzaW9uOiBwYXlsb2FkLnBsYWNlaG9sZGVyVmVyc2lvbixcbiAgICBjb250ZW50X3R5cGU6IHBheWxvYWQuY29udGVudFR5cGUsXG4gICAgZmxhZ3M6IHBheWxvYWQuZmxhZ3M/LmJpdGZpZWxkLFxuICAgIGF0dGFjaG1lbnRfaWQ6IHBheWxvYWQuYXR0YWNobWVudElkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmF0dGFjaG1lbnRJZCkgOiB1bmRlZmluZWQsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbShib3Q6IEJvdCwgcGF5bG9hZDogTWVkaWFHYWxsZXJ5SXRlbSk6IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtIHtcbiAgcmV0dXJuIHtcbiAgICBtZWRpYTogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5tZWRpYSksXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpb25Sb3coYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRBY3Rpb25Sb3cge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3csXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgLy8gVGhlIGFjdGlvblJvdy5jb21wb25lbnRzIHR5cGUgaXMga2luZGEgYW5ub3lpbmcsIHNvIHdlIG5lZWQgYSBjYXN0IGZvciB0aGlzXG4gICAgY29tcG9uZW50czogKHBheWxvYWQuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSA/PyBbXSkgYXMgRGlzY29yZEFjdGlvblJvd1snY29tcG9uZW50cyddLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Db250YWluZXJDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRDb250YWluZXJDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXIsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgYWNjZW50X2NvbG9yOiBwYXlsb2FkLmFjY2VudENvbG9yLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgICBjb21wb25lbnRzOiAocGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpID8/XG4gICAgICBbXSkgYXMgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudFsnY29tcG9uZW50cyddLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRCdXR0b25Db21wb25lbnQge1xuICAvLyBTaW5jZSBDb21wb25lbnQgaXMgYSBtZXJnZSBvZiBhbGwgY29tcG9uZW50cywgc29tZSBjYXN0cyBhcmUgbmVjZXNzYXJ5XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBzdHlsZTogcGF5bG9hZC5zdHlsZSBhcyBCdXR0b25TdHlsZXMsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIGVtb2ppOiBwYXlsb2FkLmVtb2ppXG4gICAgICA/IHtcbiAgICAgICAgICBpZDogcGF5bG9hZC5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5lbW9qaS5pZCkgOiBudWxsLFxuICAgICAgICAgIG5hbWU6IHBheWxvYWQuZW1vamkubmFtZSA/PyBudWxsLFxuICAgICAgICAgIGFuaW1hdGVkOiBwYXlsb2FkLmVtb2ppLmFuaW1hdGVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCxcbiAgICB1cmw6IHBheWxvYWQudXJsLFxuICAgIHNrdV9pZDogcGF5bG9hZC5za3VJZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5za3VJZCkgOiB1bmRlZmluZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChfYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQgfCBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSB7XG4gIC8vIFNpbmNlIENvbXBvbmVudCBpcyBhIG1lcmdlIG9mIGFsbCBjb21wb25lbnRzLCBzb21lIGNhc3RzIGFyZSBuZWNlc3NhcnlcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlIGFzIFRleHRTdHlsZXMsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCEsXG4gICAgdmFsdWU6IHBheWxvYWQudmFsdWUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG1heF9sZW5ndGg6IHBheWxvYWQubWF4TGVuZ3RoLFxuICAgIG1pbl9sZW5ndGg6IHBheWxvYWQubWluTGVuZ3RoLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KFxuICBib3Q6IEJvdCxcbiAgcGF5bG9hZDogQ29tcG9uZW50LFxuKTogRGlzY29yZFN0cmluZ1NlbGVjdENvbXBvbmVudCB8IERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsIHtcbiAgaWYgKHBheWxvYWQudmFsdWVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3QsXG4gICAgICB2YWx1ZXM6IHBheWxvYWQudmFsdWVzLFxuICAgICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICAgIGlkOiBwYXlsb2FkLmlkISxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkU3RyaW5nU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIG9wdGlvbnM6IChwYXlsb2FkLm9wdGlvbnMgYXMgU2VsZWN0T3B0aW9uW10gfCB1bmRlZmluZWQpPy5tYXAoKG9wdGlvbikgPT4gKHtcbiAgICAgIGxhYmVsOiBvcHRpb24ubGFiZWwsXG4gICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbi5kZXNjcmlwdGlvbixcbiAgICAgIGVtb2ppOiBvcHRpb24uZW1vamlcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBpZDogb3B0aW9uLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShvcHRpb24uZW1vamkuaWQpIDogbnVsbCxcbiAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lID8/IG51bGwsXG4gICAgICAgICAgICBhbmltYXRlZDogb3B0aW9uLmVtb2ppLmFuaW1hdGVkLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBkZWZhdWx0OiBvcHRpb24uZGVmYXVsdCxcbiAgICB9KSkhLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9IHNhdGlzZmllcyBEaXNjb3JkU3RyaW5nU2VsZWN0Q29tcG9uZW50O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3QsXG4gICAgICB2YWx1ZXM6IHBheWxvYWQudmFsdWVzLFxuICAgICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICAgIGlkOiBwYXlsb2FkLmlkISxcbiAgICAgIC8vIFRPRE86IEFkZCByZXNvbHZlZCByZXZlcnNlIHRyYW5zZm9ybWVyXG4gICAgICByZXNvbHZlZDoge30sXG4gICAgfSBzYXRpc2ZpZXMgRGlzY29yZFVzZXJTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIGRlZmF1bHRfdmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRWYWx1ZXM/Lm1hcCgodmFsdWUpID0+ICh7IGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHZhbHVlLmlkKSwgdHlwZTogdmFsdWUudHlwZSB9KSksXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH0gc2F0aXNmaWVzIERpc2NvcmRVc2VyU2VsZWN0Q29tcG9uZW50O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3QsXG4gICAgICB2YWx1ZXM6IHBheWxvYWQudmFsdWVzLFxuICAgICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICAgIGlkOiBwYXlsb2FkLmlkISxcbiAgICAgIC8vIFRPRE86IEFkZCByZXNvbHZlZCByZXZlcnNlIHRyYW5zZm9ybWVyXG4gICAgICByZXNvbHZlZDoge30sXG4gICAgfSBzYXRpc2ZpZXMgRGlzY29yZFJvbGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIGRlZmF1bHRfdmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRWYWx1ZXM/Lm1hcCgodmFsdWUpID0+ICh7IGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHZhbHVlLmlkKSwgdHlwZTogdmFsdWUudHlwZSB9KSksXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH0gc2F0aXNmaWVzIERpc2NvcmRSb2xlU2VsZWN0Q29tcG9uZW50O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBDb21wb25lbnQsXG4pOiBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsIHtcbiAgaWYgKHBheWxvYWQudmFsdWVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3QsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBkaXNhYmxlZDogcGF5bG9hZC5kaXNhYmxlZCxcbiAgICBtYXhfdmFsdWVzOiBwYXlsb2FkLm1heFZhbHVlcyxcbiAgICBtaW5fdmFsdWVzOiBwYXlsb2FkLm1pblZhbHVlcyxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgICBkZWZhdWx0X3ZhbHVlczogcGF5bG9hZC5kZWZhdWx0VmFsdWVzPy5tYXAoKHZhbHVlKSA9PiAoeyBpZDogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZSh2YWx1ZS5pZCksIHR5cGU6IHZhbHVlLnR5cGUgfSkpLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9IHNhdGlzZmllcyBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KFxuICBib3Q6IEJvdCxcbiAgcGF5bG9hZDogQ29tcG9uZW50LFxuKTogRGlzY29yZENoYW5uZWxTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkQ2hhbm5lbFNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3QsXG4gICAgICB2YWx1ZXM6IHBheWxvYWQudmFsdWVzLFxuICAgICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICAgIGlkOiBwYXlsb2FkLmlkISxcbiAgICAgIC8vIFRPRE86IEFkZCByZXNvbHZlZCByZXZlcnNlIHRyYW5zZm9ybWVyXG4gICAgICByZXNvbHZlZDoge30sXG4gICAgfSBzYXRpc2ZpZXMgRGlzY29yZENoYW5uZWxTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIGRlZmF1bHRfdmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRWYWx1ZXM/Lm1hcCgodmFsdWUpID0+ICh7IGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHZhbHVlLmlkKSwgdHlwZTogdmFsdWUudHlwZSB9KSksXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gICAgY2hhbm5lbF90eXBlczogcGF5bG9hZC5jaGFubmVsVHlwZXMsXG4gIH0gc2F0aXNmaWVzIERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlY3Rpb24sXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY29tcG9uZW50czogcGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpIGFzIERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudFtdLFxuICAgIGFjY2Vzc29yeTogKHBheWxvYWQuYWNjZXNzb3J5ID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KSA6IHVuZGVmaW5lZCkgYXMgRGlzY29yZFNlY3Rpb25Db21wb25lbnRbJ2FjY2Vzc29yeSddLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1GaWxlQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkRmlsZUNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGUsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgZmlsZTogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5maWxlISksXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICAgIG5hbWU6IHBheWxvYWQubmFtZSEsXG4gICAgc2l6ZTogcGF5bG9hZC5zaXplISxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkTWVkaWFHYWxsZXJ5Q29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGl0ZW1zOiBwYXlsb2FkLml0ZW1zPy5tYXAoKGl0ZW0pID0+IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5tZWRpYUdhbGxlcnlJdGVtKGJvdCwgaXRlbSkpID8/IFtdLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRUaHVtYm5haWxDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UaHVtYm5haWwsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgbWVkaWE6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEhKSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkTGFiZWxDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCEsXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgY29tcG9uZW50OiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5jb21wb25lbnQhKSBhcyBEaXNjb3JkTGFiZWxDb21wb25lbnRbJ2NvbXBvbmVudCddLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1GaWxlVXBsb2FkQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGVVcGxvYWQsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBtYXhfdmFsdWVzOiBwYXlsb2FkLm1heFZhbHVlcyxcbiAgICBtaW5fdmFsdWVzOiBwYXlsb2FkLm1pblZhbHVlcyxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5SYWRpb0dyb3VwLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgb3B0aW9uczogcGF5bG9hZC5vcHRpb25zID8/IFtdLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkQ2hlY2tib3hHcm91cENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXAsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnMgPz8gW10sXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGVja2JveCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGRlZmF1bHQ6IHBheWxvYWQuZGVmYXVsdCxcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJNZXNzYWdlQ29tcG9uZW50VHlwZXMiLCJ0cmFuc2Zvcm1Db21wb25lbnRUb0Rpc2NvcmRDb21wb25lbnQiLCJib3QiLCJwYXlsb2FkIiwidHlwZSIsIkFjdGlvblJvdyIsInRyYW5zZm9ybUFjdGlvblJvdyIsIkJ1dHRvbiIsInRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudCIsIkNvbnRhaW5lciIsInRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudCIsIlRleHRJbnB1dCIsInRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudCIsIlN0cmluZ1NlbGVjdCIsInRyYW5zZm9ybVN0cmluZ1NlbGVjdE1lbnVDb21wb25lbnQiLCJVc2VyU2VsZWN0IiwidHJhbnNmb3JtVXNlclNlbGVjdE1lbnVDb21wb25lbnQiLCJSb2xlU2VsZWN0IiwidHJhbnNmb3JtUm9sZVNlbGVjdE1lbnVDb21wb25lbnQiLCJNZW50aW9uYWJsZVNlbGVjdCIsInRyYW5zZm9ybU1lbnRpb25hYmxlU2VsZWN0TWVudUNvbXBvbmVudCIsIkNoYW5uZWxTZWxlY3QiLCJ0cmFuc2Zvcm1DaGFubmVsU2VsZWN0TWVudUNvbXBvbmVudCIsIlNlY3Rpb24iLCJ0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50IiwiRmlsZSIsInRyYW5zZm9ybUZpbGVDb21wb25lbnQiLCJNZWRpYUdhbGxlcnkiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQiLCJUaHVtYm5haWwiLCJ0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQiLCJMYWJlbCIsInRyYW5zZm9ybUxhYmVsQ29tcG9uZW50IiwiRmlsZVVwbG9hZCIsInRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQiLCJSYWRpb0dyb3VwIiwidHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudCIsIkNoZWNrYm94R3JvdXAiLCJ0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50IiwiQ2hlY2tib3giLCJ0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudCIsIlNlcGFyYXRvciIsIlRleHREaXNwbGF5IiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW1Ub0Rpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSIsInVybCIsInByb3h5X3VybCIsInByb3h5VXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyX3ZlcnNpb24iLCJwbGFjZWhvbGRlclZlcnNpb24iLCJjb250ZW50X3R5cGUiLCJjb250ZW50VHlwZSIsImZsYWdzIiwiYml0ZmllbGQiLCJhdHRhY2htZW50X2lkIiwiYXR0YWNobWVudElkIiwidHJhbnNmb3JtZXJzIiwicmV2ZXJzZSIsInNub3dmbGFrZSIsInVuZGVmaW5lZCIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtIiwibWVkaWEiLCJ1bmZ1cmxlZE1lZGlhSXRlbSIsImRlc2NyaXB0aW9uIiwic3BvaWxlciIsImlkIiwiY29tcG9uZW50cyIsIm1hcCIsImNvbXBvbmVudCIsImFjY2VudF9jb2xvciIsImFjY2VudENvbG9yIiwic3R5bGUiLCJjdXN0b21faWQiLCJjdXN0b21JZCIsImRpc2FibGVkIiwiZW1vamkiLCJuYW1lIiwiYW5pbWF0ZWQiLCJsYWJlbCIsInNrdV9pZCIsInNrdUlkIiwiX2JvdCIsInZhbHVlIiwibWF4X2xlbmd0aCIsIm1heExlbmd0aCIsIm1pbl9sZW5ndGgiLCJtaW5MZW5ndGgiLCJyZXF1aXJlZCIsInZhbHVlcyIsIm1heF92YWx1ZXMiLCJtYXhWYWx1ZXMiLCJtaW5fdmFsdWVzIiwibWluVmFsdWVzIiwib3B0aW9ucyIsIm9wdGlvbiIsImRlZmF1bHQiLCJyZXNvbHZlZCIsImRlZmF1bHRfdmFsdWVzIiwiZGVmYXVsdFZhbHVlcyIsImNoYW5uZWxfdHlwZXMiLCJjaGFubmVsVHlwZXMiLCJhY2Nlc3NvcnkiLCJmaWxlIiwic2l6ZSIsIml0ZW1zIiwiaXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iXSwibWFwcGluZ3MiOiJBQUFBLFNBK0JFQSxxQkFBcUIsUUFHaEIsb0JBQW9CO0FBSTNCLE9BQU8sU0FBU0MscUNBQ2RDLEdBQVEsRUFDUkMsT0FBa0I7SUFFbEIsdUNBQXVDO0lBQ3ZDLE9BQVFBLFFBQVFDLElBQUk7UUFDbEIsS0FBS0osc0JBQXNCSyxTQUFTO1lBQ2xDLE9BQU9DLG1CQUFtQkosS0FBS0M7UUFDakMsS0FBS0gsc0JBQXNCTyxNQUFNO1lBQy9CLE9BQU9DLHlCQUF5Qk4sS0FBS0M7UUFDdkMsS0FBS0gsc0JBQXNCUyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlIsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCVyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlYsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCYSxZQUFZO1lBQ3JD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
@@ -1 +1 @@
1
- {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,GAAG,YAAY,CAkDpF"}
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,GAAG,YAAY,CAiEpF"}
@@ -15,19 +15,34 @@ export function transformEmbedToDiscordEmbed(_bot, payload) {
15
15
  url: payload.image.url,
16
16
  proxy_url: payload.image.proxyUrl,
17
17
  height: payload.image.height,
18
- width: payload.image.width
18
+ width: payload.image.width,
19
+ content_type: payload.image.contentType,
20
+ placeholder: payload.image.placeholder,
21
+ placeholder_version: payload.image.placeholderVersion,
22
+ description: payload.image.description,
23
+ flags: payload.image.flags?.bitfield
19
24
  } : undefined,
20
25
  thumbnail: payload.thumbnail ? {
21
26
  url: payload.thumbnail.url,
22
27
  proxy_url: payload.thumbnail.proxyUrl,
23
28
  height: payload.thumbnail.height,
24
- width: payload.thumbnail.width
29
+ width: payload.thumbnail.width,
30
+ content_type: payload.thumbnail.contentType,
31
+ placeholder: payload.thumbnail.placeholder,
32
+ placeholder_version: payload.thumbnail.placeholderVersion,
33
+ description: payload.thumbnail.description,
34
+ flags: payload.thumbnail.flags?.bitfield
25
35
  } : undefined,
26
36
  video: payload.video ? {
27
37
  url: payload.video.url,
28
38
  proxy_url: payload.video.proxyUrl,
29
39
  height: payload.video.height,
30
- width: payload.video.width
40
+ width: payload.video.width,
41
+ content_type: payload.video.contentType,
42
+ placeholder: payload.video.placeholder,
43
+ placeholder_version: payload.video.placeholderVersion,
44
+ description: payload.video.description,
45
+ flags: payload.video.flags?.bitfield
31
46
  } : undefined,
32
47
  provider: payload.provider,
33
48
  author: payload.author ? {
@@ -40,4 +55,4 @@ export function transformEmbedToDiscordEmbed(_bot, payload) {
40
55
  };
41
56
  }
42
57
 
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9lbWJlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRFbWJlZCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgRW1iZWQgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1FbWJlZFRvRGlzY29yZEVtYmVkKF9ib3Q6IEJvdCwgcGF5bG9hZDogRW1iZWQpOiBEaXNjb3JkRW1iZWQge1xuICByZXR1cm4ge1xuICAgIHRpdGxlOiBwYXlsb2FkLnRpdGxlLFxuICAgIHR5cGU6IHBheWxvYWQudHlwZSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICB1cmw6IHBheWxvYWQudXJsLFxuICAgIHRpbWVzdGFtcDogcGF5bG9hZC50aW1lc3RhbXAgPyBuZXcgRGF0ZShwYXlsb2FkLnRpbWVzdGFtcCkudG9JU09TdHJpbmcoKSA6IHVuZGVmaW5lZCxcbiAgICBjb2xvcjogcGF5bG9hZC5jb2xvcixcbiAgICBmb290ZXI6IHBheWxvYWQuZm9vdGVyXG4gICAgICA/IHtcbiAgICAgICAgICB0ZXh0OiBwYXlsb2FkLmZvb3Rlci50ZXh0LFxuICAgICAgICAgIGljb25fdXJsOiBwYXlsb2FkLmZvb3Rlci5pY29uVXJsLFxuICAgICAgICAgIHByb3h5X2ljb25fdXJsOiBwYXlsb2FkLmZvb3Rlci5wcm94eUljb25VcmwsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGltYWdlOiBwYXlsb2FkLmltYWdlXG4gICAgICA/IHtcbiAgICAgICAgICB1cmw6IHBheWxvYWQuaW1hZ2UudXJsLFxuICAgICAgICAgIHByb3h5X3VybDogcGF5bG9hZC5pbWFnZS5wcm94eVVybCxcbiAgICAgICAgICBoZWlnaHQ6IHBheWxvYWQuaW1hZ2UuaGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiBwYXlsb2FkLmltYWdlLndpZHRoLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICB0aHVtYm5haWw6IHBheWxvYWQudGh1bWJuYWlsXG4gICAgICA/IHtcbiAgICAgICAgICB1cmw6IHBheWxvYWQudGh1bWJuYWlsLnVybCxcbiAgICAgICAgICBwcm94eV91cmw6IHBheWxvYWQudGh1bWJuYWlsLnByb3h5VXJsLFxuICAgICAgICAgIGhlaWdodDogcGF5bG9hZC50aHVtYm5haWwuaGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiBwYXlsb2FkLnRodW1ibmFpbC53aWR0aCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgdmlkZW86IHBheWxvYWQudmlkZW9cbiAgICAgID8ge1xuICAgICAgICAgIHVybDogcGF5bG9hZC52aWRlby51cmwsXG4gICAgICAgICAgcHJveHlfdXJsOiBwYXlsb2FkLnZpZGVvLnByb3h5VXJsLFxuICAgICAgICAgIGhlaWdodDogcGF5bG9hZC52aWRlby5oZWlnaHQsXG4gICAgICAgICAgd2lkdGg6IHBheWxvYWQudmlkZW8ud2lkdGgsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHByb3ZpZGVyOiBwYXlsb2FkLnByb3ZpZGVyLFxuICAgIGF1dGhvcjogcGF5bG9hZC5hdXRob3JcbiAgICAgID8ge1xuICAgICAgICAgIG5hbWU6IHBheWxvYWQuYXV0aG9yLm5hbWUsXG4gICAgICAgICAgdXJsOiBwYXlsb2FkLmF1dGhvci51cmwsXG4gICAgICAgICAgaWNvbl91cmw6IHBheWxvYWQuYXV0aG9yLmljb25VcmwsXG4gICAgICAgICAgcHJveHlfaWNvbl91cmw6IHBheWxvYWQuYXV0aG9yLnByb3h5SWNvblVybCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgZmllbGRzOiBwYXlsb2FkLmZpZWxkcyxcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1FbWJlZFRvRGlzY29yZEVtYmVkIiwiX2JvdCIsInBheWxvYWQiLCJ0aXRsZSIsInR5cGUiLCJkZXNjcmlwdGlvbiIsInVybCIsInRpbWVzdGFtcCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInVuZGVmaW5lZCIsImNvbG9yIiwiZm9vdGVyIiwidGV4dCIsImljb25fdXJsIiwiaWNvblVybCIsInByb3h5X2ljb25fdXJsIiwicHJveHlJY29uVXJsIiwiaW1hZ2UiLCJwcm94eV91cmwiLCJwcm94eVVybCIsImhlaWdodCIsIndpZHRoIiwidGh1bWJuYWlsIiwidmlkZW8iLCJwcm92aWRlciIsImF1dGhvciIsIm5hbWUiLCJmaWVsZHMiXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sU0FBU0EsNkJBQTZCQyxJQUFTLEVBQUVDLE9BQWM7SUFDcEUsT0FBTztRQUNMQyxPQUFPRCxRQUFRQyxLQUFLO1FBQ3BCQyxNQUFNRixRQUFRRSxJQUFJO1FBQ2xCQyxhQUFhSCxRQUFRRyxXQUFXO1FBQ2hDQyxLQUFLSixRQUFRSSxHQUFHO1FBQ2hCQyxXQUFXTCxRQUFRSyxTQUFTLEdBQUcsSUFBSUMsS0FBS04sUUFBUUssU0FBUyxFQUFFRSxXQUFXLEtBQUtDO1FBQzNFQyxPQUFPVCxRQUFRUyxLQUFLO1FBQ3BCQyxRQUFRVixRQUFRVSxNQUFNLEdBQ2xCO1lBQ0VDLE1BQU1YLFFBQVFVLE1BQU0sQ0FBQ0MsSUFBSTtZQUN6QkMsVUFBVVosUUFBUVUsTUFBTSxDQUFDRyxPQUFPO1lBQ2hDQyxnQkFBZ0JkLFFBQVFVLE1BQU0sQ0FBQ0ssWUFBWTtRQUM3QyxJQUNBUDtRQUNKUSxPQUFPaEIsUUFBUWdCLEtBQUssR0FDaEI7WUFDRVosS0FBS0osUUFBUWdCLEtBQUssQ0FBQ1osR0FBRztZQUN0QmEsV0FBV2pCLFFBQVFnQixLQUFLLENBQUNFLFFBQVE7WUFDakNDLFFBQVFuQixRQUFRZ0IsS0FBSyxDQUFDRyxNQUFNO1lBQzVCQyxPQUFPcEIsUUFBUWdCLEtBQUssQ0FBQ0ksS0FBSztRQUM1QixJQUNBWjtRQUNKYSxXQUFXckIsUUFBUXFCLFNBQVMsR0FDeEI7WUFDRWpCLEtBQUtKLFFBQVFxQixTQUFTLENBQUNqQixHQUFHO1lBQzFCYSxXQUFXakIsUUFBUXFCLFNBQVMsQ0FBQ0gsUUFBUTtZQUNyQ0MsUUFBUW5CLFFBQVFxQixTQUFTLENBQUNGLE1BQU07WUFDaENDLE9BQU9wQixRQUFRcUIsU0FBUyxDQUFDRCxLQUFLO1FBQ2hDLElBQ0FaO1FBQ0pjLE9BQU90QixRQUFRc0IsS0FBSyxHQUNoQjtZQUNFbEIsS0FBS0osUUFBUXNCLEtBQUssQ0FBQ2xCLEdBQUc7WUFDdEJhLFdBQVdqQixRQUFRc0IsS0FBSyxDQUFDSixRQUFRO1lBQ2pDQyxRQUFRbkIsUUFBUXNCLEtBQUssQ0FBQ0gsTUFBTTtZQUM1QkMsT0FBT3BCLFFBQVFzQixLQUFLLENBQUNGLEtBQUs7UUFDNUIsSUFDQVo7UUFDSmUsVUFBVXZCLFFBQVF1QixRQUFRO1FBQzFCQyxRQUFReEIsUUFBUXdCLE1BQU0sR0FDbEI7WUFDRUMsTUFBTXpCLFFBQVF3QixNQUFNLENBQUNDLElBQUk7WUFDekJyQixLQUFLSixRQUFRd0IsTUFBTSxDQUFDcEIsR0FBRztZQUN2QlEsVUFBVVosUUFBUXdCLE1BQU0sQ0FBQ1gsT0FBTztZQUNoQ0MsZ0JBQWdCZCxRQUFRd0IsTUFBTSxDQUFDVCxZQUFZO1FBQzdDLElBQ0FQO1FBQ0prQixRQUFRMUIsUUFBUTBCLE1BQU07SUFDeEI7QUFDRiJ9
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9lbWJlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRFbWJlZCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgRW1iZWQgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1FbWJlZFRvRGlzY29yZEVtYmVkKF9ib3Q6IEJvdCwgcGF5bG9hZDogRW1iZWQpOiBEaXNjb3JkRW1iZWQge1xuICByZXR1cm4ge1xuICAgIHRpdGxlOiBwYXlsb2FkLnRpdGxlLFxuICAgIHR5cGU6IHBheWxvYWQudHlwZSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICB1cmw6IHBheWxvYWQudXJsLFxuICAgIHRpbWVzdGFtcDogcGF5bG9hZC50aW1lc3RhbXAgPyBuZXcgRGF0ZShwYXlsb2FkLnRpbWVzdGFtcCkudG9JU09TdHJpbmcoKSA6IHVuZGVmaW5lZCxcbiAgICBjb2xvcjogcGF5bG9hZC5jb2xvcixcbiAgICBmb290ZXI6IHBheWxvYWQuZm9vdGVyXG4gICAgICA/IHtcbiAgICAgICAgICB0ZXh0OiBwYXlsb2FkLmZvb3Rlci50ZXh0LFxuICAgICAgICAgIGljb25fdXJsOiBwYXlsb2FkLmZvb3Rlci5pY29uVXJsLFxuICAgICAgICAgIHByb3h5X2ljb25fdXJsOiBwYXlsb2FkLmZvb3Rlci5wcm94eUljb25VcmwsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGltYWdlOiBwYXlsb2FkLmltYWdlXG4gICAgICA/IHtcbiAgICAgICAgICB1cmw6IHBheWxvYWQuaW1hZ2UudXJsLFxuICAgICAgICAgIHByb3h5X3VybDogcGF5bG9hZC5pbWFnZS5wcm94eVVybCxcbiAgICAgICAgICBoZWlnaHQ6IHBheWxvYWQuaW1hZ2UuaGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiBwYXlsb2FkLmltYWdlLndpZHRoLFxuICAgICAgICAgIGNvbnRlbnRfdHlwZTogcGF5bG9hZC5pbWFnZS5jb250ZW50VHlwZSxcbiAgICAgICAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5pbWFnZS5wbGFjZWhvbGRlcixcbiAgICAgICAgICBwbGFjZWhvbGRlcl92ZXJzaW9uOiBwYXlsb2FkLmltYWdlLnBsYWNlaG9sZGVyVmVyc2lvbixcbiAgICAgICAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5pbWFnZS5kZXNjcmlwdGlvbixcbiAgICAgICAgICBmbGFnczogcGF5bG9hZC5pbWFnZS5mbGFncz8uYml0ZmllbGQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHRodW1ibmFpbDogcGF5bG9hZC50aHVtYm5haWxcbiAgICAgID8ge1xuICAgICAgICAgIHVybDogcGF5bG9hZC50aHVtYm5haWwudXJsLFxuICAgICAgICAgIHByb3h5X3VybDogcGF5bG9hZC50aHVtYm5haWwucHJveHlVcmwsXG4gICAgICAgICAgaGVpZ2h0OiBwYXlsb2FkLnRodW1ibmFpbC5oZWlnaHQsXG4gICAgICAgICAgd2lkdGg6IHBheWxvYWQudGh1bWJuYWlsLndpZHRoLFxuICAgICAgICAgIGNvbnRlbnRfdHlwZTogcGF5bG9hZC50aHVtYm5haWwuY29udGVudFR5cGUsXG4gICAgICAgICAgcGxhY2Vob2xkZXI6IHBheWxvYWQudGh1bWJuYWlsLnBsYWNlaG9sZGVyLFxuICAgICAgICAgIHBsYWNlaG9sZGVyX3ZlcnNpb246IHBheWxvYWQudGh1bWJuYWlsLnBsYWNlaG9sZGVyVmVyc2lvbixcbiAgICAgICAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC50aHVtYm5haWwuZGVzY3JpcHRpb24sXG4gICAgICAgICAgZmxhZ3M6IHBheWxvYWQudGh1bWJuYWlsLmZsYWdzPy5iaXRmaWVsZCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgdmlkZW86IHBheWxvYWQudmlkZW9cbiAgICAgID8ge1xuICAgICAgICAgIHVybDogcGF5bG9hZC52aWRlby51cmwsXG4gICAgICAgICAgcHJveHlfdXJsOiBwYXlsb2FkLnZpZGVvLnByb3h5VXJsLFxuICAgICAgICAgIGhlaWdodDogcGF5bG9hZC52aWRlby5oZWlnaHQsXG4gICAgICAgICAgd2lkdGg6IHBheWxvYWQudmlkZW8ud2lkdGgsXG4gICAgICAgICAgY29udGVudF90eXBlOiBwYXlsb2FkLnZpZGVvLmNvbnRlbnRUeXBlLFxuICAgICAgICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnZpZGVvLnBsYWNlaG9sZGVyLFxuICAgICAgICAgIHBsYWNlaG9sZGVyX3ZlcnNpb246IHBheWxvYWQudmlkZW8ucGxhY2Vob2xkZXJWZXJzaW9uLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLnZpZGVvLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGZsYWdzOiBwYXlsb2FkLnZpZGVvLmZsYWdzPy5iaXRmaWVsZCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgcHJvdmlkZXI6IHBheWxvYWQucHJvdmlkZXIsXG4gICAgYXV0aG9yOiBwYXlsb2FkLmF1dGhvclxuICAgICAgPyB7XG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5hdXRob3IubmFtZSxcbiAgICAgICAgICB1cmw6IHBheWxvYWQuYXV0aG9yLnVybCxcbiAgICAgICAgICBpY29uX3VybDogcGF5bG9hZC5hdXRob3IuaWNvblVybCxcbiAgICAgICAgICBwcm94eV9pY29uX3VybDogcGF5bG9hZC5hdXRob3IucHJveHlJY29uVXJsLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBmaWVsZHM6IHBheWxvYWQuZmllbGRzLFxuICB9O1xufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUVtYmVkVG9EaXNjb3JkRW1iZWQiLCJfYm90IiwicGF5bG9hZCIsInRpdGxlIiwidHlwZSIsImRlc2NyaXB0aW9uIiwidXJsIiwidGltZXN0YW1wIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwidW5kZWZpbmVkIiwiY29sb3IiLCJmb290ZXIiLCJ0ZXh0IiwiaWNvbl91cmwiLCJpY29uVXJsIiwicHJveHlfaWNvbl91cmwiLCJwcm94eUljb25VcmwiLCJpbWFnZSIsInByb3h5X3VybCIsInByb3h5VXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJjb250ZW50X3R5cGUiLCJjb250ZW50VHlwZSIsInBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXJfdmVyc2lvbiIsInBsYWNlaG9sZGVyVmVyc2lvbiIsImZsYWdzIiwiYml0ZmllbGQiLCJ0aHVtYm5haWwiLCJ2aWRlbyIsInByb3ZpZGVyIiwiYXV0aG9yIiwibmFtZSIsImZpZWxkcyJdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxTQUFTQSw2QkFBNkJDLElBQVMsRUFBRUMsT0FBYztJQUNwRSxPQUFPO1FBQ0xDLE9BQU9ELFFBQVFDLEtBQUs7UUFDcEJDLE1BQU1GLFFBQVFFLElBQUk7UUFDbEJDLGFBQWFILFFBQVFHLFdBQVc7UUFDaENDLEtBQUtKLFFBQVFJLEdBQUc7UUFDaEJDLFdBQVdMLFFBQVFLLFNBQVMsR0FBRyxJQUFJQyxLQUFLTixRQUFRSyxTQUFTLEVBQUVFLFdBQVcsS0FBS0M7UUFDM0VDLE9BQU9ULFFBQVFTLEtBQUs7UUFDcEJDLFFBQVFWLFFBQVFVLE1BQU0sR0FDbEI7WUFDRUMsTUFBTVgsUUFBUVUsTUFBTSxDQUFDQyxJQUFJO1lBQ3pCQyxVQUFVWixRQUFRVSxNQUFNLENBQUNHLE9BQU87WUFDaENDLGdCQUFnQmQsUUFBUVUsTUFBTSxDQUFDSyxZQUFZO1FBQzdDLElBQ0FQO1FBQ0pRLE9BQU9oQixRQUFRZ0IsS0FBSyxHQUNoQjtZQUNFWixLQUFLSixRQUFRZ0IsS0FBSyxDQUFDWixHQUFHO1lBQ3RCYSxXQUFXakIsUUFBUWdCLEtBQUssQ0FBQ0UsUUFBUTtZQUNqQ0MsUUFBUW5CLFFBQVFnQixLQUFLLENBQUNHLE1BQU07WUFDNUJDLE9BQU9wQixRQUFRZ0IsS0FBSyxDQUFDSSxLQUFLO1lBQzFCQyxjQUFjckIsUUFBUWdCLEtBQUssQ0FBQ00sV0FBVztZQUN2Q0MsYUFBYXZCLFFBQVFnQixLQUFLLENBQUNPLFdBQVc7WUFDdENDLHFCQUFxQnhCLFFBQVFnQixLQUFLLENBQUNTLGtCQUFrQjtZQUNyRHRCLGFBQWFILFFBQVFnQixLQUFLLENBQUNiLFdBQVc7WUFDdEN1QixPQUFPMUIsUUFBUWdCLEtBQUssQ0FBQ1UsS0FBSyxFQUFFQztRQUM5QixJQUNBbkI7UUFDSm9CLFdBQVc1QixRQUFRNEIsU0FBUyxHQUN4QjtZQUNFeEIsS0FBS0osUUFBUTRCLFNBQVMsQ0FBQ3hCLEdBQUc7WUFDMUJhLFdBQVdqQixRQUFRNEIsU0FBUyxDQUFDVixRQUFRO1lBQ3JDQyxRQUFRbkIsUUFBUTRCLFNBQVMsQ0FBQ1QsTUFBTTtZQUNoQ0MsT0FBT3BCLFFBQVE0QixTQUFTLENBQUNSLEtBQUs7WUFDOUJDLGNBQWNyQixRQUFRNEIsU0FBUyxDQUFDTixXQUFXO1lBQzNDQyxhQUFhdkIsUUFBUTRCLFNBQVMsQ0FBQ0wsV0FBVztZQUMxQ0MscUJBQXFCeEIsUUFBUTRCLFNBQVMsQ0FBQ0gsa0JBQWtCO1lBQ3pEdEIsYUFBYUgsUUFBUTRCLFNBQVMsQ0FBQ3pCLFdBQVc7WUFDMUN1QixPQUFPMUIsUUFBUTRCLFNBQVMsQ0FBQ0YsS0FBSyxFQUFFQztRQUNsQyxJQUNBbkI7UUFDSnFCLE9BQU83QixRQUFRNkIsS0FBSyxHQUNoQjtZQUNFekIsS0FBS0osUUFBUTZCLEtBQUssQ0FBQ3pCLEdBQUc7WUFDdEJhLFdBQVdqQixRQUFRNkIsS0FBSyxDQUFDWCxRQUFRO1lBQ2pDQyxRQUFRbkIsUUFBUTZCLEtBQUssQ0FBQ1YsTUFBTTtZQUM1QkMsT0FBT3BCLFFBQVE2QixLQUFLLENBQUNULEtBQUs7WUFDMUJDLGNBQWNyQixRQUFRNkIsS0FBSyxDQUFDUCxXQUFXO1lBQ3ZDQyxhQUFhdkIsUUFBUTZCLEtBQUssQ0FBQ04sV0FBVztZQUN0Q0MscUJBQXFCeEIsUUFBUTZCLEtBQUssQ0FBQ0osa0JBQWtCO1lBQ3JEdEIsYUFBYUgsUUFBUTZCLEtBQUssQ0FBQzFCLFdBQVc7WUFDdEN1QixPQUFPMUIsUUFBUTZCLEtBQUssQ0FBQ0gsS0FBSyxFQUFFQztRQUM5QixJQUNBbkI7UUFDSnNCLFVBQVU5QixRQUFROEIsUUFBUTtRQUMxQkMsUUFBUS9CLFFBQVErQixNQUFNLEdBQ2xCO1lBQ0VDLE1BQU1oQyxRQUFRK0IsTUFBTSxDQUFDQyxJQUFJO1lBQ3pCNUIsS0FBS0osUUFBUStCLE1BQU0sQ0FBQzNCLEdBQUc7WUFDdkJRLFVBQVVaLFFBQVErQixNQUFNLENBQUNsQixPQUFPO1lBQ2hDQyxnQkFBZ0JkLFFBQVErQixNQUFNLENBQUNoQixZQUFZO1FBQzdDLElBQ0FQO1FBQ0p5QixRQUFRakMsUUFBUWlDLE1BQU07SUFDeEI7QUFDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGxC,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,GAAG,WAAW,CAmBtH;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,aAAa,CAuB9H"}
1
+ {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGxC,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,GAAG,WAAW,CAmBtH;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,aAAa,CAyB9H"}