@projectcor/maia-components 2.44.5-0 → 2.44.5-1

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.
@@ -93,6 +93,8 @@ var TOOL_ACTION_IDS = {
93
93
  edit_user: 'editUser',
94
94
  create_task_type: 'createTaskType',
95
95
  edit_hour: 'editHours',
96
+ delete_hour: 'deleteHours',
97
+ delete_hours: 'deleteHours',
96
98
  create_allocation: 'createAllocation',
97
99
  edit_allocation: 'editAllocation',
98
100
  delete_allocation: 'deleteAllocation',
@@ -434,4 +436,4 @@ export var isStreamingPlaceholderMessageId = function isStreamingPlaceholderMess
434
436
  export var streamingPlaceholderMessageId = function streamingPlaceholderMessageId(messageId) {
435
437
  return "answer-".concat(messageId, "-streaming");
436
438
  };
437
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJUSElOS0lOR19NRVNTQUdFX0tFWVMiLCJHRU5FUkFUSU5HX01FU1NBR0VfS0VZUyIsIlNFQVJDSF9NRVNTQUdFX0tFWVMiLCJERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVMiLCJBVFRBQ0hNRU5UX01FU1NBR0VfS0VZUyIsIkFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCIsIlRISU5LSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZIiwiV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSIsIlRPT0xfQUNUSU9OX0lEUyIsImNyZWF0ZV90YXNrIiwiY2xvbmVfdGFzayIsImNyZWF0ZV90YXNrc19iYXRjaCIsImNyZWF0ZV9hZ2VudCIsImVkaXRfYWdlbnQiLCJlZGl0X3Rhc2siLCJlZGl0X3Rhc2tzX2JhdGNoIiwiZGVsZXRlX3Rhc2siLCJkZWxldGVfdGFza3NfYmF0Y2giLCJ0YXNrX2Fzc2lnbiIsInRhc2tfdW5hc3NpZ24iLCJhc3NpZ25fdGFza19sYWJlbCIsImNyZWF0ZV9sYWJlbHMiLCJlZGl0X3Byb2plY3QiLCJjcmVhdGVfY2hlY2tsaXN0X2l0ZW0iLCJ1cGRhdGVfdGFza190eXBlIiwidXBkYXRlX2VzdGltYXRlZF9ob3VycyIsInVwZGF0ZV9kZWxpdmVyYWJsZSIsImNyZWF0ZV9ob3VyIiwiY3JlYXRlX2hvdXJzIiwiY3JlYXRlX2NoZWNrbGlzdCIsImdldF90YXNrX2RhdGVfaG91cnMiLCJjb25maWd1cmVfYWdlbnRfYWNjZXNzIiwic2VuZF90YXNrX21lc3NhZ2UiLCJkZWxldGVfY2hlY2tsaXN0X2l0ZW0iLCJyZW1vdmVfdGFza190eXBlIiwicmVtb3ZlX3Rhc2tfbGFiZWwiLCJjb3VudF9kZWxpdmVyYWJsZSIsImNyZWF0ZV9yZXdvcmsiLCJ1cGRhdGVfcmV3b3JrIiwiZ2V0X3Byb2plY3Rfd2l0aF90YXNrc19pbmZvIiwiZ2V0X3Rhc2siLCJnZXRfdGFza19oaXN0b3J5IiwiZ2V0X3Rhc2tfbGFiZWxzIiwiZ2V0X3Rhc2tfdHlwZXMiLCJnZXRfdGFza190eXBlX2NhdGVnb3JpZXMiLCJnZXRfcHJvamVjdF9mZWVfY29uc3VtcHRpb24iLCJnZXRfcHJvamVjdF90YWJfZXZvbHV0aW9uIiwiZ2V0X3Byb2plY3RfdGFiX2V2b2x1dGlvbl9jb3N0cyIsImdldF9wcm9qZWN0X3BlcmZvcm1hbmNlX3RhYl90aW1lX2J5X2dyb3VwZWQiLCJnZXRfZGVsaXZlcmFibGVfYnlfcHJvamVjdF9pZCIsImdldF9yZXdvcmtfYnlfcHJvamVjdF9pZCIsImdldF9jb250cmFjdCIsImxpc3RfcHJvamVjdHMiLCJnZXRfY2xpZW50IiwiZ2V0X2NsaWVudF9zdGF0dXNlcyIsImdldF9jbGllbnRzX3dpdGhfZmlsdGVycyIsImxpc3RfY2xpZW50cyIsImdldF9ob3VycyIsImdldF9ob3Vyc19jYXBhY2l0eSIsImdldF9wcm9qZWN0X2hvdXJzX2J5X3VzZXJfYW5kX3Rhc2siLCJnZXRfcHJvamVjdF9ob3Vyc19ieV91c2VyX21vbnRobHkiLCJnZXRfd29ya2luZ190aW1lIiwiZ2V0X2NoYXJnaW5nX3BlcmlvZCIsInN1bW1hcml6ZV9ob3VycyIsInJlY29tbWVuZF9ob3Vyc19mcm9tX3BsYW5uZXIiLCJnZXRfcGxhbm5lciIsImxpc3RfdXNlcnMiLCJnZXRfZGFzaGJvYXJkX2J5X2NvbXBhbnkiLCJnZXRfZGFzaGJvYXJkX2RhdGEiLCJnZXRfcmVjZW50X2FjdGl2aXR5IiwibGlzdF9jb250cmFjdHMiLCJsaXN0X2ZlZXMiLCJsaXN0X2ludm9pY2VzIiwiY2hlY2tsaXN0IiwicmV3b3JrcyIsInRhdmlseV9zZWFyY2giLCJnZXRfdXNlcl9pZCIsImdldF9jbGllbnRfaWRfYmFzZWRfb25fbmFtZSIsImdldF9wcm9qZWN0X2lkX2Jhc2VkX29uX25hbWUiLCJnZXRfdGFza19pZF9iYXNlZF9vbl90aXRsZSIsImdldF91c2VyX3Bvc2l0aW9uX2lkX2Jhc2VkX29uX25hbWUiLCJnZXRfbGFiZWxfY29sb3JzIiwiZ2V0X21vZGVscyIsImNyZWF0ZV9wcm9qZWN0IiwiY3JlYXRlX2NsaWVudCIsImVkaXRfY2xpZW50IiwiY3JlYXRlX3VzZXIiLCJlZGl0X3VzZXIiLCJjcmVhdGVfdGFza190eXBlIiwiZWRpdF9ob3VyIiwiY3JlYXRlX2FsbG9jYXRpb24iLCJlZGl0X2FsbG9jYXRpb24iLCJkZWxldGVfYWxsb2NhdGlvbiIsImhhbmRvZmZfdG9fb3JjaGVzdHJhdG9yIiwiYWN0aW9uTWVzc2FnZUtleSIsImFjdGlvbklkIiwidGVuc2UiLCJjb25jYXQiLCJyZXNvbHZlVG9vbEFjdGlvbkxhYmVsIiwidG9vbE5hbWUiLCJ0IiwiSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZIiwiT2JqZWN0Iiwia2V5cyIsInNvcnQiLCJhIiwiYiIsImxlbmd0aCIsImxvb2tzTGlrZVJhd1Rvb2xOYW1lIiwibWVzc2FnZSIsInRlc3QiLCJ0cmltIiwiaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UiLCJub3JtYWxpemVkIiwidG9Mb3dlckNhc2UiLCJzdGFydHNXaXRoIiwibWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSIsIm9wdGlvbnMiLCJwaGFzZSIsInVzZVJlc3VtaW5nRmFsbGJhY2siLCJyZXNvbHZlVG9vbFN0ZXBQYXN0TGFiZWwiLCJfcmVzb2x2ZVRvb2xBY3Rpb25MYWIiLCJyZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UiLCJub2RlTWVzc2FnZSIsImFzVG9vbE5hbWUiLCJyZXBsYWNlIiwibWF0Y2hlZFRvb2wiLCJmaW5kIiwiaW5jbHVkZXMiLCJtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkiLCJoaXRsVG9vbCIsInRyaW1tZWRNZXNzYWdlIiwicmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkIiwiY29udGV4dCIsInRocmVhZElkIiwiX3JlZiIsIl9jb250ZXh0JHBlbmRpbmdBY3RpbyIsIl9jb250ZXh0JGFwcHJvdmFsIiwiX2NvbnRleHQkdGhyZWFkSWRzIiwicGVuZGluZyIsInBlbmRpbmdBY3Rpb25zIiwiYXBwcm92YWwiLCJwZW5kaW5nX2FjdGlvbnMiLCJmb3JUaHJlYWQiLCJmaWx0ZXIiLCJhY3Rpb24iLCJ0aHJlYWRfaWQiLCJ0aHJlYWRJZHMiLCJfY29udGV4dCR0aHJlYWRJZHMyIiwiZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMiLCJhY3Rpb25zIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiU2V0IiwibWFwIiwidG9vbF9uYW1lIiwiQm9vbGVhbiIsInJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5IiwicGVuZGluZ0ZvclRocmVhZCIsImRldGVjdGVkVG9vbHMiLCJ0cmltbWVkTm9kZU1lc3NhZ2UiLCJpc1JhdyIsImlzR2VuZXJpYyIsIm5vZGVNZXNzYWdlQ29udGFpbnNUb29sIiwic29tZSIsInRvb2wiLCJhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZSIsIkFDVElWSVRZX01FU1NBR0VfUk9UQVRFX01TIiwiUk9UQVRBQkxFX1BIQVNFUyIsImdldE1lc3NhZ2VLZXlzRm9yUGhhc2UiLCJhdHRhY2htZW50c0NvdW50IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCIsImluZGV4IiwiY2xhbXBlZEluZGV4IiwiTWF0aCIsIm1pbiIsIm1heCIsImdldFRoaW5raW5nTG9hZGluZ01lc3NhZ2UiLCJnZXRHZW5lcmF0aW5nTG9hZGluZ01lc3NhZ2UiLCJjYW5BZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlIiwiY3VycmVudEluZGV4IiwiYWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSIsImFjdGl2aXR5IiwibmV4dEluZGV4IiwiX29iamVjdFNwcmVhZCIsImNhblJvdGF0ZVN0cmVhbUFjdGl2aXR5UGhhc2UiLCJnZXRUaGlua2luZ1N0cmVhbUFjdGl2aXR5IiwiZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5IiwicmVzb2x2ZUluaXRpYWxIaXRsU3RyZWFtQWN0aXZpdHkiLCJ0b0luZGljYXRvclN0cmVhbUFjdGl2aXR5IiwiZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5IiwiaXNXZWJTZWFyY2hBY3RpdmUiLCJpc0RlZXBTZWFyY2hBY3RpdmUiLCJoYXNBdHRhY2htZW50cyIsIl9vcHRpb25zJGF0dGFjaG1lbnRzQyIsInJlc29sdmVTdHJlYW1Mb2FkaW5nRGlzcGxheSIsInBhcmFtcyIsInN0cmVhbUFjdGl2aXR5IiwiYWN0aXZlS2V5cyIsImFjdGl2ZUxvYWRpbmdzIiwiZmlyc3RLZXkiLCJyYXciLCJ0cmltbWVkIiwibG9hZGluZ01lc3NhZ2UiLCJ3YWl0aW5nUmVzcG9uc2UiLCJpc1N0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkIiwibWVzc2FnZUlkIiwic3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc3RyZWFtQWN0aXZpdHlNZXNzYWdlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0cmVhbUFjdGl2aXR5LCBTdHJlYW1BY3Rpdml0eVBoYXNlIH0gZnJvbSAnLi4vdHlwZXMvc3RyZWFtQWN0aXZpdHknXG5pbXBvcnQgdHlwZSB7IEFwcHJvdmFsUmVxdWVzdCwgUGVuZGluZ0FjdGlvbiB9IGZyb20gJy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBub3JtYWxpemVIaXRsVG9vbE5hbWUgfSBmcm9tICcuL2hpdGxBbmFseXRpY3MnXG5cbnR5cGUgVHJhbnNsYXRlRm4gPSAoa2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuXG5jb25zdCBUSElOS0lOR19NRVNTQUdFX0tFWVMgPSBbXG4gICdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLmFuYWx5emluZycsXG4gICdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLnJldmlld2luZycsXG4gICdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLnBsYW5uaW5nJyxcbl0gYXMgY29uc3RcblxuY29uc3QgR0VORVJBVElOR19NRVNTQUdFX0tFWVMgPSBbXG4gICdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcuY29uc2lkZXJpbmcnLFxuICAnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nLmFsbW9zdFJlYWR5JyxcbiAgJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZy5wcmVwYXJpbmcnLFxuXSBhcyBjb25zdFxuXG5jb25zdCBTRUFSQ0hfTUVTU0FHRV9LRVlTID0gWydjaGF0LmFjdGl2aXR5LnNlYXJjaC5zY2FubmluZycsICdjaGF0LmFjdGl2aXR5LnNlYXJjaC5zdW1tYXJpemluZyddIGFzIGNvbnN0XG5cbmNvbnN0IERFRVBfU0VBUkNIX01FU1NBR0VfS0VZUyA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkuZGVlcFNlYXJjaC5leHBsb3JpbmcnLFxuICAnY2hhdC5hY3Rpdml0eS5kZWVwU2VhcmNoLmNyb3NzQ2hlY2tpbmcnLFxuXSBhcyBjb25zdFxuXG5jb25zdCBBVFRBQ0hNRU5UX01FU1NBR0VfS0VZUyA9IFsnY2hhdC5hY3Rpdml0eS5hdHRhY2htZW50LnJlYWRpbmcnLCAnY2hhdC5hY3Rpdml0eS5hdHRhY2htZW50LmV4dHJhY3RpbmcnXSBhcyBjb25zdFxuXG5jb25zdCBBVFRBQ0hNRU5UX01FU1NBR0VfS0VZU19QTFVSQUwgPSBbXG4gICdjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQucmVhZGluZ1BsdXJhbCcsXG4gICdjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQuZXh0cmFjdGluZ1BsdXJhbCcsXG5dIGFzIGNvbnN0XG5cbmV4cG9ydCBjb25zdCBUSElOS0lOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSA9ICdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLmxhYmVsJyBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkgPSAnY2hhdC5hY3Rpdml0eS53cml0aW5nLmxhYmVsJyBhcyBjb25zdFxuXG5leHBvcnQgdHlwZSBBY3Rpb25UZW5zZSA9ICdwcmVzZW50JyB8ICdwYXN0J1xuXG5jb25zdCBUT09MX0FDVElPTl9JRFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGNyZWF0ZV90YXNrOiAnY3JlYXRlVGFzaycsXG4gIGNsb25lX3Rhc2s6ICdjcmVhdGVUYXNrJyxcbiAgY3JlYXRlX3Rhc2tzX2JhdGNoOiAnY3JlYXRlVGFza3NCYXRjaCcsXG4gIGNyZWF0ZV9hZ2VudDogJ2NyZWF0ZUFnZW50JyxcbiAgZWRpdF9hZ2VudDogJ2VkaXRBZ2VudCcsXG4gIGVkaXRfdGFzazogJ2VkaXRUYXNrJyxcbiAgZWRpdF90YXNrc19iYXRjaDogJ2VkaXRUYXNrc0JhdGNoJyxcbiAgZGVsZXRlX3Rhc2s6ICdkZWxldGVUYXNrJyxcbiAgZGVsZXRlX3Rhc2tzX2JhdGNoOiAnZGVsZXRlVGFza3NCYXRjaCcsXG4gIHRhc2tfYXNzaWduOiAnYXNzaWduVXNlcicsXG4gIHRhc2tfdW5hc3NpZ246ICd1bmFzc2lnblVzZXInLFxuICBhc3NpZ25fdGFza19sYWJlbDogJ2Fzc2lnbkxhYmVsJyxcbiAgY3JlYXRlX2xhYmVsczogJ2NyZWF0ZUxhYmVsJyxcbiAgZWRpdF9wcm9qZWN0OiAnZWRpdFByb2plY3QnLFxuICBjcmVhdGVfY2hlY2tsaXN0X2l0ZW06ICdjcmVhdGVDaGVja2xpc3RJdGVtJyxcbiAgdXBkYXRlX3Rhc2tfdHlwZTogJ3VwZGF0ZVRhc2tUeXBlJyxcbiAgdXBkYXRlX2VzdGltYXRlZF9ob3VyczogJ3VwZGF0ZUVzdGltYXRlZEhvdXJzJyxcbiAgdXBkYXRlX2RlbGl2ZXJhYmxlOiAndXBkYXRlRGVsaXZlcmFibGUnLFxuICBjcmVhdGVfaG91cjogJ2xvZ0hvdXJzJyxcbiAgY3JlYXRlX2hvdXJzOiAnbG9nSG91cnMnLFxuICBjcmVhdGVfY2hlY2tsaXN0OiAnY3JlYXRlQ2hlY2tsaXN0JyxcbiAgZ2V0X3Rhc2tfZGF0ZV9ob3VyczogJ3F1ZXJ5SG91cnMnLFxuICBjb25maWd1cmVfYWdlbnRfYWNjZXNzOiAnY29uZmlndXJlQWdlbnRBY2Nlc3MnLFxuICBzZW5kX3Rhc2tfbWVzc2FnZTogJ3NlbmRUYXNrTWVzc2FnZScsXG4gIGRlbGV0ZV9jaGVja2xpc3RfaXRlbTogJ2RlbGV0ZUNoZWNrbGlzdEl0ZW0nLFxuICByZW1vdmVfdGFza190eXBlOiAncmVtb3ZlVGFza1R5cGUnLFxuICByZW1vdmVfdGFza19sYWJlbDogJ3JlbW92ZUxhYmVsJyxcbiAgY291bnRfZGVsaXZlcmFibGU6ICd1cGRhdGVEZWxpdmVyYWJsZUNvdW50JyxcbiAgY3JlYXRlX3Jld29yazogJ2NyZWF0ZVJld29yaycsXG4gIHVwZGF0ZV9yZXdvcms6ICd1cGRhdGVSZXdvcmsnLFxuICBnZXRfcHJvamVjdF93aXRoX3Rhc2tzX2luZm86ICdyZWFkUHJvamVjdFRhc2tzJyxcbiAgZ2V0X3Rhc2s6ICdyZWFkVGFzaycsXG4gIGdldF90YXNrX2hpc3Rvcnk6ICdyZWFkVGFzaycsXG4gIGdldF90YXNrX2xhYmVsczogJ3JlYWRUYXNrJyxcbiAgZ2V0X3Rhc2tfdHlwZXM6ICdyZWFkVGFza1R5cGVzJyxcbiAgZ2V0X3Rhc2tfdHlwZV9jYXRlZ29yaWVzOiAncmVhZFRhc2tUeXBlcycsXG4gIGdldF9wcm9qZWN0X2ZlZV9jb25zdW1wdGlvbjogJ3JlYWRQcm9qZWN0JyxcbiAgZ2V0X3Byb2plY3RfdGFiX2V2b2x1dGlvbjogJ3JlYWRQcm9qZWN0JyxcbiAgZ2V0X3Byb2plY3RfdGFiX2V2b2x1dGlvbl9jb3N0czogJ3JlYWRQcm9qZWN0JyxcbiAgZ2V0X3Byb2plY3RfcGVyZm9ybWFuY2VfdGFiX3RpbWVfYnlfZ3JvdXBlZDogJ3JlYWRQcm9qZWN0JyxcbiAgZ2V0X2RlbGl2ZXJhYmxlX2J5X3Byb2plY3RfaWQ6ICdyZWFkUHJvamVjdCcsXG4gIGdldF9yZXdvcmtfYnlfcHJvamVjdF9pZDogJ3JlYWRQcm9qZWN0JyxcbiAgZ2V0X2NvbnRyYWN0OiAncmVhZFByb2plY3QnLFxuICBsaXN0X3Byb2plY3RzOiAnbGlzdFByb2plY3RzJyxcbiAgZ2V0X2NsaWVudDogJ3JlYWRDbGllbnQnLFxuICBnZXRfY2xpZW50X3N0YXR1c2VzOiAncmVhZENsaWVudCcsXG4gIGdldF9jbGllbnRzX3dpdGhfZmlsdGVyczogJ3JlYWRDbGllbnQnLFxuICBsaXN0X2NsaWVudHM6ICdyZWFkQ2xpZW50JyxcbiAgZ2V0X2hvdXJzOiAncmVhZEhvdXJzJyxcbiAgZ2V0X2hvdXJzX2NhcGFjaXR5OiAncmVhZEhvdXJzJyxcbiAgZ2V0X3Byb2plY3RfaG91cnNfYnlfdXNlcl9hbmRfdGFzazogJ3JlYWRIb3VycycsXG4gIGdldF9wcm9qZWN0X2hvdXJzX2J5X3VzZXJfbW9udGhseTogJ3JlYWRIb3VycycsXG4gIGdldF93b3JraW5nX3RpbWU6ICdyZWFkSG91cnMnLFxuICBnZXRfY2hhcmdpbmdfcGVyaW9kOiAncmVhZEhvdXJzJyxcbiAgc3VtbWFyaXplX2hvdXJzOiAncmVhZEhvdXJzJyxcbiAgcmVjb21tZW5kX2hvdXJzX2Zyb21fcGxhbm5lcjogJ3JlYWRIb3VycycsXG4gIGdldF9wbGFubmVyOiAncmVhZFBsYW5uZXInLFxuICBsaXN0X3VzZXJzOiAncmVhZFVzZXJzJyxcbiAgZ2V0X2Rhc2hib2FyZF9ieV9jb21wYW55OiAncmVhZE1ldHJpY3MnLFxuICBnZXRfZGFzaGJvYXJkX2RhdGE6ICdyZWFkTWV0cmljcycsXG4gIGdldF9yZWNlbnRfYWN0aXZpdHk6ICdyZWFkTWV0cmljcycsXG4gIGxpc3RfY29udHJhY3RzOiAncmVhZEJpbGxpbmcnLFxuICBsaXN0X2ZlZXM6ICdyZWFkQmlsbGluZycsXG4gIGxpc3RfaW52b2ljZXM6ICdyZWFkQmlsbGluZycsXG4gIGNoZWNrbGlzdDogJ3JlYWRDaGVja2xpc3QnLFxuICByZXdvcmtzOiAncmVhZFJld29ya3MnLFxuICB0YXZpbHlfc2VhcmNoOiAnc2VhcmNoV2ViJyxcbiAgZ2V0X3VzZXJfaWQ6ICdyZWFkUmVmZXJlbmNlcycsXG4gIGdldF9jbGllbnRfaWRfYmFzZWRfb25fbmFtZTogJ3JlYWRSZWZlcmVuY2VzJyxcbiAgZ2V0X3Byb2plY3RfaWRfYmFzZWRfb25fbmFtZTogJ3JlYWRSZWZlcmVuY2VzJyxcbiAgZ2V0X3Rhc2tfaWRfYmFzZWRfb25fdGl0bGU6ICdyZWFkUmVmZXJlbmNlcycsXG4gIGdldF91c2VyX3Bvc2l0aW9uX2lkX2Jhc2VkX29uX25hbWU6ICdyZWFkUmVmZXJlbmNlcycsXG4gIGdldF9sYWJlbF9jb2xvcnM6ICdyZWFkUmVmZXJlbmNlcycsXG4gIGdldF9tb2RlbHM6ICdyZWFkUmVmZXJlbmNlcycsXG4gIGNyZWF0ZV9wcm9qZWN0OiAnY3JlYXRlUHJvamVjdCcsXG4gIGNyZWF0ZV9jbGllbnQ6ICdjcmVhdGVDbGllbnQnLFxuICBlZGl0X2NsaWVudDogJ2VkaXRDbGllbnQnLFxuICBjcmVhdGVfdXNlcjogJ2NyZWF0ZVVzZXInLFxuICBlZGl0X3VzZXI6ICdlZGl0VXNlcicsXG4gIGNyZWF0ZV90YXNrX3R5cGU6ICdjcmVhdGVUYXNrVHlwZScsXG4gIGVkaXRfaG91cjogJ2VkaXRIb3VycycsXG4gIGNyZWF0ZV9hbGxvY2F0aW9uOiAnY3JlYXRlQWxsb2NhdGlvbicsXG4gIGVkaXRfYWxsb2NhdGlvbjogJ2VkaXRBbGxvY2F0aW9uJyxcbiAgZGVsZXRlX2FsbG9jYXRpb246ICdkZWxldGVBbGxvY2F0aW9uJyxcblxuICBoYW5kb2ZmX3RvX29yY2hlc3RyYXRvcjogJ2Fza0Fub3RoZXJTcGVjaWFsaXN0Jyxcbn1cblxuY29uc3QgYWN0aW9uTWVzc2FnZUtleSA9IChhY3Rpb25JZDogc3RyaW5nLCB0ZW5zZTogQWN0aW9uVGVuc2UpOiBzdHJpbmcgPT4gYGNoYXQuYWN0aXZpdHkuYWN0aW9ucy4ke2FjdGlvbklkfS4ke3RlbnNlfWBcblxuZXhwb3J0IGNvbnN0IHJlc29sdmVUb29sQWN0aW9uTGFiZWwgPSAodG9vbE5hbWU6IHN0cmluZywgdDogVHJhbnNsYXRlRm4sIHRlbnNlOiBBY3Rpb25UZW5zZSk6IHN0cmluZyB8IG51bGwgPT4ge1xuICBjb25zdCBhY3Rpb25JZCA9IFRPT0xfQUNUSU9OX0lEU1tub3JtYWxpemVIaXRsVG9vbE5hbWUodG9vbE5hbWUpXVxuICByZXR1cm4gYWN0aW9uSWQgPyB0KGFjdGlvbk1lc3NhZ2VLZXkoYWN0aW9uSWQsIHRlbnNlKSkgOiBudWxsXG59XG5cbmNvbnN0IEhJVExfVE9PTF9OQU1FU19CWV9TUEVDSUZJQ0lUWSA9IE9iamVjdC5rZXlzKFRPT0xfQUNUSU9OX0lEUykuc29ydCgoYSwgYikgPT4gYi5sZW5ndGggLSBhLmxlbmd0aClcblxuLyoqXG4gKiBEZXRlY3RhIGlkZW50aWZpY2Fkb3JlcyBjcnVkb3MgZGUgdG9vbCAoc25ha2VfY2FzZSAvIGtlYmFiLWNhc2Ugc2luIGVzcGFjaW9zKSBxdWUgZWwgYmFja2VuZFxuICogcHVlZGUgZW52aWFyIGN1YW5kbyBhw7puIG5vIGhheSB0cmFkdWNjacOzbi4gTm8gZGViZW4gbW9zdHJhcnNlIGFsIHVzdWFyaW86IHNlIHVzYSB1biBmYWxsYmFja1xuICogZ2Vuw6lyaWNvIGhhc3RhIHF1ZSBlbCBub21icmUgc2UgYWdyZWd1ZSBhbCBkaWNjaW9uYXJpby5cbiAqL1xuY29uc3QgbG9va3NMaWtlUmF3VG9vbE5hbWUgPSAobWVzc2FnZTogc3RyaW5nKTogYm9vbGVhbiA9PiAvXlthLXowLTldKyg/OltfLV1bYS16MC05XSspKyQvaS50ZXN0KG1lc3NhZ2UudHJpbSgpKVxuXG4vKiogTWVuc2FqZXMgZ2Vuw6lyaWNvcyBkZWwgYmFja2VuZCBjdWFuZG8gbm8gaGF5IGRldGFsbGUgZGUgdG9vbCAoY29udGludWUtdGhyZWFkKS4gKi9cbmNvbnN0IGlzR2VuZXJpY1Jlc3VtZU5vZGVNZXNzYWdlID0gKG1lc3NhZ2U6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBub3JtYWxpemVkID0gbWVzc2FnZS50cmltKCkudG9Mb3dlckNhc2UoKVxuICByZXR1cm4gKFxuICAgIG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnZWplY3V0YW5kbyBhY2Npw7NuIGFwcm9iYWRhJykgfHxcbiAgICBub3JtYWxpemVkLnN0YXJ0c1dpdGgoJ2V4ZWN1dGluZyBhcHByb3ZlZCBhY3Rpb24nKSB8fFxuICAgIG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnZXhlY3V0YW5kbyBhw6fDo28gYXByb3ZhZGEnKVxuICApXG59XG5cbmV4cG9ydCBjb25zdCBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5ID0gKFxuICB0b29sTmFtZTogc3RyaW5nLFxuICB0OiBUcmFuc2xhdGVGbixcbiAgb3B0aW9ucz86IHsgdXNlUmVzdW1pbmdGYWxsYmFjaz86IGJvb2xlYW4gfVxuKTogU3RyZWFtQWN0aXZpdHkgPT4ge1xuICBjb25zdCBtZXNzYWdlID0gcmVzb2x2ZVRvb2xBY3Rpb25MYWJlbCh0b29sTmFtZSwgdCwgJ3ByZXNlbnQnKVxuICBpZiAobWVzc2FnZSkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZSB9XG4gIH1cbiAgaWYgKG9wdGlvbnM/LnVzZVJlc3VtaW5nRmFsbGJhY2spIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkucmVzdW1pbmdBY3Rpb24nKSB9XG4gIH1cbiAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmV4ZWN1dGluZ0FjdGlvbicpIH1cbn1cblxuZXhwb3J0IGNvbnN0IHJlc29sdmVUb29sU3RlcFBhc3RMYWJlbCA9ICh0b29sTmFtZTogc3RyaW5nLCB0OiBUcmFuc2xhdGVGbik6IHN0cmluZyA9PlxuICByZXNvbHZlVG9vbEFjdGlvbkxhYmVsKHRvb2xOYW1lLCB0LCAncGFzdCcpID8/IHQoJ2NoYXQuYWN0aXZpdHkuZXhlY3V0ZWRBY3Rpb24nKVxuXG5jb25zdCByZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UgPSAobm9kZU1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB8IG51bGwgPT4ge1xuICBjb25zdCBub3JtYWxpemVkID0gbm9kZU1lc3NhZ2UudG9Mb3dlckNhc2UoKS50cmltKClcbiAgaWYgKCFub3JtYWxpemVkKSByZXR1cm4gbnVsbFxuXG4gIGlmIChUT09MX0FDVElPTl9JRFNbbm9ybWFsaXplZF0pIHtcbiAgICByZXR1cm4gbm9ybWFsaXplZFxuICB9XG5cbiAgY29uc3QgYXNUb29sTmFtZSA9IG5vcm1hbGl6ZUhpdGxUb29sTmFtZShub3JtYWxpemVkLnJlcGxhY2UoL1xccysvZywgJ18nKSlcbiAgaWYgKFRPT0xfQUNUSU9OX0lEU1thc1Rvb2xOYW1lXSkge1xuICAgIHJldHVybiBhc1Rvb2xOYW1lXG4gIH1cblxuICBjb25zdCBtYXRjaGVkVG9vbCA9IEhJVExfVE9PTF9OQU1FU19CWV9TUEVDSUZJQ0lUWS5maW5kKHRvb2xOYW1lID0+IG5vcm1hbGl6ZWQuaW5jbHVkZXModG9vbE5hbWUpKVxuICByZXR1cm4gbWF0Y2hlZFRvb2wgPz8gbnVsbFxufVxuXG5leHBvcnQgY29uc3QgbWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5ID0gKFxuICBub2RlTWVzc2FnZTogc3RyaW5nLFxuICB0OiBUcmFuc2xhdGVGbixcbiAgb3B0aW9ucz86IHsgdXNlUmVzdW1pbmdGYWxsYmFjaz86IGJvb2xlYW4gfVxuKTogU3RyZWFtQWN0aXZpdHkgPT4ge1xuICBjb25zdCBub3JtYWxpemVkID0gbm9kZU1lc3NhZ2UudG9Mb3dlckNhc2UoKVxuXG4gIGNvbnN0IGhpdGxUb29sID0gcmVzb2x2ZUhpdGxUb29sRnJvbU5vZGVNZXNzYWdlKG5vZGVNZXNzYWdlKVxuICBpZiAoaGl0bFRvb2wpIHtcbiAgICByZXR1cm4gbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eShoaXRsVG9vbCwgdCwgb3B0aW9ucylcbiAgfVxuXG4gIGlmIChcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdyZXNwb25zZV9maWxlX2dlbmVyYXRpb24nKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ2dlbmVyYW5kbyBhcmNoaXZvJykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdnZW5lcmF0aW5nIGZpbGUnKVxuICApIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZ0ZpbGUnKSB9XG4gIH1cbiAgaWYgKFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3RhdmlseScpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnc2VhcmNoX3dlYicpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnYnVzY2FuZG8gZW4gbGEgd2ViJykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdzZWFyY2hpbmcgdGhlIHdlYicpXG4gICkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnc2VhcmNoJywgbWVzc2FnZTogdChTRUFSQ0hfTUVTU0FHRV9LRVlTWzBdKSB9XG4gIH1cblxuICBjb25zdCB0cmltbWVkTWVzc2FnZSA9IG5vZGVNZXNzYWdlLnRyaW0oKVxuICBpZiAodHJpbW1lZE1lc3NhZ2UgJiYgIWlzR2VuZXJpY1Jlc3VtZU5vZGVNZXNzYWdlKHRyaW1tZWRNZXNzYWdlKSAmJiAhbG9va3NMaWtlUmF3VG9vbE5hbWUodHJpbW1lZE1lc3NhZ2UpKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0cmltbWVkTWVzc2FnZSB9XG4gIH1cblxuICBpZiAoaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE1lc3NhZ2UpIHx8IG9wdGlvbnM/LnVzZVJlc3VtaW5nRmFsbGJhY2spIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkucmVzdW1pbmdBY3Rpb24nKSB9XG4gIH1cbiAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmV4ZWN1dGluZ0FjdGlvbicpIH1cbn1cblxuZXhwb3J0IHR5cGUgSGl0bEV4ZWN1dGlvbkNvbnRleHQgPSB7XG4gIG1lc3NhZ2VJZD86IHN0cmluZ1xuICBtZXNzYWdlVGV4dD86IHN0cmluZ1xuICBhcHByb3ZhbD86IEFwcHJvdmFsUmVxdWVzdFxuICBwZW5kaW5nQWN0aW9ucz86IFBlbmRpbmdBY3Rpb25bXVxuICB0aHJlYWRJZHM/OiBzdHJpbmdbXVxufVxuXG5jb25zdCByZXNvbHZlUGVuZGluZ0FjdGlvbnNGb3JUaHJlYWQgPSAoXG4gIGNvbnRleHQ6IEhpdGxFeGVjdXRpb25Db250ZXh0IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgdGhyZWFkSWQ/OiBzdHJpbmdcbik6IFBlbmRpbmdBY3Rpb25bXSA9PiB7XG4gIGNvbnN0IHBlbmRpbmcgPSBjb250ZXh0Py5wZW5kaW5nQWN0aW9ucyA/PyBjb250ZXh0Py5hcHByb3ZhbD8ucGVuZGluZ19hY3Rpb25zID8/IFtdXG4gIGlmICghcGVuZGluZy5sZW5ndGgpIHJldHVybiBbXVxuXG4gIGlmICh0aHJlYWRJZCkge1xuICAgIGNvbnN0IGZvclRocmVhZCA9IHBlbmRpbmcuZmlsdGVyKGFjdGlvbiA9PiBhY3Rpb24udGhyZWFkX2lkID09PSB0aHJlYWRJZClcbiAgICBpZiAoZm9yVGhyZWFkLmxlbmd0aCkgcmV0dXJuIGZvclRocmVhZFxuICB9XG5cbiAgaWYgKGNvbnRleHQ/LnRocmVhZElkcz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHBlbmRpbmcuZmlsdGVyKGFjdGlvbiA9PiBjb250ZXh0LnRocmVhZElkcz8uaW5jbHVkZXMoYWN0aW9uLnRocmVhZF9pZCkpXG4gIH1cblxuICByZXR1cm4gcGVuZGluZ1xufVxuXG5jb25zdCBkZXRlY3RUb29sc0Zyb21QZW5kaW5nQWN0aW9ucyA9IChhY3Rpb25zOiBQZW5kaW5nQWN0aW9uW10pOiBzdHJpbmdbXSA9PiBbXG4gIC4uLm5ldyBTZXQoYWN0aW9ucy5tYXAoYWN0aW9uID0+IG5vcm1hbGl6ZUhpdGxUb29sTmFtZShhY3Rpb24udG9vbF9uYW1lKSkuZmlsdGVyKEJvb2xlYW4pKSxcbl1cblxuLyoqIFJlc3VlbHZlIGluZGljYWRvciBISVRMIHByaW9yaXphbmRvIHBlbmRpbmdfYWN0aW9ucyBkZWwgbWVuc2FqZSBkZSBhcHJvYmFjacOzbiBhbnRlcmlvci4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlSGl0bE5vZGVTdHJlYW1BY3Rpdml0eSA9IChcbiAgbm9kZU1lc3NhZ2U6IHN0cmluZyxcbiAgdDogVHJhbnNsYXRlRm4sXG4gIGNvbnRleHQ/OiBIaXRsRXhlY3V0aW9uQ29udGV4dCB8IG51bGwsXG4gIHRocmVhZElkPzogc3RyaW5nLFxuICBvcHRpb25zPzogeyB1c2VSZXN1bWluZ0ZhbGxiYWNrPzogYm9vbGVhbiB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IHBlbmRpbmdGb3JUaHJlYWQgPSByZXNvbHZlUGVuZGluZ0FjdGlvbnNGb3JUaHJlYWQoY29udGV4dCwgdGhyZWFkSWQpXG4gIGNvbnN0IGRldGVjdGVkVG9vbHMgPSBkZXRlY3RUb29sc0Zyb21QZW5kaW5nQWN0aW9ucyhwZW5kaW5nRm9yVGhyZWFkKVxuXG4gIGNvbnN0IHRyaW1tZWROb2RlTWVzc2FnZSA9IG5vZGVNZXNzYWdlLnRyaW0oKVxuICBjb25zdCBpc1JhdyA9IGxvb2tzTGlrZVJhd1Rvb2xOYW1lKHRyaW1tZWROb2RlTWVzc2FnZSlcbiAgY29uc3QgaXNHZW5lcmljID0gaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE5vZGVNZXNzYWdlKVxuICAvLyBFbCBiYWNrZW5kIGVudsOtYSBmcmFzZXMgY29tbyBcIkVqZWN1dGFuZG8gYXNzaWduX3Rhc2tfbGFiZWwuLi5cIiBxdWUgY29udGllbmVuIGVsIG5vbWJyZVxuICAvLyBjcnVkbyBkZSBsYSB0b29sIOKAlCBubyBzb24gbWVuc2FqZXMgbGVnaWJsZXMuIFNpIGVsIG1lbnNhamUgY29udGllbmUgYWxndW5vIGRlIGxvcyB0b29sc1xuICAvLyBkZXRlY3RhZG9zLCBwcmVmZXJpbW9zIGVsIG1hcGVvIGRlbCBkaWNjaW9uYXJpby5cbiAgY29uc3Qgbm9kZU1lc3NhZ2VDb250YWluc1Rvb2wgPVxuICAgIGRldGVjdGVkVG9vbHMubGVuZ3RoID49IDEgJiYgZGV0ZWN0ZWRUb29scy5zb21lKHRvb2wgPT4gdHJpbW1lZE5vZGVNZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModG9vbCkpXG4gIGNvbnN0IGFjdGl2aXR5RnJvbU5vZGVNZXNzYWdlID1cbiAgICB0cmltbWVkTm9kZU1lc3NhZ2UgJiYgIWlzR2VuZXJpYyAmJiAhaXNSYXcgJiYgIW5vZGVNZXNzYWdlQ29udGFpbnNUb29sXG4gICAgICA/IHsgcGhhc2U6ICdhY3Rpb24nIGFzIGNvbnN0LCBtZXNzYWdlOiB0cmltbWVkTm9kZU1lc3NhZ2UgfVxuICAgICAgOiBudWxsXG5cbiAgaWYgKGRldGVjdGVkVG9vbHMubGVuZ3RoID49IDEpIHtcbiAgICBpZiAoYWN0aXZpdHlGcm9tTm9kZU1lc3NhZ2UpIHtcbiAgICAgIHJldHVybiBhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZVxuICAgIH1cbiAgICByZXR1cm4gbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eShkZXRlY3RlZFRvb2xzWzBdLCB0LCBvcHRpb25zKVxuICB9XG5cbiAgcmV0dXJuIG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eShub2RlTWVzc2FnZSwgdCwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IEFDVElWSVRZX01FU1NBR0VfUk9UQVRFX01TID0gMzIwMFxuXG5jb25zdCBST1RBVEFCTEVfUEhBU0VTOiBTdHJlYW1BY3Rpdml0eVBoYXNlW10gPSBbJ2dlbmVyYXRpbmcnLCAndGhpbmtpbmcnLCAnc2VhcmNoJywgJ2RlZXBfc2VhcmNoJywgJ2F0dGFjaG1lbnQnXVxuXG5jb25zdCBnZXRNZXNzYWdlS2V5c0ZvclBoYXNlID0gKHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlLCBhdHRhY2htZW50c0NvdW50ID0gMCk6IHJlYWRvbmx5IHN0cmluZ1tdIHwgbnVsbCA9PiB7XG4gIHN3aXRjaCAocGhhc2UpIHtcbiAgICBjYXNlICdnZW5lcmF0aW5nJzpcbiAgICAgIHJldHVybiBHRU5FUkFUSU5HX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ3RoaW5raW5nJzpcbiAgICAgIHJldHVybiBUSElOS0lOR19NRVNTQUdFX0tFWVNcbiAgICBjYXNlICdzZWFyY2gnOlxuICAgICAgcmV0dXJuIFNFQVJDSF9NRVNTQUdFX0tFWVNcbiAgICBjYXNlICdkZWVwX3NlYXJjaCc6XG4gICAgICByZXR1cm4gREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTXG4gICAgY2FzZSAnYXR0YWNobWVudCc6XG4gICAgICByZXR1cm4gYXR0YWNobWVudHNDb3VudCA+IDEgPyBBVFRBQ0hNRU5UX01FU1NBR0VfS0VZU19QTFVSQUwgOiBBVFRBQ0hNRU5UX01FU1NBR0VfS0VZU1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4ID0gKFxuICBwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSxcbiAgaW5kZXg6IG51bWJlcixcbiAgdDogVHJhbnNsYXRlRm4sXG4gIGF0dGFjaG1lbnRzQ291bnQgPSAwXG4pOiBzdHJpbmcgPT4ge1xuICBpZiAocGhhc2UgPT09ICd3cml0aW5nJykge1xuICAgIHJldHVybiB0KFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkpXG4gIH1cblxuICBjb25zdCBrZXlzID0gZ2V0TWVzc2FnZUtleXNGb3JQaGFzZShwaGFzZSwgYXR0YWNobWVudHNDb3VudClcbiAgaWYgKCFrZXlzPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gJydcbiAgfVxuXG4gIGNvbnN0IGNsYW1wZWRJbmRleCA9IE1hdGgubWluKE1hdGgubWF4KDAsIGluZGV4KSwga2V5cy5sZW5ndGggLSAxKVxuICByZXR1cm4gdChrZXlzW2NsYW1wZWRJbmRleF0pXG59XG5cbmV4cG9ydCBjb25zdCBnZXRUaGlua2luZ0xvYWRpbmdNZXNzYWdlID0gKGluZGV4OiBudW1iZXIsIHQ6IFRyYW5zbGF0ZUZuKTogc3RyaW5nID0+XG4gIGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXgoJ3RoaW5raW5nJywgaW5kZXgsIHQpXG5cbmV4cG9ydCBjb25zdCBnZXRHZW5lcmF0aW5nTG9hZGluZ01lc3NhZ2UgPSAoaW5kZXg6IG51bWJlciwgdDogVHJhbnNsYXRlRm4pOiBzdHJpbmcgPT5cbiAgZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCgnZ2VuZXJhdGluZycsIGluZGV4LCB0KVxuXG5leHBvcnQgY29uc3QgY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSA9IChwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSwgY3VycmVudEluZGV4OiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgY29uc3Qga2V5cyA9IGdldE1lc3NhZ2VLZXlzRm9yUGhhc2UocGhhc2UpXG4gIGlmICgha2V5cykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIHJldHVybiBjdXJyZW50SW5kZXggPCBrZXlzLmxlbmd0aCAtIDFcbn1cblxuZXhwb3J0IGNvbnN0IGFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UgPSAoXG4gIGFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSxcbiAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gIHQ6IFRyYW5zbGF0ZUZuXG4pOiB7IGFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eTsgbmV4dEluZGV4OiBudW1iZXIgfSB8IG51bGwgPT4ge1xuICBpZiAoIWNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UoYWN0aXZpdHkucGhhc2UsIGN1cnJlbnRJbmRleCkpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgbmV4dEluZGV4ID0gY3VycmVudEluZGV4ICsgMVxuICByZXR1cm4ge1xuICAgIGFjdGl2aXR5OiB7XG4gICAgICBwaGFzZTogYWN0aXZpdHkucGhhc2UsXG4gICAgICBtZXNzYWdlOiBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KGFjdGl2aXR5LnBoYXNlLCBuZXh0SW5kZXgsIHQsIGFjdGl2aXR5LmF0dGFjaG1lbnRzQ291bnQpLFxuICAgICAgLi4uKGFjdGl2aXR5LmF0dGFjaG1lbnRzQ291bnQgIT0gbnVsbCAmJiB7IGF0dGFjaG1lbnRzQ291bnQ6IGFjdGl2aXR5LmF0dGFjaG1lbnRzQ291bnQgfSksXG4gICAgfSxcbiAgICBuZXh0SW5kZXgsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGNhblJvdGF0ZVN0cmVhbUFjdGl2aXR5UGhhc2UgPSAocGhhc2U6IFN0cmVhbUFjdGl2aXR5UGhhc2UpOiBib29sZWFuID0+IFJPVEFUQUJMRV9QSEFTRVMuaW5jbHVkZXMocGhhc2UpXG5cbmV4cG9ydCBjb25zdCBnZXRUaGlua2luZ1N0cmVhbUFjdGl2aXR5ID0gKHQ6IFRyYW5zbGF0ZUZuKTogU3RyZWFtQWN0aXZpdHkgPT4gKHtcbiAgcGhhc2U6ICd0aGlua2luZycsXG4gIG1lc3NhZ2U6IHQoVEhJTktJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkpLFxufSlcblxuZXhwb3J0IGNvbnN0IGdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSA9ICh0OiBUcmFuc2xhdGVGbik6IFN0cmVhbUFjdGl2aXR5ID0+ICh7XG4gIHBoYXNlOiAnd3JpdGluZycsXG4gIG1lc3NhZ2U6IHQoV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSksXG59KVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUluaXRpYWxIaXRsU3RyZWFtQWN0aXZpdHkgPSAoXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBjb250ZXh0PzogSGl0bEV4ZWN1dGlvbkNvbnRleHQgfCBudWxsXG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IHBlbmRpbmdBY3Rpb25zID0gcmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkKGNvbnRleHQpXG4gIGNvbnN0IGRldGVjdGVkVG9vbHMgPSBkZXRlY3RUb29sc0Zyb21QZW5kaW5nQWN0aW9ucyhwZW5kaW5nQWN0aW9ucylcblxuICBpZiAoZGV0ZWN0ZWRUb29scy5sZW5ndGggPj0gMSkge1xuICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGRldGVjdGVkVG9vbHNbMF0sIHQsIHsgdXNlUmVzdW1pbmdGYWxsYmFjazogdHJ1ZSB9KVxuICB9XG5cbiAgcmV0dXJuIHsgcGhhc2U6ICdwcm9jZXNzaW5nJywgbWVzc2FnZTogdCgnY2hhdC5wcm9jZXNzaW5nJykgfVxufVxuXG4vKiogVHJhcyBlbCBwcmltZXIgZXZlbnRvIGRlbCBzdHJlYW0gZWwgaW5kaWNhZG9yIGVuIHZpdm8gc29sbyBhbHRlcm5hIHBlbnNhbmRvIC8gZXNjcmliaWVuZG8uICovXG5leHBvcnQgY29uc3QgdG9JbmRpY2F0b3JTdHJlYW1BY3Rpdml0eSA9IChcbiAgYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgdDogVHJhbnNsYXRlRm5cbik6IFN0cmVhbUFjdGl2aXR5IHwgbnVsbCA9PiB7XG4gIGlmICghYWN0aXZpdHkpIHJldHVybiBudWxsXG4gIHJldHVybiBhY3Rpdml0eS5waGFzZSA9PT0gJ3dyaXRpbmcnID8gZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5KHQpIDogZ2V0VGhpbmtpbmdTdHJlYW1BY3Rpdml0eSh0KVxufVxuXG5leHBvcnQgY29uc3QgZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5ID0gKFxuICB0OiBUcmFuc2xhdGVGbixcbiAgb3B0aW9ucz86IHtcbiAgICBpc1dlYlNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gICAgaGFzQXR0YWNobWVudHM/OiBib29sZWFuXG4gICAgYXR0YWNobWVudHNDb3VudD86IG51bWJlclxuICB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGlmIChvcHRpb25zPy5pc1dlYlNlYXJjaEFjdGl2ZSkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnc2VhcmNoJywgbWVzc2FnZTogdChTRUFSQ0hfTUVTU0FHRV9LRVlTWzBdKSB9XG4gIH1cbiAgaWYgKG9wdGlvbnM/LmlzRGVlcFNlYXJjaEFjdGl2ZSkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnZGVlcF9zZWFyY2gnLCBtZXNzYWdlOiB0KERFRVBfU0VBUkNIX01FU1NBR0VfS0VZU1swXSkgfVxuICB9XG4gIGlmIChvcHRpb25zPy5oYXNBdHRhY2htZW50cykge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRzQ291bnQgPSBvcHRpb25zLmF0dGFjaG1lbnRzQ291bnQgPz8gMFxuICAgIHJldHVybiB7XG4gICAgICBwaGFzZTogJ2F0dGFjaG1lbnQnLFxuICAgICAgbWVzc2FnZTogZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCgnYXR0YWNobWVudCcsIDAsIHQsIGF0dGFjaG1lbnRzQ291bnQpLFxuICAgICAgYXR0YWNobWVudHNDb3VudCxcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgcGhhc2U6ICdnZW5lcmF0aW5nJywgbWVzc2FnZTogdChHRU5FUkFUSU5HX01FU1NBR0VfS0VZU1swXSkgfVxufVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5ID0gKHBhcmFtczoge1xuICBzdHJlYW1BY3Rpdml0eTogU3RyZWFtQWN0aXZpdHkgfCBudWxsXG4gIGxvYWRpbmdNZXNzYWdlOiBzdHJpbmcgfCBudWxsXG4gIGFjdGl2ZUxvYWRpbmdzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gIHdhaXRpbmdSZXNwb25zZTogYm9vbGVhblxuICBpc1dlYlNlYXJjaEFjdGl2ZTogYm9vbGVhblxuICBpc0RlZXBTZWFyY2hBY3RpdmU6IGJvb2xlYW5cbiAgaGFzQXR0YWNobWVudHM6IGJvb2xlYW5cbiAgYXR0YWNobWVudHNDb3VudD86IG51bWJlclxuICB0OiBUcmFuc2xhdGVGblxufSk6IFN0cmVhbUFjdGl2aXR5IHwgbnVsbCA9PiB7XG4gIGlmIChwYXJhbXMuc3RyZWFtQWN0aXZpdHkpIHtcbiAgICByZXR1cm4gcGFyYW1zLnN0cmVhbUFjdGl2aXR5XG4gIH1cblxuICBjb25zdCBhY3RpdmVLZXlzID0gT2JqZWN0LmtleXMocGFyYW1zLmFjdGl2ZUxvYWRpbmdzKVxuICBpZiAoYWN0aXZlS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgZmlyc3RLZXkgPSBhY3RpdmVLZXlzWzBdXG4gICAgY29uc3QgcmF3ID0gcGFyYW1zLmFjdGl2ZUxvYWRpbmdzW2ZpcnN0S2V5XVxuICAgIGlmIChyYXcgJiYgcmF3ICE9PSBwYXJhbXMudCgnY2hhdC5wcm9jZXNzaW5nJykpIHtcbiAgICAgIGNvbnN0IGhpdGxUb29sID0gcmVzb2x2ZUhpdGxUb29sRnJvbU5vZGVNZXNzYWdlKHJhdylcbiAgICAgIGlmIChoaXRsVG9vbCkge1xuICAgICAgICByZXR1cm4gbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eShoaXRsVG9vbCwgcGFyYW1zLnQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRyaW1tZWQgPSByYXcudHJpbSgpXG4gICAgICBpZiAodHJpbW1lZCAmJiAhaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZCkpIHtcbiAgICAgICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0cmltbWVkIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eShyYXcsIHBhcmFtcy50LCB7IHVzZVJlc3VtaW5nRmFsbGJhY2s6IHRydWUgfSlcbiAgICB9XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdwcm9jZXNzaW5nJywgbWVzc2FnZTogcGFyYW1zLnQoJ2NoYXQucHJvY2Vzc2luZycpIH1cbiAgfVxuXG4gIGlmIChwYXJhbXMubG9hZGluZ01lc3NhZ2UpIHtcbiAgICBpZiAoXG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LndyaXRpbmcnKSB8fFxuICAgICAgcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudChXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZKSB8fFxuICAgICAgcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5hY3Rpdml0eS53cml0aW5nLmNvbXBvc2luZycpXG4gICAgKSB7XG4gICAgICByZXR1cm4gZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5KHBhcmFtcy50KVxuICAgIH1cbiAgICBpZiAocGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nJykpIHtcbiAgICAgIHJldHVybiB7IHBoYXNlOiAnZ2VuZXJhdGluZycsIG1lc3NhZ2U6IHBhcmFtcy5sb2FkaW5nTWVzc2FnZSB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ1dlYlNlYXJjaCcpIHx8XG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdEZWVwU2VhcmNoJykgfHxcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ0F0dGFjaG1lbnQnKVxuICAgICkge1xuICAgICAgcmV0dXJuIGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eShwYXJhbXMudCwge1xuICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nV2ViU2VhcmNoJyksXG4gICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nRGVlcFNlYXJjaCcpLFxuICAgICAgICBoYXNBdHRhY2htZW50czogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nQXR0YWNobWVudCcpLFxuICAgICAgICBhdHRhY2htZW50c0NvdW50OiBwYXJhbXMuYXR0YWNobWVudHNDb3VudCxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlIH1cbiAgfVxuXG4gIGlmIChwYXJhbXMud2FpdGluZ1Jlc3BvbnNlKSB7XG4gICAgcmV0dXJuIGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eShwYXJhbXMudCwge1xuICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBhcmFtcy5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGFyYW1zLmlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgIGhhc0F0dGFjaG1lbnRzOiBwYXJhbXMuaGFzQXR0YWNobWVudHMsXG4gICAgICBhdHRhY2htZW50c0NvdW50OiBwYXJhbXMuYXR0YWNobWVudHNDb3VudCxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IGlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQgPSAobWVzc2FnZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuID0+XG4gIHR5cGVvZiBtZXNzYWdlSWQgPT09ICdzdHJpbmcnICYmIG1lc3NhZ2VJZC5pbmNsdWRlcygnLXN0cmVhbWluZycpXG5cbmV4cG9ydCBjb25zdCBzdHJlYW1pbmdQbGFjZWhvbGRlck1lc3NhZ2VJZCA9IChtZXNzYWdlSWQ6IHN0cmluZyk6IHN0cmluZyA9PiBgYW5zd2VyLSR7bWVzc2FnZUlkfS1zdHJlYW1pbmdgXG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxTQUFTQSxxQkFBcUIsUUFBUSxpQkFBaUI7QUFJdkQsSUFBTUMscUJBQXFCLEdBQUcsQ0FDNUIsa0NBQWtDLEVBQ2xDLGtDQUFrQyxFQUNsQyxpQ0FBaUMsQ0FDekI7QUFFVixJQUFNQyx1QkFBdUIsR0FBRyxDQUM5QixzQ0FBc0MsRUFDdEMsc0NBQXNDLEVBQ3RDLG9DQUFvQyxDQUM1QjtBQUVWLElBQU1DLG1CQUFtQixHQUFHLENBQUMsK0JBQStCLEVBQUUsa0NBQWtDLENBQVU7QUFFMUcsSUFBTUMsd0JBQXdCLEdBQUcsQ0FDL0Isb0NBQW9DLEVBQ3BDLHdDQUF3QyxDQUNoQztBQUVWLElBQU1DLHVCQUF1QixHQUFH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
439
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJUSElOS0lOR19NRVNTQUdFX0tFWVMiLCJHRU5FUkFUSU5HX01FU1NBR0VfS0VZUyIsIlNFQVJDSF9NRVNTQUdFX0tFWVMiLCJERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVMiLCJBVFRBQ0hNRU5UX01FU1NBR0VfS0VZUyIsIkFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCIsIlRISU5LSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZIiwiV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSIsIlRPT0xfQUNUSU9OX0lEUyIsImNyZWF0ZV90YXNrIiwiY2xvbmVfdGFzayIsImNyZWF0ZV90YXNrc19iYXRjaCIsImNyZWF0ZV9hZ2VudCIsImVkaXRfYWdlbnQiLCJlZGl0X3Rhc2siLCJlZGl0X3Rhc2tzX2JhdGNoIiwiZGVsZXRlX3Rhc2siLCJkZWxldGVfdGFza3NfYmF0Y2giLCJ0YXNrX2Fzc2lnbiIsInRhc2tfdW5hc3NpZ24iLCJhc3NpZ25fdGFza19sYWJlbCIsImNyZWF0ZV9sYWJlbHMiLCJlZGl0X3Byb2plY3QiLCJjcmVhdGVfY2hlY2tsaXN0X2l0ZW0iLCJ1cGRhdGVfdGFza190eXBlIiwidXBkYXRlX2VzdGltYXRlZF9ob3VycyIsInVwZGF0ZV9kZWxpdmVyYWJsZSIsImNyZWF0ZV9ob3VyIiwiY3JlYXRlX2hvdXJzIiwiY3JlYXRlX2NoZWNrbGlzdCIsImdldF90YXNrX2RhdGVfaG91cnMiLCJjb25maWd1cmVfYWdlbnRfYWNjZXNzIiwic2VuZF90YXNrX21lc3NhZ2UiLCJkZWxldGVfY2hlY2tsaXN0X2l0ZW0iLCJyZW1vdmVfdGFza190eXBlIiwicmVtb3ZlX3Rhc2tfbGFiZWwiLCJjb3VudF9kZWxpdmVyYWJsZSIsImNyZWF0ZV9yZXdvcmsiLCJ1cGRhdGVfcmV3b3JrIiwiZ2V0X3Byb2plY3Rfd2l0aF90YXNrc19pbmZvIiwiZ2V0X3Rhc2siLCJnZXRfdGFza19oaXN0b3J5IiwiZ2V0X3Rhc2tfbGFiZWxzIiwiZ2V0X3Rhc2tfdHlwZXMiLCJnZXRfdGFza190eXBlX2NhdGVnb3JpZXMiLCJnZXRfcHJvamVjdF9mZWVfY29uc3VtcHRpb24iLCJnZXRfcHJvamVjdF90YWJfZXZvbHV0aW9uIiwiZ2V0X3Byb2plY3RfdGFiX2V2b2x1dGlvbl9jb3N0cyIsImdldF9wcm9qZWN0X3BlcmZvcm1hbmNlX3RhYl90aW1lX2J5X2dyb3VwZWQiLCJnZXRfZGVsaXZlcmFibGVfYnlfcHJvamVjdF9pZCIsImdldF9yZXdvcmtfYnlfcHJvamVjdF9pZCIsImdldF9jb250cmFjdCIsImxpc3RfcHJvamVjdHMiLCJnZXRfY2xpZW50IiwiZ2V0X2NsaWVudF9zdGF0dXNlcyIsImdldF9jbGllbnRzX3dpdGhfZmlsdGVycyIsImxpc3RfY2xpZW50cyIsImdldF9ob3VycyIsImdldF9ob3Vyc19jYXBhY2l0eSIsImdldF9wcm9qZWN0X2hvdXJzX2J5X3VzZXJfYW5kX3Rhc2siLCJnZXRfcHJvamVjdF9ob3Vyc19ieV91c2VyX21vbnRobHkiLCJnZXRfd29ya2luZ190aW1lIiwiZ2V0X2NoYXJnaW5nX3BlcmlvZCIsInN1bW1hcml6ZV9ob3VycyIsInJlY29tbWVuZF9ob3Vyc19mcm9tX3BsYW5uZXIiLCJnZXRfcGxhbm5lciIsImxpc3RfdXNlcnMiLCJnZXRfZGFzaGJvYXJkX2J5X2NvbXBhbnkiLCJnZXRfZGFzaGJvYXJkX2RhdGEiLCJnZXRfcmVjZW50X2FjdGl2aXR5IiwibGlzdF9jb250cmFjdHMiLCJsaXN0X2ZlZXMiLCJsaXN0X2ludm9pY2VzIiwiY2hlY2tsaXN0IiwicmV3b3JrcyIsInRhdmlseV9zZWFyY2giLCJnZXRfdXNlcl9pZCIsImdldF9jbGllbnRfaWRfYmFzZWRfb25fbmFtZSIsImdldF9wcm9qZWN0X2lkX2Jhc2VkX29uX25hbWUiLCJnZXRfdGFza19pZF9iYXNlZF9vbl90aXRsZSIsImdldF91c2VyX3Bvc2l0aW9uX2lkX2Jhc2VkX29uX25hbWUiLCJnZXRfbGFiZWxfY29sb3JzIiwiZ2V0X21vZGVscyIsImNyZWF0ZV9wcm9qZWN0IiwiY3JlYXRlX2NsaWVudCIsImVkaXRfY2xpZW50IiwiY3JlYXRlX3VzZXIiLCJlZGl0X3VzZXIiLCJjcmVhdGVfdGFza190eXBlIiwiZWRpdF9ob3VyIiwiZGVsZXRlX2hvdXIiLCJkZWxldGVfaG91cnMiLCJjcmVhdGVfYWxsb2NhdGlvbiIsImVkaXRfYWxsb2NhdGlvbiIsImRlbGV0ZV9hbGxvY2F0aW9uIiwiaGFuZG9mZl90b19vcmNoZXN0cmF0b3IiLCJhY3Rpb25NZXNzYWdlS2V5IiwiYWN0aW9uSWQiLCJ0ZW5zZSIsImNvbmNhdCIsInJlc29sdmVUb29sQWN0aW9uTGFiZWwiLCJ0b29sTmFtZSIsInQiLCJISVRMX1RPT0xfTkFNRVNfQllfU1BFQ0lGSUNJVFkiLCJPYmplY3QiLCJrZXlzIiwic29ydCIsImEiLCJiIiwibGVuZ3RoIiwibG9va3NMaWtlUmF3VG9vbE5hbWUiLCJtZXNzYWdlIiwidGVzdCIsInRyaW0iLCJpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSIsIm5vcm1hbGl6ZWQiLCJ0b0xvd2VyQ2FzZSIsInN0YXJ0c1dpdGgiLCJtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5Iiwib3B0aW9ucyIsInBoYXNlIiwidXNlUmVzdW1pbmdGYWxsYmFjayIsInJlc29sdmVUb29sU3RlcFBhc3RMYWJlbCIsIl9yZXNvbHZlVG9vbEFjdGlvbkxhYiIsInJlc29sdmVIaXRsVG9vbEZyb21Ob2RlTWVzc2FnZSIsIm5vZGVNZXNzYWdlIiwiYXNUb29sTmFtZSIsInJlcGxhY2UiLCJtYXRjaGVkVG9vbCIsImZpbmQiLCJpbmNsdWRlcyIsIm1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eSIsImhpdGxUb29sIiwidHJpbW1lZE1lc3NhZ2UiLCJyZXNvbHZlUGVuZGluZ0FjdGlvbnNGb3JUaHJlYWQiLCJjb250ZXh0IiwidGhyZWFkSWQiLCJfcmVmIiwiX2NvbnRleHQkcGVuZGluZ0FjdGlvIiwiX2NvbnRleHQkYXBwcm92YWwiLCJfY29udGV4dCR0aHJlYWRJZHMiLCJwZW5kaW5nIiwicGVuZGluZ0FjdGlvbnMiLCJhcHByb3ZhbCIsInBlbmRpbmdfYWN0aW9ucyIsImZvclRocmVhZCIsImZpbHRlciIsImFjdGlvbiIsInRocmVhZF9pZCIsInRocmVhZElkcyIsIl9jb250ZXh0JHRocmVhZElkczIiLCJkZXRlY3RUb29sc0Zyb21QZW5kaW5nQWN0aW9ucyIsImFjdGlvbnMiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJTZXQiLCJtYXAiLCJ0b29sX25hbWUiLCJCb29sZWFuIiwicmVzb2x2ZUhpdGxOb2RlU3RyZWFtQWN0aXZpdHkiLCJwZW5kaW5nRm9yVGhyZWFkIiwiZGV0ZWN0ZWRUb29scyIsInRyaW1tZWROb2RlTWVzc2FnZSIsImlzUmF3IiwiaXNHZW5lcmljIiwibm9kZU1lc3NhZ2VDb250YWluc1Rvb2wiLCJzb21lIiwidG9vbCIsImFjdGl2aXR5RnJvbU5vZGVNZXNzYWdlIiwiQUNUSVZJVFlfTUVTU0FHRV9ST1RBVEVfTVMiLCJST1RBVEFCTEVfUEhBU0VTIiwiZ2V0TWVzc2FnZUtleXNGb3JQaGFzZSIsImF0dGFjaG1lbnRzQ291bnQiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4IiwiaW5kZXgiLCJjbGFtcGVkSW5kZXgiLCJNYXRoIiwibWluIiwibWF4IiwiZ2V0VGhpbmtpbmdMb2FkaW5nTWVzc2FnZSIsImdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSIsImNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UiLCJjdXJyZW50SW5kZXgiLCJhZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlIiwiYWN0aXZpdHkiLCJuZXh0SW5kZXgiLCJfb2JqZWN0U3ByZWFkIiwiY2FuUm90YXRlU3RyZWFtQWN0aXZpdHlQaGFzZSIsImdldFRoaW5raW5nU3RyZWFtQWN0aXZpdHkiLCJnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkiLCJyZXNvbHZlSW5pdGlhbEhpdGxTdHJlYW1BY3Rpdml0eSIsInRvSW5kaWNhdG9yU3RyZWFtQWN0aXZpdHkiLCJnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImhhc0F0dGFjaG1lbnRzIiwiX29wdGlvbnMkYXR0YWNobWVudHNDIiwicmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5IiwicGFyYW1zIiwic3RyZWFtQWN0aXZpdHkiLCJhY3RpdmVLZXlzIiwiYWN0aXZlTG9hZGluZ3MiLCJmaXJzdEtleSIsInJhdyIsInRyaW1tZWQiLCJsb2FkaW5nTWVzc2FnZSIsIndhaXRpbmdSZXNwb25zZSIsImlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQiLCJtZXNzYWdlSWQiLCJzdHJlYW1pbmdQbGFjZWhvbGRlck1lc3NhZ2VJZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zdHJlYW1BY3Rpdml0eU1lc3NhZ2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHksIFN0cmVhbUFjdGl2aXR5UGhhc2UgfSBmcm9tICcuLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB0eXBlIHsgQXBwcm92YWxSZXF1ZXN0LCBQZW5kaW5nQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IG5vcm1hbGl6ZUhpdGxUb29sTmFtZSB9IGZyb20gJy4vaGl0bEFuYWx5dGljcydcblxudHlwZSBUcmFuc2xhdGVGbiA9IChrZXk6IHN0cmluZykgPT4gc3RyaW5nXG5cbmNvbnN0IFRISU5LSU5HX01FU1NBR0VfS0VZUyA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcuYW5hbHl6aW5nJyxcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcucmV2aWV3aW5nJyxcbiAgJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcucGxhbm5pbmcnLFxuXSBhcyBjb25zdFxuXG5jb25zdCBHRU5FUkFUSU5HX01FU1NBR0VfS0VZUyA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZy5jb25zaWRlcmluZycsXG4gICdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcuYWxtb3N0UmVhZHknLFxuICAnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nLnByZXBhcmluZycsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IFNFQVJDSF9NRVNTQUdFX0tFWVMgPSBbJ2NoYXQuYWN0aXZpdHkuc2VhcmNoLnNjYW5uaW5nJywgJ2NoYXQuYWN0aXZpdHkuc2VhcmNoLnN1bW1hcml6aW5nJ10gYXMgY29uc3RcblxuY29uc3QgREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTID0gW1xuICAnY2hhdC5hY3Rpdml0eS5kZWVwU2VhcmNoLmV4cGxvcmluZycsXG4gICdjaGF0LmFjdGl2aXR5LmRlZXBTZWFyY2guY3Jvc3NDaGVja2luZycsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTID0gWydjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQucmVhZGluZycsICdjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQuZXh0cmFjdGluZyddIGFzIGNvbnN0XG5cbmNvbnN0IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkuYXR0YWNobWVudC5yZWFkaW5nUGx1cmFsJyxcbiAgJ2NoYXQuYWN0aXZpdHkuYXR0YWNobWVudC5leHRyYWN0aW5nUGx1cmFsJyxcbl0gYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IFRISU5LSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZID0gJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcubGFiZWwnIGFzIGNvbnN0XG5leHBvcnQgY29uc3QgV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSA9ICdjaGF0LmFjdGl2aXR5LndyaXRpbmcubGFiZWwnIGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIEFjdGlvblRlbnNlID0gJ3ByZXNlbnQnIHwgJ3Bhc3QnXG5cbmNvbnN0IFRPT0xfQUNUSU9OX0lEUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY3JlYXRlX3Rhc2s6ICdjcmVhdGVUYXNrJyxcbiAgY2xvbmVfdGFzazogJ2NyZWF0ZVRhc2snLFxuICBjcmVhdGVfdGFza3NfYmF0Y2g6ICdjcmVhdGVUYXNrc0JhdGNoJyxcbiAgY3JlYXRlX2FnZW50OiAnY3JlYXRlQWdlbnQnLFxuICBlZGl0X2FnZW50OiAnZWRpdEFnZW50JyxcbiAgZWRpdF90YXNrOiAnZWRpdFRhc2snLFxuICBlZGl0X3Rhc2tzX2JhdGNoOiAnZWRpdFRhc2tzQmF0Y2gnLFxuICBkZWxldGVfdGFzazogJ2RlbGV0ZVRhc2snLFxuICBkZWxldGVfdGFza3NfYmF0Y2g6ICdkZWxldGVUYXNrc0JhdGNoJyxcbiAgdGFza19hc3NpZ246ICdhc3NpZ25Vc2VyJyxcbiAgdGFza191bmFzc2lnbjogJ3VuYXNzaWduVXNlcicsXG4gIGFzc2lnbl90YXNrX2xhYmVsOiAnYXNzaWduTGFiZWwnLFxuICBjcmVhdGVfbGFiZWxzOiAnY3JlYXRlTGFiZWwnLFxuICBlZGl0X3Byb2plY3Q6ICdlZGl0UHJvamVjdCcsXG4gIGNyZWF0ZV9jaGVja2xpc3RfaXRlbTogJ2NyZWF0ZUNoZWNrbGlzdEl0ZW0nLFxuICB1cGRhdGVfdGFza190eXBlOiAndXBkYXRlVGFza1R5cGUnLFxuICB1cGRhdGVfZXN0aW1hdGVkX2hvdXJzOiAndXBkYXRlRXN0aW1hdGVkSG91cnMnLFxuICB1cGRhdGVfZGVsaXZlcmFibGU6ICd1cGRhdGVEZWxpdmVyYWJsZScsXG4gIGNyZWF0ZV9ob3VyOiAnbG9nSG91cnMnLFxuICBjcmVhdGVfaG91cnM6ICdsb2dIb3VycycsXG4gIGNyZWF0ZV9jaGVja2xpc3Q6ICdjcmVhdGVDaGVja2xpc3QnLFxuICBnZXRfdGFza19kYXRlX2hvdXJzOiAncXVlcnlIb3VycycsXG4gIGNvbmZpZ3VyZV9hZ2VudF9hY2Nlc3M6ICdjb25maWd1cmVBZ2VudEFjY2VzcycsXG4gIHNlbmRfdGFza19tZXNzYWdlOiAnc2VuZFRhc2tNZXNzYWdlJyxcbiAgZGVsZXRlX2NoZWNrbGlzdF9pdGVtOiAnZGVsZXRlQ2hlY2tsaXN0SXRlbScsXG4gIHJlbW92ZV90YXNrX3R5cGU6ICdyZW1vdmVUYXNrVHlwZScsXG4gIHJlbW92ZV90YXNrX2xhYmVsOiAncmVtb3ZlTGFiZWwnLFxuICBjb3VudF9kZWxpdmVyYWJsZTogJ3VwZGF0ZURlbGl2ZXJhYmxlQ291bnQnLFxuICBjcmVhdGVfcmV3b3JrOiAnY3JlYXRlUmV3b3JrJyxcbiAgdXBkYXRlX3Jld29yazogJ3VwZGF0ZVJld29yaycsXG4gIGdldF9wcm9qZWN0X3dpdGhfdGFza3NfaW5mbzogJ3JlYWRQcm9qZWN0VGFza3MnLFxuICBnZXRfdGFzazogJ3JlYWRUYXNrJyxcbiAgZ2V0X3Rhc2tfaGlzdG9yeTogJ3JlYWRUYXNrJyxcbiAgZ2V0X3Rhc2tfbGFiZWxzOiAncmVhZFRhc2snLFxuICBnZXRfdGFza190eXBlczogJ3JlYWRUYXNrVHlwZXMnLFxuICBnZXRfdGFza190eXBlX2NhdGVnb3JpZXM6ICdyZWFkVGFza1R5cGVzJyxcbiAgZ2V0X3Byb2plY3RfZmVlX2NvbnN1bXB0aW9uOiAncmVhZFByb2plY3QnLFxuICBnZXRfcHJvamVjdF90YWJfZXZvbHV0aW9uOiAncmVhZFByb2plY3QnLFxuICBnZXRfcHJvamVjdF90YWJfZXZvbHV0aW9uX2Nvc3RzOiAncmVhZFByb2plY3QnLFxuICBnZXRfcHJvamVjdF9wZXJmb3JtYW5jZV90YWJfdGltZV9ieV9ncm91cGVkOiAncmVhZFByb2plY3QnLFxuICBnZXRfZGVsaXZlcmFibGVfYnlfcHJvamVjdF9pZDogJ3JlYWRQcm9qZWN0JyxcbiAgZ2V0X3Jld29ya19ieV9wcm9qZWN0X2lkOiAncmVhZFByb2plY3QnLFxuICBnZXRfY29udHJhY3Q6ICdyZWFkUHJvamVjdCcsXG4gIGxpc3RfcHJvamVjdHM6ICdsaXN0UHJvamVjdHMnLFxuICBnZXRfY2xpZW50OiAncmVhZENsaWVudCcsXG4gIGdldF9jbGllbnRfc3RhdHVzZXM6ICdyZWFkQ2xpZW50JyxcbiAgZ2V0X2NsaWVudHNfd2l0aF9maWx0ZXJzOiAncmVhZENsaWVudCcsXG4gIGxpc3RfY2xpZW50czogJ3JlYWRDbGllbnQnLFxuICBnZXRfaG91cnM6ICdyZWFkSG91cnMnLFxuICBnZXRfaG91cnNfY2FwYWNpdHk6ICdyZWFkSG91cnMnLFxuICBnZXRfcHJvamVjdF9ob3Vyc19ieV91c2VyX2FuZF90YXNrOiAncmVhZEhvdXJzJyxcbiAgZ2V0X3Byb2plY3RfaG91cnNfYnlfdXNlcl9tb250aGx5OiAncmVhZEhvdXJzJyxcbiAgZ2V0X3dvcmtpbmdfdGltZTogJ3JlYWRIb3VycycsXG4gIGdldF9jaGFyZ2luZ19wZXJpb2Q6ICdyZWFkSG91cnMnLFxuICBzdW1tYXJpemVfaG91cnM6ICdyZWFkSG91cnMnLFxuICByZWNvbW1lbmRfaG91cnNfZnJvbV9wbGFubmVyOiAncmVhZEhvdXJzJyxcbiAgZ2V0X3BsYW5uZXI6ICdyZWFkUGxhbm5lcicsXG4gIGxpc3RfdXNlcnM6ICdyZWFkVXNlcnMnLFxuICBnZXRfZGFzaGJvYXJkX2J5X2NvbXBhbnk6ICdyZWFkTWV0cmljcycsXG4gIGdldF9kYXNoYm9hcmRfZGF0YTogJ3JlYWRNZXRyaWNzJyxcbiAgZ2V0X3JlY2VudF9hY3Rpdml0eTogJ3JlYWRNZXRyaWNzJyxcbiAgbGlzdF9jb250cmFjdHM6ICdyZWFkQmlsbGluZycsXG4gIGxpc3RfZmVlczogJ3JlYWRCaWxsaW5nJyxcbiAgbGlzdF9pbnZvaWNlczogJ3JlYWRCaWxsaW5nJyxcbiAgY2hlY2tsaXN0OiAncmVhZENoZWNrbGlzdCcsXG4gIHJld29ya3M6ICdyZWFkUmV3b3JrcycsXG4gIHRhdmlseV9zZWFyY2g6ICdzZWFyY2hXZWInLFxuICBnZXRfdXNlcl9pZDogJ3JlYWRSZWZlcmVuY2VzJyxcbiAgZ2V0X2NsaWVudF9pZF9iYXNlZF9vbl9uYW1lOiAncmVhZFJlZmVyZW5jZXMnLFxuICBnZXRfcHJvamVjdF9pZF9iYXNlZF9vbl9uYW1lOiAncmVhZFJlZmVyZW5jZXMnLFxuICBnZXRfdGFza19pZF9iYXNlZF9vbl90aXRsZTogJ3JlYWRSZWZlcmVuY2VzJyxcbiAgZ2V0X3VzZXJfcG9zaXRpb25faWRfYmFzZWRfb25fbmFtZTogJ3JlYWRSZWZlcmVuY2VzJyxcbiAgZ2V0X2xhYmVsX2NvbG9yczogJ3JlYWRSZWZlcmVuY2VzJyxcbiAgZ2V0X21vZGVsczogJ3JlYWRSZWZlcmVuY2VzJyxcbiAgY3JlYXRlX3Byb2plY3Q6ICdjcmVhdGVQcm9qZWN0JyxcbiAgY3JlYXRlX2NsaWVudDogJ2NyZWF0ZUNsaWVudCcsXG4gIGVkaXRfY2xpZW50OiAnZWRpdENsaWVudCcsXG4gIGNyZWF0ZV91c2VyOiAnY3JlYXRlVXNlcicsXG4gIGVkaXRfdXNlcjogJ2VkaXRVc2VyJyxcbiAgY3JlYXRlX3Rhc2tfdHlwZTogJ2NyZWF0ZVRhc2tUeXBlJyxcbiAgZWRpdF9ob3VyOiAnZWRpdEhvdXJzJyxcbiAgZGVsZXRlX2hvdXI6ICdkZWxldGVIb3VycycsXG4gIGRlbGV0ZV9ob3VyczogJ2RlbGV0ZUhvdXJzJyxcbiAgY3JlYXRlX2FsbG9jYXRpb246ICdjcmVhdGVBbGxvY2F0aW9uJyxcbiAgZWRpdF9hbGxvY2F0aW9uOiAnZWRpdEFsbG9jYXRpb24nLFxuICBkZWxldGVfYWxsb2NhdGlvbjogJ2RlbGV0ZUFsbG9jYXRpb24nLFxuXG4gIGhhbmRvZmZfdG9fb3JjaGVzdHJhdG9yOiAnYXNrQW5vdGhlclNwZWNpYWxpc3QnLFxufVxuXG5jb25zdCBhY3Rpb25NZXNzYWdlS2V5ID0gKGFjdGlvbklkOiBzdHJpbmcsIHRlbnNlOiBBY3Rpb25UZW5zZSk6IHN0cmluZyA9PiBgY2hhdC5hY3Rpdml0eS5hY3Rpb25zLiR7YWN0aW9uSWR9LiR7dGVuc2V9YFxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZVRvb2xBY3Rpb25MYWJlbCA9ICh0b29sTmFtZTogc3RyaW5nLCB0OiBUcmFuc2xhdGVGbiwgdGVuc2U6IEFjdGlvblRlbnNlKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGFjdGlvbklkID0gVE9PTF9BQ1RJT05fSURTW25vcm1hbGl6ZUhpdGxUb29sTmFtZSh0b29sTmFtZSldXG4gIHJldHVybiBhY3Rpb25JZCA/IHQoYWN0aW9uTWVzc2FnZUtleShhY3Rpb25JZCwgdGVuc2UpKSA6IG51bGxcbn1cblxuY29uc3QgSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZID0gT2JqZWN0LmtleXMoVE9PTF9BQ1RJT05fSURTKS5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKVxuXG4vKipcbiAqIERldGVjdGEgaWRlbnRpZmljYWRvcmVzIGNydWRvcyBkZSB0b29sIChzbmFrZV9jYXNlIC8ga2ViYWItY2FzZSBzaW4gZXNwYWNpb3MpIHF1ZSBlbCBiYWNrZW5kXG4gKiBwdWVkZSBlbnZpYXIgY3VhbmRvIGHDum4gbm8gaGF5IHRyYWR1Y2Npw7NuLiBObyBkZWJlbiBtb3N0cmFyc2UgYWwgdXN1YXJpbzogc2UgdXNhIHVuIGZhbGxiYWNrXG4gKiBnZW7DqXJpY28gaGFzdGEgcXVlIGVsIG5vbWJyZSBzZSBhZ3JlZ3VlIGFsIGRpY2Npb25hcmlvLlxuICovXG5jb25zdCBsb29rc0xpa2VSYXdUb29sTmFtZSA9IChtZXNzYWdlOiBzdHJpbmcpOiBib29sZWFuID0+IC9eW2EtejAtOV0rKD86W18tXVthLXowLTldKykrJC9pLnRlc3QobWVzc2FnZS50cmltKCkpXG5cbi8qKiBNZW5zYWplcyBnZW7DqXJpY29zIGRlbCBiYWNrZW5kIGN1YW5kbyBubyBoYXkgZGV0YWxsZSBkZSB0b29sIChjb250aW51ZS10aHJlYWQpLiAqL1xuY29uc3QgaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UgPSAobWVzc2FnZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBtZXNzYWdlLnRyaW0oKS50b0xvd2VyQ2FzZSgpXG4gIHJldHVybiAoXG4gICAgbm9ybWFsaXplZC5zdGFydHNXaXRoKCdlamVjdXRhbmRvIGFjY2nDs24gYXByb2JhZGEnKSB8fFxuICAgIG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnZXhlY3V0aW5nIGFwcHJvdmVkIGFjdGlvbicpIHx8XG4gICAgbm9ybWFsaXplZC5zdGFydHNXaXRoKCdleGVjdXRhbmRvIGHDp8OjbyBhcHJvdmFkYScpXG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkgPSAoXG4gIHRvb2xOYW1lOiBzdHJpbmcsXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBvcHRpb25zPzogeyB1c2VSZXN1bWluZ0ZhbGxiYWNrPzogYm9vbGVhbiB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IG1lc3NhZ2UgPSByZXNvbHZlVG9vbEFjdGlvbkxhYmVsKHRvb2xOYW1lLCB0LCAncHJlc2VudCcpXG4gIGlmIChtZXNzYWdlKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlIH1cbiAgfVxuICBpZiAob3B0aW9ucz8udXNlUmVzdW1pbmdGYWxsYmFjaykge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5hY3Rpdml0eS5yZXN1bWluZ0FjdGlvbicpIH1cbiAgfVxuICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuZXhlY3V0aW5nQWN0aW9uJykgfVxufVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZVRvb2xTdGVwUGFzdExhYmVsID0gKHRvb2xOYW1lOiBzdHJpbmcsIHQ6IFRyYW5zbGF0ZUZuKTogc3RyaW5nID0+XG4gIHJlc29sdmVUb29sQWN0aW9uTGFiZWwodG9vbE5hbWUsIHQsICdwYXN0JykgPz8gdCgnY2hhdC5hY3Rpdml0eS5leGVjdXRlZEFjdGlvbicpXG5cbmNvbnN0IHJlc29sdmVIaXRsVG9vbEZyb21Ob2RlTWVzc2FnZSA9IChub2RlTWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub2RlTWVzc2FnZS50b0xvd2VyQ2FzZSgpLnRyaW0oKVxuICBpZiAoIW5vcm1hbGl6ZWQpIHJldHVybiBudWxsXG5cbiAgaWYgKFRPT0xfQUNUSU9OX0lEU1tub3JtYWxpemVkXSkge1xuICAgIHJldHVybiBub3JtYWxpemVkXG4gIH1cblxuICBjb25zdCBhc1Rvb2xOYW1lID0gbm9ybWFsaXplSGl0bFRvb2xOYW1lKG5vcm1hbGl6ZWQucmVwbGFjZSgvXFxzKy9nLCAnXycpKVxuICBpZiAoVE9PTF9BQ1RJT05fSURTW2FzVG9vbE5hbWVdKSB7XG4gICAgcmV0dXJuIGFzVG9vbE5hbWVcbiAgfVxuXG4gIGNvbnN0IG1hdGNoZWRUb29sID0gSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZLmZpbmQodG9vbE5hbWUgPT4gbm9ybWFsaXplZC5pbmNsdWRlcyh0b29sTmFtZSkpXG4gIHJldHVybiBtYXRjaGVkVG9vbCA/PyBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkgPSAoXG4gIG5vZGVNZXNzYWdlOiBzdHJpbmcsXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBvcHRpb25zPzogeyB1c2VSZXN1bWluZ0ZhbGxiYWNrPzogYm9vbGVhbiB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub2RlTWVzc2FnZS50b0xvd2VyQ2FzZSgpXG5cbiAgY29uc3QgaGl0bFRvb2wgPSByZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2Uobm9kZU1lc3NhZ2UpXG4gIGlmIChoaXRsVG9vbCkge1xuICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGhpdGxUb29sLCB0LCBvcHRpb25zKVxuICB9XG5cbiAgaWYgKFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3Jlc3BvbnNlX2ZpbGVfZ2VuZXJhdGlvbicpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnZ2VuZXJhbmRvIGFyY2hpdm8nKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ2dlbmVyYXRpbmcgZmlsZScpXG4gICkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nRmlsZScpIH1cbiAgfVxuICBpZiAoXG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygndGF2aWx5JykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdzZWFyY2hfd2ViJykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdidXNjYW5kbyBlbiBsYSB3ZWInKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3NlYXJjaGluZyB0aGUgd2ViJylcbiAgKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdzZWFyY2gnLCBtZXNzYWdlOiB0KFNFQVJDSF9NRVNTQUdFX0tFWVNbMF0pIH1cbiAgfVxuXG4gIGNvbnN0IHRyaW1tZWRNZXNzYWdlID0gbm9kZU1lc3NhZ2UudHJpbSgpXG4gIGlmICh0cmltbWVkTWVzc2FnZSAmJiAhaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE1lc3NhZ2UpICYmICFsb29rc0xpa2VSYXdUb29sTmFtZSh0cmltbWVkTWVzc2FnZSkpIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHRyaW1tZWRNZXNzYWdlIH1cbiAgfVxuXG4gIGlmIChpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkTWVzc2FnZSkgfHwgb3B0aW9ucz8udXNlUmVzdW1pbmdGYWxsYmFjaykge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5hY3Rpdml0eS5yZXN1bWluZ0FjdGlvbicpIH1cbiAgfVxuICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuZXhlY3V0aW5nQWN0aW9uJykgfVxufVxuXG5leHBvcnQgdHlwZSBIaXRsRXhlY3V0aW9uQ29udGV4dCA9IHtcbiAgbWVzc2FnZUlkPzogc3RyaW5nXG4gIG1lc3NhZ2VUZXh0Pzogc3RyaW5nXG4gIGFwcHJvdmFsPzogQXBwcm92YWxSZXF1ZXN0XG4gIHBlbmRpbmdBY3Rpb25zPzogUGVuZGluZ0FjdGlvbltdXG4gIHRocmVhZElkcz86IHN0cmluZ1tdXG59XG5cbmNvbnN0IHJlc29sdmVQZW5kaW5nQWN0aW9uc0ZvclRocmVhZCA9IChcbiAgY29udGV4dDogSGl0bEV4ZWN1dGlvbkNvbnRleHQgfCBudWxsIHwgdW5kZWZpbmVkLFxuICB0aHJlYWRJZD86IHN0cmluZ1xuKTogUGVuZGluZ0FjdGlvbltdID0+IHtcbiAgY29uc3QgcGVuZGluZyA9IGNvbnRleHQ/LnBlbmRpbmdBY3Rpb25zID8/IGNvbnRleHQ/LmFwcHJvdmFsPy5wZW5kaW5nX2FjdGlvbnMgPz8gW11cbiAgaWYgKCFwZW5kaW5nLmxlbmd0aCkgcmV0dXJuIFtdXG5cbiAgaWYgKHRocmVhZElkKSB7XG4gICAgY29uc3QgZm9yVGhyZWFkID0gcGVuZGluZy5maWx0ZXIoYWN0aW9uID0+IGFjdGlvbi50aHJlYWRfaWQgPT09IHRocmVhZElkKVxuICAgIGlmIChmb3JUaHJlYWQubGVuZ3RoKSByZXR1cm4gZm9yVGhyZWFkXG4gIH1cblxuICBpZiAoY29udGV4dD8udGhyZWFkSWRzPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gcGVuZGluZy5maWx0ZXIoYWN0aW9uID0+IGNvbnRleHQudGhyZWFkSWRzPy5pbmNsdWRlcyhhY3Rpb24udGhyZWFkX2lkKSlcbiAgfVxuXG4gIHJldHVybiBwZW5kaW5nXG59XG5cbmNvbnN0IGRldGVjdFRvb2xzRnJvbVBlbmRpbmdBY3Rpb25zID0gKGFjdGlvbnM6IFBlbmRpbmdBY3Rpb25bXSk6IHN0cmluZ1tdID0+IFtcbiAgLi4ubmV3IFNldChhY3Rpb25zLm1hcChhY3Rpb24gPT4gbm9ybWFsaXplSGl0bFRvb2xOYW1lKGFjdGlvbi50b29sX25hbWUpKS5maWx0ZXIoQm9vbGVhbikpLFxuXVxuXG4vKiogUmVzdWVsdmUgaW5kaWNhZG9yIEhJVEwgcHJpb3JpemFuZG8gcGVuZGluZ19hY3Rpb25zIGRlbCBtZW5zYWplIGRlIGFwcm9iYWNpw7NuIGFudGVyaW9yLiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5ID0gKFxuICBub2RlTWVzc2FnZTogc3RyaW5nLFxuICB0OiBUcmFuc2xhdGVGbixcbiAgY29udGV4dD86IEhpdGxFeGVjdXRpb25Db250ZXh0IHwgbnVsbCxcbiAgdGhyZWFkSWQ/OiBzdHJpbmcsXG4gIG9wdGlvbnM/OiB7IHVzZVJlc3VtaW5nRmFsbGJhY2s/OiBib29sZWFuIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgY29uc3QgcGVuZGluZ0ZvclRocmVhZCA9IHJlc29sdmVQZW5kaW5nQWN0aW9uc0ZvclRocmVhZChjb250ZXh0LCB0aHJlYWRJZClcbiAgY29uc3QgZGV0ZWN0ZWRUb29scyA9IGRldGVjdFRvb2xzRnJvbVBlbmRpbmdBY3Rpb25zKHBlbmRpbmdGb3JUaHJlYWQpXG5cbiAgY29uc3QgdHJpbW1lZE5vZGVNZXNzYWdlID0gbm9kZU1lc3NhZ2UudHJpbSgpXG4gIGNvbnN0IGlzUmF3ID0gbG9va3NMaWtlUmF3VG9vbE5hbWUodHJpbW1lZE5vZGVNZXNzYWdlKVxuICBjb25zdCBpc0dlbmVyaWMgPSBpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkTm9kZU1lc3NhZ2UpXG4gIC8vIEVsIGJhY2tlbmQgZW52w61hIGZyYXNlcyBjb21vIFwiRWplY3V0YW5kbyBhc3NpZ25fdGFza19sYWJlbC4uLlwiIHF1ZSBjb250aWVuZW4gZWwgbm9tYnJlXG4gIC8vIGNydWRvIGRlIGxhIHRvb2wg4oCUIG5vIHNvbiBtZW5zYWplcyBsZWdpYmxlcy4gU2kgZWwgbWVuc2FqZSBjb250aWVuZSBhbGd1bm8gZGUgbG9zIHRvb2xzXG4gIC8vIGRldGVjdGFkb3MsIHByZWZlcmltb3MgZWwgbWFwZW8gZGVsIGRpY2Npb25hcmlvLlxuICBjb25zdCBub2RlTWVzc2FnZUNvbnRhaW5zVG9vbCA9XG4gICAgZGV0ZWN0ZWRUb29scy5sZW5ndGggPj0gMSAmJiBkZXRlY3RlZFRvb2xzLnNvbWUodG9vbCA9PiB0cmltbWVkTm9kZU1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0b29sKSlcbiAgY29uc3QgYWN0aXZpdHlGcm9tTm9kZU1lc3NhZ2UgPVxuICAgIHRyaW1tZWROb2RlTWVzc2FnZSAmJiAhaXNHZW5lcmljICYmICFpc1JhdyAmJiAhbm9kZU1lc3NhZ2VDb250YWluc1Rvb2xcbiAgICAgID8geyBwaGFzZTogJ2FjdGlvbicgYXMgY29uc3QsIG1lc3NhZ2U6IHRyaW1tZWROb2RlTWVzc2FnZSB9XG4gICAgICA6IG51bGxcblxuICBpZiAoZGV0ZWN0ZWRUb29scy5sZW5ndGggPj0gMSkge1xuICAgIGlmIChhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZSkge1xuICAgICAgcmV0dXJuIGFjdGl2aXR5RnJvbU5vZGVNZXNzYWdlXG4gICAgfVxuICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGRldGVjdGVkVG9vbHNbMF0sIHQsIG9wdGlvbnMpXG4gIH1cblxuICByZXR1cm4gbWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5KG5vZGVNZXNzYWdlLCB0LCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgQUNUSVZJVFlfTUVTU0FHRV9ST1RBVEVfTVMgPSAzMjAwXG5cbmNvbnN0IFJPVEFUQUJMRV9QSEFTRVM6IFN0cmVhbUFjdGl2aXR5UGhhc2VbXSA9IFsnZ2VuZXJhdGluZycsICd0aGlua2luZycsICdzZWFyY2gnLCAnZGVlcF9zZWFyY2gnLCAnYXR0YWNobWVudCddXG5cbmNvbnN0IGdldE1lc3NhZ2VLZXlzRm9yUGhhc2UgPSAocGhhc2U6IFN0cmVhbUFjdGl2aXR5UGhhc2UsIGF0dGFjaG1lbnRzQ291bnQgPSAwKTogcmVhZG9ubHkgc3RyaW5nW10gfCBudWxsID0+IHtcbiAgc3dpdGNoIChwaGFzZSkge1xuICAgIGNhc2UgJ2dlbmVyYXRpbmcnOlxuICAgICAgcmV0dXJuIEdFTkVSQVRJTkdfTUVTU0FHRV9LRVlTXG4gICAgY2FzZSAndGhpbmtpbmcnOlxuICAgICAgcmV0dXJuIFRISU5LSU5HX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ3NlYXJjaCc6XG4gICAgICByZXR1cm4gU0VBUkNIX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ2RlZXBfc2VhcmNoJzpcbiAgICAgIHJldHVybiBERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVNcbiAgICBjYXNlICdhdHRhY2htZW50JzpcbiAgICAgIHJldHVybiBhdHRhY2htZW50c0NvdW50ID4gMSA/IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCA6IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXggPSAoXG4gIHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlLFxuICBpbmRleDogbnVtYmVyLFxuICB0OiBUcmFuc2xhdGVGbixcbiAgYXR0YWNobWVudHNDb3VudCA9IDBcbik6IHN0cmluZyA9PiB7XG4gIGlmIChwaGFzZSA9PT0gJ3dyaXRpbmcnKSB7XG4gICAgcmV0dXJuIHQoV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSlcbiAgfVxuXG4gIGNvbnN0IGtleXMgPSBnZXRNZXNzYWdlS2V5c0ZvclBoYXNlKHBoYXNlLCBhdHRhY2htZW50c0NvdW50KVxuICBpZiAoIWtleXM/Lmxlbmd0aCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgY29uc3QgY2xhbXBlZEluZGV4ID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgaW5kZXgpLCBrZXlzLmxlbmd0aCAtIDEpXG4gIHJldHVybiB0KGtleXNbY2xhbXBlZEluZGV4XSlcbn1cblxuZXhwb3J0IGNvbnN0IGdldFRoaW5raW5nTG9hZGluZ01lc3NhZ2UgPSAoaW5kZXg6IG51bWJlciwgdDogVHJhbnNsYXRlRm4pOiBzdHJpbmcgPT5cbiAgZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCgndGhpbmtpbmcnLCBpbmRleCwgdClcblxuZXhwb3J0IGNvbnN0IGdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSA9IChpbmRleDogbnVtYmVyLCB0OiBUcmFuc2xhdGVGbik6IHN0cmluZyA9PlxuICBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KCdnZW5lcmF0aW5nJywgaW5kZXgsIHQpXG5cbmV4cG9ydCBjb25zdCBjYW5BZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlID0gKHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlLCBjdXJyZW50SW5kZXg6IG51bWJlcik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBrZXlzID0gZ2V0TWVzc2FnZUtleXNGb3JQaGFzZShwaGFzZSlcbiAgaWYgKCFrZXlzKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgcmV0dXJuIGN1cnJlbnRJbmRleCA8IGtleXMubGVuZ3RoIC0gMVxufVxuXG5leHBvcnQgY29uc3QgYWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSA9IChcbiAgYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5LFxuICBjdXJyZW50SW5kZXg6IG51bWJlcixcbiAgdDogVHJhbnNsYXRlRm5cbik6IHsgYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5OyBuZXh0SW5kZXg6IG51bWJlciB9IHwgbnVsbCA9PiB7XG4gIGlmICghY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZShhY3Rpdml0eS5waGFzZSwgY3VycmVudEluZGV4KSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCBuZXh0SW5kZXggPSBjdXJyZW50SW5kZXggKyAxXG4gIHJldHVybiB7XG4gICAgYWN0aXZpdHk6IHtcbiAgICAgIHBoYXNlOiBhY3Rpdml0eS5waGFzZSxcbiAgICAgIG1lc3NhZ2U6IGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXgoYWN0aXZpdHkucGhhc2UsIG5leHRJbmRleCwgdCwgYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCksXG4gICAgICAuLi4oYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCAhPSBudWxsICYmIHsgYXR0YWNobWVudHNDb3VudDogYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCB9KSxcbiAgICB9LFxuICAgIG5leHRJbmRleCxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY2FuUm90YXRlU3RyZWFtQWN0aXZpdHlQaGFzZSA9IChwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSk6IGJvb2xlYW4gPT4gUk9UQVRBQkxFX1BIQVNFUy5pbmNsdWRlcyhwaGFzZSlcblxuZXhwb3J0IGNvbnN0IGdldFRoaW5raW5nU3RyZWFtQWN0aXZpdHkgPSAodDogVHJhbnNsYXRlRm4pOiBTdHJlYW1BY3Rpdml0eSA9PiAoe1xuICBwaGFzZTogJ3RoaW5raW5nJyxcbiAgbWVzc2FnZTogdChUSElOS0lOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSksXG59KVxuXG5leHBvcnQgY29uc3QgZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5ID0gKHQ6IFRyYW5zbGF0ZUZuKTogU3RyZWFtQWN0aXZpdHkgPT4gKHtcbiAgcGhhc2U6ICd3cml0aW5nJyxcbiAgbWVzc2FnZTogdChXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZKSxcbn0pXG5cbmV4cG9ydCBjb25zdCByZXNvbHZlSW5pdGlhbEhpdGxTdHJlYW1BY3Rpdml0eSA9IChcbiAgdDogVHJhbnNsYXRlRm4sXG4gIGNvbnRleHQ/OiBIaXRsRXhlY3V0aW9uQ29udGV4dCB8IG51bGxcbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgY29uc3QgcGVuZGluZ0FjdGlvbnMgPSByZXNvbHZlUGVuZGluZ0FjdGlvbnNGb3JUaHJlYWQoY29udGV4dClcbiAgY29uc3QgZGV0ZWN0ZWRUb29scyA9IGRldGVjdFRvb2xzRnJvbVBlbmRpbmdBY3Rpb25zKHBlbmRpbmdBY3Rpb25zKVxuXG4gIGlmIChkZXRlY3RlZFRvb2xzLmxlbmd0aCA+PSAxKSB7XG4gICAgcmV0dXJuIG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkoZGV0ZWN0ZWRUb29sc1swXSwgdCwgeyB1c2VSZXN1bWluZ0ZhbGxiYWNrOiB0cnVlIH0pXG4gIH1cblxuICByZXR1cm4geyBwaGFzZTogJ3Byb2Nlc3NpbmcnLCBtZXNzYWdlOiB0KCdjaGF0LnByb2Nlc3NpbmcnKSB9XG59XG5cbi8qKiBUcmFzIGVsIHByaW1lciBldmVudG8gZGVsIHN0cmVhbSBlbCBpbmRpY2Fkb3IgZW4gdml2byBzb2xvIGFsdGVybmEgcGVuc2FuZG8gLyBlc2NyaWJpZW5kby4gKi9cbmV4cG9ydCBjb25zdCB0b0luZGljYXRvclN0cmVhbUFjdGl2aXR5ID0gKFxuICBhY3Rpdml0eTogU3RyZWFtQWN0aXZpdHkgfCBudWxsIHwgdW5kZWZpbmVkLFxuICB0OiBUcmFuc2xhdGVGblxuKTogU3RyZWFtQWN0aXZpdHkgfCBudWxsID0+IHtcbiAgaWYgKCFhY3Rpdml0eSkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIGFjdGl2aXR5LnBoYXNlID09PSAnd3JpdGluZycgPyBnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkodCkgOiBnZXRUaGlua2luZ1N0cmVhbUFjdGl2aXR5KHQpXG59XG5cbmV4cG9ydCBjb25zdCBnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkgPSAoXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBvcHRpb25zPzoge1xuICAgIGlzV2ViU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICAgIGlzRGVlcFNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgICBoYXNBdHRhY2htZW50cz86IGJvb2xlYW5cbiAgICBhdHRhY2htZW50c0NvdW50PzogbnVtYmVyXG4gIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgaWYgKG9wdGlvbnM/LmlzV2ViU2VhcmNoQWN0aXZlKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdzZWFyY2gnLCBtZXNzYWdlOiB0KFNFQVJDSF9NRVNTQUdFX0tFWVNbMF0pIH1cbiAgfVxuICBpZiAob3B0aW9ucz8uaXNEZWVwU2VhcmNoQWN0aXZlKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdkZWVwX3NlYXJjaCcsIG1lc3NhZ2U6IHQoREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTWzBdKSB9XG4gIH1cbiAgaWYgKG9wdGlvbnM/Lmhhc0F0dGFjaG1lbnRzKSB7XG4gICAgY29uc3QgYXR0YWNobWVudHNDb3VudCA9IG9wdGlvbnMuYXR0YWNobWVudHNDb3VudCA/PyAwXG4gICAgcmV0dXJuIHtcbiAgICAgIHBoYXNlOiAnYXR0YWNobWVudCcsXG4gICAgICBtZXNzYWdlOiBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KCdhdHRhY2htZW50JywgMCwgdCwgYXR0YWNobWVudHNDb3VudCksXG4gICAgICBhdHRhY2htZW50c0NvdW50LFxuICAgIH1cbiAgfVxuICByZXR1cm4geyBwaGFzZTogJ2dlbmVyYXRpbmcnLCBtZXNzYWdlOiB0KEdFTkVSQVRJTkdfTUVTU0FHRV9LRVlTWzBdKSB9XG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkgPSAocGFyYW1zOiB7XG4gIHN0cmVhbUFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSB8IG51bGxcbiAgbG9hZGluZ01lc3NhZ2U6IHN0cmluZyB8IG51bGxcbiAgYWN0aXZlTG9hZGluZ3M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgd2FpdGluZ1Jlc3BvbnNlOiBib29sZWFuXG4gIGlzV2ViU2VhcmNoQWN0aXZlOiBib29sZWFuXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZTogYm9vbGVhblxuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICBhdHRhY2htZW50c0NvdW50PzogbnVtYmVyXG4gIHQ6IFRyYW5zbGF0ZUZuXG59KTogU3RyZWFtQWN0aXZpdHkgfCBudWxsID0+IHtcbiAgaWYgKHBhcmFtcy5zdHJlYW1BY3Rpdml0eSkge1xuICAgIHJldHVybiBwYXJhbXMuc3RyZWFtQWN0aXZpdHlcbiAgfVxuXG4gIGNvbnN0IGFjdGl2ZUtleXMgPSBPYmplY3Qua2V5cyhwYXJhbXMuYWN0aXZlTG9hZGluZ3MpXG4gIGlmIChhY3RpdmVLZXlzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBmaXJzdEtleSA9IGFjdGl2ZUtleXNbMF1cbiAgICBjb25zdCByYXcgPSBwYXJhbXMuYWN0aXZlTG9hZGluZ3NbZmlyc3RLZXldXG4gICAgaWYgKHJhdyAmJiByYXcgIT09IHBhcmFtcy50KCdjaGF0LnByb2Nlc3NpbmcnKSkge1xuICAgICAgY29uc3QgaGl0bFRvb2wgPSByZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UocmF3KVxuICAgICAgaWYgKGhpdGxUb29sKSB7XG4gICAgICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGhpdGxUb29sLCBwYXJhbXMudClcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHJpbW1lZCA9IHJhdy50cmltKClcbiAgICAgIGlmICh0cmltbWVkICYmICFpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkKSkge1xuICAgICAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHRyaW1tZWQgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5KHJhdywgcGFyYW1zLnQsIHsgdXNlUmVzdW1pbmdGYWxsYmFjazogdHJ1ZSB9KVxuICAgIH1cbiAgICByZXR1cm4geyBwaGFzZTogJ3Byb2Nlc3NpbmcnLCBtZXNzYWdlOiBwYXJhbXMudCgnY2hhdC5wcm9jZXNzaW5nJykgfVxuICB9XG5cbiAgaWYgKHBhcmFtcy5sb2FkaW5nTWVzc2FnZSkge1xuICAgIGlmIChcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQud3JpdGluZycpIHx8XG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkpIHx8XG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmFjdGl2aXR5LndyaXRpbmcuY29tcG9zaW5nJylcbiAgICApIHtcbiAgICAgIHJldHVybiBnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkocGFyYW1zLnQpXG4gICAgfVxuICAgIGlmIChwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmcnKSkge1xuICAgICAgcmV0dXJuIHsgcGhhc2U6ICdnZW5lcmF0aW5nJywgbWVzc2FnZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlIH1cbiAgICB9XG4gICAgaWYgKFxuICAgICAgcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nV2ViU2VhcmNoJykgfHxcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ0RlZXBTZWFyY2gnKSB8fFxuICAgICAgcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nQXR0YWNobWVudCcpXG4gICAgKSB7XG4gICAgICByZXR1cm4gZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5KHBhcmFtcy50LCB7XG4gICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdXZWJTZWFyY2gnKSxcbiAgICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlOiBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdEZWVwU2VhcmNoJyksXG4gICAgICAgIGhhc0F0dGFjaG1lbnRzOiBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdBdHRhY2htZW50JyksXG4gICAgICAgIGF0dGFjaG1lbnRzQ291bnQ6IHBhcmFtcy5hdHRhY2htZW50c0NvdW50LFxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiBwYXJhbXMubG9hZGluZ01lc3NhZ2UgfVxuICB9XG5cbiAgaWYgKHBhcmFtcy53YWl0aW5nUmVzcG9uc2UpIHtcbiAgICByZXR1cm4gZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5KHBhcmFtcy50LCB7XG4gICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGFyYW1zLmlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlOiBwYXJhbXMuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgaGFzQXR0YWNobWVudHM6IHBhcmFtcy5oYXNBdHRhY2htZW50cyxcbiAgICAgIGF0dGFjaG1lbnRzQ291bnQ6IHBhcmFtcy5hdHRhY2htZW50c0NvdW50LFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgY29uc3QgaXNTdHJlYW1pbmdQbGFjZWhvbGRlck1lc3NhZ2VJZCA9IChtZXNzYWdlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4gPT5cbiAgdHlwZW9mIG1lc3NhZ2VJZCA9PT0gJ3N0cmluZycgJiYgbWVzc2FnZUlkLmluY2x1ZGVzKCctc3RyZWFtaW5nJylcblxuZXhwb3J0IGNvbnN0IHN0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkID0gKG1lc3NhZ2VJZDogc3RyaW5nKTogc3RyaW5nID0+IGBhbnN3ZXItJHttZXNzYWdlSWR9LXN0cmVhbWluZ2BcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLFNBQVNBLHFCQUFxQixRQUFRLGlCQUFpQjtBQUl2RCxJQUFNQyxxQkFBcUIsR0FBRyxDQUM1QixrQ0FBa0MsRUFDbEMsa0NBQWtDLEVBQ2xDLGlDQUFpQyxDQUN6QjtBQUVWLElBQU1DLHVCQUF1QixHQUFHLENBQzlCLHNDQUFzQyxFQUN0QyxzQ0FBc0MsRUFDdEMsb0NBQW9DLENBQzVCO0FBRVYsSUFBTUMsbUJBQW1CLEdBQUcsQ0FBQywrQkFBK0IsRUFB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
@@ -11,6 +11,8 @@ describe('streamActivityMessages', function () {
11
11
  expect(resolveToolActionLabel('create_task', t, 'present')).toBe('chat.activity.actions.createTask.present');
12
12
  expect(resolveToolActionLabel('assign', t, 'past')).toBe('chat.activity.actions.assignUser.past');
13
13
  expect(resolveToolActionLabel('unknown_tool', t, 'present')).toBeNull();
14
+ expect(resolveToolActionLabel('delete_hour', t, 'present')).toBe('chat.activity.actions.deleteHours.present');
15
+ expect(resolveToolActionLabel('edit_hour', t, 'past')).toBe('chat.activity.actions.editHours.past');
14
16
  });
15
17
  });
