@projectcor/maia-components 2.11.63-3 → 2.11.63

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 (115) hide show
  1. package/lib/App.js +2 -6
  2. package/lib/components/atoms/Chip/Chip.js +15 -49
  3. package/lib/components/atoms/Chip/styles.js +3 -7
  4. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +3 -7
  5. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +2 -4
  6. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
  7. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
  8. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +11 -76
  9. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +14 -22
  10. package/lib/components/atoms/MAIAInput/MAIAInput.js +5 -8
  11. package/lib/components/atoms/icons/index.js +1 -4
  12. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +2 -2
  13. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +3 -3
  14. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +2 -2
  15. package/lib/components/molecules/AbmSection/index.js +1 -2
  16. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +2 -21
  17. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +4 -6
  18. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +5 -10
  19. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +24 -74
  20. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +13 -14
  21. package/lib/components/molecules/ChatAIModal/constants.js +2 -10
  22. package/lib/components/molecules/ChatFooter/ChatFooter.js +21 -105
  23. package/lib/components/molecules/ChatFooter/styles.js +2 -11
  24. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
  25. package/lib/components/molecules/Sidebar/Sidebar.js +32 -69
  26. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +11 -15
  27. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +56 -269
  28. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +4 -4
  29. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +2 -17
  30. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +2 -2
  31. package/lib/constants/config.js +1 -4
  32. package/lib/constants/maiaTaskPanelAccess.js +2 -2
  33. package/lib/context/global-context.js +1 -8
  34. package/lib/hooks/useAgentModel/useCreateAgent.js +10 -11
  35. package/lib/hooks/useAgentModel/useUpdateAgent.js +11 -12
  36. package/lib/hooks/useChatManager/useChatManager.js +19 -142
  37. package/lib/hooks/useChatMessages/useChatMessages.js +1 -1
  38. package/lib/hooks/useContextMentions.js +13 -61
  39. package/lib/hooks/useEntitySearch.js +142 -273
  40. package/lib/hooks/useMentionAllowedTypes.js +11 -55
  41. package/lib/hooks/useMentionPopover.js +30 -64
  42. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  43. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +7 -16
  44. package/lib/hooks/useProjectSearch.js +28 -4
  45. package/lib/hooks/useProjectSummaryConfig.js +3 -47
  46. package/lib/hooks/useRecentClientsSearch.js +34 -4
  47. package/lib/lang/br/index.js +3 -578
  48. package/lib/lang/en/index.js +3 -578
  49. package/lib/lang/es/index.js +3 -578
  50. package/lib/lang/fr/index.js +4 -310
  51. package/lib/services/maia/Agents/createAgent.js +1 -1
  52. package/lib/services/maia/Agents/getAgentById.js +2 -3
  53. package/lib/services/maia/Agents/getAgents.js +91 -68
  54. package/lib/services/maia/Agents/updateAgent.js +1 -1
  55. package/lib/services/maia/Chats/getChatsByUserId.js +9 -13
  56. package/lib/services/maia/Orchestrator/orchestrator.js +6 -15
  57. package/lib/services/utils/validateIsMaia.js +2 -2
  58. package/lib/types/Chat.js +1 -1
  59. package/lib/types/agent.js +1 -1
  60. package/lib/types/agentModal.js +1 -1
  61. package/lib/types/contextMention.js +1 -1
  62. package/lib/types/global.d.js +1 -1
  63. package/lib/utils/contextMentionIcons.js +1 -29
  64. package/lib/utils/hitlAnalytics.js +3 -3
  65. package/lib/utils/renderContextMentions.js +4 -9
  66. package/package.json +1 -1
  67. package/lib/components/atoms/icons/RocketIcon.js +0 -31
  68. package/lib/components/atoms/icons/SkillIcon.js +0 -30
  69. package/lib/components/atoms/icons/SkillsNavIcon.js +0 -27
  70. package/lib/components/atoms/icons/WrenchIcon.js +0 -42
  71. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.js +0 -522
  72. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.styles.js +0 -234
  73. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/catalog.js +0 -437
  74. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/index.js +0 -3
  75. package/lib/components/molecules/AbmSection/AbmSkillsSection.styles.js +0 -80
  76. package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.interface.js +0 -2
  77. package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.js +0 -722
  78. package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.styles.js +0 -165
  79. package/lib/components/molecules/AbmSection/AbmTriggersSection/index.js +0 -2
  80. package/lib/components/molecules/ChatAIMyRoutines/ChatAIMyRoutines.js +0 -486
  81. package/lib/components/molecules/ChatAIMyRoutines/ChatAIMyRoutines.styles.js +0 -184
  82. package/lib/components/molecules/ChatAIMyRoutines/index.js +0 -2
  83. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -357
  84. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -145
  85. package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
  86. package/lib/components/molecules/SchedulesPage/SchedulesPage.js +0 -610
  87. package/lib/components/molecules/SchedulesPage/index.js +0 -2
  88. package/lib/components/molecules/SkillsPage/SkillsPage.js +0 -708
  89. package/lib/components/molecules/SkillsPage/index.js +0 -2
  90. package/lib/components/molecules/maiaSectionModalStyles.js +0 -91
  91. package/lib/components/molecules/maiaSectionUiTokens.js +0 -31
  92. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -160
  93. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
  94. package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
  95. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -446
  96. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -98
  97. package/lib/components/organisms/AbmSkillModal/index.js +0 -2
  98. package/lib/dev/DevAbmAgentModal.js +0 -114
  99. package/lib/dev/mocks/abmModalMocks.js +0 -193
  100. package/lib/hooks/useContextPinPopover.js +0 -228
  101. package/lib/services/maia/Agents/connectors.js +0 -110
  102. package/lib/services/maia/Agents/skills.js +0 -164
  103. package/lib/services/maia/Schedules/createSchedule.js +0 -39
  104. package/lib/services/maia/Schedules/deleteSchedule.js +0 -36
  105. package/lib/services/maia/Schedules/getMySchedules.js +0 -55
  106. package/lib/services/maia/Schedules/getSchedules.js +0 -58
  107. package/lib/services/maia/Schedules/index.js +0 -5
  108. package/lib/services/maia/Skills/createSkill.js +0 -39
  109. package/lib/services/maia/Skills/deleteSkill.js +0 -38
  110. package/lib/services/maia/Skills/generateSkill.js +0 -41
  111. package/lib/services/maia/Skills/getSkills.js +0 -90
  112. package/lib/services/maia/Skills/updateSkill.js +0 -39
  113. package/lib/types/agentSkill.js +0 -2
  114. package/lib/types/attachment.js +0 -2
  115. package/lib/types/skill.js +0 -2
