@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
@@ -1,4 +1,5 @@
1
1
  import { MessageComponentTypes } from '@discordeno/types';
2
+ import { ToggleBitfield } from './toggles/ToggleBitfield.js';
2
3
  export function transformComponent(bot, payload) {
3
4
  let component;
4
5
  // This switch is exhaustive, so we dont need the default case and TS does not error out for the un-initialized component variable
@@ -73,7 +74,10 @@ export function transformUnfurledMediaItem(bot, payload) {
73
74
  if (props.proxyUrl && payload.proxy_url) mediaItem.proxyUrl = payload.proxy_url;
74
75
  if (props.height && payload.height) mediaItem.height = payload.height;
75
76
  if (props.width && payload.width) mediaItem.width = payload.width;
77
+ if (props.placeholder && payload.placeholder) mediaItem.placeholder = payload.placeholder;
78
+ if (props.placeholderVersion && payload.placeholder_version) mediaItem.placeholderVersion = payload.placeholder_version;
76
79
  if (props.contentType && payload.content_type) mediaItem.contentType = payload.content_type;
80
+ if (props.flags && payload.flags) mediaItem.flags = new ToggleBitfield(payload.flags);
77
81
  if (props.attachmentId && payload.attachment_id) mediaItem.attachmentId = bot.transformers.snowflake(payload.attachment_id);
78
82
  return bot.transformers.customizers.unfurledMediaItem(bot, payload, mediaItem);
79
83
  }
@@ -383,4 +387,4 @@ function transformCheckboxComponent(bot, payload) {
383
387
  return checkbox;
384
388
  }
385
389
 
386
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRDaGVja2JveEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIE1lc3NhZ2VDb21wb25lbnRUeXBlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudCwgTWVkaWFHYWxsZXJ5SXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0gfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBsZXQgY29tcG9uZW50OiBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICAvLyBUaGlzIHN3aXRjaCBpcyBleGhhdXN0aXZlLCBzbyB3ZSBkb250IG5lZWQgdGhlIGRlZmF1bHQgY2FzZSBhbmQgVFMgZG9lcyBub3QgZXJyb3Igb3V0IGZvciB0aGUgdW4taW5pdGlhbGl6ZWQgY29tcG9uZW50IHZhcmlhYmxlXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtVXNlclNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGFubmVsU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlVXBsb2FkOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUmFkaW9Hcm91cDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVJhZGlvR3JvdXBDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGVja2JveDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQsIGNvbXBvbmVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKTogVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMudW5mdXJsZWRNZWRpYUl0ZW07XG4gIGNvbnN0IG1lZGlhSXRlbSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFVuZnVybGVkTWVkaWFJdGVtLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnVybCAmJiBwYXlsb2FkLnVybCkgbWVkaWFJdGVtLnVybCA9IHBheWxvYWQudXJsO1xuICBpZiAocHJvcHMucHJveHlVcmwgJiYgcGF5bG9hZC5wcm94eV91cmwpIG1lZGlhSXRlbS5wcm94eVVybCA9IHBheWxvYWQucHJveHlfdXJsO1xuICBpZiAocHJvcHMuaGVpZ2h0ICYmIHBheWxvYWQuaGVpZ2h0KSBtZWRpYUl0ZW0uaGVpZ2h0ID0gcGF5bG9hZC5oZWlnaHQ7XG4gIGlmIChwcm9wcy53aWR0aCAmJiBwYXlsb2FkLndpZHRoKSBtZWRpYUl0ZW0ud2lkdGggPSBwYXlsb2FkLndpZHRoO1xuICBpZiAocHJvcHMuY29udGVudFR5cGUgJiYgcGF5bG9hZC5jb250ZW50X3R5cGUpIG1lZGlhSXRlbS5jb250ZW50VHlwZSA9IHBheWxvYWQuY29udGVudF90eXBlO1xuICBpZiAocHJvcHMuYXR0YWNobWVudElkICYmIHBheWxvYWQuYXR0YWNobWVudF9pZCkgbWVkaWFJdGVtLmF0dGFjaG1lbnRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudF9pZCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLCBtZWRpYUl0ZW0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0pOiBNZWRpYUdhbGxlcnlJdGVtIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lZGlhR2FsbGVyeUl0ZW07XG4gIGNvbnN0IGdhbGxlcnlJdGVtID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVkaWFHYWxsZXJ5SXRlbSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSBnYWxsZXJ5SXRlbS5tZWRpYSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKTtcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGdhbGxlcnlJdGVtLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBnYWxsZXJ5SXRlbS5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBwYXlsb2FkLCBnYWxsZXJ5SXRlbSk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGlvblJvdykge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBhY3Rpb25Sb3cgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGFjdGlvblJvdy50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYWN0aW9uUm93LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGFjdGlvblJvdy5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBhY3Rpb25Sb3c7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjb250YWluZXIgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNvbnRhaW5lci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY29udGFpbmVyLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmFjY2VudENvbG9yICYmIHBheWxvYWQuYWNjZW50X2NvbG9yKSBjb250YWluZXIuYWNjZW50Q29sb3IgPSBwYXlsb2FkLmFjY2VudF9jb2xvcjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBjb250YWluZXIuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGNvbnRhaW5lci5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBjb250YWluZXI7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBidXR0b24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGJ1dHRvbi50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYnV0dG9uLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGJ1dHRvbi5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgYnV0dG9uLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG4gIGlmIChwcm9wcy5zdHlsZSAmJiBwYXlsb2FkLnN0eWxlKSBidXR0b24uc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IERlYWwgd2l0aCBwYXJ0aWFsc1xuICBpZiAocHJvcHMuZW1vamkgJiYgcGF5bG9hZC5lbW9qaSkgYnV0dG9uLmVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHBheWxvYWQuZW1vamkpO1xuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBidXR0b24udXJsID0gcGF5bG9hZC51cmw7XG4gIGlmIChwcm9wcy5kaXNhYmxlZCAmJiBwYXlsb2FkLmRpc2FibGVkKSBidXR0b24uZGlzYWJsZWQgPSBwYXlsb2FkLmRpc2FibGVkO1xuICBpZiAocHJvcHMuc2t1SWQgJiYgcGF5bG9hZC5za3VfaWQpIGJ1dHRvbi5za3VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuc2t1X2lkKTtcblxuICByZXR1cm4gYnV0dG9uO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQgfCBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBpbnB1dCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW5wdXQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGlucHV0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLnZhbHVlICYmIHBheWxvYWQudmFsdWUpIGlucHV0LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBpbnB1dC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIGl0IGlzIHRoZSBjb21wb25lbnQgb3IgdGhlIHJlc3BvbnNlXG4gIGlmICgnc3R5bGUnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuc3R5bGUgJiYgcGF5bG9hZC5zdHlsZSkgaW5wdXQuc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBpbnB1dC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gICAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGlucHV0LmxhYmVsID0gcGF5bG9hZC5sYWJlbDtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgaW5wdXQucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5MZW5ndGggJiYgcGF5bG9hZC5taW5fbGVuZ3RoKSBpbnB1dC5taW5MZW5ndGggPSBwYXlsb2FkLm1pbl9sZW5ndGg7XG4gICAgaWYgKHByb3BzLm1heExlbmd0aCAmJiBwYXlsb2FkLm1heF9sZW5ndGgpIGlucHV0Lm1heExlbmd0aCA9IHBheWxvYWQubWF4X2xlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBpbnB1dDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFN0cmluZ1NlbGVjdENvbXBvbmVudCB8IERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIHN0cmluZyBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnBsYWNlaG9sZGVyICYmIHBheWxvYWQucGxhY2Vob2xkZXIpIHNlbGVjdC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXI7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIHNlbGVjdC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIHNlbGVjdC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKVxuICAgICAgc2VsZWN0Lm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIGxhYmVsOiBvcHRpb24ubGFiZWwsXG4gICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICAgIGVtb2ppOiBvcHRpb24uZW1vamlcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgaWQ6IG9wdGlvbi5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgYW5pbWF0ZWQ6IG9wdGlvbi5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVmYXVsdDogb3B0aW9uLmRlZmF1bHQsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgdXNlciBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgcm9sZSBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIG1lbnRpb25hYmxlIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZWxlY3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlbGVjdC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VsZWN0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjaGFubmVsIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuY2hhbm5lbFR5cGVzICYmIHBheWxvYWQuY2hhbm5lbF90eXBlcykgc2VsZWN0LmNoYW5uZWxUeXBlcyA9IHBheWxvYWQuY2hhbm5lbF90eXBlcztcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlY3Rpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlY3Rpb24uaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHMpIHNlY3Rpb24uY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKTtcbiAgaWYgKHByb3BzLmFjY2Vzc29yeSAmJiBwYXlsb2FkLmFjY2Vzc29yeSkgc2VjdGlvbi5hY2Nlc3NvcnkgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KTtcblxuICByZXR1cm4gc2VjdGlvbjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHRodW1ibmFpbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGh1bWJuYWlsLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSB0aHVtYm5haWwuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMubWVkaWEgJiYgcGF5bG9hZC5tZWRpYSkgdGh1bWJuYWlsLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpO1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgdGh1bWJuYWlsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSB0aHVtYm5haWwuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcblxuICByZXR1cm4gdGh1bWJuYWlsO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgbWVkaWFHYWxsZXJ5ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBtZWRpYUdhbGxlcnkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG1lZGlhR2FsbGVyeS5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5pdGVtcyAmJiBwYXlsb2FkLml0ZW1zKSBtZWRpYUdhbGxlcnkuaXRlbXMgPSBwYXlsb2FkLml0ZW1zLm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5tZWRpYUdhbGxlcnlJdGVtKGJvdCwgaXRlbSkpO1xuXG4gIHJldHVybiBtZWRpYUdhbGxlcnk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGUgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGUudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGUuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuZmlsZSAmJiBwYXlsb2FkLmZpbGUpIGZpbGUuZmlsZSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUpO1xuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGZpbGUuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5uYW1lKSBmaWxlLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwcm9wcy5zaXplICYmIHBheWxvYWQuc2l6ZSkgZmlsZS5zaXplID0gcGF5bG9hZC5zaXplO1xuXG4gIHJldHVybiBmaWxlO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UZXh0RGlzcGxheUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50IHwgRGlzY29yZFRleHREaXNwbGF5SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCB0ZXh0RGlzcGxheSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGV4dERpc3BsYXkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHRleHREaXNwbGF5LmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gVGhhdCB0aGF0IHRoaXMgaXNuJ3QgYSByZXNwb25zZVxuICBpZiAoJ2NvbnRlbnQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuY29udGVudCAmJiBwYXlsb2FkLmNvbnRlbnQpIHRleHREaXNwbGF5LmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gdGV4dERpc3BsYXk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlcGFyYXRvckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZXBhcmF0b3IgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlcGFyYXRvci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VwYXJhdG9yLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmRpdmlkZXIgJiYgcGF5bG9hZC5kaXZpZGVyKSBzZXBhcmF0b3IuZGl2aWRlciA9IHBheWxvYWQuZGl2aWRlcjtcbiAgaWYgKHByb3BzLnNwYWNpbmcgJiYgcGF5bG9hZC5zcGFjaW5nKSBzZXBhcmF0b3Iuc3BhY2luZyA9IHBheWxvYWQuc3BhY2luZztcblxuICByZXR1cm4gc2VwYXJhdG9yO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZExhYmVsQ29tcG9uZW50IHwgRGlzY29yZExhYmVsSW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBsYWJlbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgbGFiZWwudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGxhYmVsLmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gQ2hlY2sgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdsYWJlbCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBsYWJlbC5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGxhYmVsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgfVxuICBpZiAocHJvcHMuY29tcG9uZW50ICYmIHBheWxvYWQuY29tcG9uZW50KSBsYWJlbC5jb21wb25lbnQgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuY29tcG9uZW50KTtcblxuICByZXR1cm4gbGFiZWw7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHwgRGlzY29yZEZpbGVVcGxvYWRJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGVVcGxvYWQgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGVVcGxvYWQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGVVcGxvYWQuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGZpbGVVcGxvYWQuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayB0aGF0IHRoaXMgaXMgYSByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIGZpbGVVcGxvYWQudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIGZpbGVVcGxvYWQubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBmaWxlVXBsb2FkLm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgZmlsZVVwbG9hZC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH1cblxuICByZXR1cm4gZmlsZVVwbG9hZDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQgfCBEaXNjb3JkUmFkaW9Hcm91cEludGVyYWN0aW9uUmVzcG9uc2UpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgcmFkaW9Hcm91cCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgcmFkaW9Hcm91cC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgcmFkaW9Hcm91cC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgcmFkaW9Hcm91cC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIGNvbXBvbmVudCAoaGFzIG9wdGlvbnMpIG9yIHRoZSBpbnRlcmFjdGlvbiByZXNwb25zZSAobW9kYWwgc3VibWl0LCBoYXMgdmFsdWUpXG4gIGlmICgnb3B0aW9ucycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5vcHRpb25zICYmIHBheWxvYWQub3B0aW9ucykgcmFkaW9Hcm91cC5vcHRpb25zID0gcGF5bG9hZC5vcHRpb25zO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkICE9PSB1bmRlZmluZWQpIHJhZGlvR3JvdXAucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy52YWx1ZSkgcmFkaW9Hcm91cC52YWx1ZSA9IHBheWxvYWQudmFsdWUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIHJhZGlvR3JvdXA7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGNoZWNrYm94R3JvdXAgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNoZWNrYm94R3JvdXAudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94R3JvdXAuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGNoZWNrYm94R3JvdXAuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjb21wb25lbnQgKGhhcyBvcHRpb25zKSBvciB0aGUgaW50ZXJhY3Rpb24gcmVzcG9uc2UgKG1vZGFsIHN1Ym1pdCwgaGFzIHZhbHVlcylcbiAgaWYgKCdvcHRpb25zJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKSBjaGVja2JveEdyb3VwLm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnM7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlcXVpcmVkICYmIHBheWxvYWQucmVxdWlyZWQgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnZhbHVlcyAmJiBwYXlsb2FkLnZhbHVlcykgY2hlY2tib3hHcm91cC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgfVxuXG4gIHJldHVybiBjaGVja2JveEdyb3VwO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENoZWNrYm94Q29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjaGVja2JveCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgY2hlY2tib3gudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBjaGVja2JveC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIGlmIChwcm9wcy52YWx1ZSAmJiAndmFsdWUnIGluIHBheWxvYWQpIGNoZWNrYm94LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmRlZmF1bHQgJiYgJ2RlZmF1bHQnIGluIHBheWxvYWQpIGNoZWNrYm94LmRlZmF1bHQgPSBwYXlsb2FkLmRlZmF1bHQ7XG5cbiAgcmV0dXJuIGNoZWNrYm94O1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJjb21wb25lbnQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwidHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudCIsIlVzZXJTZWxlY3QiLCJ0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudCIsIlJvbGVTZWxlY3QiLCJ0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtTWVudGlvbmFibGVTZWxlY3RNZW51Q29tcG9uZW50IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJUaHVtYm5haWwiLCJ0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQiLCJNZWRpYUdhbGxlcnkiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIlNlcGFyYXRvciIsInRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudCIsIlRleHREaXNwbGF5IiwidHJhbnNmb3JtVGV4dERpc3BsYXlDb21wb25lbnQiLCJMYWJlbCIsInRyYW5zZm9ybUxhYmVsQ29tcG9uZW50IiwiRmlsZVVwbG9hZCIsInRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQiLCJSYWRpb0dyb3VwIiwidHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudCIsIkNoZWNrYm94R3JvdXAiLCJ0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50IiwiQ2hlY2tib3giLCJ0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJtZWRpYUl0ZW0iLCJ1cmwiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwiY29udGVudFR5cGUiLCJjb250ZW50X3R5cGUiLCJhdHRhY2htZW50SWQiLCJhdHRhY2htZW50X2lkIiwic25vd2ZsYWtlIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJnYWxsZXJ5SXRlbSIsIm1lZGlhIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiYWN0aW9uUm93IiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29udGFpbmVyIiwiYWNjZW50Q29sb3IiLCJhY2NlbnRfY29sb3IiLCJidXR0b24iLCJsYWJlbCIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwic3R5bGUiLCJlbW9qaSIsImRpc2FibGVkIiwic2t1SWQiLCJza3VfaWQiLCJpbnB1dCIsInZhbHVlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciIsIm1pbkxlbmd0aCIsIm1pbl9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtYXhfbGVuZ3RoIiwic2VsZWN0IiwidmFsdWVzIiwibWluVmFsdWVzIiwibWluX3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1heF92YWx1ZXMiLCJvcHRpb25zIiwib3B0aW9uIiwidW5kZWZpbmVkIiwibmFtZSIsImFuaW1hdGVkIiwiZGVmYXVsdCIsInJlc29sdmVkIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJjaGFubmVsVHlwZXMiLCJjaGFubmVsX3R5cGVzIiwic2VjdGlvbiIsImFjY2Vzc29yeSIsInRodW1ibmFpbCIsIm1lZGlhR2FsbGVyeSIsIml0ZW1zIiwiaXRlbSIsImZpbGUiLCJzaXplIiwidGV4dERpc3BsYXkiLCJjb250ZW50Iiwic2VwYXJhdG9yIiwiZGl2aWRlciIsInNwYWNpbmciLCJmaWxlVXBsb2FkIiwicmFkaW9Hcm91cCIsImNoZWNrYm94R3JvdXAiLCJjaGVja2JveCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FxQ0VBLHFCQUFxQixRQUNoQixvQkFBb0I7QUFLM0IsT0FBTyxTQUFTQyxtQkFBbUJDLEdBQVEsRUFBRUMsT0FBc0Y7SUFDakksSUFBSUM7SUFFSixrSUFBa0k7SUFDbEksT0FBUUQsUUFBUUUsSUFBSTtRQUNsQixLQUFLTCxzQkFBc0JNLFNBQVM7WUFDbENGLFlBQVlHLG1CQUFtQkwsS0FBS0M7WUFDcEM7UUFDRixLQUFLSCxzQkFBc0JR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
390
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRDaGVja2JveEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIE1lc3NhZ2VDb21wb25lbnRUeXBlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgeyBUb2dnbGVCaXRmaWVsZCB9IGZyb20gJy4vdG9nZ2xlcy9Ub2dnbGVCaXRmaWVsZC5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudCwgTWVkaWFHYWxsZXJ5SXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0gfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBsZXQgY29tcG9uZW50OiBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICAvLyBUaGlzIHN3aXRjaCBpcyBleGhhdXN0aXZlLCBzbyB3ZSBkb250IG5lZWQgdGhlIGRlZmF1bHQgY2FzZSBhbmQgVFMgZG9lcyBub3QgZXJyb3Igb3V0IGZvciB0aGUgdW4taW5pdGlhbGl6ZWQgY29tcG9uZW50IHZhcmlhYmxlXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtVXNlclNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGFubmVsU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlVXBsb2FkOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUmFkaW9Hcm91cDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVJhZGlvR3JvdXBDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGVja2JveDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQsIGNvbXBvbmVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKTogVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMudW5mdXJsZWRNZWRpYUl0ZW07XG4gIGNvbnN0IG1lZGlhSXRlbSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFVuZnVybGVkTWVkaWFJdGVtLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnVybCAmJiBwYXlsb2FkLnVybCkgbWVkaWFJdGVtLnVybCA9IHBheWxvYWQudXJsO1xuICBpZiAocHJvcHMucHJveHlVcmwgJiYgcGF5bG9hZC5wcm94eV91cmwpIG1lZGlhSXRlbS5wcm94eVVybCA9IHBheWxvYWQucHJveHlfdXJsO1xuICBpZiAocHJvcHMuaGVpZ2h0ICYmIHBheWxvYWQuaGVpZ2h0KSBtZWRpYUl0ZW0uaGVpZ2h0ID0gcGF5bG9hZC5oZWlnaHQ7XG4gIGlmIChwcm9wcy53aWR0aCAmJiBwYXlsb2FkLndpZHRoKSBtZWRpYUl0ZW0ud2lkdGggPSBwYXlsb2FkLndpZHRoO1xuICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgbWVkaWFJdGVtLnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgaWYgKHByb3BzLnBsYWNlaG9sZGVyVmVyc2lvbiAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyX3ZlcnNpb24pIG1lZGlhSXRlbS5wbGFjZWhvbGRlclZlcnNpb24gPSBwYXlsb2FkLnBsYWNlaG9sZGVyX3ZlcnNpb247XG4gIGlmIChwcm9wcy5jb250ZW50VHlwZSAmJiBwYXlsb2FkLmNvbnRlbnRfdHlwZSkgbWVkaWFJdGVtLmNvbnRlbnRUeXBlID0gcGF5bG9hZC5jb250ZW50X3R5cGU7XG4gIGlmIChwcm9wcy5mbGFncyAmJiBwYXlsb2FkLmZsYWdzKSBtZWRpYUl0ZW0uZmxhZ3MgPSBuZXcgVG9nZ2xlQml0ZmllbGQocGF5bG9hZC5mbGFncyk7XG4gIGlmIChwcm9wcy5hdHRhY2htZW50SWQgJiYgcGF5bG9hZC5hdHRhY2htZW50X2lkKSBtZWRpYUl0ZW0uYXR0YWNobWVudElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hdHRhY2htZW50X2lkKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQsIG1lZGlhSXRlbSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSk6IE1lZGlhR2FsbGVyeUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVkaWFHYWxsZXJ5SXRlbTtcbiAgY29uc3QgZ2FsbGVyeUl0ZW0gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZWRpYUdhbGxlcnlJdGVtLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLm1lZGlhICYmIHBheWxvYWQubWVkaWEpIGdhbGxlcnlJdGVtLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpO1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgZ2FsbGVyeUl0ZW0uZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uO1xuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGdhbGxlcnlJdGVtLnNwb2lsZXIgPSBwYXlsb2FkLnNwb2lsZXI7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVkaWFHYWxsZXJ5SXRlbShib3QsIHBheWxvYWQsIGdhbGxlcnlJdGVtKTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQWN0aW9uUm93KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQWN0aW9uUm93KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGFjdGlvblJvdyA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgYWN0aW9uUm93LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBhY3Rpb25Sb3cuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHMpXG4gICAgYWN0aW9uUm93LmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSk7XG5cbiAgcmV0dXJuIGFjdGlvblJvdztcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGNvbnRhaW5lciA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgY29udGFpbmVyLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBjb250YWluZXIuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuYWNjZW50Q29sb3IgJiYgcGF5bG9hZC5hY2NlbnRfY29sb3IpIGNvbnRhaW5lci5hY2NlbnRDb2xvciA9IHBheWxvYWQuYWNjZW50X2NvbG9yO1xuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGNvbnRhaW5lci5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHMpXG4gICAgY29udGFpbmVyLmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSk7XG5cbiAgcmV0dXJuIGNvbnRhaW5lcjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQnV0dG9uQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGJ1dHRvbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgYnV0dG9uLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBidXR0b24uaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMubGFiZWwgJiYgcGF5bG9hZC5sYWJlbCkgYnV0dG9uLmxhYmVsID0gcGF5bG9hZC5sYWJlbDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBidXR0b24uY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcbiAgaWYgKHByb3BzLnN0eWxlICYmIHBheWxvYWQuc3R5bGUpIGJ1dHRvbi5zdHlsZSA9IHBheWxvYWQuc3R5bGU7XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogRGVhbCB3aXRoIHBhcnRpYWxzXG4gIGlmIChwcm9wcy5lbW9qaSAmJiBwYXlsb2FkLmVtb2ppKSBidXR0b24uZW1vamkgPSBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgcGF5bG9hZC5lbW9qaSk7XG4gIGlmIChwcm9wcy51cmwgJiYgcGF5bG9hZC51cmwpIGJ1dHRvbi51cmwgPSBwYXlsb2FkLnVybDtcbiAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIGJ1dHRvbi5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIGlmIChwcm9wcy5za3VJZCAmJiBwYXlsb2FkLnNrdV9pZCkgYnV0dG9uLnNrdUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5za3VfaWQpO1xuXG4gIHJldHVybiBidXR0b247XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCB8IERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGlucHV0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBpbnB1dC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgaW5wdXQuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMudmFsdWUgJiYgcGF5bG9hZC52YWx1ZSkgaW5wdXQudmFsdWUgPSBwYXlsb2FkLnZhbHVlO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGlucHV0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgaXQgaXMgdGhlIGNvbXBvbmVudCBvciB0aGUgcmVzcG9uc2VcbiAgaWYgKCdzdHlsZScgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5zdHlsZSAmJiBwYXlsb2FkLnN0eWxlKSBpbnB1dC5zdHlsZSA9IHBheWxvYWQuc3R5bGU7XG4gICAgaWYgKHByb3BzLnJlcXVpcmVkICYmIHBheWxvYWQucmVxdWlyZWQpIGlucHV0LnJlcXVpcmVkID0gcGF5bG9hZC5yZXF1aXJlZDtcbiAgICBpZiAocHJvcHMubGFiZWwgJiYgcGF5bG9hZC5sYWJlbCkgaW5wdXQubGFiZWwgPSBwYXlsb2FkLmxhYmVsO1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBpbnB1dC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXI7XG4gICAgaWYgKHByb3BzLm1pbkxlbmd0aCAmJiBwYXlsb2FkLm1pbl9sZW5ndGgpIGlucHV0Lm1pbkxlbmd0aCA9IHBheWxvYWQubWluX2xlbmd0aDtcbiAgICBpZiAocHJvcHMubWF4TGVuZ3RoICYmIHBheWxvYWQubWF4X2xlbmd0aCkgaW5wdXQubWF4TGVuZ3RoID0gcGF5bG9hZC5tYXhfbGVuZ3RoO1xuICB9XG5cbiAgcmV0dXJuIGlucHV0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkU3RyaW5nU2VsZWN0Q29tcG9uZW50IHwgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgc3RyaW5nIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMub3B0aW9ucyAmJiBwYXlsb2FkLm9wdGlvbnMpXG4gICAgICBzZWxlY3Qub3B0aW9ucyA9IHBheWxvYWQub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gKHtcbiAgICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246IG9wdGlvbi5kZXNjcmlwdGlvbixcbiAgICAgICAgZW1vamk6IG9wdGlvbi5lbW9qaVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBpZDogb3B0aW9uLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uob3B0aW9uLmVtb2ppLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgbmFtZTogb3B0aW9uLmVtb2ppLm5hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBhbmltYXRlZDogb3B0aW9uLmVtb2ppLmFuaW1hdGVkLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBkZWZhdWx0OiBvcHRpb24uZGVmYXVsdCxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVVzZXJTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZWxlY3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlbGVjdC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VsZWN0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSB1c2VyIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVJvbGVTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkUm9sZVNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZWxlY3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlbGVjdC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VsZWN0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSByb2xlIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lbnRpb25hYmxlU2VsZWN0TWVudUNvbXBvbmVudChcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4pIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgbWVudGlvbmFibGUgc2VsZWN0IHJlc3BvbnNlXG4gIGlmICgndmFsdWVzJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnZhbHVlcyAmJiBwYXlsb2FkLnZhbHVlcykgc2VsZWN0LnZhbHVlcyA9IHBheWxvYWQudmFsdWVzO1xuICAgIGlmIChwcm9wcy5yZXNvbHZlZCAmJiBwYXlsb2FkLnJlc29sdmVkKSBzZWxlY3QucmVzb2x2ZWQgPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZC5yZXNvbHZlZCk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnBsYWNlaG9sZGVyICYmIHBheWxvYWQucGxhY2Vob2xkZXIpIHNlbGVjdC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXI7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIHNlbGVjdC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIHNlbGVjdC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLmRlZmF1bHRWYWx1ZXMgJiYgcGF5bG9hZC5kZWZhdWx0X3ZhbHVlcylcbiAgICAgIHNlbGVjdC5kZWZhdWx0VmFsdWVzID0gcGF5bG9hZC5kZWZhdWx0X3ZhbHVlcy5tYXAoKGRlZmF1bHRWYWx1ZSkgPT4gKHtcbiAgICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGRlZmF1bHRWYWx1ZS5pZCksXG4gICAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZS50eXBlLFxuICAgICAgfSkpO1xuICAgIGlmIChwcm9wcy5kaXNhYmxlZCAmJiBwYXlsb2FkLmRpc2FibGVkKSBzZWxlY3QuZGlzYWJsZWQgPSBwYXlsb2FkLmRpc2FibGVkO1xuICB9XG5cbiAgcmV0dXJuIHNlbGVjdDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ2hhbm5lbFNlbGVjdE1lbnVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50IHwgRGlzY29yZENoYW5uZWxTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIGNoYW5uZWwgc2VsZWN0IHJlc3BvbnNlXG4gIGlmICgndmFsdWVzJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnZhbHVlcyAmJiBwYXlsb2FkLnZhbHVlcykgc2VsZWN0LnZhbHVlcyA9IHBheWxvYWQudmFsdWVzO1xuICAgIGlmIChwcm9wcy5yZXNvbHZlZCAmJiBwYXlsb2FkLnJlc29sdmVkKSBzZWxlY3QucmVzb2x2ZWQgPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZC5yZXNvbHZlZCk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnBsYWNlaG9sZGVyICYmIHBheWxvYWQucGxhY2Vob2xkZXIpIHNlbGVjdC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXI7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIHNlbGVjdC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIHNlbGVjdC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLmRlZmF1bHRWYWx1ZXMgJiYgcGF5bG9hZC5kZWZhdWx0X3ZhbHVlcylcbiAgICAgIHNlbGVjdC5kZWZhdWx0VmFsdWVzID0gcGF5bG9hZC5kZWZhdWx0X3ZhbHVlcy5tYXAoKGRlZmF1bHRWYWx1ZSkgPT4gKHtcbiAgICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGRlZmF1bHRWYWx1ZS5pZCksXG4gICAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZS50eXBlLFxuICAgICAgfSkpO1xuICAgIGlmIChwcm9wcy5jaGFubmVsVHlwZXMgJiYgcGF5bG9hZC5jaGFubmVsX3R5cGVzKSBzZWxlY3QuY2hhbm5lbFR5cGVzID0gcGF5bG9hZC5jaGFubmVsX3R5cGVzO1xuICAgIGlmIChwcm9wcy5kaXNhYmxlZCAmJiBwYXlsb2FkLmRpc2FibGVkKSBzZWxlY3QuZGlzYWJsZWQgPSBwYXlsb2FkLmRpc2FibGVkO1xuICB9XG5cbiAgcmV0dXJuIHNlbGVjdDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VjdGlvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlY3Rpb25Db21wb25lbnQpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VjdGlvbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VjdGlvbi50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VjdGlvbi5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jb21wb25lbnRzICYmIHBheWxvYWQuY29tcG9uZW50cykgc2VjdGlvbi5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuICBpZiAocHJvcHMuYWNjZXNzb3J5ICYmIHBheWxvYWQuYWNjZXNzb3J5KSBzZWN0aW9uLmFjY2Vzc29yeSA9IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5hY2Nlc3NvcnkpO1xuXG4gIHJldHVybiBzZWN0aW9uO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRUaHVtYm5haWxDb21wb25lbnQpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgdGh1bWJuYWlsID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSB0aHVtYm5haWwudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHRodW1ibmFpbC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSB0aHVtYm5haWwubWVkaWEgPSBib3QudHJhbnNmb3JtZXJzLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5tZWRpYSk7XG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmRlc2NyaXB0aW9uKSB0aHVtYm5haWwuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uO1xuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIHRodW1ibmFpbC5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyO1xuXG4gIHJldHVybiB0aHVtYm5haWw7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBtZWRpYUdhbGxlcnkgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIG1lZGlhR2FsbGVyeS50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbWVkaWFHYWxsZXJ5LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLml0ZW1zICYmIHBheWxvYWQuaXRlbXMpIG1lZGlhR2FsbGVyeS5pdGVtcyA9IHBheWxvYWQuaXRlbXMubWFwKChpdGVtKSA9PiBib3QudHJhbnNmb3JtZXJzLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBpdGVtKSk7XG5cbiAgcmV0dXJuIG1lZGlhR2FsbGVyeTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEZpbGVDb21wb25lbnQpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgZmlsZSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgZmlsZS50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgZmlsZS5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5maWxlICYmIHBheWxvYWQuZmlsZSkgZmlsZS5maWxlID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQuZmlsZSk7XG4gIGlmIChwcm9wcy5zcG9pbGVyICYmIHBheWxvYWQuc3BvaWxlcikgZmlsZS5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyO1xuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGZpbGUubmFtZSA9IHBheWxvYWQubmFtZTtcbiAgaWYgKHByb3BzLnNpemUgJiYgcGF5bG9hZC5zaXplKSBmaWxlLnNpemUgPSBwYXlsb2FkLnNpemU7XG5cbiAgcmV0dXJuIGZpbGU7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGV4dERpc3BsYXlDb21wb25lbnQgfCBEaXNjb3JkVGV4dERpc3BsYXlJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHRleHREaXNwbGF5ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSB0ZXh0RGlzcGxheS50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgdGV4dERpc3BsYXkuaWQgPSBwYXlsb2FkLmlkO1xuICAvLyBUaGF0IHRoYXQgdGhpcyBpc24ndCBhIHJlc3BvbnNlXG4gIGlmICgnY29udGVudCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5jb250ZW50ICYmIHBheWxvYWQuY29udGVudCkgdGV4dERpc3BsYXkuY29udGVudCA9IHBheWxvYWQuY29udGVudDtcbiAgfVxuXG4gIHJldHVybiB0ZXh0RGlzcGxheTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlcGFyYXRvciA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VwYXJhdG9yLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZXBhcmF0b3IuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuZGl2aWRlciAmJiBwYXlsb2FkLmRpdmlkZXIpIHNlcGFyYXRvci5kaXZpZGVyID0gcGF5bG9hZC5kaXZpZGVyO1xuICBpZiAocHJvcHMuc3BhY2luZyAmJiBwYXlsb2FkLnNwYWNpbmcpIHNlcGFyYXRvci5zcGFjaW5nID0gcGF5bG9hZC5zcGFjaW5nO1xuXG4gIHJldHVybiBzZXBhcmF0b3I7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTGFiZWxDb21wb25lbnQgfCBEaXNjb3JkTGFiZWxJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGxhYmVsID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBsYWJlbC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbGFiZWwuaWQgPSBwYXlsb2FkLmlkO1xuICAvLyBDaGVjayB0aGF0IHRoaXMgaXNuJ3QgYSByZXNwb25zZVxuICBpZiAoJ2xhYmVsJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGxhYmVsLmxhYmVsID0gcGF5bG9hZC5sYWJlbDtcbiAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgbGFiZWwuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uO1xuICB9XG4gIGlmIChwcm9wcy5jb21wb25lbnQgJiYgcGF5bG9hZC5jb21wb25lbnQpIGxhYmVsLmNvbXBvbmVudCA9IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5jb21wb25lbnQpO1xuXG4gIHJldHVybiBsYWJlbDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEZpbGVVcGxvYWRDb21wb25lbnQgfCBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2UpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgZmlsZVVwbG9hZCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgZmlsZVVwbG9hZC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgZmlsZVVwbG9hZC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgZmlsZVVwbG9hZC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIHRoYXQgdGhpcyBpcyBhIHJlc3BvbnNlXG4gIGlmICgndmFsdWVzJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnZhbHVlcyAmJiBwYXlsb2FkLnZhbHVlcykgZmlsZVVwbG9hZC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgZmlsZVVwbG9hZC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIGZpbGVVcGxvYWQubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBmaWxlVXBsb2FkLnJlcXVpcmVkID0gcGF5bG9hZC5yZXF1aXJlZDtcbiAgfVxuXG4gIHJldHVybiBmaWxlVXBsb2FkO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1SYWRpb0dyb3VwQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkUmFkaW9Hcm91cENvbXBvbmVudCB8IERpc2NvcmRSYWRpb0dyb3VwSW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCByYWRpb0dyb3VwID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSByYWRpb0dyb3VwLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSByYWRpb0dyb3VwLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSByYWRpb0dyb3VwLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgY29tcG9uZW50IChoYXMgb3B0aW9ucykgb3IgdGhlIGludGVyYWN0aW9uIHJlc3BvbnNlIChtb2RhbCBzdWJtaXQsIGhhcyB2YWx1ZSlcbiAgaWYgKCdvcHRpb25zJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKSByYWRpb0dyb3VwLm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnM7XG4gICAgaWYgKHByb3BzLnJlcXVpcmVkICYmIHBheWxvYWQucmVxdWlyZWQgIT09IHVuZGVmaW5lZCkgcmFkaW9Hcm91cC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnZhbHVlKSByYWRpb0dyb3VwLnZhbHVlID0gcGF5bG9hZC52YWx1ZSA/PyB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gcmFkaW9Hcm91cDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ2hlY2tib3hHcm91cENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENoZWNrYm94R3JvdXBDb21wb25lbnQgfCBEaXNjb3JkQ2hlY2tib3hHcm91cEludGVyYWN0aW9uUmVzcG9uc2UpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgY2hlY2tib3hHcm91cCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgY2hlY2tib3hHcm91cC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY2hlY2tib3hHcm91cC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgY2hlY2tib3hHcm91cC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIGNvbXBvbmVudCAoaGFzIG9wdGlvbnMpIG9yIHRoZSBpbnRlcmFjdGlvbiByZXNwb25zZSAobW9kYWwgc3VibWl0LCBoYXMgdmFsdWVzKVxuICBpZiAoJ29wdGlvbnMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMub3B0aW9ucyAmJiBwYXlsb2FkLm9wdGlvbnMpIGNoZWNrYm94R3JvdXAub3B0aW9ucyA9IHBheWxvYWQub3B0aW9ucztcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcyAhPT0gdW5kZWZpbmVkKSBjaGVja2JveEdyb3VwLm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcyAhPT0gdW5kZWZpbmVkKSBjaGVja2JveEdyb3VwLm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCAhPT0gdW5kZWZpbmVkKSBjaGVja2JveEdyb3VwLnJlcXVpcmVkID0gcGF5bG9hZC5yZXF1aXJlZDtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBjaGVja2JveEdyb3VwLnZhbHVlcyA9IHBheWxvYWQudmFsdWVzO1xuICB9XG5cbiAgcmV0dXJuIGNoZWNrYm94R3JvdXA7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQgfCBEaXNjb3JkQ2hlY2tib3hJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGNoZWNrYm94ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjaGVja2JveC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY2hlY2tib3guaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGNoZWNrYm94LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgaWYgKHByb3BzLnZhbHVlICYmICd2YWx1ZScgaW4gcGF5bG9hZCkgY2hlY2tib3gudmFsdWUgPSBwYXlsb2FkLnZhbHVlO1xuICBpZiAocHJvcHMuZGVmYXVsdCAmJiAnZGVmYXVsdCcgaW4gcGF5bG9hZCkgY2hlY2tib3guZGVmYXVsdCA9IHBheWxvYWQuZGVmYXVsdDtcblxuICByZXR1cm4gY2hlY2tib3g7XG59XG4iXSwibmFtZXMiOlsiTWVzc2FnZUNvbXBvbmVudFR5cGVzIiwiVG9nZ2xlQml0ZmllbGQiLCJ0cmFuc2Zvcm1Db21wb25lbnQiLCJib3QiLCJwYXlsb2FkIiwiY29tcG9uZW50IiwidHlwZSIsIkFjdGlvblJvdyIsInRyYW5zZm9ybUFjdGlvblJvdyIsIkJ1dHRvbiIsInRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudCIsIkNvbnRhaW5lciIsInRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudCIsIlRleHRJbnB1dCIsInRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudCIsIlN0cmluZ1NlbGVjdCIsInRyYW5zZm9ybVN0cmluZ1NlbGVjdE1lbnVDb21wb25lbnQiLCJVc2VyU2VsZWN0IiwidHJhbnNmb3JtVXNlclNlbGVjdE1lbnVDb21wb25lbnQiLCJSb2xlU2VsZWN0IiwidHJhbnNmb3JtUm9sZVNlbGVjdE1lbnVDb21wb25lbnQiLCJNZW50aW9uYWJsZVNlbGVjdCIsInRyYW5zZm9ybU1lbnRpb25hYmxlU2VsZWN0TWVudUNvbXBvbmVudCIsIkNoYW5uZWxTZWxlY3QiLCJ0cmFuc2Zvcm1DaGFubmVsU2VsZWN0TWVudUNvbXBvbmVudCIsIlNlY3Rpb24iLCJ0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50IiwiVGh1bWJuYWlsIiwidHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50IiwiTWVkaWFHYWxsZXJ5IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50IiwiRmlsZSIsInRyYW5zZm9ybUZpbGVDb21wb25lbnQiLCJTZXBhcmF0b3IiLCJ0cmFuc2Zvcm1TZXBhcmF0b3JDb21wb25lbnQiLCJUZXh0RGlzcGxheSIsInRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50IiwiTGFiZWwiLCJ0cmFuc2Zvcm1MYWJlbENvbXBvbmVudCIsIkZpbGVVcGxvYWQiLCJ0cmFuc2Zvcm1GaWxlVXBsb2FkQ29tcG9uZW50IiwiUmFkaW9Hcm91cCIsInRyYW5zZm9ybVJhZGlvR3JvdXBDb21wb25lbnQiLCJDaGVja2JveEdyb3VwIiwidHJhbnNmb3JtQ2hlY2tib3hHcm91cENvbXBvbmVudCIsIkNoZWNrYm94IiwidHJhbnNmb3JtQ2hlY2tib3hDb21wb25lbnQiLCJ0cmFuc2Zvcm1lcnMiLCJjdXN0b21pemVycyIsInRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtIiwicHJvcHMiLCJkZXNpcmVkUHJvcGVydGllcyIsInVuZnVybGVkTWVkaWFJdGVtIiwibWVkaWFJdGVtIiwidXJsIiwicHJveHlVcmwiLCJwcm94eV91cmwiLCJoZWlnaHQiLCJ3aWR0aCIsInBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXJWZXJzaW9uIiwicGxhY2Vob2xkZXJfdmVyc2lvbiIsImNvbnRlbnRUeXBlIiwiY29udGVudF90eXBlIiwiZmxhZ3MiLCJhdHRhY2htZW50SWQiLCJhdHRhY2htZW50X2lkIiwic25vd2ZsYWtlIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJnYWxsZXJ5SXRlbSIsIm1lZGlhIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiYWN0aW9uUm93IiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29udGFpbmVyIiwiYWNjZW50Q29sb3IiLCJhY2NlbnRfY29sb3IiLCJidXR0b24iLCJsYWJlbCIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwic3R5bGUiLCJlbW9qaSIsImRpc2FibGVkIiwic2t1SWQiLCJza3VfaWQiLCJpbnB1dCIsInZhbHVlIiwicmVxdWlyZWQiLCJtaW5MZW5ndGgiLCJtaW5fbGVuZ3RoIiwibWF4TGVuZ3RoIiwibWF4X2xlbmd0aCIsInNlbGVjdCIsInZhbHVlcyIsIm1pblZhbHVlcyIsIm1pbl92YWx1ZXMiLCJtYXhWYWx1ZXMiLCJtYXhfdmFsdWVzIiwib3B0aW9ucyIsIm9wdGlvbiIsInVuZGVmaW5lZCIsIm5hbWUiLCJhbmltYXRlZCIsImRlZmF1bHQiLCJyZXNvbHZlZCIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwiZGVmYXVsdFZhbHVlcyIsImRlZmF1bHRfdmFsdWVzIiwiZGVmYXVsdFZhbHVlIiwiY2hhbm5lbFR5cGVzIiwiY2hhbm5lbF90eXBlcyIsInNlY3Rpb24iLCJhY2Nlc3NvcnkiLCJ0aHVtYm5haWwiLCJtZWRpYUdhbGxlcnkiLCJpdGVtcyIsIml0ZW0iLCJmaWxlIiwic2l6ZSIsInRleHREaXNwbGF5IiwiY29udGVudCIsInNlcGFyYXRvciIsImRpdmlkZXIiLCJzcGFjaW5nIiwiZmlsZVVwbG9hZCIsInJhZGlvR3JvdXAiLCJjaGVja2JveEdyb3VwIiwiY2hlY2tib3giXSwibWFwcGluZ3MiOiJBQUFBLFNBcUNFQSxxQkFBcUIsUUFDaEIsb0JBQW9CO0FBRzNCLFNBQVNDLGNBQWMsUUFBUSw4QkFBOEI7QUFHN0QsT0FBTyxTQUFTQyxtQkFBbUJDLEdBQVEsRUFBRUMsT0FBc0Y7SUFDakksSUFBSUM7SUFFSixrSUFBa0k7SUFDbEksT0FBUUQsUUFBUUUsSUFBSTtRQUNsQixLQUFLTixzQkFBc0JPLFNBQVM7WUFDbENGLFlBQVlHLG1CQUFtQkwsS0FBS0M7WUFDcEM7UUFDRixLQUFLSixzQkFBc0JTLE1BQU07WUFDL0JKLFlBQVlLLHlCQUF5QlAsS0FBS0M7WUFDMUM7UUFDRixLQUFLSixzQkFBc0JXLFNBQVM7WUFDbENOLFlBQVlPLDRCQUE0QlQsS0FBS0M7WUFDN0M7UUFDRixLQUFLSixzQkFBc0JhLFNBQVM7WUFDbENSLFlBQVlTLDRCQUE0QlgsS0FBS0M7WUFDN0M7UUFDRixLQUFLSixzQkFBc0JlLFlBQVk7WUFDckNWLFlBQVlXLG1DQUFtQ2IsS0FBS0M7WUFDcEQ7UUFDRixLQUFLSixzQkFBc0JpQixVQUFVO1lBQ25DWixZQUFZYSxpQ0FBaUNmLEtBQUtDO1lBQ2xEO1FBQ0YsS0FBS0osc0JBQXNCbUIsVUFBVTtZQUNuQ2QsWUFBWWUsaUNBQWlDakIsS0FBS0M7WUFDbEQ7UUFDRixLQUFLSixzQkFBc0JxQixpQkFBaUI7WUFDMUNoQixZQUFZaUIsd0NBQXdDbkIsS0FBS0M7WUFDekQ7UUFDRixLQUFLSixzQkFBc0J1QixhQUFhO1lBQ3RDbEIsWUFBWW1CLG9D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
@@ -1 +1 @@
1
- {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/transformers/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAoDrE"}
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/transformers/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAoErE"}
@@ -1,3 +1,4 @@
1
+ import { ToggleBitfield } from './toggles/ToggleBitfield.js';
1
2
  export function transformEmbed(bot, payload) {
2
3
  const embed = {
3
4
  title: payload.title,
@@ -15,19 +16,34 @@ export function transformEmbed(bot, payload) {
15
16
  url: payload.image.url,
16
17
  proxyUrl: payload.image.proxy_url,
17
18
  height: payload.image.height,
18
- width: payload.image.width
19
+ width: payload.image.width,
20
+ contentType: payload.image.content_type,
21
+ placeholder: payload.image.placeholder,
22
+ placeholderVersion: payload.image.placeholder_version,
23
+ description: payload.image.description,
24
+ flags: payload.image.flags ? new ToggleBitfield(payload.image.flags) : undefined
19
25
  } : undefined,
20
26
  thumbnail: payload.thumbnail ? {
21
27
  url: payload.thumbnail.url,
22
28
  proxyUrl: payload.thumbnail.proxy_url,
23
29
  height: payload.thumbnail.height,
24
- width: payload.thumbnail.width
30
+ width: payload.thumbnail.width,
31
+ contentType: payload.thumbnail.content_type,
32
+ placeholder: payload.thumbnail.placeholder,
33
+ placeholderVersion: payload.thumbnail.placeholder_version,
34
+ description: payload.thumbnail.description,
35
+ flags: payload.thumbnail.flags ? new ToggleBitfield(payload.thumbnail.flags) : undefined
25
36
  } : undefined,
26
37
  video: payload.video ? {
27
38
  url: payload.video.url,
28
39
  proxyUrl: payload.video.proxy_url,
29
40
  height: payload.video.height,
30
- width: payload.video.width
41
+ width: payload.video.width,
42
+ contentType: payload.video.content_type,
43
+ placeholder: payload.video.placeholder,
44
+ placeholderVersion: payload.video.placeholder_version,
45
+ description: payload.video.description,
46
+ flags: payload.video.flags ? new ToggleBitfield(payload.video.flags) : undefined
31
47
  } : undefined,
32
48
  provider: payload.provider,
33
49
  author: payload.author ? {
@@ -36,9 +52,10 @@ export function transformEmbed(bot, payload) {
36
52
  iconUrl: payload.author.icon_url,
37
53
  proxyIconUrl: payload.author.proxy_icon_url
38
54
  } : undefined,
39
- fields: payload.fields
55
+ fields: payload.fields,
56
+ flags: payload.flags ? new ToggleBitfield(payload.flags) : undefined
40
57
  };
41
58
  return bot.transformers.customizers.embed(bot, payload, embed);
42
59
  }
43
60
 
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW1iZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRW1iZWQgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IEVtYmVkIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1FbWJlZChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEVtYmVkKTogRW1iZWQge1xuICBjb25zdCBlbWJlZCA9IHtcbiAgICB0aXRsZTogcGF5bG9hZC50aXRsZSxcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUsXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICB0aW1lc3RhbXA6IHBheWxvYWQudGltZXN0YW1wID8gRGF0ZS5wYXJzZShwYXlsb2FkLnRpbWVzdGFtcCkgOiB1bmRlZmluZWQsXG4gICAgY29sb3I6IHBheWxvYWQuY29sb3IsXG4gICAgZm9vdGVyOiBwYXlsb2FkLmZvb3RlclxuICAgICAgPyB7XG4gICAgICAgICAgdGV4dDogcGF5bG9hZC5mb290ZXIudGV4dCxcbiAgICAgICAgICBpY29uVXJsOiBwYXlsb2FkLmZvb3Rlci5pY29uX3VybCxcbiAgICAgICAgICBwcm94eUljb25Vcmw6IHBheWxvYWQuZm9vdGVyLnByb3h5X2ljb25fdXJsLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBpbWFnZTogcGF5bG9hZC5pbWFnZVxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwYXlsb2FkLmltYWdlLnVybCxcbiAgICAgICAgICBwcm94eVVybDogcGF5bG9hZC5pbWFnZS5wcm94eV91cmwsXG4gICAgICAgICAgaGVpZ2h0OiBwYXlsb2FkLmltYWdlLmhlaWdodCxcbiAgICAgICAgICB3aWR0aDogcGF5bG9hZC5pbWFnZS53aWR0aCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgdGh1bWJuYWlsOiBwYXlsb2FkLnRodW1ibmFpbFxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwYXlsb2FkLnRodW1ibmFpbC51cmwsXG4gICAgICAgICAgcHJveHlVcmw6IHBheWxvYWQudGh1bWJuYWlsLnByb3h5X3VybCxcbiAgICAgICAgICBoZWlnaHQ6IHBheWxvYWQudGh1bWJuYWlsLmhlaWdodCxcbiAgICAgICAgICB3aWR0aDogcGF5bG9hZC50aHVtYm5haWwud2lkdGgsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHZpZGVvOiBwYXlsb2FkLnZpZGVvXG4gICAgICA/IHtcbiAgICAgICAgICB1cmw6IHBheWxvYWQudmlkZW8udXJsLFxuICAgICAgICAgIHByb3h5VXJsOiBwYXlsb2FkLnZpZGVvLnByb3h5X3VybCxcbiAgICAgICAgICBoZWlnaHQ6IHBheWxvYWQudmlkZW8uaGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiBwYXlsb2FkLnZpZGVvLndpZHRoLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBwcm92aWRlcjogcGF5bG9hZC5wcm92aWRlcixcbiAgICBhdXRob3I6IHBheWxvYWQuYXV0aG9yXG4gICAgICA/IHtcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmF1dGhvci5uYW1lLFxuICAgICAgICAgIHVybDogcGF5bG9hZC5hdXRob3IudXJsLFxuICAgICAgICAgIGljb25Vcmw6IHBheWxvYWQuYXV0aG9yLmljb25fdXJsLFxuICAgICAgICAgIHByb3h5SWNvblVybDogcGF5bG9hZC5hdXRob3IucHJveHlfaWNvbl91cmwsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGZpZWxkczogcGF5bG9hZC5maWVsZHMsXG4gIH0gYXMgRW1iZWQ7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZW1iZWQoYm90LCBwYXlsb2FkLCBlbWJlZCk7XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtRW1iZWQiLCJib3QiLCJwYXlsb2FkIiwiZW1iZWQiLCJ0aXRsZSIsInR5cGUiLCJkZXNjcmlwdGlvbiIsInVybCIsInRpbWVzdGFtcCIsIkRhdGUiLCJwYXJzZSIsInVuZGVmaW5lZCIsImNvbG9yIiwiZm9vdGVyIiwidGV4dCIsImljb25VcmwiLCJpY29uX3VybCIsInByb3h5SWNvblVybCIsInByb3h5X2ljb25fdXJsIiwiaW1hZ2UiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwidGh1bWJuYWlsIiwidmlkZW8iLCJwcm92aWRlciIsImF1dGhvciIsIm5hbWUiLCJmaWVsZHMiLCJ0cmFuc2Zvcm1lcnMiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxTQUFTQSxlQUFlQyxHQUFRLEVBQUVDLE9BQXFCO0lBQzVELE1BQU1DLFFBQVE7UUFDWkMsT0FBT0YsUUFBUUUsS0FBSztRQUNwQkMsTUFBTUgsUUFBUUcsSUFBSTtRQUNsQkMsYUFBYUosUUFBUUksV0FBVztRQUNoQ0MsS0FBS0wsUUFBUUssR0FBRztRQUNoQkMsV0FBV04sUUFBUU0sU0FBUyxHQUFHQyxLQUFLQyxLQUFLLENBQUNSLFFBQVFNLFNBQVMsSUFBSUc7UUFDL0RDLE9BQU9WLFFBQVFVLEtBQUs7UUFDcEJDLFFBQVFYLFFBQVFXLE1BQU0sR0FDbEI7WUFDRUMsTUFBTVosUUFBUVcsTUFBTSxDQUFDQyxJQUFJO1lBQ3pCQyxTQUFTYixRQUFRVyxNQUFNLENBQUNHLFFBQVE7WUFDaENDLGNBQWNmLFFBQVFXLE1BQU0sQ0FBQ0ssY0FBYztRQUM3QyxJQUNBUDtRQUNKUSxPQUFPakIsUUFBUWlCLEtBQUssR0FDaEI7WUFDRVosS0FBS0wsUUFBUWlCLEtBQUssQ0FBQ1osR0FBRztZQUN0QmEsVUFBVWxCLFFBQVFpQixLQUFLLENBQUNFLFNBQVM7WUFDakNDLFFBQVFwQixRQUFRaUIsS0FBSyxDQUFDRyxNQUFNO1lBQzVCQyxPQUFPckIsUUFBUWlCLEtBQUssQ0FBQ0ksS0FBSztRQUM1QixJQUNBWjtRQUNKYSxXQUFXdEIsUUFBUXNCLFNBQVMsR0FDeEI7WUFDRWpCLEtBQUtMLFFBQVFzQixTQUFTLENBQUNqQixHQUFHO1lBQzFCYSxVQUFVbEIsUUFBUXNCLFNBQVMsQ0FBQ0gsU0FBUztZQUNyQ0MsUUFBUXBCLFFBQVFzQixTQUFTLENBQUNGLE1BQU07WUFDaENDLE9BQU9yQixRQUFRc0IsU0FBUyxDQUFDRCxLQUFLO1FBQ2hDLElBQ0FaO1FBQ0pjLE9BQU92QixRQUFRdUIsS0FBSyxHQUNoQjtZQUNFbEIsS0FBS0wsUUFBUXVCLEtBQUssQ0FBQ2xCLEdBQUc7WUFDdEJhLFVBQVVsQixRQUFRdUIsS0FBSyxDQUFDSixTQUFTO1lBQ2pDQyxRQUFRcEIsUUFBUXVCLEtBQUssQ0FBQ0gsTUFBTTtZQUM1QkMsT0FBT3JCLFFBQVF1QixLQUFLLENBQUNGLEtBQUs7UUFDNUIsSUFDQVo7UUFDSmUsVUFBVXhCLFFBQVF3QixRQUFRO1FBQzFCQyxRQUFRekIsUUFBUXlCLE1BQU0sR0FDbEI7WUFDRUMsTUFBTTFCLFFBQVF5QixNQUFNLENBQUNDLElBQUk7WUFDekJyQixLQUFLTCxRQUFReUIsTUFBTSxDQUFDcEIsR0FBRztZQUN2QlEsU0FBU2IsUUFBUXlCLE1BQU0sQ0FBQ1gsUUFBUTtZQUNoQ0MsY0FBY2YsUUFBUXlCLE1BQU0sQ0FBQ1QsY0FBYztRQUM3QyxJQUNBUDtRQUNKa0IsUUFBUTNCLFFBQVEyQixNQUFNO0lBQ3hCO0lBRUEsT0FBTzVCLElBQUk2QixZQUFZLENBQUNDLFdBQVcsQ0FBQzVCLEtBQUssQ0FBQ0YsS0FBS0MsU0FBU0M7QUFDMUQifQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW1iZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRW1iZWQgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgeyBUb2dnbGVCaXRmaWVsZCB9IGZyb20gJy4vdG9nZ2xlcy9Ub2dnbGVCaXRmaWVsZC5qcyc7XG5pbXBvcnQgdHlwZSB7IEVtYmVkIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1FbWJlZChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEVtYmVkKTogRW1iZWQge1xuICBjb25zdCBlbWJlZCA9IHtcbiAgICB0aXRsZTogcGF5bG9hZC50aXRsZSxcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUsXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICB0aW1lc3RhbXA6IHBheWxvYWQudGltZXN0YW1wID8gRGF0ZS5wYXJzZShwYXlsb2FkLnRpbWVzdGFtcCkgOiB1bmRlZmluZWQsXG4gICAgY29sb3I6IHBheWxvYWQuY29sb3IsXG4gICAgZm9vdGVyOiBwYXlsb2FkLmZvb3RlclxuICAgICAgPyB7XG4gICAgICAgICAgdGV4dDogcGF5bG9hZC5mb290ZXIudGV4dCxcbiAgICAgICAgICBpY29uVXJsOiBwYXlsb2FkLmZvb3Rlci5pY29uX3VybCxcbiAgICAgICAgICBwcm94eUljb25Vcmw6IHBheWxvYWQuZm9vdGVyLnByb3h5X2ljb25fdXJsLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBpbWFnZTogcGF5bG9hZC5pbWFnZVxuICAgICAgPyB7XG4gICAgICAgICAgdXJsOiBwYXlsb2FkLmltYWdlLnVybCxcbiAgICAgICAgICBwcm94eVVybDogcGF5bG9hZC5pbWFnZS5wcm94eV91cmwsXG4gICAgICAgICAgaGVpZ2h0OiBwYXlsb2FkLmltYWdlLmhlaWdodCxcbiAgICAgICAgICB3aWR0aDogcGF5bG9hZC5pbWFnZS53aWR0aCxcbiAgICAgICAgICBjb250ZW50VHlwZTogcGF5bG9hZC5pbWFnZS5jb250ZW50X3R5cGUsXG4gICAgICAgICAgcGxhY2Vob2xkZXI6IHBheWxvYWQuaW1hZ2UucGxhY2Vob2xkZXIsXG4gICAgICAgICAgcGxhY2Vob2xkZXJWZXJzaW9uOiBwYXlsb2FkLmltYWdlLnBsYWNlaG9sZGVyX3ZlcnNpb24sXG4gICAgICAgICAgZGVzY3JpcHRpb246IHBheWxvYWQuaW1hZ2UuZGVzY3JpcHRpb24sXG4gICAgICAgICAgZmxhZ3M6IHBheWxvYWQuaW1hZ2UuZmxhZ3MgPyBuZXcgVG9nZ2xlQml0ZmllbGQocGF5bG9hZC5pbWFnZS5mbGFncykgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHRodW1ibmFpbDogcGF5bG9hZC50aHVtYm5haWxcbiAgICAgID8ge1xuICAgICAgICAgIHVybDogcGF5bG9hZC50aHVtYm5haWwudXJsLFxuICAgICAgICAgIHByb3h5VXJsOiBwYXlsb2FkLnRodW1ibmFpbC5wcm94eV91cmwsXG4gICAgICAgICAgaGVpZ2h0OiBwYXlsb2FkLnRodW1ibmFpbC5oZWlnaHQsXG4gICAgICAgICAgd2lkdGg6IHBheWxvYWQudGh1bWJuYWlsLndpZHRoLFxuICAgICAgICAgIGNvbnRlbnRUeXBlOiBwYXlsb2FkLnRodW1ibmFpbC5jb250ZW50X3R5cGUsXG4gICAgICAgICAgcGxhY2Vob2xkZXI6IHBheWxvYWQudGh1bWJuYWlsLnBsYWNlaG9sZGVyLFxuICAgICAgICAgIHBsYWNlaG9sZGVyVmVyc2lvbjogcGF5bG9hZC50aHVtYm5haWwucGxhY2Vob2xkZXJfdmVyc2lvbixcbiAgICAgICAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC50aHVtYm5haWwuZGVzY3JpcHRpb24sXG4gICAgICAgICAgZmxhZ3M6IHBheWxvYWQudGh1bWJuYWlsLmZsYWdzID8gbmV3IFRvZ2dsZUJpdGZpZWxkKHBheWxvYWQudGh1bWJuYWlsLmZsYWdzKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgdmlkZW86IHBheWxvYWQudmlkZW9cbiAgICAgID8ge1xuICAgICAgICAgIHVybDogcGF5bG9hZC52aWRlby51cmwsXG4gICAgICAgICAgcHJveHlVcmw6IHBheWxvYWQudmlkZW8ucHJveHlfdXJsLFxuICAgICAgICAgIGhlaWdodDogcGF5bG9hZC52aWRlby5oZWlnaHQsXG4gICAgICAgICAgd2lkdGg6IHBheWxvYWQudmlkZW8ud2lkdGgsXG4gICAgICAgICAgY29udGVudFR5cGU6IHBheWxvYWQudmlkZW8uY29udGVudF90eXBlLFxuICAgICAgICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnZpZGVvLnBsYWNlaG9sZGVyLFxuICAgICAgICAgIHBsYWNlaG9sZGVyVmVyc2lvbjogcGF5bG9hZC52aWRlby5wbGFjZWhvbGRlcl92ZXJzaW9uLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLnZpZGVvLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGZsYWdzOiBwYXlsb2FkLnZpZGVvLmZsYWdzID8gbmV3IFRvZ2dsZUJpdGZpZWxkKHBheWxvYWQudmlkZW8uZmxhZ3MpIDogdW5kZWZpbmVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBwcm92aWRlcjogcGF5bG9hZC5wcm92aWRlcixcbiAgICBhdXRob3I6IHBheWxvYWQuYXV0aG9yXG4gICAgICA/IHtcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmF1dGhvci5uYW1lLFxuICAgICAgICAgIHVybDogcGF5bG9hZC5hdXRob3IudXJsLFxuICAgICAgICAgIGljb25Vcmw6IHBheWxvYWQuYXV0aG9yLmljb25fdXJsLFxuICAgICAgICAgIHByb3h5SWNvblVybDogcGF5bG9hZC5hdXRob3IucHJveHlfaWNvbl91cmwsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGZpZWxkczogcGF5bG9hZC5maWVsZHMsXG4gICAgZmxhZ3M6IHBheWxvYWQuZmxhZ3MgPyBuZXcgVG9nZ2xlQml0ZmllbGQocGF5bG9hZC5mbGFncykgOiB1bmRlZmluZWQsXG4gIH0gYXMgRW1iZWQ7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZW1iZWQoYm90LCBwYXlsb2FkLCBlbWJlZCk7XG59XG4iXSwibmFtZXMiOlsiVG9nZ2xlQml0ZmllbGQiLCJ0cmFuc2Zvcm1FbWJlZCIsImJvdCIsInBheWxvYWQiLCJlbWJlZCIsInRpdGxlIiwidHlwZSIsImRlc2NyaXB0aW9uIiwidXJsIiwidGltZXN0YW1wIiwiRGF0ZSIsInBhcnNlIiwidW5kZWZpbmVkIiwiY29sb3IiLCJmb290ZXIiLCJ0ZXh0IiwiaWNvblVybCIsImljb25fdXJsIiwicHJveHlJY29uVXJsIiwicHJveHlfaWNvbl91cmwiLCJpbWFnZSIsInByb3h5VXJsIiwicHJveHlfdXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJjb250ZW50VHlwZSIsImNvbnRlbnRfdHlwZSIsInBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXJWZXJzaW9uIiwicGxhY2Vob2xkZXJfdmVyc2lvbiIsImZsYWdzIiwidGh1bWJuYWlsIiwidmlkZW8iLCJwcm92aWRlciIsImF1dGhvciIsIm5hbWUiLCJmaWVsZHMiLCJ0cmFuc2Zvcm1lcnMiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsY0FBYyxRQUFRLDhCQUE4QjtBQUc3RCxPQUFPLFNBQVNDLGVBQWVDLEdBQVEsRUFBRUMsT0FBcUI7SUFDNUQsTUFBTUMsUUFBUTtRQUNaQyxPQUFPRixRQUFRRSxLQUFLO1FBQ3BCQyxNQUFNSCxRQUFRRyxJQUFJO1FBQ2xCQyxhQUFhSixRQUFRSSxXQUFXO1FBQ2hDQyxLQUFLTCxRQUFRSyxHQUFHO1FBQ2hCQyxXQUFXTixR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
@@ -1,6 +1,8 @@
1
- import type { DiscordLobby, DiscordLobbyMember } from '@discordeno/types';
1
+ import type { DiscordLobby, DiscordLobbyInvite, DiscordLobbyMember, DiscordLobbyMessage } from '@discordeno/types';
2
2
  import type { Bot } from '../bot.js';
3
- import type { Lobby, LobbyMember } from './types.js';
3
+ import type { Lobby, LobbyInvite, LobbyMember, LobbyMessage } from './types.js';
4
4
  export declare function transformLobby(bot: Bot, payload: DiscordLobby): Lobby;
5
5
  export declare function transformLobbyMember(bot: Bot, payload: DiscordLobbyMember): LobbyMember;
6
+ export declare function transformLobbyMessage(bot: Bot, payload: DiscordLobbyMessage): LobbyMessage;
7
+ export declare function transformLobbyInvite(bot: Bot, payload: DiscordLobbyInvite): LobbyInvite;
6
8
  //# sourceMappingURL=lobby.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lobby.d.ts","sourceRoot":"","sources":["../../src/transformers/lobby.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAWrE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CASvF"}
1
+ {"version":3,"file":"lobby.d.ts","sourceRoot":"","sources":["../../src/transformers/lobby.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEhF,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAWrE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CASvF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAgB1F;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAOvF"}
@@ -17,5 +17,26 @@ export function transformLobbyMember(bot, payload) {
17
17
  if (props.flags && payload.flags) lobbyMember.flags = new ToggleBitfield(payload.flags);
18
18
  return bot.transformers.customizers.lobbyMember(bot, payload, lobbyMember);
19
19
  }
20
+ export function transformLobbyMessage(bot, payload) {
21
+ const props = bot.transformers.desiredProperties.lobbyMessage;
22
+ const lobbyMessage = {};
23
+ if (props.id && payload.id) lobbyMessage.id = bot.transformers.snowflake(payload.id);
24
+ if (props.type) lobbyMessage.type = payload.type;
25
+ if (props.content && payload.content) lobbyMessage.content = payload.content;
26
+ if (props.lobbyId && payload.lobby_id) lobbyMessage.lobbyId = bot.transformers.snowflake(payload.lobby_id);
27
+ if (props.channelId && payload.channel_id) lobbyMessage.channelId = bot.transformers.snowflake(payload.channel_id);
28
+ if (props.author && payload.author) lobbyMessage.author = bot.transformers.user(bot, payload.author);
29
+ if (props.metadata && payload.metadata) lobbyMessage.metadata = payload.metadata;
30
+ if (props.moderationMetadata && payload.moderation_metadata) lobbyMessage.moderationMetadata = payload.moderation_metadata;
31
+ if (props.flags && payload.flags) lobbyMessage.flags = new ToggleBitfield(payload.flags);
32
+ if (props.applicationId && payload.application_id) lobbyMessage.applicationId = bot.transformers.snowflake(payload.application_id);
33
+ return bot.transformers.customizers.lobbyMessage(bot, payload, lobbyMessage);
34
+ }
35
+ export function transformLobbyInvite(bot, payload) {
36
+ const props = bot.transformers.desiredProperties.lobbyInvite;
37
+ const lobbyInvite = {};
38
+ if (props.code && payload.code) lobbyInvite.code = payload.code;
39
+ return bot.transformers.customizers.lobbyInvite(bot, payload, lobbyInvite);
40
+ }
20
41
 
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbG9iYnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkTG9iYnksIERpc2NvcmRMb2JieU1lbWJlciB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL3RvZ2dsZXMvVG9nZ2xlQml0ZmllbGQuanMnO1xuaW1wb3J0IHR5cGUgeyBMb2JieSwgTG9iYnlNZW1iZXIgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUxvYmJ5KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTG9iYnkpOiBMb2JieSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5sb2JieTtcbiAgY29uc3QgbG9iYnkgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxMb2JieSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBsb2JieS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKSBsb2JieS5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy5tZXRhZGF0YSAmJiBwYXlsb2FkLm1ldGFkYXRhKSBsb2JieS5tZXRhZGF0YSA9IHBheWxvYWQubWV0YWRhdGE7XG4gIGlmIChwcm9wcy5tZW1iZXJzICYmIHBheWxvYWQubWVtYmVycykgbG9iYnkubWVtYmVycyA9IHBheWxvYWQubWVtYmVycy5tYXAoKG1lbWJlcikgPT4gYm90LnRyYW5zZm9ybWVycy5sb2JieU1lbWJlcihib3QsIG1lbWJlcikpO1xuICBpZiAocHJvcHMubGlua2VkQ2hhbm5lbCAmJiBwYXlsb2FkLmxpbmtlZF9jaGFubmVsKSBsb2JieS5saW5rZWRDaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgcGF5bG9hZC5saW5rZWRfY2hhbm5lbCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubG9iYnkoYm90LCBwYXlsb2FkLCBsb2JieSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Mb2JieU1lbWJlcihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZExvYmJ5TWVtYmVyKTogTG9iYnlNZW1iZXIge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubG9iYnlNZW1iZXI7XG4gIGNvbnN0IGxvYmJ5TWVtYmVyID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TG9iYnlNZW1iZXIsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbG9iYnlNZW1iZXIuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLm1ldGFkYXRhICYmIHBheWxvYWQubWV0YWRhdGEpIGxvYmJ5TWVtYmVyLm1ldGFkYXRhID0gcGF5bG9hZC5tZXRhZGF0YTtcbiAgaWYgKHByb3BzLmZsYWdzICYmIHBheWxvYWQuZmxhZ3MpIGxvYmJ5TWVtYmVyLmZsYWdzID0gbmV3IFRvZ2dsZUJpdGZpZWxkKHBheWxvYWQuZmxhZ3MpO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmxvYmJ5TWVtYmVyKGJvdCwgcGF5bG9hZCwgbG9iYnlNZW1iZXIpO1xufVxuIl0sIm5hbWVzIjpbIlRvZ2dsZUJpdGZpZWxkIiwidHJhbnNmb3JtTG9iYnkiLCJib3QiLCJwYXlsb2FkIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImxvYmJ5IiwiaWQiLCJzbm93Zmxha2UiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJtZXRhZGF0YSIsIm1lbWJlcnMiLCJtYXAiLCJtZW1iZXIiLCJsb2JieU1lbWJlciIsImxpbmtlZENoYW5uZWwiLCJsaW5rZWRfY2hhbm5lbCIsImNoYW5uZWwiLCJjdXN0b21pemVycyIsInRyYW5zZm9ybUxvYmJ5TWVtYmVyIiwiZmxhZ3MiXSwibWFwcGluZ3MiOiJBQUdBLFNBQVNBLGNBQWMsUUFBUSw4QkFBOEI7QUFHN0QsT0FBTyxTQUFTQyxlQUFlQyxHQUFRLEVBQUVDLE9BQXFCO0lBQzVELE1BQU1DLFFBQVFGLElBQUlHLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNDLEtBQUs7SUFDdEQsTUFBTUEsUUFBUSxDQUFDO0lBRWYsSUFBSUgsTUFBTUksRUFBRSxJQUFJTCxRQUFRSyxFQUFFLEVBQUVELE1BQU1DLEVBQUUsR0FBR04sSUFBSUcsWUFBWSxDQUFDSSxTQUFTLENBQUNOLFFBQVFLLEVBQUU7SUFDNUUsSUFBSUosTUFBTU0sYUFBYSxJQUFJUCxRQUFRUSxjQUFjLEVBQUVKLE1BQU1HLGFBQWEsR0FBR1IsSUFBSUcsWUFBWSxDQUFDSSxTQUFTLENBQUNOLFFBQVFRLGNBQWM7SUFDMUgsSUFBSVAsTUFBTVEsUUFBUSxJQUFJVCxRQUFRUyxRQUFRLEVBQUVMLE1BQU1LLFFBQVEsR0FBR1QsUUFBUVMsUUFBUTtJQUN6RSxJQUFJUixNQUFNUyxPQUFPLElBQUlWLFFBQVFVLE9BQU8sRUFBRU4sTUFBTU0sT0FBTyxHQUFHVixRQUFRVSxPQUFPLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxTQUFXYixJQUFJRyxZQUFZLENBQUNXLFdBQVcsQ0FBQ2QsS0FBS2E7SUFDeEgsSUFBSVgsTUFBTWEsYUFBYSxJQUFJZCxRQUFRZSxjQUFjLEVBQUVYLE1BQU1VLGFBQWEsR0FBR2YsSUFBSUcsWUFBWSxDQUFDYyxPQUFPLENBQUNqQixLQUFLQyxRQUFRZSxjQUFjO0lBRTdILE9BQU9oQixJQUFJRyxZQUFZLENBQUNlLFdBQVcsQ0FBQ2IsS0FBSyxDQUFDTCxLQUFLQyxTQUFTSTtBQUMxRDtBQUVBLE9BQU8sU0FBU2MscUJBQXFCbkIsR0FBUSxFQUFFQyxPQUEyQjtJQUN4RSxNQUFNQyxRQUFRRixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDVSxXQUFXO0lBQzVELE1BQU1BLGNBQWMsQ0FBQztJQUVyQixJQUFJWixNQUFNSSxFQUFFLElBQUlMLFFBQVFLLEVBQUUsRUFBRVEsWUFBWVIsRUFBRSxHQUFHTixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUUssRUFBRTtJQUNsRixJQUFJSixNQUFNUSxRQUFRLElBQUlULFFBQVFTLFFBQVEsRUFBRUksWUFBWUosUUFBUSxHQUFHVCxRQUFRUyxRQUFRO0lBQy9FLElBQUlSLE1BQU1rQixLQUFLLElBQUluQixRQUFRbUIsS0FBSyxFQUFFTixZQUFZTSxLQUFLLEdBQUcsSUFBSXRCLGVBQWVHLFFBQVFtQixLQUFLO0lBRXRGLE9BQU9wQixJQUFJRyxZQUFZLENBQUNlLFdBQVcsQ0FBQ0osV0FBVyxDQUFDZCxLQUFLQyxTQUFTYTtBQUNoRSJ9
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbG9iYnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkTG9iYnksIERpc2NvcmRMb2JieUludml0ZSwgRGlzY29yZExvYmJ5TWVtYmVyLCBEaXNjb3JkTG9iYnlNZXNzYWdlIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgeyBUb2dnbGVCaXRmaWVsZCB9IGZyb20gJy4vdG9nZ2xlcy9Ub2dnbGVCaXRmaWVsZC5qcyc7XG5pbXBvcnQgdHlwZSB7IExvYmJ5LCBMb2JieUludml0ZSwgTG9iYnlNZW1iZXIsIExvYmJ5TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTG9iYnkoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRMb2JieSk6IExvYmJ5IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmxvYmJ5O1xuICBjb25zdCBsb2JieSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPExvYmJ5LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGxvYmJ5LmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuYXBwbGljYXRpb25faWQpIGxvYmJ5LmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKTtcbiAgaWYgKHByb3BzLm1ldGFkYXRhICYmIHBheWxvYWQubWV0YWRhdGEpIGxvYmJ5Lm1ldGFkYXRhID0gcGF5bG9hZC5tZXRhZGF0YTtcbiAgaWYgKHByb3BzLm1lbWJlcnMgJiYgcGF5bG9hZC5tZW1iZXJzKSBsb2JieS5tZW1iZXJzID0gcGF5bG9hZC5tZW1iZXJzLm1hcCgobWVtYmVyKSA9PiBib3QudHJhbnNmb3JtZXJzLmxvYmJ5TWVtYmVyKGJvdCwgbWVtYmVyKSk7XG4gIGlmIChwcm9wcy5saW5rZWRDaGFubmVsICYmIHBheWxvYWQubGlua2VkX2NoYW5uZWwpIGxvYmJ5LmxpbmtlZENoYW5uZWwgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCBwYXlsb2FkLmxpbmtlZF9jaGFubmVsKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5sb2JieShib3QsIHBheWxvYWQsIGxvYmJ5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUxvYmJ5TWVtYmVyKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTG9iYnlNZW1iZXIpOiBMb2JieU1lbWJlciB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5sb2JieU1lbWJlcjtcbiAgY29uc3QgbG9iYnlNZW1iZXIgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxMb2JieU1lbWJlciwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBsb2JieU1lbWJlci5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMubWV0YWRhdGEgJiYgcGF5bG9hZC5tZXRhZGF0YSkgbG9iYnlNZW1iZXIubWV0YWRhdGEgPSBwYXlsb2FkLm1ldGFkYXRhO1xuICBpZiAocHJvcHMuZmxhZ3MgJiYgcGF5bG9hZC5mbGFncykgbG9iYnlNZW1iZXIuZmxhZ3MgPSBuZXcgVG9nZ2xlQml0ZmllbGQocGF5bG9hZC5mbGFncyk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubG9iYnlNZW1iZXIoYm90LCBwYXlsb2FkLCBsb2JieU1lbWJlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Mb2JieU1lc3NhZ2UoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRMb2JieU1lc3NhZ2UpOiBMb2JieU1lc3NhZ2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubG9iYnlNZXNzYWdlO1xuICBjb25zdCBsb2JieU1lc3NhZ2UgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxMb2JieU1lc3NhZ2UsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbG9iYnlNZXNzYWdlLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwcm9wcy50eXBlKSBsb2JieU1lc3NhZ2UudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmNvbnRlbnQgJiYgcGF5bG9hZC5jb250ZW50KSBsb2JieU1lc3NhZ2UuY29udGVudCA9IHBheWxvYWQuY29udGVudDtcbiAgaWYgKHByb3BzLmxvYmJ5SWQgJiYgcGF5bG9hZC5sb2JieV9pZCkgbG9iYnlNZXNzYWdlLmxvYmJ5SWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmxvYmJ5X2lkKTtcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWxfaWQpIGxvYmJ5TWVzc2FnZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMuYXV0aG9yICYmIHBheWxvYWQuYXV0aG9yKSBsb2JieU1lc3NhZ2UuYXV0aG9yID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5hdXRob3IpO1xuICBpZiAocHJvcHMubWV0YWRhdGEgJiYgcGF5bG9hZC5tZXRhZGF0YSkgbG9iYnlNZXNzYWdlLm1ldGFkYXRhID0gcGF5bG9hZC5tZXRhZGF0YTtcbiAgaWYgKHByb3BzLm1vZGVyYXRpb25NZXRhZGF0YSAmJiBwYXlsb2FkLm1vZGVyYXRpb25fbWV0YWRhdGEpIGxvYmJ5TWVzc2FnZS5tb2RlcmF0aW9uTWV0YWRhdGEgPSBwYXlsb2FkLm1vZGVyYXRpb25fbWV0YWRhdGE7XG4gIGlmIChwcm9wcy5mbGFncyAmJiBwYXlsb2FkLmZsYWdzKSBsb2JieU1lc3NhZ2UuZmxhZ3MgPSBuZXcgVG9nZ2xlQml0ZmllbGQocGF5bG9hZC5mbGFncyk7XG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuYXBwbGljYXRpb25faWQpIGxvYmJ5TWVzc2FnZS5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubG9iYnlNZXNzYWdlKGJvdCwgcGF5bG9hZCwgbG9iYnlNZXNzYWdlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUxvYmJ5SW52aXRlKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTG9iYnlJbnZpdGUpOiBMb2JieUludml0ZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5sb2JieUludml0ZTtcbiAgY29uc3QgbG9iYnlJbnZpdGUgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxMb2JieUludml0ZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5jb2RlICYmIHBheWxvYWQuY29kZSkgbG9iYnlJbnZpdGUuY29kZSA9IHBheWxvYWQuY29kZTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5sb2JieUludml0ZShib3QsIHBheWxvYWQsIGxvYmJ5SW52aXRlKTtcbn1cbiJdLCJuYW1lcyI6WyJUb2dnbGVCaXRmaWVsZCIsInRyYW5zZm9ybUxvYmJ5IiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJsb2JieSIsImlkIiwic25vd2ZsYWtlIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwibWV0YWRhdGEiLCJtZW1iZXJzIiwibWFwIiwibWVtYmVyIiwibG9iYnlNZW1iZXIiLCJsaW5rZWRDaGFubmVsIiwibGlua2VkX2NoYW5uZWwiLCJjaGFubmVsIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1Mb2JieU1lbWJlciIsImZsYWdzIiwidHJhbnNmb3JtTG9iYnlNZXNzYWdlIiwibG9iYnlNZXNzYWdlIiwidHlwZSIsImNvbnRlbnQiLCJsb2JieUlkIiwibG9iYnlfaWQiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwiYXV0aG9yIiwidXNlciIsIm1vZGVyYXRpb25NZXRhZGF0YSIsIm1vZGVyYXRpb25fbWV0YWRhdGEiLCJ0cmFuc2Zvcm1Mb2JieUludml0ZSIsImxvYmJ5SW52aXRlIiwiY29kZSJdLCJtYXBwaW5ncyI6IkFBR0EsU0FBU0EsY0FBYyxRQUFRLDhCQUE4QjtBQUc3RCxPQUFPLFNBQVNDLGVBQWVDLEdBQVEsRUFBRUMsT0FBcUI7SUFDNUQsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsS0FBSztJQUN0RCxNQUFNQSxRQUFRLENBQUM7SUFFZixJQUFJSCxNQUFNSSxFQUFFLElBQUlMLFFBQVFLLEVB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
@@ -1 +1 @@
1
- {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../src/transformers/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,UAAU,EAAE,MA4BxB,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,CAwB7H"}
1
+ {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../src/transformers/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,UAAU,EAAE,MA4BxB,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,CAyB7H"}
@@ -45,10 +45,11 @@ export function transformMember(bot, payload, extra) {
45
45
  if (props.permissions && payload.permissions) member.permissions = new Permissions(payload.permissions);
46
46
  if (props.toggles) member.toggles = new MemberToggles(payload);
47
47
  if (props.avatarDecorationData && payload.avatar_decoration_data) member.avatarDecorationData = bot.transformers.avatarDecorationData(bot, payload.avatar_decoration_data);
48
+ if (props.collectibles && payload.collectibles) member.collectibles = bot.transformers.collectibles(bot, payload.collectibles);
48
49
  return bot.transformers.customizers.member(bot, payload, member, {
49
50
  guildId: extra?.guildId ? bot.transformers.snowflake(extra.guildId) : undefined,
50
51
  userId: extra?.userId ? bot.transformers.snowflake(extra.userId) : undefined
51
52
  });
52
53
  }
53
54
 
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBEaXNjb3JkTWVtYmVyIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgaWNvbkhhc2hUb0JpZ0ludCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgTWVtYmVyVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9tZW1iZXIuanMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBNZW1iZXIgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGNvbnN0IGJhc2VNZW1iZXI6IE1lbWJlciA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBNZW1iZXIpLFxuXG4gIGdldCBkZWFmKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdkZWFmJyk7XG4gIH0sXG4gIGdldCBtdXRlKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdtdXRlJyk7XG4gIH0sXG4gIGdldCBwZW5kaW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdwZW5kaW5nJyk7XG4gIH0sXG4gIGdldCBmbGFncygpIHtcbiAgICByZXR1cm4gdGhpcy50b2dnbGVzPy5mbGFncyA/PyAwO1xuICB9LFxuICBnZXQgZGlkUmVqb2luKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uZGlkUmVqb2luO1xuICB9LFxuICBnZXQgc3RhcnRlZE9uYm9hcmRpbmcoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5zdGFydGVkT25ib2FyZGluZztcbiAgfSxcbiAgZ2V0IGJ5cGFzc2VzVmVyaWZpY2F0aW9uKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uYnlwYXNzZXNWZXJpZmljYXRpb247XG4gIH0sXG4gIGdldCBjb21wbGV0ZWRPbmJvYXJkaW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uY29tcGxldGVkT25ib2FyZGluZztcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZW1iZXIoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZW1iZXIsIGV4dHJhPzogeyBndWlsZElkPzogQmlnU3RyaW5nOyB1c2VySWQ/OiBCaWdTdHJpbmcgfSk6IE1lbWJlciB7XG4gIGNvbnN0IG1lbWJlcjogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VNZW1iZXIpO1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVtYmVyO1xuXG4gIGlmIChwcm9wcy5pZCAmJiBleHRyYT8udXNlcklkKSBtZW1iZXIuaWQgPSB0eXBlb2YgZXh0cmEudXNlcklkID09PSAnc3RyaW5nJyA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGV4dHJhLnVzZXJJZCkgOiBleHRyYS51c2VySWQ7XG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGV4dHJhPy5ndWlsZElkKSBtZW1iZXIuZ3VpbGRJZCA9IHR5cGVvZiBleHRyYS5ndWlsZElkID09PSAnc3RyaW5nJyA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGV4dHJhLmd1aWxkSWQpIDogZXh0cmEuZ3VpbGRJZDtcbiAgaWYgKHByb3BzLnVzZXIgJiYgcGF5bG9hZC51c2VyKSBtZW1iZXIudXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudXNlcik7XG4gIGlmIChwcm9wcy5uaWNrICYmIHBheWxvYWQubmljaykgbWVtYmVyLm5pY2sgPSBwYXlsb2FkLm5pY2s7XG4gIGlmIChwcm9wcy5yb2xlcyAmJiBwYXlsb2FkLnJvbGVzKSBtZW1iZXIucm9sZXMgPSBwYXlsb2FkLnJvbGVzLm1hcCgoaWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGlkKSk7XG4gIGlmIChwcm9wcy5qb2luZWRBdCAmJiBwYXlsb2FkLmpvaW5lZF9hdCkgbWVtYmVyLmpvaW5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmpvaW5lZF9hdCk7XG4gIGlmIChwcm9wcy5wcmVtaXVtU2luY2UgJiYgcGF5bG9hZC5wcmVtaXVtX3NpbmNlKSBtZW1iZXIucHJlbWl1bVNpbmNlID0gRGF0ZS5wYXJzZShwYXlsb2FkLnByZW1pdW1fc2luY2UpO1xuICBpZiAocHJvcHMuY29tbXVuaWNhdGlvbkRpc2FibGVkVW50aWwgJiYgcGF5bG9hZC5jb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsKVxuICAgIG1lbWJlci5jb21tdW5pY2F0aW9uRGlzYWJsZWRVbnRpbCA9IERhdGUucGFyc2UocGF5bG9hZC5jb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsKTtcbiAgaWYgKHByb3BzLmF2YXRhciAmJiBwYXlsb2FkLmF2YXRhcikgbWVtYmVyLmF2YXRhciA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5hdmF0YXIpO1xuICBpZiAocHJvcHMuYmFubmVyICYmIHBheWxvYWQuYmFubmVyKSBtZW1iZXIuYmFubmVyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmJhbm5lcik7XG4gIGlmIChwcm9wcy5wZXJtaXNzaW9ucyAmJiBwYXlsb2FkLnBlcm1pc3Npb25zKSBtZW1iZXIucGVybWlzc2lvbnMgPSBuZXcgUGVybWlzc2lvbnMocGF5bG9hZC5wZXJtaXNzaW9ucyk7XG4gIGlmIChwcm9wcy50b2dnbGVzKSBtZW1iZXIudG9nZ2xlcyA9IG5ldyBNZW1iZXJUb2dnbGVzKHBheWxvYWQpO1xuICBpZiAocHJvcHMuYXZhdGFyRGVjb3JhdGlvbkRhdGEgJiYgcGF5bG9hZC5hdmF0YXJfZGVjb3JhdGlvbl9kYXRhKVxuICAgIG1lbWJlci5hdmF0YXJEZWNvcmF0aW9uRGF0YSA9IGJvdC50cmFuc2Zvcm1lcnMuYXZhdGFyRGVjb3JhdGlvbkRhdGEoYm90LCBwYXlsb2FkLmF2YXRhcl9kZWNvcmF0aW9uX2RhdGEpO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lbWJlcihib3QsIHBheWxvYWQsIG1lbWJlciwge1xuICAgIGd1aWxkSWQ6IGV4dHJhPy5ndWlsZElkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZXh0cmEuZ3VpbGRJZCkgOiB1bmRlZmluZWQsXG4gICAgdXNlcklkOiBleHRyYT8udXNlcklkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZXh0cmEudXNlcklkKSA6IHVuZGVmaW5lZCxcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiaWNvbkhhc2hUb0JpZ0ludCIsIk1lbWJlclRvZ2dsZXMiLCJQZXJtaXNzaW9ucyIsImJhc2VNZW1iZXIiLCJ1bmRlZmluZWQiLCJkZWFmIiwidG9nZ2xlcyIsImhhcyIsIm11dGUiLCJwZW5kaW5nIiwiZmxhZ3MiLCJkaWRSZWpvaW4iLCJzdGFydGVkT25ib2FyZGluZyIsImJ5cGFzc2VzVmVyaWZpY2F0aW9uIiwiY29tcGxldGVkT25ib2FyZGluZyIsInRyYW5zZm9ybU1lbWJlciIsImJvdCIsInBheWxvYWQiLCJleHRyYSIsIm1lbWJlciIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJpZCIsInVzZXJJZCIsInNub3dmbGFrZSIsImd1aWxkSWQiLCJ1c2VyIiwibmljayIsInJvbGVzIiwibWFwIiwiam9pbmVkQXQiLCJqb2luZWRfYXQiLCJEYXRlIiwicGFyc2UiLCJwcmVtaXVtU2luY2UiLCJwcmVtaXVtX3NpbmNlIiwiY29tbXVuaWNhdGlvbkRpc2FibGVkVW50aWwiLCJjb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsIiwiYXZhdGFyIiwiYmFubmVyIiwicGVybWlzc2lvbnMiLCJhdmF0YXJEZWNvcmF0aW9uRGF0YSIsImF2YXRhcl9kZWNvcmF0aW9uX2RhdGEiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsZ0JBQWdCLFFBQVEsb0JBQW9CO0FBR3JELFNBQVNDLGFBQWEsUUFBUSxzQkFBc0I7QUFDcEQsU0FBU0MsV0FBVyxRQUFRLDJCQUEyQjtBQUd2RCxPQUFPLE1BQU1DLGFBQXFCO0lBQ2hDLDJFQUEyRTtJQUMzRSxHQUFJQyxTQUFTO0lBRWIsSUFBSUMsUUFBTztRQUNULE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQ0MsT0FBTyxFQUFFQyxJQUFJO0lBQzdCO0lBQ0EsSUFBSUMsUUFBTztRQUNULE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQ0YsT0FBTyxFQUFFQyxJQUFJO0lBQzdCO0lBQ0EsSUFBSUUsV0FBVTtRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQ0gsT0FBTyxFQUFFQyxJQUFJO0lBQzdCO0lBQ0EsSUFBSUcsU0FBUTtRQUNWLE9BQU8sSUFBSSxDQUFDSixPQUFPLEVBQUVJLFNBQVM7SUFDaEM7SUFDQSxJQUFJQyxhQUFZO1FBQ2QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDTCxPQUFPLEVBQUVLO0lBQ3pCO0lBQ0EsSUFBSUMscUJBQW9CO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQ04sT0FBTyxFQUFFTTtJQUN6QjtJQUNBLElBQUlDLHdCQUF1QjtRQUN6QixPQUFPLENBQUMsQ0FBQyxJ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
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBEaXNjb3JkTWVtYmVyIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgaWNvbkhhc2hUb0JpZ0ludCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgTWVtYmVyVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9tZW1iZXIuanMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBNZW1iZXIgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGNvbnN0IGJhc2VNZW1iZXI6IE1lbWJlciA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBNZW1iZXIpLFxuXG4gIGdldCBkZWFmKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdkZWFmJyk7XG4gIH0sXG4gIGdldCBtdXRlKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdtdXRlJyk7XG4gIH0sXG4gIGdldCBwZW5kaW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdwZW5kaW5nJyk7XG4gIH0sXG4gIGdldCBmbGFncygpIHtcbiAgICByZXR1cm4gdGhpcy50b2dnbGVzPy5mbGFncyA/PyAwO1xuICB9LFxuICBnZXQgZGlkUmVqb2luKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uZGlkUmVqb2luO1xuICB9LFxuICBnZXQgc3RhcnRlZE9uYm9hcmRpbmcoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5zdGFydGVkT25ib2FyZGluZztcbiAgfSxcbiAgZ2V0IGJ5cGFzc2VzVmVyaWZpY2F0aW9uKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uYnlwYXNzZXNWZXJpZmljYXRpb247XG4gIH0sXG4gIGdldCBjb21wbGV0ZWRPbmJvYXJkaW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uY29tcGxldGVkT25ib2FyZGluZztcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZW1iZXIoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZW1iZXIsIGV4dHJhPzogeyBndWlsZElkPzogQmlnU3RyaW5nOyB1c2VySWQ/OiBCaWdTdHJpbmcgfSk6IE1lbWJlciB7XG4gIGNvbnN0IG1lbWJlcjogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VNZW1iZXIpO1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVtYmVyO1xuXG4gIGlmIChwcm9wcy5pZCAmJiBleHRyYT8udXNlcklkKSBtZW1iZXIuaWQgPSB0eXBlb2YgZXh0cmEudXNlcklkID09PSAnc3RyaW5nJyA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGV4dHJhLnVzZXJJZCkgOiBleHRyYS51c2VySWQ7XG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGV4dHJhPy5ndWlsZElkKSBtZW1iZXIuZ3VpbGRJZCA9IHR5cGVvZiBleHRyYS5ndWlsZElkID09PSAnc3RyaW5nJyA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGV4dHJhLmd1aWxkSWQpIDogZXh0cmEuZ3VpbGRJZDtcbiAgaWYgKHByb3BzLnVzZXIgJiYgcGF5bG9hZC51c2VyKSBtZW1iZXIudXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudXNlcik7XG4gIGlmIChwcm9wcy5uaWNrICYmIHBheWxvYWQubmljaykgbWVtYmVyLm5pY2sgPSBwYXlsb2FkLm5pY2s7XG4gIGlmIChwcm9wcy5yb2xlcyAmJiBwYXlsb2FkLnJvbGVzKSBtZW1iZXIucm9sZXMgPSBwYXlsb2FkLnJvbGVzLm1hcCgoaWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGlkKSk7XG4gIGlmIChwcm9wcy5qb2luZWRBdCAmJiBwYXlsb2FkLmpvaW5lZF9hdCkgbWVtYmVyLmpvaW5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmpvaW5lZF9hdCk7XG4gIGlmIChwcm9wcy5wcmVtaXVtU2luY2UgJiYgcGF5bG9hZC5wcmVtaXVtX3NpbmNlKSBtZW1iZXIucHJlbWl1bVNpbmNlID0gRGF0ZS5wYXJzZShwYXlsb2FkLnByZW1pdW1fc2luY2UpO1xuICBpZiAocHJvcHMuY29tbXVuaWNhdGlvbkRpc2FibGVkVW50aWwgJiYgcGF5bG9hZC5jb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsKVxuICAgIG1lbWJlci5jb21tdW5pY2F0aW9uRGlzYWJsZWRVbnRpbCA9IERhdGUucGFyc2UocGF5bG9hZC5jb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsKTtcbiAgaWYgKHByb3BzLmF2YXRhciAmJiBwYXlsb2FkLmF2YXRhcikgbWVtYmVyLmF2YXRhciA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5hdmF0YXIpO1xuICBpZiAocHJvcHMuYmFubmVyICYmIHBheWxvYWQuYmFubmVyKSBtZW1iZXIuYmFubmVyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmJhbm5lcik7XG4gIGlmIChwcm9wcy5wZXJtaXNzaW9ucyAmJiBwYXlsb2FkLnBlcm1pc3Npb25zKSBtZW1iZXIucGVybWlzc2lvbnMgPSBuZXcgUGVybWlzc2lvbnMocGF5bG9hZC5wZXJtaXNzaW9ucyk7XG4gIGlmIChwcm9wcy50b2dnbGVzKSBtZW1iZXIudG9nZ2xlcyA9IG5ldyBNZW1iZXJUb2dnbGVzKHBheWxvYWQpO1xuICBpZiAocHJvcHMuYXZhdGFyRGVjb3JhdGlvbkRhdGEgJiYgcGF5bG9hZC5hdmF0YXJfZGVjb3JhdGlvbl9kYXRhKVxuICAgIG1lbWJlci5hdmF0YXJEZWNvcmF0aW9uRGF0YSA9IGJvdC50cmFuc2Zvcm1lcnMuYXZhdGFyRGVjb3JhdGlvbkRhdGEoYm90LCBwYXlsb2FkLmF2YXRhcl9kZWNvcmF0aW9uX2RhdGEpO1xuICBpZiAocHJvcHMuY29sbGVjdGlibGVzICYmIHBheWxvYWQuY29sbGVjdGlibGVzKSBtZW1iZXIuY29sbGVjdGlibGVzID0gYm90LnRyYW5zZm9ybWVycy5jb2xsZWN0aWJsZXMoYm90LCBwYXlsb2FkLmNvbGxlY3RpYmxlcyk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVtYmVyKGJvdCwgcGF5bG9hZCwgbWVtYmVyLCB7XG4gICAgZ3VpbGRJZDogZXh0cmE/Lmd1aWxkSWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShleHRyYS5ndWlsZElkKSA6IHVuZGVmaW5lZCxcbiAgICB1c2VySWQ6IGV4dHJhPy51c2VySWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShleHRyYS51c2VySWQpIDogdW5kZWZpbmVkLFxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJpY29uSGFzaFRvQmlnSW50IiwiTWVtYmVyVG9nZ2xlcyIsIlBlcm1pc3Npb25zIiwiYmFzZU1lbWJlciIsInVuZGVmaW5lZCIsImRlYWYiLCJ0b2dnbGVzIiwiaGFzIiwibXV0ZSIsInBlbmRpbmciLCJmbGFncyIsImRpZFJlam9pbiIsInN0YXJ0ZWRPbmJvYXJkaW5nIiwiYnlwYXNzZXNWZXJpZmljYXRpb24iLCJjb21wbGV0ZWRPbmJvYXJkaW5nIiwidHJhbnNmb3JtTWVtYmVyIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwibWVtYmVyIiwiT2JqZWN0IiwiY3JlYXRlIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImlkIiwidXNlcklkIiwic25vd2ZsYWtlIiwiZ3VpbGRJZCIsInVzZXIiLCJuaWNrIiwicm9sZXMiLCJtYXAiLCJqb2luZWRBdCIsImpvaW5lZF9hdCIsIkRhdGUiLCJwYXJzZSIsInByZW1pdW1TaW5jZSIsInByZW1pdW1fc2luY2UiLCJjb21tdW5pY2F0aW9uRGlzYWJsZWRVbnRpbCIsImNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwiLCJhdmF0YXIiLCJiYW5uZXIiLCJwZXJtaXNzaW9ucyIsImF2YXRhckRlY29yYXRpb25EYXRhIiwiYXZhdGFyX2RlY29yYXRpb25fZGF0YSIsImNvbGxlY3RpYmxlcyIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxnQkFBZ0IsUUFBUSxvQkFBb0I7QUFHckQsU0FBU0MsYUFBYSxRQUFRLHNCQUFzQjtBQUNwRCxTQUFTQyxXQUFXLFFBQVEsMkJBQTJCO0FBR3ZELE9BQU8sTUFBTUMsYUFBcUI7SUFDaEMsMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixJQUFJQyxRQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDQyxPQUFPLEVBQUVDLElBQUk7SUFDN0I7SUFDQSxJQUFJQyxRQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDRixPQUFPLEVBQUVDLElBQUk7SUFDN0I7SUFDQSxJQUFJRSxXQUFVO1FBQ1osT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDSCxPQUFPLEVBQUVDLElBQUk7SUFDN0I7SUFDQSxJQUFJRyxTQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUNKLE9BQU8sRUFBRUksU0FBUztJQUNoQztJQUNBLElBQUlDLGFBQVk7UUFDZCxPQUFP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
@@ -1,6 +1,6 @@
1
- import { type DiscordMessage, type DiscordMessageCall, type DiscordMessageInteractionMetadata, type DiscordMessagePin, type DiscordMessageSnapshot } from '@discordeno/types';
1
+ import { type DiscordMessage, type DiscordMessageCall, type DiscordMessageInteractionMetadata, type DiscordMessagePin, type DiscordMessageSnapshot, type DiscordSharedClientTheme } from '@discordeno/types';
2
2
  import type { Bot } from '../bot.js';
3
- import type { Message, MessageCall, MessageInteractionMetadata, MessagePin, MessageSnapshot } from './types.js';
3
+ import type { Message, MessageCall, MessageInteractionMetadata, MessagePin, MessageSnapshot, SharedClientTheme } from './types.js';
4
4
  export declare const baseMessage: Message;
5
5
  export declare function transformMessage(bot: Bot, payload: DiscordMessage, extra?: {
6
6
  shardId?: number;
@@ -13,4 +13,5 @@ export declare function transformMessageSnapshot(bot: Bot, payload: DiscordMessa
13
13
  }): MessageSnapshot;
14
14
  export declare function transformMessageInteractionMetadata(bot: Bot, payload: DiscordMessageInteractionMetadata): MessageInteractionMetadata;
15
15
  export declare function transformMessageCall(bot: Bot, payload: DiscordMessageCall): MessageCall;
16
+ export declare function transformSharedClientTheme(bot: Bot, payload: DiscordSharedClientTheme): SharedClientTheme;
16
17
  //# sourceMappingURL=message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/transformers/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAE5B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAsB,0BAA0B,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIpI,eAAO,MAAM,WAAW,EAAE,OAkHzB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAqHzG;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAQlH;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CASjI;AAED,wBAAgB,mCAAmC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iCAAiC,GAAG,0BAA0B,CAqCpI;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAQvF"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/transformers/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAE9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EAEX,0BAA0B,EAC1B,UAAU,EACV,eAAe,EACf,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,WAAW,EAAE,OAkHzB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAsHzG;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAQlH;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CASjI;AAED,wBAAgB,mCAAmC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iCAAiC,GAAG,0BAA0B,CAqCpI;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAQvF;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAUzG"}