16
18
  describe('mapHitlToolNameToStreamActivity', function () {
@@ -224,4 +226,4 @@ describe('streamActivityMessages', function () {
224
226
  });
225
227
  });
226
228
  });
227
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlIiwiY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSIsImNhblJvdGF0ZVN0cmVhbUFjdGl2aXR5UGhhc2UiLCJnZXRHZW5lcmF0aW5nTG9hZGluZ01lc3NhZ2UiLCJnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkiLCJnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4IiwiZ2V0VGhpbmtpbmdMb2FkaW5nTWVzc2FnZSIsImdldFRoaW5raW5nU3RyZWFtQWN0aXZpdHkiLCJnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkiLCJpc1N0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkIiwibWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSIsIm1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eSIsInJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5IiwicmVzb2x2ZUluaXRpYWxIaXRsU3RyZWFtQWN0aXZpdHkiLCJyZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkiLCJyZXNvbHZlVG9vbEFjdGlvbkxhYmVsIiwicmVzb2x2ZVRvb2xTdGVwUGFzdExhYmVsIiwic3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQiLCJ0Iiwia2V5IiwiZGVzY3JpYmUiLCJpdCIsImV4cGVjdCIsInRvQmUiLCJ0b0JlTnVsbCIsInRvRXF1YWwiLCJwaGFzZSIsIm1lc3NhZ2UiLCJ1c2VSZXN1bWluZ0ZhbGxiYWNrIiwiaXNXZWJTZWFyY2hBY3RpdmUiLCJoYXNBdHRhY2htZW50cyIsImF0dGFjaG1lbnRzQ291bnQiLCJwZW5kaW5nQWN0aW9ucyIsInRvb2xfbmFtZSIsInRocmVhZF9pZCIsInRvb2xfY2FsbF9pZCIsInRvb2xfYXJncyIsImFkdmFuY2VkIiwibmV4dEluZGV4IiwiYWN0aXZpdHkiLCJiYXNlIiwic3RyZWFtQWN0aXZpdHkiLCJsb2FkaW5nTWVzc2FnZSIsImFjdGl2ZUxvYWRpbmdzIiwid2FpdGluZ1Jlc3BvbnNlIiwiaXNEZWVwU2VhcmNoQWN0aXZlIiwiX29iamVjdFNwcmVhZCIsIm5vZGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc3RyZWFtQWN0aXZpdHlNZXNzYWdlcy5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UsXG4gIGNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UsXG4gIGNhblJvdGF0ZVN0cmVhbUFjdGl2aXR5UGhhc2UsXG4gIGdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSxcbiAgZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5LFxuICBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4LFxuICBnZXRUaGlua2luZ0xvYWRpbmdNZXNzYWdlLFxuICBnZXRUaGlua2luZ1N0cmVhbUFjdGl2aXR5LFxuICBnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHksXG4gIGlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQsXG4gIG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHksXG4gIG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eSxcbiAgcmVzb2x2ZUhpdGxOb2RlU3RyZWFtQWN0aXZpdHksXG4gIHJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5LFxuICByZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXksXG4gIHJlc29sdmVUb29sQWN0aW9uTGFiZWwsXG4gIHJlc29sdmVUb29sU3RlcFBhc3RMYWJlbCxcbiAgc3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQsXG59IGZyb20gJy4vc3RyZWFtQWN0aXZpdHlNZXNzYWdlcydcblxuY29uc3QgdCA9IChrZXk6IHN0cmluZykgPT4ga2V5XG5cbmRlc2NyaWJlKCdzdHJlYW1BY3Rpdml0eU1lc3NhZ2VzJywgKCkgPT4ge1xuICBkZXNjcmliZSgncmVzb2x2ZVRvb2xBY3Rpb25MYWJlbCcsICgpID0+IHtcbiAgICBpdCgnbWFwcyBrbm93biB0b29scyBhbmQgcmV0dXJucyBudWxsIGZvciB1bmtub3duIG9uZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QocmVzb2x2ZVRvb2xBY3Rpb25MYWJlbCgnY3JlYXRlX3Rhc2snLCB0LCAncHJlc2VudCcpKS50b0JlKCdjaGF0LmFjdGl2aXR5LmFjdGlvbnMuY3JlYXRlVGFzay5wcmVzZW50JylcbiAgICAgIGV4cGVjdChyZXNvbHZlVG9vbEFjdGlvbkxhYmVsKCdhc3NpZ24nLCB0LCAncGFzdCcpKS50b0JlKCdjaGF0LmFjdGl2aXR5LmFjdGlvbnMuYXNzaWduVXNlci5wYXN0JylcbiAgICAgIGV4cGVjdChyZXNvbHZlVG9vbEFjdGlvbkxhYmVsKCd1bmtub3duX3Rvb2wnLCB0LCAncHJlc2VudCcpKS50b0JlTnVsbCgpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgnbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eScsICgpID0+IHtcbiAgICBpdCgndXNlcyB0aGUgZGljdGlvbmFyeSBvciBhIGZhbGxiYWNrJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkoJ2VkaXRfdGFzaycsIHQpKS50b0VxdWFsKHtcbiAgICAgICAgcGhhc2U6ICdhY3Rpb24nLFxuICAgICAgICBtZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS5hY3Rpb25zLmVkaXRUYXNrLnByZXNlbnQnLFxuICAgICAgfSlcbiAgICAgIGV4cGVjdChtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KCd1bmtub3duX3Rvb2wnLCB0LCB7IHVzZVJlc3VtaW5nRmFsbGJhY2s6IHRydWUgfSkpLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ2FjdGlvbicsXG4gICAgICAgIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LnJlc3VtaW5nQWN0aW9uJyxcbiAgICAgIH0pXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgnbWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5JywgKCkgPT4ge1xuICAgIGl0KCdtYXBzIGZpbGUgZ2VuZXJhdGlvbiBhbmQgd2ViIHNlYXJjaCBwaHJhc2VzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eSgnR2VuZXJhdGluZyBmaWxlIG5vdycsIHQpLm1lc3NhZ2UpLnRvQmUoJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZ0ZpbGUnKVxuICAgICAgZXhwZWN0KG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eSgnc2VhcmNoaW5nIHRoZSB3ZWInLCB0KSkudG9FcXVhbCh7XG4gICAgICAgIHBoYXNlOiAnc2VhcmNoJyxcbiAgICAgICAgbWVzc2FnZTogJ2NoYXQuYWN0aXZpdHkuc2VhcmNoLnNjYW5uaW5nJyxcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIGl0KCdrZWVwcyBhIHJlYWRhYmxlIG5vZGUgbWVzc2FnZSBhbmQgaGlkZXMgcmF3IHRvb2wgbmFtZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QobWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5KCdSZXZpc2FuZG8gZWwgcHJveWVjdG8nLCB0KSkudG9FcXVhbCh7XG4gICAgICAgIHBoYXNlOiAnYWN0aW9uJyxcbiAgICAgICAgbWVzc2FnZTogJ1JldmlzYW5kbyBlbCBwcm95ZWN0bycsXG4gICAgICB9KVxuICAgICAgZXhwZWN0KG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eSgnZm9vX2Jhcl91bmtub3duJywgdCkubWVzc2FnZSkudG9CZSgnY2hhdC5leGVjdXRpbmdBY3Rpb24nKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ2FjdGl2aXR5IHJvdGF0aW9uIGFuZCBwbGFjZWhvbGRlcnMnLCAoKSA9PiB7XG4gICAgaXQoJ3JldHVybnMgdGhlIG1lc3NhZ2UgZm9yIGEgcGhhc2UgaW5kZXggYW5kIGtub3dzIHdoZW4gaXQgY2FuIGFkdmFuY2UnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCgndGhpbmtpbmcnLCAwLCB0KSkudG9CZSgnY2hhdC5hY3Rpdml0eS50aGlua2luZy5hbmFseXppbmcnKVxuICAgICAgZXhwZWN0KGNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UoJ3RoaW5raW5nJywgMCkpLnRvQmUodHJ1ZSlcbiAgICAgIGV4cGVjdChjYW5BZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlKCd0aGlua2luZycsIDIpKS50b0JlKGZhbHNlKVxuICAgIH0pXG5cbiAgICBpdCgncGlja3MgdGhlIGluaXRpYWwgcGhhc2UgZnJvbSBzZWFyY2gsIGF0dGFjaG1lbnRzIG9yIGdlbmVyYXRpbmcnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5KHQsIHsgaXNXZWJTZWFyY2hBY3RpdmU6IHRydWUgfSkucGhhc2UpLnRvQmUoJ3NlYXJjaCcpXG4gICAgICBleHBlY3QoZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5KHQsIHsgaGFzQXR0YWNobWVudHM6IHRydWUsIGF0dGFjaG1lbnRzQ291bnQ6IDIgfSkucGhhc2UpLnRvQmUoJ2F0dGFjaG1lbnQnKVxuICAgICAgZXhwZWN0KGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eSh0LCB7fSkpLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ2dlbmVyYXRpbmcnLFxuICAgICAgICBtZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nLmNvbnNpZGVyaW5nJyxcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIGl0KCdidWlsZHMgYW5kIGRldGVjdHMgc3RyZWFtaW5nIHBsYWNlaG9sZGVyIGlkcycsICgpID0+IHtcbiAgICAgIGV4cGVjdChzdHJlYW1pbmdQbGFjZWhvbGRlck1lc3NhZ2VJZCgnYWJjJykpLnRvQmUoJ2Fuc3dlci1hYmMtc3RyZWFtaW5nJylcbiAgICAgIGV4cGVjdChpc1N0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkKCdhbnN3ZXItYWJjLXN0cmVhbWluZycpKS50b0JlKHRydWUpXG4gICAgICBleHBlY3QoaXNTdHJlYW1pbmdQbGFjZWhvbGRlck1lc3NhZ2VJZCgnYW5zd2VyLWFiYycpKS50b0JlKGZhbHNlKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ0hJVEwgc3RyZWFtIGFjdGl2aXR5JywgKCkgPT4ge1xuICAgIGl0KCdyZXNvbHZlcyBpbml0aWFsIGFjdGl2aXR5IGZyb20gcGVuZGluZyBhY3Rpb25zJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICByZXNvbHZlSW5pdGlhbEhpdGxTdHJlYW1BY3Rpdml0eSh0LCB7XG4gICAgICAgICAgcGVuZGluZ0FjdGlvbnM6IFt7IHRvb2xfbmFtZTogJ2VkaXRfdGFzaycsIHRocmVhZF9pZDogJ3QxJywgdG9vbF9jYWxsX2lkOiAnYzEnLCB0b29sX2FyZ3M6IHt9IH1dLFxuICAgICAgICB9KVxuICAgICAgKS50b0VxdWFsKHtcbiAgICAgICAgcGhhc2U6ICdhY3Rpb24nLFxuICAgICAgICBtZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS5hY3Rpb25zLmVkaXRUYXNrLnByZXNlbnQnLFxuICAgICAgfSlcblxuICAgICAgZXhwZWN0KHJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5KHQsIHt9KSkudG9FcXVhbCh7XG4gICAgICAgIHBoYXNlOiAncHJvY2Vzc2luZycsXG4gICAgICAgIG1lc3NhZ2U6ICdjaGF0LnByb2Nlc3NpbmcnLFxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgaXQoJ3ByZWZlcnMgcmVhZGFibGUgbm9kZSBtZXNzYWdlcyB3aGVuIHRvb2xzIGFyZSBkZXRlY3RlZCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgcmVzb2x2ZUhpdGxOb2RlU3RyZWFtQWN0aXZpdHkoJ1JldmlzYW5kbyBkYXRvcycsIHQsIHtcbiAgICAgICAgICBwZW5kaW5nQWN0aW9uczogW3sgdG9vbF9uYW1lOiAnZWRpdF90YXNrJywgdGhyZWFkX2lkOiAndDEnLCB0b29sX2NhbGxfaWQ6ICdjMScsIHRvb2xfYXJnczoge30gfV0sXG4gICAgICAgIH0pXG4gICAgICApLnRvRXF1YWwoeyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6ICdSZXZpc2FuZG8gZGF0b3MnIH0pXG4gICAgfSlcblxuICAgIGl0KCdtYXBzIHRvb2wgbmFtZXMgd2hlbiB0aGUgbm9kZSBtZXNzYWdlIGlzIHJhdycsICgpID0+IHtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgcmVzb2x2ZUhpdGxOb2RlU3RyZWFtQWN0aXZpdHkoJ2VkaXRfdGFzaycsIHQsIHtcbiAgICAgICAgICBwZW5kaW5nQWN0aW9uczogW3sgdG9vbF9uYW1lOiAnZWRpdF90YXNrJywgdGhyZWFkX2lkOiAndDEnLCB0b29sX2NhbGxfaWQ6ICdjMScsIHRvb2xfYXJnczoge30gfV0sXG4gICAgICAgIH0pXG4gICAgICApLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ2FjdGlvbicsXG4gICAgICAgIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LmFjdGlvbnMuZWRpdFRhc2sucHJlc2VudCcsXG4gICAgICB9KVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ3JvdGF0aW9uIGhlbHBlcnMnLCAoKSA9PiB7XG4gICAgaXQoJ2V4cG9zZXMgdGhpbmtpbmcgYW5kIGdlbmVyYXRpbmcgbG9hZGVycyBhbmQgYWR2YW5jZXMgaW5kaWNlcycsICgpID0+IHtcbiAgICAgIGV4cGVjdChnZXRUaGlua2luZ0xvYWRpbmdNZXNzYWdlKDEsIHQpKS50b0JlKCdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLnJldmlld2luZycpXG4gICAgICBleHBlY3QoZ2V0R2VuZXJhdGluZ0xvYWRpbmdNZXNzYWdlKDAsIHQpKS50b0JlKCdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcuY29uc2lkZXJpbmcnKVxuICAgICAgZXhwZWN0KGNhblJvdGF0ZVN0cmVhbUFjdGl2aXR5UGhhc2UoJ3RoaW5raW5nJykpLnRvQmUodHJ1ZSlcbiAgICAgIGV4cGVjdChjYW5Sb3RhdGVTdHJlYW1BY3Rpdml0eVBoYXNlKCd3cml0aW5nJykpLnRvQmUoZmFsc2UpXG4gICAgICBleHBlY3QoZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5KHQpKS50b0VxdWFsKHtcbiAgICAgICAgcGhhc2U6ICd3cml0aW5nJyxcbiAgICAgICAgbWVzc2FnZTogJ2NoYXQuYWN0aXZpdHkud3JpdGluZy5sYWJlbCcsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBhZHZhbmNlZCA9IGFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UoeyBwaGFzZTogJ3RoaW5raW5nJywgbWVzc2FnZTogJ2EnIH0sIDAsIHQpXG4gICAgICBleHBlY3QoYWR2YW5jZWQ/Lm5leHRJbmRleCkudG9CZSgxKVxuICAgICAgZXhwZWN0KGFkdmFuY2VkPy5hY3Rpdml0eS5tZXNzYWdlKS50b0JlKCdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLnJldmlld2luZycpXG4gICAgfSlcblxuICAgIGl0KCdyZXR1cm5zIHBhc3QgdGVuc2UgbGFiZWxzIGZvciBrbm93biB0b29scycsICgpID0+IHtcbiAgICAgIGV4cGVjdChyZXNvbHZlVG9vbFN0ZXBQYXN0TGFiZWwoJ2NyZWF0ZV90YXNrJywgdCkpLnRvQmUoJ2NoYXQuYWN0aXZpdHkuYWN0aW9ucy5jcmVhdGVUYXNrLnBhc3QnKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ3Jlc29sdmVTdHJlYW1Mb2FkaW5nRGlzcGxheScsICgpID0+IHtcbiAgICBjb25zdCBiYXNlID0ge1xuICAgICAgc3RyZWFtQWN0aXZpdHk6IG51bGwsXG4gICAgICBsb2FkaW5nTWVzc2FnZTogbnVsbCxcbiAgICAgIGFjdGl2ZUxvYWRpbmdzOiB7fSxcbiAgICAgIHdhaXRpbmdSZXNwb25zZTogZmFsc2UsXG4gICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogZmFsc2UsXG4gICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IGZhbHNlLFxuICAgICAgaGFzQXR0YWNobWVudHM6IGZhbHNlLFxuICAgICAgdCxcbiAgICB9XG5cbiAgICBpdCgncHJlZmVycyBhbiBleHBsaWNpdCBzdHJlYW0gYWN0aXZpdHkgYmVmb3JlIHRoZSBmaXJzdCB0b2tlbicsICgpID0+IHtcbiAgICAgIGNvbnN0IHN0cmVhbUFjdGl2aXR5ID0geyBwaGFzZTogJ2FjdGlvbicgYXMgY29uc3QsIG1lc3NhZ2U6ICdDcmVhbmRvIHRhcmVhJyB9XG4gICAgICBleHBlY3QocmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5KHsgLi4uYmFzZSwgc3RyZWFtQWN0aXZpdHkgfSkpLnRvRXF1YWwoc3RyZWFtQWN0aXZpdHkpXG4gICAgfSlcblxuICAgIGl0KCdyZXR1cm5zIHRoZSBpbml0aWFsIGdlbmVyYXRpbmcgYWN0aXZpdHkgd2hpbGUgd2FpdGluZycsICgpID0+IHtcbiAgICAgIGV4cGVjdChyZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkoeyAuLi5iYXNlLCB3YWl0aW5nUmVzcG9uc2U6IHRydWUgfSkpLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ2dlbmVyYXRpbmcnLFxuICAgICAgICBtZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nLmNvbnNpZGVyaW5nJyxcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIGl0KCdtYXBzIGFjdGl2ZSBsb2FkaW5ncyBhbmQgbG9hZGluZyBtZXNzYWdlcycsICgpID0+IHtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgcmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5KHtcbiAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgIGFjdGl2ZUxvYWRpbmdzOiB7IG5vZGU6ICdSZXZpc2FuZG8gcHJveWVjdG8nIH0sXG4gICAgICAgIH0pXG4gICAgICApLnRvRXF1YWwoeyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6ICdSZXZpc2FuZG8gcHJveWVjdG8nIH0pXG5cbiAgICAgIGV4cGVjdChcbiAgICAgICAgcmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5KHtcbiAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgIGFjdGl2ZUxvYWRpbmdzOiB7IG5vZGU6ICdjaGF0LnByb2Nlc3NpbmcnIH0sXG4gICAgICAgIH0pXG4gICAgICApLnRvRXF1YWwoeyBwaGFzZTogJ3Byb2Nlc3NpbmcnLCBtZXNzYWdlOiAnY2hhdC5wcm9jZXNzaW5nJyB9KVxuXG4gICAgICBleHBlY3QoXG4gICAgICAgIHJlc29sdmVTdHJlYW1Mb2FkaW5nRGlzcGxheSh7XG4gICAgICAgICAgLi4uYmFzZSxcbiAgICAgICAgICBsb2FkaW5nTWVzc2FnZTogJ2NoYXQud3JpdGluZycsXG4gICAgICAgIH0pXG4gICAgICApLnRvRXF1YWwoeyBwaGFzZTogJ3dyaXRpbmcnLCBtZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS53cml0aW5nLmxhYmVsJyB9KVxuXG4gICAgICBleHBlY3QoXG4gICAgICAgIHJlc29sdmVTdHJlYW1Mb2FkaW5nRGlzcGxheSh7XG4gICAgICAgICAgLi4uYmFzZSxcbiAgICAgICAgICBsb2FkaW5nTWVzc2FnZTogJ2NoYXQuZ2VuZXJhdGluZ1dlYlNlYXJjaCcsXG4gICAgICAgIH0pXG4gICAgICApLnRvRXF1YWwoeyBwaGFzZTogJ3NlYXJjaCcsIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LnNlYXJjaC5zY2FubmluZycgfSlcbiAgICB9KVxuXG4gICAgaXQoJ2tlZXBzIHdyaXRpbmcgd2hlbiB0aGUgc3RyZWFtIGlzIGNvbXBvc2luZycsICgpID0+IHtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgcmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5KHtcbiAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgIHN0cmVhbUFjdGl2aXR5OiBnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkodCksXG4gICAgICAgIH0pXG4gICAgICApLnRvRXF1YWwoZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5KHQpKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ3RoaW5raW5nIGFuZCB3cml0aW5nIGluZGljYXRvcicsICgpID0+IHtcbiAgICBpdCgnZXhwb3NlcyB0aGlua2luZyBhbmQgd3JpdGluZyBsYWJlbHMgZm9yIHRoZSBsaXZlIGluZGljYXRvciBhZnRlciB0aGUgZmlyc3Qgc3RyZWFtIGV2ZW50JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGdldFRoaW5raW5nU3RyZWFtQWN0aXZpdHkodCkpLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ3RoaW5raW5nJyxcbiAgICAgICAgbWVzc2FnZTogJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcubGFiZWwnLFxuICAgICAgfSlcbiAgICAgIGV4cGVjdChnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkodCkpLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ3dyaXRpbmcnLFxuICAgICAgICBtZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS53cml0aW5nLmxhYmVsJyxcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIGl0KCdyZXN1bWVzIEhJVEwgd2l0aCB0aGUgcGVuZGluZyB0b29sIGxhYmVsIGJlZm9yZSB0aGUgZmlyc3QgdG9rZW4nLCAoKSA9PiB7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5KHQsIHtcbiAgICAgICAgICBwZW5kaW5nQWN0aW9uczogW3sgdG9vbF9uYW1lOiAnY3JlYXRlX3Rhc2snLCB0b29sX2NhbGxfaWQ6ICcxJywgdG9vbF9hcmdzOiB7fSwgdGhyZWFkX2lkOiAndDEnIH1dLFxuICAgICAgICB9KVxuICAgICAgKS50b0VxdWFsKHtcbiAgICAgICAgcGhhc2U6ICdhY3Rpb24nLFxuICAgICAgICBtZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS5hY3Rpb25zLmNyZWF0ZVRhc2sucHJlc2VudCcsXG4gICAgICB9KVxuICAgIH0pXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUNFQSw0QkFBNEIsRUFDNUJDLCtCQUErQixFQUMvQkMsNEJBQTRCLEVBQzVCQywyQkFBMkIsRUFDM0JDLHdCQUF3QixFQUN4QkMsK0JB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
229
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlIiwiY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSIsImNhblJvdGF0ZVN0cmVhbUFjdGl2aXR5UGhhc2UiLCJnZXRHZW5lcmF0aW5nTG9hZGluZ01lc3NhZ2UiLCJnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkiLCJnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4IiwiZ2V0VGhpbmtpbmdMb2FkaW5nTWVzc2FnZSIsImdldFRoaW5raW5nU3RyZWFtQWN0aXZpdHkiLCJnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkiLCJpc1N0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkIiwibWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSIsIm1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eSIsInJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5IiwicmVzb2x2ZUluaXRpYWxIaXRsU3RyZWFtQWN0aXZpdHkiLCJyZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkiLCJyZXNvbHZlVG9vbEFjdGlvbkxhYmVsIiwicmVzb2x2ZVRvb2xTdGVwUGFzdExhYmVsIiwic3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQiLCJ0Iiwia2V5IiwiZGVzY3JpYmUiLCJpdCIsImV4cGVjdCIsInRvQmUiLCJ0b0JlTnVsbCIsInRvRXF1YWwiLCJwaGFzZSIsIm1lc3NhZ2UiLCJ1c2VSZXN1bWluZ0ZhbGxiYWNrIiwiaXNXZWJTZWFyY2hBY3RpdmUiLCJoYXNBdHRhY2htZW50cyIsImF0dGFjaG1lbnRzQ291bnQiLCJwZW5kaW5nQWN0aW9ucyIsInRvb2xfbmFtZSIsInRocmVhZF9pZCIsInRvb2xfY2FsbF9pZCIsInRvb2xfYXJncyIsImFkdmFuY2VkIiwibmV4dEluZGV4IiwiYWN0aXZpdHkiLCJiYXNlIiwic3RyZWFtQWN0aXZpdHkiLCJsb2FkaW5nTWVzc2FnZSIsImFjdGl2ZUxvYWRpbmdzIiwid2FpdGluZ1Jlc3BvbnNlIiwiaXNEZWVwU2VhcmNoQWN0aXZlIiwiX29iamVjdFNwcmVhZCIsIm5vZGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc3RyZWFtQWN0aXZpdHlNZXNzYWdlcy5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UsXG4gIGNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UsXG4gIGNhblJvdGF0ZVN0cmVhbUFjdGl2aXR5UGhhc2UsXG4gIGdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSxcbiAgZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5LFxuICBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4LFxuICBnZXRUaGlua2luZ0xvYWRpbmdNZXNzYWdlLFxuICBnZXRUaGlua2luZ1N0cmVhbUFjdGl2aXR5LFxuICBnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHksXG4gIGlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQsXG4gIG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHksXG4gIG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eSxcbiAgcmVzb2x2ZUhpdGxOb2RlU3RyZWFtQWN0aXZpdHksXG4gIHJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5LFxuICByZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXksXG4gIHJlc29sdmVUb29sQWN0aW9uTGFiZWwsXG4gIHJlc29sdmVUb29sU3RlcFBhc3RMYWJlbCxcbiAgc3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQsXG59IGZyb20gJy4vc3RyZWFtQWN0aXZpdHlNZXNzYWdlcydcblxuY29uc3QgdCA9IChrZXk6IHN0cmluZykgPT4ga2V5XG5cbmRlc2NyaWJlKCdzdHJlYW1BY3Rpdml0eU1lc3NhZ2VzJywgKCkgPT4ge1xuICBkZXNjcmliZSgncmVzb2x2ZVRvb2xBY3Rpb25MYWJlbCcsICgpID0+IHtcbiAgICBpdCgnbWFwcyBrbm93biB0b29scyBhbmQgcmV0dXJucyBudWxsIGZvciB1bmtub3duIG9uZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QocmVzb2x2ZVRvb2xBY3Rpb25MYWJlbCgnY3JlYXRlX3Rhc2snLCB0LCAncHJlc2VudCcpKS50b0JlKCdjaGF0LmFjdGl2aXR5LmFjdGlvbnMuY3JlYXRlVGFzay5wcmVzZW50JylcbiAgICAgIGV4cGVjdChyZXNvbHZlVG9vbEFjdGlvbkxhYmVsKCdhc3NpZ24nLCB0LCAncGFzdCcpKS50b0JlKCdjaGF0LmFjdGl2aXR5LmFjdGlvbnMuYXNzaWduVXNlci5wYXN0JylcbiAgICAgIGV4cGVjdChyZXNvbHZlVG9vbEFjdGlvbkxhYmVsKCd1bmtub3duX3Rvb2wnLCB0LCAncHJlc2VudCcpKS50b0JlTnVsbCgpXG4gICAgICBleHBlY3QocmVzb2x2ZVRvb2xBY3Rpb25MYWJlbCgnZGVsZXRlX2hvdXInLCB0LCAncHJlc2VudCcpKS50b0JlKCdjaGF0LmFjdGl2aXR5LmFjdGlvbnMuZGVsZXRlSG91cnMucHJlc2VudCcpXG4gICAgICBleHBlY3QocmVzb2x2ZVRvb2xBY3Rpb25MYWJlbCgnZWRpdF9ob3VyJywgdCwgJ3Bhc3QnKSkudG9CZSgnY2hhdC5hY3Rpdml0eS5hY3Rpb25zLmVkaXRIb3Vycy5wYXN0JylcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCdtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5JywgKCkgPT4ge1xuICAgIGl0KCd1c2VzIHRoZSBkaWN0aW9uYXJ5IG9yIGEgZmFsbGJhY2snLCAoKSA9PiB7XG4gICAgICBleHBlY3QobWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSgnZWRpdF90YXNrJywgdCkpLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ2FjdGlvbicsXG4gICAgICAgIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LmFjdGlvbnMuZWRpdFRhc2sucHJlc2VudCcsXG4gICAgICB9KVxuICAgICAgZXhwZWN0KG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkoJ3Vua25vd25fdG9vbCcsIHQsIHsgdXNlUmVzdW1pbmdGYWxsYmFjazogdHJ1ZSB9KSkudG9FcXVhbCh7XG4gICAgICAgIHBoYXNlOiAnYWN0aW9uJyxcbiAgICAgICAgbWVzc2FnZTogJ2NoYXQuYWN0aXZpdHkucmVzdW1pbmdBY3Rpb24nLFxuICAgICAgfSlcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCdtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHknLCAoKSA9PiB7XG4gICAgaXQoJ21hcHMgZmlsZSBnZW5lcmF0aW9uIGFuZCB3ZWIgc2VhcmNoIHBocmFzZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QobWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5KCdHZW5lcmF0aW5nIGZpbGUgbm93JywgdCkubWVzc2FnZSkudG9CZSgnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nRmlsZScpXG4gICAgICBleHBlY3QobWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5KCdzZWFyY2hpbmcgdGhlIHdlYicsIHQpKS50b0VxdWFsKHtcbiAgICAgICAgcGhhc2U6ICdzZWFyY2gnLFxuICAgICAgICBtZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS5zZWFyY2guc2Nhbm5pbmcnLFxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgaXQoJ2tlZXBzIGEgcmVhZGFibGUgbm9kZSBtZXNzYWdlIGFuZCBoaWRlcyByYXcgdG9vbCBuYW1lcycsICgpID0+IHtcbiAgICAgIGV4cGVjdChtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkoJ1JldmlzYW5kbyBlbCBwcm95ZWN0bycsIHQpKS50b0VxdWFsKHtcbiAgICAgICAgcGhhc2U6ICdhY3Rpb24nLFxuICAgICAgICBtZXNzYWdlOiAnUmV2aXNhbmRvIGVsIHByb3llY3RvJyxcbiAgICAgIH0pXG4gICAgICBleHBlY3QobWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5KCdmb29fYmFyX3Vua25vd24nLCB0KS5tZXNzYWdlKS50b0JlKCdjaGF0LmV4ZWN1dGluZ0FjdGlvbicpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgnYWN0aXZpdHkgcm90YXRpb24gYW5kIHBsYWNlaG9sZGVycycsICgpID0+IHtcbiAgICBpdCgncmV0dXJucyB0aGUgbWVzc2FnZSBmb3IgYSBwaGFzZSBpbmRleCBhbmQga25vd3Mgd2hlbiBpdCBjYW4gYWR2YW5jZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KCd0aGlua2luZycsIDAsIHQpKS50b0JlKCdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLmFuYWx5emluZycpXG4gICAgICBleHBlY3QoY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSgndGhpbmtpbmcnLCAwKSkudG9CZSh0cnVlKVxuICAgICAgZXhwZWN0KGNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UoJ3RoaW5raW5nJywgMikpLnRvQmUoZmFsc2UpXG4gICAgfSlcblxuICAgIGl0KCdwaWNrcyB0aGUgaW5pdGlhbCBwaGFzZSBmcm9tIHNlYXJjaCwgYXR0YWNobWVudHMgb3IgZ2VuZXJhdGluZycsICgpID0+IHtcbiAgICAgIGV4cGVjdChnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkodCwgeyBpc1dlYlNlYXJjaEFjdGl2ZTogdHJ1ZSB9KS5waGFzZSkudG9CZSgnc2VhcmNoJylcbiAgICAgIGV4cGVjdChnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkodCwgeyBoYXNBdHRhY2htZW50czogdHJ1ZSwgYXR0YWNobWVudHNDb3VudDogMiB9KS5waGFzZSkudG9CZSgnYXR0YWNobWVudCcpXG4gICAgICBleHBlY3QoZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5KHQsIHt9KSkudG9FcXVhbCh7XG4gICAgICAgIHBoYXNlOiAnZ2VuZXJhdGluZycsXG4gICAgICAgIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcuY29uc2lkZXJpbmcnLFxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgaXQoJ2J1aWxkcyBhbmQgZGV0ZWN0cyBzdHJlYW1pbmcgcGxhY2Vob2xkZXIgaWRzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHN0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkKCdhYmMnKSkudG9CZSgnYW5zd2VyLWFiYy1zdHJlYW1pbmcnKVxuICAgICAgZXhwZWN0KGlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQoJ2Fuc3dlci1hYmMtc3RyZWFtaW5nJykpLnRvQmUodHJ1ZSlcbiAgICAgIGV4cGVjdChpc1N0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkKCdhbnN3ZXItYWJjJykpLnRvQmUoZmFsc2UpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgnSElUTCBzdHJlYW0gYWN0aXZpdHknLCAoKSA9PiB7XG4gICAgaXQoJ3Jlc29sdmVzIGluaXRpYWwgYWN0aXZpdHkgZnJvbSBwZW5kaW5nIGFjdGlvbnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5KHQsIHtcbiAgICAgICAgICBwZW5kaW5nQWN0aW9uczogW3sgdG9vbF9uYW1lOiAnZWRpdF90YXNrJywgdGhyZWFkX2lkOiAndDEnLCB0b29sX2NhbGxfaWQ6ICdjMScsIHRvb2xfYXJnczoge30gfV0sXG4gICAgICAgIH0pXG4gICAgICApLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ2FjdGlvbicsXG4gICAgICAgIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LmFjdGlvbnMuZWRpdFRhc2sucHJlc2VudCcsXG4gICAgICB9KVxuXG4gICAgICBleHBlY3QocmVzb2x2ZUluaXRpYWxIaXRsU3RyZWFtQWN0aXZpdHkodCwge30pKS50b0VxdWFsKHtcbiAgICAgICAgcGhhc2U6ICdwcm9jZXNzaW5nJyxcbiAgICAgICAgbWVzc2FnZTogJ2NoYXQucHJvY2Vzc2luZycsXG4gICAgICB9KVxuICAgIH0pXG5cbiAgICBpdCgncHJlZmVycyByZWFkYWJsZSBub2RlIG1lc3NhZ2VzIHdoZW4gdG9vbHMgYXJlIGRldGVjdGVkJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICByZXNvbHZlSGl0bE5vZGVTdHJlYW1BY3Rpdml0eSgnUmV2aXNhbmRvIGRhdG9zJywgdCwge1xuICAgICAgICAgIHBlbmRpbmdBY3Rpb25zOiBbeyB0b29sX25hbWU6ICdlZGl0X3Rhc2snLCB0aHJlYWRfaWQ6ICd0MScsIHRvb2xfY2FsbF9pZDogJ2MxJywgdG9vbF9hcmdzOiB7fSB9XSxcbiAgICAgICAgfSlcbiAgICAgICkudG9FcXVhbCh7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogJ1JldmlzYW5kbyBkYXRvcycgfSlcbiAgICB9KVxuXG4gICAgaXQoJ21hcHMgdG9vbCBuYW1lcyB3aGVuIHRoZSBub2RlIG1lc3NhZ2UgaXMgcmF3JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICByZXNvbHZlSGl0bE5vZGVTdHJlYW1BY3Rpdml0eSgnZWRpdF90YXNrJywgdCwge1xuICAgICAgICAgIHBlbmRpbmdBY3Rpb25zOiBbeyB0b29sX25hbWU6ICdlZGl0X3Rhc2snLCB0aHJlYWRfaWQ6ICd0MScsIHRvb2xfY2FsbF9pZDogJ2MxJywgdG9vbF9hcmdzOiB7fSB9XSxcbiAgICAgICAgfSlcbiAgICAgICkudG9FcXVhbCh7XG4gICAgICAgIHBoYXNlOiAnYWN0aW9uJyxcbiAgICAgICAgbWVzc2FnZTogJ2NoYXQuYWN0aXZpdHkuYWN0aW9ucy5lZGl0VGFzay5wcmVzZW50JyxcbiAgICAgIH0pXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgncm90YXRpb24gaGVscGVycycsICgpID0+IHtcbiAgICBpdCgnZXhwb3NlcyB0aGlua2luZyBhbmQgZ2VuZXJhdGluZyBsb2FkZXJzIGFuZCBhZHZhbmNlcyBpbmRpY2VzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGdldFRoaW5raW5nTG9hZGluZ01lc3NhZ2UoMSwgdCkpLnRvQmUoJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcucmV2aWV3aW5nJylcbiAgICAgIGV4cGVjdChnZXRHZW5lcmF0aW5nTG9hZGluZ01lc3NhZ2UoMCwgdCkpLnRvQmUoJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZy5jb25zaWRlcmluZycpXG4gICAgICBleHBlY3QoY2FuUm90YXRlU3RyZWFtQWN0aXZpdHlQaGFzZSgndGhpbmtpbmcnKSkudG9CZSh0cnVlKVxuICAgICAgZXhwZWN0KGNhblJvdGF0ZVN0cmVhbUFjdGl2aXR5UGhhc2UoJ3dyaXRpbmcnKSkudG9CZShmYWxzZSlcbiAgICAgIGV4cGVjdChnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkodCkpLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ3dyaXRpbmcnLFxuICAgICAgICBtZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS53cml0aW5nLmxhYmVsJyxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IGFkdmFuY2VkID0gYWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSh7IHBoYXNlOiAndGhpbmtpbmcnLCBtZXNzYWdlOiAnYScgfSwgMCwgdClcbiAgICAgIGV4cGVjdChhZHZhbmNlZD8ubmV4dEluZGV4KS50b0JlKDEpXG4gICAgICBleHBlY3QoYWR2YW5jZWQ/LmFjdGl2aXR5Lm1lc3NhZ2UpLnRvQmUoJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcucmV2aWV3aW5nJylcbiAgICB9KVxuXG4gICAgaXQoJ3JldHVybnMgcGFzdCB0ZW5zZSBsYWJlbHMgZm9yIGtub3duIHRvb2xzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHJlc29sdmVUb29sU3RlcFBhc3RMYWJlbCgnY3JlYXRlX3Rhc2snLCB0KSkudG9CZSgnY2hhdC5hY3Rpdml0eS5hY3Rpb25zLmNyZWF0ZVRhc2sucGFzdCcpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgncmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5JywgKCkgPT4ge1xuICAgIGNvbnN0IGJhc2UgPSB7XG4gICAgICBzdHJlYW1BY3Rpdml0eTogbnVsbCxcbiAgICAgIGxvYWRpbmdNZXNzYWdlOiBudWxsLFxuICAgICAgYWN0aXZlTG9hZGluZ3M6IHt9LFxuICAgICAgd2FpdGluZ1Jlc3BvbnNlOiBmYWxzZSxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBmYWxzZSxcbiAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogZmFsc2UsXG4gICAgICBoYXNBdHRhY2htZW50czogZmFsc2UsXG4gICAgICB0LFxuICAgIH1cblxuICAgIGl0KCdwcmVmZXJzIGFuIGV4cGxpY2l0IHN0cmVhbSBhY3Rpdml0eSBiZWZvcmUgdGhlIGZpcnN0IHRva2VuJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RyZWFtQWN0aXZpdHkgPSB7IHBoYXNlOiAnYWN0aW9uJyBhcyBjb25zdCwgbWVzc2FnZTogJ0NyZWFuZG8gdGFyZWEnIH1cbiAgICAgIGV4cGVjdChyZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkoeyAuLi5iYXNlLCBzdHJlYW1BY3Rpdml0eSB9KSkudG9FcXVhbChzdHJlYW1BY3Rpdml0eSlcbiAgICB9KVxuXG4gICAgaXQoJ3JldHVybnMgdGhlIGluaXRpYWwgZ2VuZXJhdGluZyBhY3Rpdml0eSB3aGlsZSB3YWl0aW5nJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHJlc29sdmVTdHJlYW1Mb2FkaW5nRGlzcGxheSh7IC4uLmJhc2UsIHdhaXRpbmdSZXNwb25zZTogdHJ1ZSB9KSkudG9FcXVhbCh7XG4gICAgICAgIHBoYXNlOiAnZ2VuZXJhdGluZycsXG4gICAgICAgIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcuY29uc2lkZXJpbmcnLFxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgaXQoJ21hcHMgYWN0aXZlIGxvYWRpbmdzIGFuZCBsb2FkaW5nIG1lc3NhZ2VzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICByZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkoe1xuICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgYWN0aXZlTG9hZGluZ3M6IHsgbm9kZTogJ1JldmlzYW5kbyBwcm95ZWN0bycgfSxcbiAgICAgICAgfSlcbiAgICAgICkudG9FcXVhbCh7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogJ1JldmlzYW5kbyBwcm95ZWN0bycgfSlcblxuICAgICAgZXhwZWN0KFxuICAgICAgICByZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkoe1xuICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgYWN0aXZlTG9hZGluZ3M6IHsgbm9kZTogJ2NoYXQucHJvY2Vzc2luZycgfSxcbiAgICAgICAgfSlcbiAgICAgICkudG9FcXVhbCh7IHBoYXNlOiAncHJvY2Vzc2luZycsIG1lc3NhZ2U6ICdjaGF0LnByb2Nlc3NpbmcnIH0pXG5cbiAgICAgIGV4cGVjdChcbiAgICAgICAgcmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5KHtcbiAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgIGxvYWRpbmdNZXNzYWdlOiAnY2hhdC53cml0aW5nJyxcbiAgICAgICAgfSlcbiAgICAgICkudG9FcXVhbCh7IHBoYXNlOiAnd3JpdGluZycsIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LndyaXRpbmcubGFiZWwnIH0pXG5cbiAgICAgIGV4cGVjdChcbiAgICAgICAgcmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5KHtcbiAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgIGxvYWRpbmdNZXNzYWdlOiAnY2hhdC5nZW5lcmF0aW5nV2ViU2VhcmNoJyxcbiAgICAgICAgfSlcbiAgICAgICkudG9FcXVhbCh7IHBoYXNlOiAnc2VhcmNoJywgbWVzc2FnZTogJ2NoYXQuYWN0aXZpdHkuc2VhcmNoLnNjYW5uaW5nJyB9KVxuICAgIH0pXG5cbiAgICBpdCgna2VlcHMgd3JpdGluZyB3aGVuIHRoZSBzdHJlYW0gaXMgY29tcG9zaW5nJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICByZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkoe1xuICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgc3RyZWFtQWN0aXZpdHk6IGdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSh0KSxcbiAgICAgICAgfSlcbiAgICAgICkudG9FcXVhbChnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkodCkpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgndGhpbmtpbmcgYW5kIHdyaXRpbmcgaW5kaWNhdG9yJywgKCkgPT4ge1xuICAgIGl0KCdleHBvc2VzIHRoaW5raW5nIGFuZCB3cml0aW5nIGxhYmVscyBmb3IgdGhlIGxpdmUgaW5kaWNhdG9yIGFmdGVyIHRoZSBmaXJzdCBzdHJlYW0gZXZlbnQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZ2V0VGhpbmtpbmdTdHJlYW1BY3Rpdml0eSh0KSkudG9FcXVhbCh7XG4gICAgICAgIHBoYXNlOiAndGhpbmtpbmcnLFxuICAgICAgICBtZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS50aGlua2luZy5sYWJlbCcsXG4gICAgICB9KVxuICAgICAgZXhwZWN0KGdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSh0KSkudG9FcXVhbCh7XG4gICAgICAgIHBoYXNlOiAnd3JpdGluZycsXG4gICAgICAgIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LndyaXRpbmcubGFiZWwnLFxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgaXQoJ3Jlc3VtZXMgSElUTCB3aXRoIHRoZSBwZW5kaW5nIHRvb2wgbGFiZWwgYmVmb3JlIHRoZSBmaXJzdCB0b2tlbicsICgpID0+IHtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgcmVzb2x2ZUluaXRpYWxIaXRsU3RyZWFtQWN0aXZpdHkodCwge1xuICAgICAgICAgIHBlbmRpbmdBY3Rpb25zOiBbeyB0b29sX25hbWU6ICdjcmVhdGVfdGFzaycsIHRvb2xfY2FsbF9pZDogJzEnLCB0b29sX2FyZ3M6IHt9LCB0aHJlYWRfaWQ6ICd0MScgfV0sXG4gICAgICAgIH0pXG4gICAgICApLnRvRXF1YWwoe1xuICAgICAgICBwaGFzZTogJ2FjdGlvbicsXG4gICAgICAgIG1lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LmFjdGlvbnMuY3JlYXRlVGFzay5wcmVzZW50JyxcbiAgICAgIH0pXG4gICAgfSlcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQ0VBLDRCQUE0QixFQUM1QkMsK0JBQStCLEVBQy9CQyw0QkFBNEIsRUFDNUJDLDJCQUEyQixFQUMzQkMsd0JBQXdCLEVBQ3hCQywrQkFBK0IsRUFDL0JDLHlCQUF5QixFQUN6QkMseUJBQXlCLEVBQ3pCQyx3QkFBd0IsRUFDeEJDLCtCQUErQixFQUMvQkMsK0JBQStCLEVBQy9CQyw4QkFBOEIsRUFDOUJDLDZCQUE2QixFQUM3QkMsZ0NBQWdDLEVBQ2hDQywyQkFBMkIsRUFDM0JDLHNCQUFzQixFQUN0QkMsd0JBQXdCLEVBQ3hCQyw2QkFBNkIsUUFDeEIsMEJBQTBCO0FBRWpDLElBQU1DLENBQUMsR0FBRyxTQUFKQSxDQUFDQSxDQUFJQyxHQUFXO0VBQUEsT0FBS0EsR0FBRztBQUFBO0FBRTlCQyxRQUFRLENBQUMsd0JBQXdCLEVBQUUsWUFBTTtFQUN2Q0EsUUFBUSxDQUFDLHdCQUF3QixFQUFFLFlBQU07SUFDdkNDLEVBQUUsQ0FBQyxvREFBb0QsRUFBRSxZQUFNO01BQzdEQyxNQUFNLENBQUNQLHNCQUFzQixDQUFDLGFBQWEsRUFBRUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUNLLElBQUksQ0FBQywwQ0FBMEMsQ0FBQztNQUM1R0QsTUFBTSxDQUFDUCxzQkFBc0IsQ0FBQyxRQUFRLEVBQUVHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDSyxJQUFJLENBQUMsdUNBQXVDLENBQUM7TUFDakdELE1BQU0sQ0FBQ1Asc0JBQXNCLENBQUMsY0FBYyxFQUFFRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQ00sUUFBUSxDQUFDLENBQUM7TUFDdkVGLE1BQU0sQ0FBQ1Asc0JBQXNCLENBQUMsYUFBYSxFQUFFRyxDQUFDLEVB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcor/maia-components",
3
- "version": "2.44.5-0",
3
+ "version": "2.44.5-1",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "repository": {