@@ -36,4 +36,4 @@ export var createAgent = /*#__PURE__*/function () {
36
36
  return _ref.apply(this, arguments);
37
37
  };
38
38
  }();
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJjcmVhdGVBZ2VudCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImFnZW50IiwicmVzcG9uc2UiLCJkYXRhIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJwYXRoIiwibWV0aG9kIiwiYm9keSIsInNlbnQiLCJvayIsIkVycm9yIiwianNvbiIsImFicnVwdCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvQWdlbnRzL2NyZWF0ZUFnZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcblxuZXhwb3J0IHR5cGUgQWdlbnRDcmVhdGVSZXF1ZXN0ID0ge1xuICBuYW1lOiBzdHJpbmdcbiAgZW1vamk6IHN0cmluZ1xuICBpbnRyb2R1Y3Rpb246IHN0cmluZ1xuICBpbnB1dF9wbGFjZWhvbGRlcjogc3RyaW5nXG4gIHVzZXJfcHJvbXB0OiBzdHJpbmdcbiAgbGFuZ3VhZ2U/OiBzdHJpbmdcbiAgcHJvdmlkZXI/OiBzdHJpbmdcbiAgbW9kZWxfbmFtZTogc3RyaW5nXG4gIHRvb2xfZ3JvdXBfc2x1Z3M/OiBzdHJpbmdbXVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlQWdlbnQgPSBhc3luYyAoYWdlbnQ6IEFnZW50Q3JlYXRlUmVxdWVzdCkgPT4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgcGF0aDogJ2FnZW50cycsXG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgYm9keTogYWdlbnQsXG4gIH0pXG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSBhZ2VudCcpXG4gIH1cblxuICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG5cbiAgcmV0dXJuIGRhdGFcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxTQUFTLFFBQVEsV0FBVztBQWNyQyxPQUFPLElBQU1DLFdBQVc7RUFBQSxJQUFBQyxJQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBQyxRQUFPQyxLQUF5QjtJQUFBLElBQUFDLFFBQUEsRUFBQUMsSUFBQTtJQUFBLE9BQUFMLG1CQUFBLENBQUFNLElBQUEsV0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1FBQUE7VUFBQUYsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FDbENiLFNBQVMsQ0FBQztZQUMvQmMsSUFBSSxFQUFFLFFBQVE7WUFDZEMsTUFBTSxFQUFFLE1BQU07WUFDZEMsSUFBSSxFQUFFVDtVQUNSLENBQUMsQ0FBQztRQUFBO1VBSklDLFFBQVEsR0FBQUcsUUFBQSxDQUFBTSxJQUFBO1VBQUEsSUFNVFQsUUFBUSxDQUFDVSxFQUFFO1lBQUFQLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQSxNQUNSLElBQUlNLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQztRQUFBO1VBQUFSLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BR3hCTCxRQUFRLENBQUNZLElBQUksQ0FBQyxDQUFDO1FBQUE7VUFBNUJYLElBQUksR0FBQUUsUUFBQSxDQUFBTSxJQUFBO1VBQUEsT0FBQU4sUUFBQSxDQUFBVSxNQUFBLFdBRUhaLElBQUk7UUFBQTtRQUFBO1VBQUEsT0FBQUUsUUFBQSxDQUFBVyxJQUFBO01BQUE7SUFBQSxHQUFBaEIsT0FBQTtFQUFBLENBQ1o7RUFBQSxnQkFkWUwsV0FBV0EsQ0FBQXNCLEVBQUE7SUFBQSxPQUFBckIsSUFBQSxDQUFBc0IsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQWN2QiIsImlnbm9yZUxpc3QiOltdfQ==
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJjcmVhdGVBZ2VudCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImFnZW50IiwicmVzcG9uc2UiLCJkYXRhIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJwYXRoIiwibWV0aG9kIiwiYm9keSIsInNlbnQiLCJvayIsIkVycm9yIiwianNvbiIsImFicnVwdCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvQWdlbnRzL2NyZWF0ZUFnZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcblxuZXhwb3J0IHR5cGUgQWdlbnRDcmVhdGVSZXF1ZXN0ID0ge1xuICBuYW1lOiBzdHJpbmdcbiAgZW1vamk6IHN0cmluZ1xuICBpbnRyb2R1Y3Rpb246IHN0cmluZ1xuICBpbnB1dF9wbGFjZWhvbGRlcjogc3RyaW5nXG4gIHVzZXJfcHJvbXB0OiBzdHJpbmdcbiAgbGFuZ3VhZ2U/OiBzdHJpbmdcbiAgcHJvdmlkZXI/OiBzdHJpbmdcbiAgbW9kZWxfbmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBZ2VudCA9IGFzeW5jIChhZ2VudDogQWdlbnRDcmVhdGVSZXF1ZXN0KSA9PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiAnYWdlbnRzJyxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBib2R5OiBhZ2VudCxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gY3JlYXRlIGFnZW50JylcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICByZXR1cm4gZGF0YVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsUUFBUSxXQUFXO0FBYXJDLE9BQU8sSUFBTUMsV0FBVztFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLEtBQXlCO0lBQUEsSUFBQUMsUUFBQSxFQUFBQyxJQUFBO0lBQUEsT0FBQUwsbUJBQUEsQ0FBQU0sSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUFBRixRQUFBLENBQUFFLElBQUE7VUFBQSxPQUNsQ2IsU0FBUyxDQUFDO1lBQy9CYyxJQUFJLEVBQUUsUUFBUTtZQUNkQyxNQUFNLEVBQUUsTUFBTTtZQUNkQyxJQUFJLEVBQUVUO1VBQ1IsQ0FBQyxDQUFDO1FBQUE7VUFKSUMsUUFBUSxHQUFBRyxRQUFBLENBQUFNLElBQUE7VUFBQSxJQU1UVCxRQUFRLENBQUNVLEVBQUU7WUFBQVAsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBLE1BQ1IsSUFBSU0sS0FBSyxDQUFDLHdCQUF3QixDQUFDO1FBQUE7VUFBQVIsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FHeEJMLFFBQVEsQ0FBQ1ksSUFBSSxDQUFDLENBQUM7UUFBQTtVQUE1QlgsSUFBSSxHQUFBRSxRQUFBLENBQUFNLElBQUE7VUFBQSxPQUFBTixRQUFBLENBQUFVLE1BQUEsV0FFSFosSUFBSTtRQUFBO1FBQUE7VUFBQSxPQUFBRSxRQUFBLENBQUFXLElBQUE7TUFBQTtJQUFBLEdBQUFoQixPQUFBO0VBQUEsQ0FDWjtFQUFBLGdCQWRZTCxXQUFXQSxDQUFBc0IsRUFBQTtJQUFBLE9BQUFyQixJQUFBLENBQUFzQixLQUFBLE9BQUFDLFNBQUE7RUFBQTtBQUFBLEdBY3ZCIiwiaWdub3JlTGlzdCI6W119
@@ -44,8 +44,7 @@ export var parseAgentDetailResponse = function parseAgentDetailResponse(values)
44
44
  access: values.access,
45
45
  clients: values.clients,
46
46
  is_favorite: values.is_favorite,
47
- isActive: (_values$is_active = values.is_active) !== null && _values$is_active !== void 0 ? _values$is_active : values.isActive,
48
- toolGroupSlugs: values.tool_group_slugs || []
47
+ isActive: (_values$is_active = values.is_active) !== null && _values$is_active !== void 0 ? _values$is_active : values.isActive
49
48
  };
50
49
  };
51
50
  /**
@@ -158,4 +157,4 @@ export var useGetAgentById = function useGetAgentById() {
158
157
  handleCleanAgent: handleCleanAgent
159
158
  };
160
159
  };
161
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiZmV0Y2hNYWlhIiwicGFyc2VBZ2VudERldGFpbFJlc3BvbnNlIiwidmFsdWVzIiwiX3ZhbHVlcyRpc19hY3RpdmUiLCJjb21wYW55SWQiLCJjb21wYW55X2lkIiwiY3JlYXRlZEJ5IiwiY3JlYXRlZF9ieSIsImVtb2ppIiwiaGFzQXBpS2V5IiwiaGFzX2FwaV9rZXkiLCJpZCIsIlN0cmluZyIsImlucHV0UGxhY2Vob2xkZXIiLCJpbnB1dF9wbGFjZWhvbGRlciIsImludHJvZHVjdGlvbiIsImtub3dsZWRnZUJhc2VzIiwia25vd2xlZGdlX2Jhc2VzIiwibW9kZWxBaUlkIiwibW9kZWxfYWlfaWQiLCJtb2RlbERpc3BsYXlOYW1lIiwibW9kZWxfZGlzcGxheV9uYW1lIiwibmFtZSIsInR5cGUiLCJ1c2VyUHJvbXB0IiwidXNlcl9wcm9tcHQiLCJhY2Nlc3MiLCJjbGllbnRzIiwiaXNfZmF2b3JpdGUiLCJpc0FjdGl2ZSIsImlzX2FjdGl2ZSIsInRvb2xHcm91cFNsdWdzIiwidG9vbF9ncm91cF9zbHVncyIsInVzZUdldEFnZW50QnlJZCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFnZW50Iiwic2V0QWdlbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiYWJvcnRDb250cm9sbGVyUmVmIiwiaGFuZGxlR2V0QWdlbnRCeUlkIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwic2lnbmFsIiwicmVzcG9uc2UiLCJkYXRhIiwiZXJyb3JNZXNzYWdlIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImN1cnJlbnQiLCJhYm9ydCIsIkFib3J0Q29udHJvbGxlciIsIkVycm9yIiwicGF0aCIsImNvbmNhdCIsIm1ldGhvZCIsInNlbnQiLCJvayIsInN0YXR1cyIsImpzb24iLCJhYnJ1cHQiLCJtZXNzYWdlIiwiY29uc29sZSIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlQ2xlYW5BZ2VudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL0FnZW50cy9nZXRBZ2VudEJ5SWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VSZWYsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuLyoqXG5jb25zdCBwYXJzZWRWYWx1ZXMgPSAodmFsdWVzOiBBZ2VudCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGNvbXBhbnlfaWQ6IHZhbHVlcy5jb21wYW55X2lkLFxuICAgIGNyZWF0ZWRfYnk6IHZhbHVlcy5jcmVhdGVkX2J5LFxuICAgIGVtb2ppOiB2YWx1ZXMuZW1vamksXG4gICAgaGFzX2FwaV9rZXk6IHZhbHVlcy5oYXNfYXBpX2tleSxcbiAgICBpZDogdmFsdWVzLmlkLFxuICAgIGlucHV0X3BsYWNlaG9sZGVyOiB2YWx1ZXMuaW5wdXRfcGxhY2Vob2xkZXIsXG4gICAgaW50cm9kdWN0aW9uOiB2YWx1ZXMuaW50cm9kdWN0aW9uLFxuICAgIGtub3dsZWRnZV9iYXNlczogdmFsdWVzLmtub3dsZWRnZV9iYXNlcyxcbiAgICBtb2RlbF9haV9pZDogdmFsdWVzLm1vZGVsX2FpX2lkLFxuICAgIG1vZGVsX2Rpc3BsYXlfbmFtZTogdmFsdWVzLm1vZGVsX2Rpc3BsYXlfbmFtZSxcbiAgICBuYW1lOiB2YWx1ZXMubmFtZSxcbiAgICB0eXBlOiB2YWx1ZXMudHlwZSxcbiAgICB1c2VyX3Byb21wdDogdmFsdWVzLnVzZXJfcHJvbXB0LFxuICB9XG59XG4qL1xuLyoqIE1pc21hIGZvcm1hIHF1ZSBjb25zdW1lIEFibUFnZW50TW9kYWwgLyB1c2VHZXRBZ2VudEJ5SWQgKGNhbWVsQ2FzZSArIGtub3dsZWRnZV9iYXNlcyBzaW4gdHJhbnNmb3JtYXIpLiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlQWdlbnREZXRhaWxSZXNwb25zZSA9ICh2YWx1ZXM6IGFueSkgPT4ge1xuICBpZiAoIXZhbHVlcykgcmV0dXJuIHZhbHVlc1xuICByZXR1cm4ge1xuICAgIGNvbXBhbnlJZDogdmFsdWVzLmNvbXBhbnlfaWQsXG4gICAgY3JlYXRlZEJ5OiB2YWx1ZXMuY3JlYXRlZF9ieSxcbiAgICBlbW9qaTogdmFsdWVzLmVtb2ppLFxuICAgIGhhc0FwaUtleTogdmFsdWVzLmhhc19hcGlfa2V5LFxuICAgIGlkOiB2YWx1ZXMuaWQgIT0gbnVsbCA/IFN0cmluZyh2YWx1ZXMuaWQpIDogdmFsdWVzLmlkLFxuICAgIGlucHV0UGxhY2Vob2xkZXI6IHZhbHVlcy5pbnB1dF9wbGFjZWhvbGRlcixcbiAgICBpbnRyb2R1Y3Rpb246IHZhbHVlcy5pbnRyb2R1Y3Rpb24sXG4gICAga25vd2xlZGdlQmFzZXM6IHZhbHVlcy5rbm93bGVkZ2VfYmFzZXMsXG4gICAgbW9kZWxBaUlkOiB2YWx1ZXMubW9kZWxfYWlfaWQsXG4gICAgbW9kZWxEaXNwbGF5TmFtZTogdmFsdWVzLm1vZGVsX2Rpc3BsYXlfbmFtZSxcbiAgICBuYW1lOiB2YWx1ZXMubmFtZSxcbiAgICB0eXBlOiB2YWx1ZXMudHlwZSxcbiAgICB1c2VyUHJvbXB0OiB2YWx1ZXMudXNlcl9wcm9tcHQsXG4gICAgYWNjZXNzOiB2YWx1ZXMuYWNjZXNzLFxuICAgIGNsaWVudHM6IHZhbHVlcy5jbGllbnRzLFxuICAgIGlzX2Zhdm9yaXRlOiB2YWx1ZXMuaXNfZmF2b3JpdGUsXG4gICAgaXNBY3RpdmU6IHZhbHVlcy5pc19hY3RpdmUgPz8gdmFsdWVzLmlzQWN0aXZlLFxuICAgIHRvb2xHcm91cFNsdWdzOiB2YWx1ZXMudG9vbF9ncm91cF9zbHVncyB8fCBbXSxcbiAgfVxufVxuLyoqXG4gKiBIb29rIHRvIGdldCB0aGUgYWdlbnQgbW9kZWxzXG4gKiBAcmV0dXJucyB7T2JqZWN0fSAtIE9iamVjdCB3aXRoIHRoZSBhZ2VudCBtb2RlbHMsIGxvYWRpbmcgc3RhdGUsIGVycm9yLCBhbmQgaGFuZGxlciBmdW5jdGlvblxuICovXG5leHBvcnQgY29uc3QgdXNlR2V0QWdlbnRCeUlkID0gKCkgPT4ge1xuICBjb25zdCBbYWdlbnQsIHNldEFnZW50XSA9IHVzZVN0YXRlPGFueT4obnVsbClcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgYWJvcnRDb250cm9sbGVyUmVmID0gdXNlUmVmPEFib3J0Q29udHJvbGxlciB8IG51bGw+KG51bGwpXG5cbiAgY29uc3QgaGFuZGxlR2V0QWdlbnRCeUlkID0gdXNlQ2FsbGJhY2soYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGFib3J0Q29udHJvbGxlclJlZi5jdXJyZW50LmFib3J0KClcbiAgICB9XG5cbiAgICBhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudCA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKVxuICAgIGlmICghYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGNyZWF0ZSBBYm9ydENvbnRyb2xsZXInKVxuICAgIH1cbiAgICBjb25zdCB7IHNpZ25hbCB9ID0gYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnRcblxuICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICBzZXRFcnJvcihudWxsKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgcGF0aDogYGFnZW50cy8ke2lkfWAsXG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIHNpZ25hbCxcbiAgICAgIH0pXG5cbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZXNwb25zZSBmb3JtYXQgZnJvbSBzZXJ2ZXInKVxuICAgICAgfVxuXG4gICAgICBzZXRBZ2VudChwYXJzZUFnZW50RGV0YWlsUmVzcG9uc2UoZGF0YSkgYXMgYW55KVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yICYmIGVyci5uYW1lID09PSAnQWJvcnRFcnJvcicpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCdcbiAgICAgIHNldEVycm9yKGVycm9yTWVzc2FnZSlcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIGFnZW50IG1vZGVsczonLCBlcnIpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudCA9IG51bGxcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudCkge1xuICAgICAgICBhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudC5hYm9ydCgpXG4gICAgICB9XG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVDbGVhbkFnZW50ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEFnZW50KG51bGwpXG4gIH0sIFtdKVxuXG4gIHJldHVybiB7XG4gICAgYWdlbnQsXG4gICAgbG9hZGluZyxcbiAgICBlcnJvcixcbiAgICBoYW5kbGVHZXRBZ2VudEJ5SWQsXG4gICAgaGFuZGxlQ2xlYW5BZ2VudCxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQ2hFLFNBQVNDLFNBQVMsUUFBUSxXQUFXO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUlDLE1BQVcsRUFBSztFQUFBLElBQUFDLGlCQUFBO0VBQ3ZELElBQUksQ0FBQ0QsTUFBTSxFQUFFLE9BQU9BLE1BQU07RUFDMUIsT0FBTztJQUNMRSxTQUFTLEVBQUVGLE1BQU0sQ0FBQ0csVUFBVTtJQUM1QkMsU0FBUyxFQUFFSixNQUFNLENBQUNLLFVBQVU7SUFDNUJDLEtBQUssRUFBRU4sTUFBTSxDQUFDTSxLQUFLO0lBQ25CQyxTQUFTLEVBQUVQLE1BQU0sQ0FBQ1EsV0FBVztJQUM3QkMsRUFBRSxFQUFFVCxNQUFNLENBQUNTLEVBQUUsSUFBSSxJQUFJLEdBQUdDLE1BQU0sQ0FBQ1YsTUFBTSxDQUFDUyxFQUFFLENBQUMsR0FBR1QsTUFBTSxDQUFDUyxFQUFFO0lBQ3JERSxnQkFBZ0IsRUFBRVgsTUFBTSxDQUFDWSxpQkFBaUI7SUFDMUNDLFlBQVksRUFBRWIsTUFBTSxDQUFDYSxZQUFZO0lBQ2pDQyxjQUFjLEVBQUVkLE1BQU0sQ0FBQ2UsZUFBZTtJQUN0Q0MsU0FBUyxFQUFFaEIsTUFBTSxDQUFDaUIsV0FBVztJQUM3QkMsZ0JBQWdCLEVBQUVsQixNQUFNLENBQUNtQixrQkFBa0I7SUFDM0NDLElBQUksRUFBRXBCLE1BQU0sQ0FBQ29CLElBQUk7SUFDakJDLElBQUksRUFBRXJCLE1BQU0sQ0FBQ3FCLElBQUk7SUFDakJDLFVBQVUsRUFBRXRCLE1BQU0sQ0FBQ3VCLFdBQVc7SUFDOUJDLE1BQU0sRUFBRXhCLE1BQU0sQ0FBQ3dCLE1BQU07SUFDckJDLE9BQU8sRUFBRXpCLE1BQU0sQ0FBQ3lCLE9BQU87SUFDdkJDLFdBQVcsRUFBRTFCLE1BQU0sQ0FBQzBCLFdBQVc7SUFDL0JDLFFBQVEsR0FBQTFCLGlCQUFBLEdBQUVELE1BQU0sQ0FBQzRCLFNBQVMsY0FBQTNCLGlCQUFBLGNBQUFBLGlCQUFBLEdBQUlELE1BQU0sQ0FBQzJCLFFBQVE7SUFDN0NFLGNBQWMsRUFBRTdCLE1BQU0sQ0FBQzhCLGdCQUFnQixJQUFJO0VBQzdDLENBQUM7QUFDSCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBQSxFQUFTO0VBQ25DLElBQUFDLFNBQUEsR0FBMEJ0QyxRQUFRLENBQU0sSUFBSSxDQUFDO0lBQUF1QyxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUF0Q0csS0FBSyxHQUFBRixVQUFBO0lBQUVHLFFBQVEsR0FBQUgsVUFBQTtFQUN0QixJQUFBSSxVQUFBLEdBQThCM0MsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBNEMsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBdENFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7RUFDMUIsSUFBQUcsVUFBQSxHQUEwQi9DLFFBQVEsQ0FBZ0IsSUFBSSxDQUFDO0lBQUFnRCxVQUFBLEdBQUFSLGNBQUEsQ0FBQU8sVUFBQTtJQUFoREUsS0FBSyxHQUFBRCxVQUFBO0lBQUVFLFFBQVEsR0FBQUYsVUFBQTtFQUN0QixJQUFNRyxrQkFBa0IsR0FBR2pELE1BQU0sQ0FBeUIsSUFBSSxDQUFDO0VBRS9ELElBQU1rRCxrQkFBa0IsR0FBR25ELFdBQVc7SUFBQSxJQUFBb0QsSUFBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUMsU0FBQUMsUUFBTzFDLEVBQVU7TUFBQSxJQUFBMkMsTUFBQSxFQUFBQyxRQUFBLEVBQUFDLElBQUEsRUFBQUMsWUFBQSxFQUFBQyxFQUFBO01BQUEsT0FBQVAsbUJBQUEsQ0FBQVEsSUFBQSxXQUFBQyxRQUFBO1FBQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7VUFBQTtZQUN0RCxJQUFJZixrQkFBa0IsQ0FBQ2dCLE9BQU8sRUFBRTtjQUM5QmhCLGtCQUFrQixDQUFDZ0IsT0FBTyxDQUFDQyxLQUFLLENBQUMsQ0FBQztZQUNwQztZQUVBakIsa0JBQWtCLENBQUNnQixPQUFPLEdBQUcsSUFBSUUsZUFBZSxDQUFDLENBQUM7WUFBQSxJQUM3Q2xCLGtCQUFrQixDQUFDZ0IsT0FBTztjQUFBSCxRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQUEsTUFDdkIsSUFBSUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDO1VBQUE7WUFFN0NaLE1BQU0sR0FBS1Asa0JBQWtCLENBQUNnQixPQUFPLENBQXJDVCxNQUFNO1lBRWRaLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDaEJJLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFBQWMsUUFBQSxDQUFBQyxJQUFBO1lBQUFELFFBQUEsQ0FBQUUsSUFBQTtZQUFBLE9BR1c5RCxTQUFTLENBQUM7Y0FDL0JtRSxJQUFJLFlBQUFDLE1BQUEsQ0FBWXpELEVBQUUsQ0FBRTtjQUNwQjBELE1BQU0sRUFBRSxLQUFLO2NBQ2JmLE1BQU0sRUFBTkE7WUFDRixDQUFDLENBQUM7VUFBQTtZQUpJQyxRQUFRLEdBQUFLLFFBQUEsQ0FBQVUsSUFBQTtZQUFBLElBTVRmLFFBQVEsQ0FBQ2dCLEVBQUU7Y0FBQVgsUUFBQSxDQUFBRSxJQUFBO2NBQUE7WUFBQTtZQUFBLE1BQ1IsSUFBSUksS0FBSyx3QkFBQUUsTUFBQSxDQUF3QmIsUUFBUSxDQUFDaUIsTUFBTSxDQUFFLENBQUM7VUFBQTtZQUFBWixRQUFBLENBQUFFLElBQUE7WUFBQSxPQUd4Q1AsUUFBUSxDQUFDa0IsSUFBSSxDQUFDLENBQUM7VUFBQTtZQUE1QmpCLElBQUksR0FBQUksUUFBQSxDQUFBVSxJQUFBO1lBQUEsSUFFTGQsSUFBSTtjQUFBSSxRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQUEsTUFDRCxJQUFJSSxLQUFLLENBQUMscUNBQXFDLENBQUM7VUFBQTtZQUd4RDVCLFFBQVEsQ0FBQ3JDLHdCQUF3QixDQUFDdUQsSUFBSSxDQUFRLENBQUM7WUFBQUksUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFDLElBQUE7WUFBQUgsRUFBQSxHQUFBRSxRQUFBO1lBQUEsTUFFM0NGLEVBQUEsWUFBZVEsS0FBSyxJQUFJUixFQUFBLENBQUlwQyxJQUFJLEtBQUssWUFBWTtjQUFBc0MsUUFBQSxDQUFBRSxJQUFBO2NBQUE7WUFBQTtZQUFBLE9BQUFGLFFBQUEsQ0FBQWMsTUFBQTtVQUFBO1lBSS9DakIsWUFBWSxHQUFHQyxFQUFBLFlBQWVRLEtBQUssR0FBR1IsRUFBQSxDQUFJaUIsT0FBTyxHQUFHLDJCQUEyQjtZQUNyRjdCLFFBQVEsQ0FBQ1csWUFBWSxDQUFDO1lBQ3RCbUIsT0FBTyxDQUFDL0IsS0FBSyxDQUFDLDhCQUE4QixFQUFBYSxFQUFLLENBQUM7VUFBQTtZQUFBRSxRQUFBLENBQUFDLElBQUE7WUFFbERuQixVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ2pCSyxrQkFBa0IsQ0FBQ2dCLE9BQU8sR0FBRyxJQUFJO1lBQUEsT0FBQUgsUUFBQSxDQUFBaUIsTUFBQTtVQUFBO1VBQUE7WUFBQSxPQUFBakIsUUFBQSxDQUFBa0IsSUFBQTtRQUFBO01BQUEsR0FBQXpCLE9BQUE7SUFBQSxDQUVwQztJQUFBLGlCQUFBMEIsRUFBQTtNQUFBLE9BQUE5QixJQUFBLENBQUErQixLQUFBLE9BQUFDLFNBQUE7SUFBQTtFQUFBLEtBQUUsRUFBRSxDQUFDO0VBRU5sRixTQUFTLENBQUMsWUFBTTtJQUNkLE9BQU8sWUFBTTtNQUNYLElBQUlnRCxrQkFBa0IsQ0FBQ2dCLE9BQU8sRUFBRTtRQUM5QmhCLGtCQUFrQixDQUFDZ0IsT0FBTyxDQUFDQyxLQUFLLENBQUMsQ0FBQztNQUNwQztJQUNGLENBQUM7RUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBTWtCLGdCQUFnQixHQUFHckYsV0FBVyxDQUFDLFlBQU07SUFDekN5QyxRQUFRLENBQUMsSUFBSSxDQUFDO0VBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixPQUFPO0lBQ0xELEtBQUssRUFBTEEsS0FBSztJQUNMSSxPQUFPLEVBQVBBLE9BQU87SUFDUEksS0FBSyxFQUFMQSxLQUFLO0lBQ0xHLGtCQUFrQixFQUFsQkEsa0JBQWtCO0lBQ2xCa0MsZ0JBQWdCLEVBQWhCQTtFQUNGLENBQUM7QUFDSCxDQUFDIiwiaWdub3JlTGlzdCI6W119
160
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiZmV0Y2hNYWlhIiwicGFyc2VBZ2VudERldGFpbFJlc3BvbnNlIiwidmFsdWVzIiwiX3ZhbHVlcyRpc19hY3RpdmUiLCJjb21wYW55SWQiLCJjb21wYW55X2lkIiwiY3JlYXRlZEJ5IiwiY3JlYXRlZF9ieSIsImVtb2ppIiwiaGFzQXBpS2V5IiwiaGFzX2FwaV9rZXkiLCJpZCIsIlN0cmluZyIsImlucHV0UGxhY2Vob2xkZXIiLCJpbnB1dF9wbGFjZWhvbGRlciIsImludHJvZHVjdGlvbiIsImtub3dsZWRnZUJhc2VzIiwia25vd2xlZGdlX2Jhc2VzIiwibW9kZWxBaUlkIiwibW9kZWxfYWlfaWQiLCJtb2RlbERpc3BsYXlOYW1lIiwibW9kZWxfZGlzcGxheV9uYW1lIiwibmFtZSIsInR5cGUiLCJ1c2VyUHJvbXB0IiwidXNlcl9wcm9tcHQiLCJhY2Nlc3MiLCJjbGllbnRzIiwiaXNfZmF2b3JpdGUiLCJpc0FjdGl2ZSIsImlzX2FjdGl2ZSIsInVzZUdldEFnZW50QnlJZCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFnZW50Iiwic2V0QWdlbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiYWJvcnRDb250cm9sbGVyUmVmIiwiaGFuZGxlR2V0QWdlbnRCeUlkIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwic2lnbmFsIiwicmVzcG9uc2UiLCJkYXRhIiwiZXJyb3JNZXNzYWdlIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImN1cnJlbnQiLCJhYm9ydCIsIkFib3J0Q29udHJvbGxlciIsIkVycm9yIiwicGF0aCIsImNvbmNhdCIsIm1ldGhvZCIsInNlbnQiLCJvayIsInN0YXR1cyIsImpzb24iLCJhYnJ1cHQiLCJtZXNzYWdlIiwiY29uc29sZSIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlQ2xlYW5BZ2VudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL0FnZW50cy9nZXRBZ2VudEJ5SWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VSZWYsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuLyoqXG5jb25zdCBwYXJzZWRWYWx1ZXMgPSAodmFsdWVzOiBBZ2VudCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGNvbXBhbnlfaWQ6IHZhbHVlcy5jb21wYW55X2lkLFxuICAgIGNyZWF0ZWRfYnk6IHZhbHVlcy5jcmVhdGVkX2J5LFxuICAgIGVtb2ppOiB2YWx1ZXMuZW1vamksXG4gICAgaGFzX2FwaV9rZXk6IHZhbHVlcy5oYXNfYXBpX2tleSxcbiAgICBpZDogdmFsdWVzLmlkLFxuICAgIGlucHV0X3BsYWNlaG9sZGVyOiB2YWx1ZXMuaW5wdXRfcGxhY2Vob2xkZXIsXG4gICAgaW50cm9kdWN0aW9uOiB2YWx1ZXMuaW50cm9kdWN0aW9uLFxuICAgIGtub3dsZWRnZV9iYXNlczogdmFsdWVzLmtub3dsZWRnZV9iYXNlcyxcbiAgICBtb2RlbF9haV9pZDogdmFsdWVzLm1vZGVsX2FpX2lkLFxuICAgIG1vZGVsX2Rpc3BsYXlfbmFtZTogdmFsdWVzLm1vZGVsX2Rpc3BsYXlfbmFtZSxcbiAgICBuYW1lOiB2YWx1ZXMubmFtZSxcbiAgICB0eXBlOiB2YWx1ZXMudHlwZSxcbiAgICB1c2VyX3Byb21wdDogdmFsdWVzLnVzZXJfcHJvbXB0LFxuICB9XG59XG4qL1xuLyoqIE1pc21hIGZvcm1hIHF1ZSBjb25zdW1lIEFibUFnZW50TW9kYWwgLyB1c2VHZXRBZ2VudEJ5SWQgKGNhbWVsQ2FzZSArIGtub3dsZWRnZV9iYXNlcyBzaW4gdHJhbnNmb3JtYXIpLiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlQWdlbnREZXRhaWxSZXNwb25zZSA9ICh2YWx1ZXM6IGFueSkgPT4ge1xuICBpZiAoIXZhbHVlcykgcmV0dXJuIHZhbHVlc1xuICByZXR1cm4ge1xuICAgIGNvbXBhbnlJZDogdmFsdWVzLmNvbXBhbnlfaWQsXG4gICAgY3JlYXRlZEJ5OiB2YWx1ZXMuY3JlYXRlZF9ieSxcbiAgICBlbW9qaTogdmFsdWVzLmVtb2ppLFxuICAgIGhhc0FwaUtleTogdmFsdWVzLmhhc19hcGlfa2V5LFxuICAgIGlkOiB2YWx1ZXMuaWQgIT0gbnVsbCA/IFN0cmluZyh2YWx1ZXMuaWQpIDogdmFsdWVzLmlkLFxuICAgIGlucHV0UGxhY2Vob2xkZXI6IHZhbHVlcy5pbnB1dF9wbGFjZWhvbGRlcixcbiAgICBpbnRyb2R1Y3Rpb246IHZhbHVlcy5pbnRyb2R1Y3Rpb24sXG4gICAga25vd2xlZGdlQmFzZXM6IHZhbHVlcy5rbm93bGVkZ2VfYmFzZXMsXG4gICAgbW9kZWxBaUlkOiB2YWx1ZXMubW9kZWxfYWlfaWQsXG4gICAgbW9kZWxEaXNwbGF5TmFtZTogdmFsdWVzLm1vZGVsX2Rpc3BsYXlfbmFtZSxcbiAgICBuYW1lOiB2YWx1ZXMubmFtZSxcbiAgICB0eXBlOiB2YWx1ZXMudHlwZSxcbiAgICB1c2VyUHJvbXB0OiB2YWx1ZXMudXNlcl9wcm9tcHQsXG4gICAgYWNjZXNzOiB2YWx1ZXMuYWNjZXNzLFxuICAgIGNsaWVudHM6IHZhbHVlcy5jbGllbnRzLFxuICAgIGlzX2Zhdm9yaXRlOiB2YWx1ZXMuaXNfZmF2b3JpdGUsXG4gICAgaXNBY3RpdmU6IHZhbHVlcy5pc19hY3RpdmUgPz8gdmFsdWVzLmlzQWN0aXZlLFxuICB9XG59XG4vKipcbiAqIEhvb2sgdG8gZ2V0IHRoZSBhZ2VudCBtb2RlbHNcbiAqIEByZXR1cm5zIHtPYmplY3R9IC0gT2JqZWN0IHdpdGggdGhlIGFnZW50IG1vZGVscywgbG9hZGluZyBzdGF0ZSwgZXJyb3IsIGFuZCBoYW5kbGVyIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VHZXRBZ2VudEJ5SWQgPSAoKSA9PiB7XG4gIGNvbnN0IFthZ2VudCwgc2V0QWdlbnRdID0gdXNlU3RhdGU8YW55PihudWxsKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBhYm9ydENvbnRyb2xsZXJSZWYgPSB1c2VSZWY8QWJvcnRDb250cm9sbGVyIHwgbnVsbD4obnVsbClcblxuICBjb25zdCBoYW5kbGVHZXRBZ2VudEJ5SWQgPSB1c2VDYWxsYmFjayhhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgIGlmIChhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudCkge1xuICAgICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQuYWJvcnQoKVxuICAgIH1cblxuICAgIGFib3J0Q29udHJvbGxlclJlZi5jdXJyZW50ID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgaWYgKCFhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gY3JlYXRlIEFib3J0Q29udHJvbGxlcicpXG4gICAgfVxuICAgIGNvbnN0IHsgc2lnbmFsIH0gPSBhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudFxuXG4gICAgc2V0TG9hZGluZyh0cnVlKVxuICAgIHNldEVycm9yKG51bGwpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICBwYXRoOiBgYWdlbnRzLyR7aWR9YCxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgc2lnbmFsLFxuICAgICAgfSlcblxuICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgZXJyb3IhIHN0YXR1czogJHtyZXNwb25zZS5zdGF0dXN9YClcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlc3BvbnNlIGZvcm1hdCBmcm9tIHNlcnZlcicpXG4gICAgICB9XG5cbiAgICAgIHNldEFnZW50KHBhcnNlQWdlbnREZXRhaWxSZXNwb25zZShkYXRhKSBhcyBhbnkpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJ1xuICAgICAgc2V0RXJyb3IoZXJyb3JNZXNzYWdlKVxuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgYWdlbnQgbW9kZWxzOicsIGVycilcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIGFib3J0Q29udHJvbGxlclJlZi5jdXJyZW50ID0gbnVsbFxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGFib3J0Q29udHJvbGxlclJlZi5jdXJyZW50KSB7XG4gICAgICAgIGFib3J0Q29udHJvbGxlclJlZi5jdXJyZW50LmFib3J0KClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUNsZWFuQWdlbnQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0QWdlbnQobnVsbClcbiAgfSwgW10pXG5cbiAgcmV0dXJuIHtcbiAgICBhZ2VudCxcbiAgICBsb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIGhhbmRsZUdldEFnZW50QnlJZCxcbiAgICBoYW5kbGVDbGVhbkFnZW50LFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0EsU0FBU0EsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFDaEUsU0FBU0MsU0FBUyxRQUFRLFdBQVc7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUF3QkEsQ0FBSUMsTUFBVyxFQUFLO0VBQUEsSUFBQUMsaUJBQUE7RUFDdkQsSUFBSSxDQUFDRCxNQUFNLEVBQUUsT0FBT0EsTUFBTTtFQUMxQixPQUFPO0lBQ0xFLFNBQVMsRUFBRUYsTUFBTSxDQUFDRyxVQUFVO0lBQzVCQyxTQUFTLEVBQUVKLE1BQU0sQ0FBQ0ssVUFBVTtJQUM1QkMsS0FBSyxFQUFFTixNQUFNLENBQUNNLEtBQUs7SUFDbkJDLFNBQVMsRUFBRVAsTUFBTSxDQUFDUSxXQUFXO0lBQzdCQyxFQUFFLEVBQUVULE1BQU0sQ0FBQ1MsRUFBRSxJQUFJLElBQUksR0FBR0MsTUFBTSxDQUFDVixNQUFNLENBQUNTLEVBQUUsQ0FBQyxHQUFHVCxNQUFNLENBQUNTLEVBQUU7SUFDckRFLGdCQUFnQixFQUFFWCxNQUFNLENBQUNZLGlCQUFpQjtJQUMxQ0MsWUFBWSxFQUFFYixNQUFNLENBQUNhLFlBQVk7SUFDakNDLGNBQWMsRUFBRWQsTUFBTSxDQUFDZSxlQUFlO0lBQ3RDQyxTQUFTLEVBQUVoQixNQUFNLENBQUNpQixXQUFXO0lBQzdC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