@projectcor/maia-components 2.30.0 → 2.30.1-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +656 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +12 -1
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +127 -5
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +2 -19
- package/lib/components/atoms/MAIAInput/MAIAInput.js +192 -17
- package/lib/components/atoms/MAIAInput/styles.js +15 -11
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +208 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +77 -0
- package/lib/components/atoms/SkillsDropdown/index.js +2 -0
- package/lib/components/atoms/icons/PlusIcon.js +29 -0
- package/lib/components/atoms/icons/SkillCreatedByIcon.js +20 -0
- package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +23 -0
- package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +23 -0
- package/lib/components/atoms/icons/SkillsNavIcon.js +4 -7
- package/lib/components/atoms/icons/index.js +5 -1
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +91 -4
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +5 -3
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +49 -12
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +10 -5
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +312 -239
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +128 -104
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
- package/lib/components/molecules/Sidebar/Sidebar.js +5 -4
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +34 -5
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +8 -1
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +338 -185
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +122 -66
- package/lib/constants/config.js +1 -4
- package/lib/constants/permissions/utils.js +3 -3
- package/lib/hooks/useAgentModel/useCreateAgent.js +61 -14
- package/lib/hooks/useAgentModel/useUpdateAgent.js +58 -11
- package/lib/hooks/useContextMentions.js +93 -56
- package/lib/hooks/useEntitySearch.js +92 -278
- package/lib/hooks/useEvent.js +2 -1
- package/lib/hooks/useMentionAllowedTypes.js +9 -25
- package/lib/hooks/useMentionPopover.js +9 -33
- package/lib/hooks/useSkillsCatalog.js +66 -0
- package/lib/lang/br/index.js +41 -9
- package/lib/lang/en/index.js +41 -9
- package/lib/lang/es/index.js +42 -10
- package/lib/lang/fr/index.js +41 -9
- package/lib/services/maia/Agents/connectors.js +250 -0
- package/lib/services/maia/Skills/createSkill.js +1 -1
- package/lib/services/maia/Skills/getSkills.js +70 -40
- package/lib/services/maia/Skills/updateSkill.js +1 -1
- package/lib/types/agentModal.js +1 -1
- package/lib/types/skill.js +1 -1
- package/lib/utils/contextMentionTriggers.js +2 -5
- package/lib/utils/normalizeAgentConnectors.js +28 -3
- package/lib/utils/renderContextMentions.js +39 -18
- package/package.json +1 -1
- package/README.md +0 -2
|
@@ -45,7 +45,7 @@ import { SessionGeneratingDot } from '../../atoms/SessionGeneratingDot';
|
|
|
45
45
|
import { useIsSessionGenerating, useSessionMeta } from '../../../store/sessions/useSessionMeta';
|
|
46
46
|
import { useMaiaTaskPanelZIndex } from '../../../hooks/useMaiaTaskPanelZIndex';
|
|
47
47
|
import { SCLHCWrapper, SCLHCWrapperAgent, SCLHCWrapperAgentText, SCLHCWrapperButtonActions, SCLHCWrapperContent, SCLHCWrapperTitle, SCLHCWrapperTitleRow, SCSWrapperCollapsedButton, SCSWrapperNewChatIcon, SCSWrapperAgentsNavIcon } from './Sidebar.styles';
|
|
48
|
-
import { SCSSidebarRoot, SCSSidebarToolbar, SCSSidebarBody, SCSSidebarOpenPanel, SCSSidebarAgentsBlock, SCSSidebarAgentsActions, SCSSidebarMaiakerNavButton, SCSSidebarMaiakerNavLabel, SCSSidebarConversationsHeading, SCSSidebarConversationsHeadingRow, SCSSidebarUnreadAnchor, SCSSidebarUnreadCount, SCSSidebarChatsScroll, SCSSidebarErrorStateColumn, SCSSidebarErrorStateTop, SCSSidebarErrorBanner, SCSSidebarErrorBannerIconWrap, SCSSidebarErrorBannerMessage, SCSSidebarLoadingArea, SCSSidebarLoadMoreRow, SCSSidebarEmptyChats, SCSSidebarEmptyChatsText, SCSSidebarChatsFooter, SCSSidebarFooterActions, SCSSidebarCollapsedDivider } from './Sidebar.layout.styles';
|
|
48
|
+
import { SCSSidebarRoot, SCSSidebarToolbar, SCSSidebarBody, SCSSidebarOpenPanel, SCSSidebarAgentsBlock, SCSSidebarAgentsActions, SCSSidebarMaiakerNavButton, SCSSidebarMaiakerNavLabel, SCSSidebarMaiakerNavBadgeNew, SCSSidebarConversationsHeading, SCSSidebarConversationsHeadingRow, SCSSidebarUnreadAnchor, SCSSidebarUnreadCount, SCSSidebarChatsScroll, SCSSidebarErrorStateColumn, SCSSidebarErrorStateTop, SCSSidebarErrorBanner, SCSSidebarErrorBannerIconWrap, SCSSidebarErrorBannerMessage, SCSSidebarLoadingArea, SCSSidebarLoadMoreRow, SCSSidebarEmptyChats, SCSSidebarEmptyChatsText, SCSSidebarChatsFooter, SCSSidebarFooterActions, SCSSidebarCollapsedDivider } from './Sidebar.layout.styles';
|
|
49
49
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
50
50
|
var actions = {
|
|
51
51
|
edit: function edit(props) {
|
|
@@ -305,8 +305,7 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
305
305
|
var canCreateAgents = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.create);
|
|
306
306
|
var hasMultiAgentsFeatureAccess = !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
|
|
307
307
|
var canViewAgents = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.view) && hasMultiAgentsFeatureAccess;
|
|
308
|
-
|
|
309
|
-
var canViewSkills = canViewAgents && canAccessToSkills() && (user === null || user === void 0 ? void 0 : user.company_id) === 2336;
|
|
308
|
+
var canViewSkills = canAccessToSkills(user);
|
|
310
309
|
var showMarketplaceSidebarButton = !!canCreateAgents && hasMultiAgentsFeatureAccess;
|
|
311
310
|
var agentNavButtonCount = (showMarketplaceSidebarButton ? 1 : 0) + (canViewAgents ? 1 : 0) + (canViewSkills ? 1 : 0);
|
|
312
311
|
var showAgentsNavBlock = showMarketplaceSidebarButton || canViewAgents || canViewSkills;
|
|
@@ -633,6 +632,8 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
633
632
|
size: 16
|
|
634
633
|
}), /*#__PURE__*/_jsx(SCSSidebarMaiakerNavLabel, {
|
|
635
634
|
children: t('conversations.mySkillsNav')
|
|
635
|
+
}), /*#__PURE__*/_jsx(SCSSidebarMaiakerNavBadgeNew, {
|
|
636
|
+
children: t('homeMenu.maiaker.badgeNew')
|
|
636
637
|
})]
|
|
637
638
|
}) : null]
|
|
638
639
|
}) : null, /*#__PURE__*/_jsxs(SCSSidebarConversationsHeadingRow, {
|
|
@@ -712,4 +713,4 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
712
713
|
})]
|
|
713
714
|
});
|
|
714
715
|
};
|
|
715
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJDaGV2cm9uRG91YmxlTGVmdCIsIkhpc3RvcnkiLCJDVUJ1dHRvbiIsIk1lbnVEb3RzIiwiUGVuY2lsIiwiVHJhc2giLCJUb29sdGlwIiwiRW1wdHlIaXN0b3J5SWNvbiIsInVzZVJlc2l6ZUxpc3RlbmVyIiwidXNlQ2hhdHMiLCJTaWRlYmFyQ2hhdHNTa2VsZXRvbiIsIkVycm9yU3RhdGUiLCJNQUlBSWNvbiIsIk1haWFTdG9yZUljb24iLCJNeUFnZW50c05hdkljb24iLCJTa2lsbHNOYXZJY29uIiwiTmV3Q2hhdCIsIkVWRU5UUyIsInVzZUV2ZW50IiwidXNlVCIsIk9wdGlvbkl0ZW0iLCJFZGl0UXVlc3Rpb25Nb2RhbCIsIkRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJFcnJvckljb24iLCJ1c2VVc2VyIiwiRmVlZGJhY2tCdXR0b24iLCJ1c2VHbG9iYWxDb250ZXh0IiwiZmV0Y2hNYWlhIiwiY2FuQWNjZXNzVG9Ta2lsbHMiLCJtYXBDT1JMYW5nIiwiZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zIiwiZ2V0QWdlbnREaXNwbGF5TmFtZSIsImlzTWFya2V0cGxhY2VHbG9iYWxDbG9uZUFnZW50IiwiQVBQQ1VFU19FVkVOVFMiLCJBUFBDVUVTX1NFTEVDVE9SUyIsInRyYWNrQXBwY3Vlc0V2ZW50IiwiZm9ybWF0VW5yZWFkQ291bnQiLCJTZXNzaW9uR2VuZXJhdGluZ0RvdCIsInVzZUlzU2Vzc2lvbkdlbmVyYXRpbmciLCJ1c2VTZXNzaW9uTWV0YSIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJTQ0xIQ1dyYXBwZXIiLCJTQ0xIQ1dyYXBwZXJBZ2VudCIsIlNDTEhDV3JhcHBlckFnZW50VGV4dCIsIlNDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnMiLCJTQ0xIQ1dyYXBwZXJDb250ZW50IiwiU0NMSENXcmFwcGVyVGl0bGUiLCJTQ0xIQ1dyYXBwZXJUaXRsZVJvdyIsIlNDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24iLCJTQ1NXcmFwcGVyTmV3Q2hhdEljb24iLCJTQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbiIsIlNDU1NpZGViYXJSb290IiwiU0NTU2lkZWJhclRvb2xiYXIiLCJTQ1NTaWRlYmFyQm9keSIsIlNDU1NpZGViYXJPcGVuUGFuZWwiLCJTQ1NTaWRlYmFyQWdlbnRzQmxvY2siLCJTQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucyIsIlNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uIiwiU0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbCIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZyIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1JvdyIsIlNDU1NpZGViYXJVbnJlYWRBbmNob3IiLCJTQ1NTaWRlYmFyVW5yZWFkQ291bnQiLCJTQ1NTaWRlYmFyQ2hhdHNTY3JvbGwiLCJTQ1NTaWRlYmFyRXJyb3JTdGF0ZUNvbHVtbiIsIlNDU1NpZGViYXJFcnJvclN0YXRlVG9wIiwiU0NTU2lkZWJhckVycm9yQmFubmVyIiwiU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXAiLCJTQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlIiwiU0NTU2lkZWJhckxvYWRpbmdBcmVhIiwiU0NTU2lkZWJhckxvYWRNb3JlUm93IiwiU0NTU2lkZWJhckVtcHR5Q2hhdHMiLCJTQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQiLCJTQ1NTaWRlYmFyQ2hhdHNGb290ZXIiLCJTQ1NTaWRlYmFyRm9vdGVyQWN0aW9ucyIsIlNDU1NpZGViYXJDb2xsYXBzZWREaXZpZGVyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiYWN0aW9ucyIsImVkaXQiLCJwcm9wcyIsIl9vYmplY3RTcHJlYWQiLCJkZWxldGUiLCJhYmJyZXZpYXRlU3BlY2lhbGlzdEluQWdlbnROYW1lIiwiYWdlbnROYW1lIiwicmVwbGFjZSIsIkxpc3RIaXN0b3J5Q2hhdCIsIl9yZWYiLCJjaGF0Iiwib25DbGljayIsImlzTW9kYWxPcGVuIiwib25PcGVuTW9kYWwiLCJvbkNsb3NlTW9kYWwiLCJoYW5kbGVycyIsImlzU2VsZWN0ZWQiLCJpbmRleCIsInRvb2x0aXBaSW5kZXgiLCJ0ZXh0UmVmIiwiYWdlbnRSZWYiLCJkaXNwbGF5VGl0bGUiLCJ0aXRsZSIsImRpc3BsYXlBZ2VudCIsImFnZW50VHlwZSIsImFnZW50IiwiY29udGV4dE5hbWUiLCJwcm9qZWN0TmFtZSIsImNsaWVudE5hbWUiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJzaG93VG9vbHRpcCIsIl91c2VSZXNpemVMaXN0ZW5lcjIiLCJzaG93VG9vbHRpcEFnZW50IiwiX3VzZVQiLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYWN0aW9uIiwic2V0QWN0aW9uIiwiaXNHZW5lcmF0aW5nIiwic2Vzc2lvbkV4dGVybmFsSWQiLCJzZXNzaW9uTWV0YSIsImlzVW5yZWFkIiwiaXNSZWFkIiwibWVudUl0ZW1zIiwibGFiZWwiLCJvbkNsaWNrSXRlbSIsImNoYXRJZCIsIkljb24iLCJldmVudEtleSIsInBtQWlNZW51RWRpdCIsInBtQWlNZW51RGVsZXRlIiwiaGFuZGxlQ29uZmlybUFjdGlvbiIsImNoYXREYXRhIiwiaGFuZGxlVXBkYXRlQ2hhdCIsImhhbmRsZURlbGV0ZUNoYXQiLCJjaGlsZHJlbiIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCIkaW5kZXgiLCJhcmlhTGFiZWwiLCJpc1dyaXRpbmciLCJhbmltYXRlZCIsInpJbmRleCIsInJlZiIsIiR1bnJlYWQiLCJjb25jYXQiLCJ3aWR0aCIsImhlaWdodCIsInN0eWxlIiwiZm9udFNpemUiLCJlbW9qaSIsImljb25Pbmx5Iiwic2l6ZSIsInZhcmlhbnQiLCJldmVudCIsImlkIiwicG9zaXRpb24iLCJ0b3AiLCJyaWdodCIsImJhY2tncm91bmRDb2xvciIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYm9yZGVyUmFkaXVzIiwiYm9yZGVyIiwibWluV2lkdGgiLCJtYXAiLCJfcmVmMiIsIm9uQ2xvc2UiLCJoYW5kbGVTZXRJc09wZW5Nb2RhbCIsIlNpZGViYXIiLCJfcmVmMyIsIl91c2VyJHBlcm1pc3Npb25zIiwib25Hb1RvQ2hhdCIsIl9yZWYzJG9uRXJyb3IiLCJvbkVycm9yIiwiaGFuZGxlR29Ub0hvbWUiLCJoYW5kbGVTdGFydE5ld0NoYXQiLCJoYW5kbGVPcGVuTWFya2V0cGxhY2UiLCJoYW5kbGVPcGVuU2tpbGxzIiwic2hvd05ld0NoYXQiLCJyZWZldGNoQ2hhdHMiLCJoYW5kbGVTZXRSZWZldGNoQ2hhdHMiLCJoYXNFcnJvciIsInJlc2V0U2VsZWN0ZWRDaGF0UmVmIiwiX3JlZjMkYWdlbnRzTmF2QWN0aXZlIiwiYWdlbnRzTmF2QWN0aXZlIiwiX3JlZjMkaXNMZWdhY3lDb250ZXh0IiwiaXNMZWdhY3lDb250ZXh0U2Vzc2lvbiIsIl91c2VUMiIsImkxOG4iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzT3BlbiIsInNldElzT3BlbiIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNPcGVuTW9kYWwiLCJzZXRJc09wZW5Nb2RhbCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2VsZWN0ZWRDaGF0Iiwic2V0U2VsZWN0ZWRDaGF0IiwiY2hhdHNGZXRjaGVkUmVmIiwiY2hhdHNDb250YWluZXJSZWYiLCJ1c2VyIiwiZXZlbnRBbXBsaXR1ZGUiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNlbGVjdGVkQWdlbnQiLCJzZWxlY3RBZ2VudCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJzZXRUYXNrIiwiX3VzZUNoYXRzIiwibG9hZGluZ0NoYXRzIiwiY2hhdHMiLCJkZWxldGVDaGF0IiwidXBkYXRlQ2hhdCIsImZldGNoQ2hhdHMiLCJsaW1pdCIsIm9mZnNldCIsImhhc01vcmVDaGF0cyIsImxvYWRNb3JlQ2hhdHMiLCJpc0xvYWRpbmdNb3JlQ2hhdHMiLCJ1bnJlYWRDb3VudCIsInNldFVucmVhZENvdW50Iiwic2V0Q2hhdFJlYWRTdGF0ZSIsInVucmVhZFN1YnNjcmliZWRSZWYiLCIkX3NjIiwidW5kZWZpbmVkIiwiY2hhbm5lbCIsImhhbmRsZVVucmVhZEV2ZW50IiwiX3JlZjQiLCJtb2RlbERhdGEiLCJtb2RlbF9kYXRhIiwidW5yZWFkX2NvdW50Iiwic2Vzc2lvbl9pZCIsImlzX3JlYWQiLCJzdWJzY3JpYmVIYW5kbGVyIiwiY3VycmVudCIsIl8kX3NjJGFjdGlvblR5cGUiLCJfJF9zYyRjaGFubmVsVHlwZSIsInVwZGF0ZUNvbm5lY3Rpb25Nb2RlbCIsIm1vZGVsX2hhc2giLCJhY3Rpb25UeXBlIiwiU1VCU0NSSUJFIiwiY2hhbm5lbFR5cGUiLCJNT0RFTF9DSEFOTkVMIiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjYW5DcmVhdGVBZ2VudHMiLCJjcmVhdGUiLCJoYXNNdWx0aUFnZW50c0ZlYXR1cmVBY2Nlc3MiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiY2FuVmlld0FnZW50cyIsInZpZXciLCJjYW5WaWV3U2tpbGxzIiwiY29tcGFueV9pZCIsInNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24iLCJhZ2VudE5hdkJ1dHRvbkNvdW50Iiwic2hvd0FnZW50c05hdkJsb2NrIiwibXlBZ2VudHNTaWRlYmFyVHJhY2tlZFJlZiIsIm1haWFTaWRlYmFyTXlBZ2VudHMiLCJoYW5kbGVTZWxlY3RTZXNzaW9uIiwiZXZ0IiwiX2RldGFpbCIsIl9yZWY1IiwiZGV0YWlsIiwic2Vzc2lvbklkIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9yZWY2IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlT3Blbk1vZGFsIiwiaGFuZGxlQ2xvc2VNb2RhbCIsImhhbmRsZUNsaWNrT3V0c2lkZSIsInRhcmdldCIsImNsb3Nlc3QiLCJoYW5kbGVUb2dnbGVTaWRlYmFyIiwiYWlDaGF0U2lkZWJhciIsImhhbmRsZU9wZW5DcmVhdGVBZ2VudCIsIl9yZWY3IiwiX2NhbGxlZTIiLCJyZXNwb25zZSIsImRhdGEiLCJtYWlha2VyQWdlbnQiLCJfdCIsIl9jb250ZXh0MiIsInBhdGgiLCJsYW5ndWFnZSIsIm1ldGhvZCIsInNlbnQiLCJqc29uIiwiZmluZCIsImFnZW50SXRlbSIsImFicnVwdCIsImhhbmRsZVNjcm9sbCIsIl9jaGF0c0NvbnRhaW5lclJlZiRjdSIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImlzQXRCb3R0b20iLCJjb250YWluZXIiLCJoYW5kbGVOZXdDaGF0IiwiYWlTaWRlYmFyTmV3Q2hhdCIsImhhbmRsZVJlZmV0Y2hTZXNzaW9uIiwiYmFja2dyb3VuZCIsImlzQWdlbnRzSHViU2VjdGlvbiIsInNob3dOZXdDaGF0QnV0dG9uIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsIiRpc09wZW4iLCJjb2xvciIsIiRmbG9hdGluZyIsIiRhY3RpdmUiLCJhaUNoYXRNcE9wZW4iLCJhaVNpZGViYXJNeUFnZW50cyIsInR5cGUiLCIkaGFzQ2hhdHMiLCJsZW5ndGgiLCIkb2Zmc2V0VmFyaWFudCIsIiRhZ2VudE5hdkJ1dHRvbkNvdW50IiwiY291bnQiLCIkanVzdGlmeUJldHdlZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2lkZWJhci9TaWRlYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjYW1lbGNhc2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvdyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgTXV0YWJsZVJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDaGV2cm9uRG91YmxlTGVmdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3VibGVMZWZ0J1xuaW1wb3J0IHsgSGlzdG9yeSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0hpc3RvcnknXG5pbXBvcnQgeyBDVUJ1dHRvbiB9IGZyb20gJ0Bwcm9qZWN0Y29yL2J1dHRvbi9saWIvY29tcG9uZW50cy9DVUJ1dHRvbidcbmltcG9ydCB7IE1lbnVEb3RzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvTWVudURvdHMnXG5pbXBvcnQgeyBQZW5jaWwgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QZW5jaWwnXG5pbXBvcnQgeyBUcmFzaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1RyYXNoJ1xuXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5cbmltcG9ydCB7IEVtcHR5SGlzdG9yeUljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9FbXB0eUhpc3RvcnknXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IHVzZUNoYXRzIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlQ2hhdHMnXG5pbXBvcnQgeyBTaWRlYmFyQ2hhdHNTa2VsZXRvbiB9IGZyb20gJy4vU2lkZWJhci5za2VsZXRvbidcbmltcG9ydCB7IEVycm9yU3RhdGUsIE1BSUFJY29uLCBNYWlhU3RvcmVJY29uLCBNeUFnZW50c05hdkljb24sIFNraWxsc05hdkljb24sIE5ld0NoYXQgfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgT3B0aW9uSXRlbSB9IGZyb20gJy4uLy4uL2F0b21zL0NhcmRNZW51L0NhcmRNZW51J1xuaW1wb3J0IHsgRWRpdFF1ZXN0aW9uTW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvRWRpdFF1ZXN0aW9uTW9kYWwnXG5pbXBvcnQgeyBEZWxldGVRdWVzdGlvbk1vZGFsIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL0RlbGV0ZVF1ZXN0aW9uTW9kYWwnXG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9FcnJvckljb24nXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IEZlZWRiYWNrQnV0dG9uIH0gZnJvbSAnLi4vLi4vYXRvbXMvRmVlZGJhY2tCdXR0b24nXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvY2xpZW50J1xuaW1wb3J0IHsgY2FuQWNjZXNzVG9Ta2lsbHMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvcGVybWlzc2lvbnMnXG5pbXBvcnQgeyBtYXBDT1JMYW5nIH0gZnJvbSAnLi4vLi4vLi4vbGFuZy91dGlscydcbmltcG9ydCB7IGZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3JlbmRlckNvbnRleHRNZW50aW9ucydcbmltcG9ydCB7IGdldEFnZW50RGlzcGxheU5hbWUsIGlzTWFya2V0cGxhY2VHbG9iYWxDbG9uZUFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYWdlbnREaXNwbGF5TmFtZSdcbmltcG9ydCB7IEFQUENVRVNfRVZFTlRTLCBBUFBDVUVTX1NFTEVDVE9SUywgdHJhY2tBcHBjdWVzRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcHBjdWVzJ1xuaW1wb3J0IHsgZm9ybWF0VW5yZWFkQ291bnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9mb3JtYXRVbnJlYWRDb3VudCdcbmltcG9ydCB7IFNlc3Npb25HZW5lcmF0aW5nRG90IH0gZnJvbSAnLi4vLi4vYXRvbXMvU2Vzc2lvbkdlbmVyYXRpbmdEb3QnXG5pbXBvcnQgeyB1c2VJc1Nlc3Npb25HZW5lcmF0aW5nLCB1c2VTZXNzaW9uTWV0YSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3Nlc3Npb25zL3VzZVNlc3Npb25NZXRhJ1xuaW1wb3J0IHsgdXNlTWFpYVRhc2tQYW5lbFpJbmRleCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1haWFUYXNrUGFuZWxaSW5kZXgnXG5pbXBvcnQge1xuICBTQ0xIQ1dyYXBwZXIsXG4gIFNDTEhDV3JhcHBlckFnZW50LFxuICBTQ0xIQ1dyYXBwZXJBZ2VudFRleHQsXG4gIFNDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnMsXG4gIFNDTEhDV3JhcHBlckNvbnRlbnQsXG4gIFNDTEhDV3JhcHBlclRpdGxlLFxuICBTQ0xIQ1dyYXBwZXJUaXRsZVJvdyxcbiAgU0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbixcbiAgU0NTV3JhcHBlck5ld0NoYXRJY29uLFxuICBTQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbixcbn0gZnJvbSAnLi9TaWRlYmFyLnN0eWxlcydcbmltcG9ydCB7XG4gIFNDU1NpZGViYXJSb290LFxuICBTQ1NTaWRlYmFyVG9vbGJhcixcbiAgU0NTU2lkZWJhckJvZHksXG4gIFNDU1NpZGViYXJPcGVuUGFuZWwsXG4gIFNDU1NpZGViYXJBZ2VudHNCbG9jayxcbiAgU0NTU2lkZWJhckFnZW50c0FjdGlvbnMsXG4gIFNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uLFxuICBTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsLFxuICBTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmcsXG4gIFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1JvdyxcbiAgU0NTU2lkZWJhclVucmVhZEFuY2hvcixcbiAgU0NTU2lkZWJhclVucmVhZENvdW50LFxuICBTQ1NTaWRlYmFyQ2hhdHNTY3JvbGwsXG4gIFNDU1NpZGViYXJFcnJvclN0YXRlQ29sdW1uLFxuICBTQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcCxcbiAgU0NTU2lkZWJhckVycm9yQmFubmVyLFxuICBTQ1NTaWRlYmFyRXJyb3JCYW5uZXJJY29uV3JhcCxcbiAgU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZSxcbiAgU0NTU2lkZWJhckxvYWRpbmdBcmVhLFxuICBTQ1NTaWRlYmFyTG9hZE1vcmVSb3csXG4gIFNDU1NpZGViYXJFbXB0eUNoYXRzLFxuICBTQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQsXG4gIFNDU1NpZGViYXJDaGF0c0Zvb3RlcixcbiAgU0NTU2lkZWJhckZvb3RlckFjdGlvbnMsXG4gIFNDU1NpZGViYXJDb2xsYXBzZWREaXZpZGVyLFxufSBmcm9tICcuL1NpZGViYXIubGF5b3V0LnN0eWxlcydcblxuY29uc3QgYWN0aW9ucyA9IHtcbiAgZWRpdDogKHByb3BzOiBhbnkpID0+IDxFZGl0UXVlc3Rpb25Nb2RhbCB7Li4ucHJvcHN9IC8+LFxuICBkZWxldGU6IChwcm9wczogYW55KSA9PiA8RGVsZXRlUXVlc3Rpb25Nb2RhbCB7Li4ucHJvcHN9IC8+LFxufVxuXG4vKiogQWJyZXZpYSBcImVzcGVjaWFsaXN0YVwiL1wiZXNwZWNpYWxpc3RcIiDihpIgXCJFc3AuXCIgKEVTL1BUKSB5IFwic3BlY2lhbGlzdFwiIOKGkiBcIlNwZWMuXCIgKEVOKSBlbiBlbCBub21icmUgZGVsIGFnZW50ZS4gKi9cbmZ1bmN0aW9uIGFiYnJldmlhdGVTcGVjaWFsaXN0SW5BZ2VudE5hbWUoYWdlbnROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWFnZW50TmFtZSB8fCB0eXBlb2YgYWdlbnROYW1lICE9PSAnc3RyaW5nJykgcmV0dXJuIGFnZW50TmFtZVxuICByZXR1cm4gYWdlbnROYW1lLnJlcGxhY2UoL1xcYihlc3BlY2lhbGlzdGF8ZXNwZWNpYWxpc3QpXFxiL2dpLCAnRXNwLicpLnJlcGxhY2UoL1xcYnNwZWNpYWxpc3RcXGIvZ2ksICdTcGVjLicpXG59XG5cbmNvbnN0IExpc3RIaXN0b3J5Q2hhdCA9ICh7XG4gIGNoYXQsXG4gIG9uQ2xpY2ssXG4gIGlzTW9kYWxPcGVuLFxuICBvbk9wZW5Nb2RhbCxcbiAgb25DbG9zZU1vZGFsLFxuICBoYW5kbGVycyxcbiAgaXNTZWxlY3RlZCxcbiAgaW5kZXgsXG4gIHRvb2x0aXBaSW5kZXgsXG59OiB7XG4gIGNoYXQ6IGFueVxuICBvbkNsaWNrOiAoY2hhdDogYW55KSA9PiB2b2lkXG4gIGlzTW9kYWxPcGVuOiBib29sZWFuXG4gIG9uT3Blbk1vZGFsOiAoY2hhdElkOiBzdHJpbmcpID0+IHZvaWRcbiAgb25DbG9zZU1vZGFsOiAoKSA9PiB2b2lkXG4gIGhhbmRsZXJzOiB7XG4gICAgaGFuZGxlRGVsZXRlQ2hhdDogKGNoYXQ6IGFueSkgPT4gdm9pZFxuICAgIGhhbmRsZVVwZGF0ZUNoYXQ6IChjaGF0OiBhbnkpID0+IHZvaWRcbiAgfVxuICBpc1NlbGVjdGVkOiBib29sZWFuXG4gIGluZGV4OiBudW1iZXJcbiAgdG9vbHRpcFpJbmRleDogbnVtYmVyXG59KSA9PiB7XG4gIGNvbnN0IHRleHRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGFnZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBkaXNwbGF5VGl0bGUgPSB1c2VNZW1vKCgpID0+IGZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyhjaGF0LnRpdGxlKSwgW2NoYXQudGl0bGVdKVxuICBjb25zdCBkaXNwbGF5QWdlbnQgPSBnZXRBZ2VudERpc3BsYXlOYW1lKGNoYXQuYWdlbnRUeXBlLCBjaGF0LmFnZW50KVxuICBjb25zdCBjb250ZXh0TmFtZSA9IGNoYXQucHJvamVjdE5hbWUgfHwgY2hhdC5jbGllbnROYW1lXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtkaXNwbGF5VGl0bGVdKVxuICBjb25zdCB7IHNob3dUb29sdGlwOiBzaG93VG9vbHRpcEFnZW50IH0gPSB1c2VSZXNpemVMaXN0ZW5lcihhZ2VudFJlZiwgW2NoYXQuYWdlbnRdKVxuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBbYWN0aW9uLCBzZXRBY3Rpb25dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgaXNHZW5lcmF0aW5nID0gdXNlSXNTZXNzaW9uR2VuZXJhdGluZyhjaGF0LnNlc3Npb25FeHRlcm5hbElkKVxuICBjb25zdCBzZXNzaW9uTWV0YSA9IHVzZVNlc3Npb25NZXRhKGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gIGNvbnN0IGlzVW5yZWFkID0gY2hhdC5pc1JlYWQgPT09IGZhbHNlICYmICFpc0dlbmVyYXRpbmdcblxuICBjb25zdCBtZW51SXRlbXMgPSBbXG4gICAge1xuICAgICAgbGFiZWw6IHQoJ2hpc3RvcnkubWVudS5yZW5hbWUnKSxcbiAgICAgIG9uQ2xpY2tJdGVtOiAoY2hhdElkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc2V0QWN0aW9uKCdlZGl0JylcbiAgICAgICAgb25PcGVuTW9kYWwoY2hhdElkKVxuICAgICAgfSxcbiAgICAgIEljb246IFBlbmNpbCxcbiAgICAgIGV2ZW50S2V5OiBFVkVOVFMucG1BaU1lbnVFZGl0LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6IHQoJ2hpc3RvcnkubWVudS5kZWxldGUnKSxcbiAgICAgIG9uQ2xpY2tJdGVtOiAoY2hhdElkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc2V0QWN0aW9uKCdkZWxldGUnKVxuICAgICAgICBvbk9wZW5Nb2RhbChjaGF0SWQpXG4gICAgICB9LFxuICAgICAgSWNvbjogVHJhc2gsXG4gICAgICBldmVudEtleTogRVZFTlRTLnBtQWlNZW51RGVsZXRlLFxuICAgIH0sXG4gIF1cblxuICBjb25zdCBoYW5kbGVDb25maXJtQWN0aW9uID0gKGNoYXREYXRhOiBhbnkpID0+IHtcbiAgICBpZiAoYWN0aW9uID09PSAnZWRpdCcpIHtcbiAgICAgIGhhbmRsZXJzLmhhbmRsZVVwZGF0ZUNoYXQoY2hhdERhdGEpXG4gICAgfSBlbHNlIHtcbiAgICAgIGhhbmRsZXJzLmhhbmRsZURlbGV0ZUNoYXQoY2hhdERhdGEpXG4gICAgfVxuICAgIHNldEFjdGlvbihudWxsKVxuICAgIG9uQ2xvc2VNb2RhbCgpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U0NMSENXcmFwcGVyQ29udGVudFxuICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgb25DbGljayhjaGF0KVxuICAgICAgICB9fVxuICAgICAgICBrZXk9e2Bjb252ZXJzYXRpb24tJHtjaGF0LnNlc3Npb25FeHRlcm5hbElkfWB9XG4gICAgICAgIGlzTW9kYWxPcGVuPXtpc01vZGFsT3Blbn1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgICAgJGluZGV4PXtpbmRleH1cbiAgICAgID5cbiAgICAgICAgPFNDTEhDV3JhcHBlcj5cbiAgICAgICAgICA8U0NMSENXcmFwcGVyVGl0bGVSb3c+XG4gICAgICAgICAgICB7aXNHZW5lcmF0aW5nIHx8IGlzVW5yZWFkID8gKFxuICAgICAgICAgICAgICA8U2Vzc2lvbkdlbmVyYXRpbmdEb3RcbiAgICAgICAgICAgICAgICBhcmlhTGFiZWw9e2lzR2VuZXJhdGluZyA/IHQoJ2NvbnZlcnNhdGlvbnMuZ2VuZXJhdGluZycpIDogdCgnY29udmVyc2F0aW9ucy51bnJlYWRMYWJlbCcpfVxuICAgICAgICAgICAgICAgIGlzV3JpdGluZz17aXNHZW5lcmF0aW5nICYmIHNlc3Npb25NZXRhPy5pc1dyaXRpbmd9XG4gICAgICAgICAgICAgICAgYW5pbWF0ZWQ9e2lzR2VuZXJhdGluZ31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3Nob3dUb29sdGlwID8gZGlzcGxheVRpdGxlIDogJyd9IHpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJUaXRsZSByZWY9e3RleHRSZWZ9ICR1bnJlYWQ9e2lzVW5yZWFkfT5cbiAgICAgICAgICAgICAgICB7ZGlzcGxheVRpdGxlIHx8IHQoJ2NvbnZlcnNhdGlvbnMuZW1wdHlMYWJlbCcpfVxuICAgICAgICAgICAgICA8L1NDTEhDV3JhcHBlclRpdGxlPlxuICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgIDwvU0NMSENXcmFwcGVyVGl0bGVSb3c+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRpdGxlPXtzaG93VG9vbHRpcEFnZW50ID8gZGlzcGxheUFnZW50ICsgKGNvbnRleHROYW1lID8gYCAtICR7Y29udGV4dE5hbWV9YCA6ICcnKSA6ICcnfVxuICAgICAgICAgICAgekluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJBZ2VudD5cbiAgICAgICAgICAgICAge2NoYXQuYWdlbnRUeXBlID09PSAnY2xvbmUnIHx8IGNoYXQuYWdlbnRUeXBlID09PSAnb3JjaGVzdHJhdG9yJyA/IChcbiAgICAgICAgICAgICAgICA8TUFJQUljb24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTaXplOiAnMTRweCcgfX0+e2NoYXQuZW1vaml9PC9zcGFuPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJBZ2VudFRleHQgcmVmPXthZ2VudFJlZn0+XG4gICAgICAgICAgICAgICAge2NoYXQuYWdlbnRUeXBlID09PSAnY2xvbmUnIHx8IGNoYXQuYWdlbnRUeXBlID09PSAnb3JjaGVzdHJhdG9yJ1xuICAgICAgICAgICAgICAgICAgPyBhYmJyZXZpYXRlU3BlY2lhbGlzdEluQWdlbnROYW1lKGNoYXQuYWdlbnQpXG4gICAgICAgICAgICAgICAgICA6IGNoYXQuYWdlbnR9XG4gICAgICAgICAgICAgICAge2NoYXQucHJvamVjdE5hbWUgJiYgYCAtICR7Y2hhdC5wcm9qZWN0TmFtZX1gfVxuICAgICAgICAgICAgICA8L1NDTEhDV3JhcHBlckFnZW50VGV4dD5cbiAgICAgICAgICAgIDwvU0NMSENXcmFwcGVyQWdlbnQ+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8L1NDTEhDV3JhcHBlcj5cbiAgICAgICAgPFNDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnM+XG4gICAgICAgICAgPENVQnV0dG9uXG4gICAgICAgICAgICBpY29uT25seVxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgb25PcGVuTW9kYWwoY2hhdC5pZClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPE1lbnVEb3RzIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICA8L0NVQnV0dG9uPlxuICAgICAgICAgIHtpc01vZGFsT3BlbiAmJiAhYWN0aW9uICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZGF0YS1tb2RhbC1jb250YWluZXJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgICB0b3A6ICczMnB4JyxcbiAgICAgICAgICAgICAgICByaWdodDogJzE2cHgnLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICAgICAgICB6SW5kZXg6IDEwMDAsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMjI0LCAyMjQsIDIyNCwgMSknLFxuICAgICAgICAgICAgICAgIG1pbldpZHRoOiAnMTI0cHgnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bWVudUl0ZW1zLm1hcCgoeyBsYWJlbCwgb25DbGlja0l0ZW0sIEljb24sIGV2ZW50S2V5IH0pID0+IChcbiAgICAgICAgICAgICAgICA8T3B0aW9uSXRlbVxuICAgICAgICAgICAgICAgICAga2V5PXtsYWJlbH1cbiAgICAgICAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2xpY2tJdGVtKGNoYXQuaWQpfVxuICAgICAgICAgICAgICAgICAgSWNvbj17SWNvbn1cbiAgICAgICAgICAgICAgICAgIGV2ZW50S2V5PXtldmVudEtleX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucz5cbiAgICAgIDwvU0NMSENXcmFwcGVyQ29udGVudD5cbiAgICAgIHshIWFjdGlvbiAmJlxuICAgICAgICBhY3Rpb25zW2FjdGlvbl0oe1xuICAgICAgICAgIG9uQ2xvc2U6ICgpID0+IHtcbiAgICAgICAgICAgIG9uQ2xvc2VNb2RhbCgpXG4gICAgICAgICAgICBzZXRBY3Rpb24obnVsbClcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNoYXQsXG4gICAgICAgICAgaGFuZGxlcnM6IHtcbiAgICAgICAgICAgIGhhbmRsZUNvbmZpcm1BY3Rpb24sXG4gICAgICAgICAgICBoYW5kbGVTZXRJc09wZW5Nb2RhbDogb25DbG9zZU1vZGFsLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pfVxuICAgIDwvPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBTaWRlYmFyID0gKHtcbiAgb25Hb1RvQ2hhdCxcbiAgb25FcnJvciA9ICgpID0+IG51bGwsXG4gIGhhbmRsZUdvVG9Ib21lLFxuICBoYW5kbGVTdGFydE5ld0NoYXQsXG4gIGhhbmRsZU9wZW5NYXJrZXRwbGFjZSxcbiAgaGFuZGxlT3BlblNraWxscyxcbiAgc2hvd05ld0NoYXQsXG4gIHJlZmV0Y2hDaGF0cyxcbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzLFxuICBoYXNFcnJvcixcbiAgcmVzZXRTZWxlY3RlZENoYXRSZWYsXG4gIGFnZW50c05hdkFjdGl2ZSA9IG51bGwsXG4gIGlzTGVnYWN5Q29udGV4dFNlc3Npb24gPSBmYWxzZSxcbn06IHtcbiAgb25Hb1RvQ2hhdDogKGNoYXRJZDogc3RyaW5nKSA9PiB2b2lkXG4gIG9uRXJyb3I6ICgpID0+IHZvaWRcbiAgaGFuZGxlR29Ub0hvbWU6ICgpID0+IHZvaWRcbiAgLyoqIEluaWNpYSB1biBjaGF0IG51ZXZvOyBlbiBNaXMgYWdlbnRlcyAvIENyZWFkb3IgZGUgYWdlbnRlcyB1c2EgZWwgcHJpbWVyIGFnZW50ZSBkZSBsYSBsaXN0YS4gKi9cbiAgaGFuZGxlU3RhcnROZXdDaGF0PzogKCkgPT4gdm9pZFxuICBoYW5kbGVPcGVuTWFya2V0cGxhY2U6ICgpID0+IHZvaWRcbiAgaGFuZGxlT3BlblNraWxsczogKCkgPT4gdm9pZFxuICBzaG93TmV3Q2hhdDogYm9vbGVhblxuICByZWZldGNoQ2hhdHM6IGJvb2xlYW5cbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzOiAocmVmZXRjaDogYm9vbGVhbikgPT4gdm9pZFxuICBoYXNFcnJvcjogYm9vbGVhblxuICByZXNldFNlbGVjdGVkQ2hhdFJlZj86IE11dGFibGVSZWZPYmplY3Q8KCgpID0+IHZvaWQpIHwgbnVsbD5cbiAgLyoqIFJlc2FsdGEgTWFpYWtlciwgTWlzIGFnZW50ZXMgbyBNaXMgc2tpbGxzICovXG4gIGFnZW50c05hdkFjdGl2ZT86ICdtYWlha2VyJyB8ICdteUFnZW50cycgfCAnbXlTa2lsbHMnIHwgbnVsbFxuICAvKiogQ29udmVyc2FjacOzbiBkZSB1biBjbG9uZSBsZWdhY3kgKGFnZW50X3R5cGUgY2xvbmUgKyBlbnRpdHkgcHJvamVjdC9jbGllbnQvdGFzayk6IG9jdWx0YSBcIm51ZXZvIGNoYXRcIi4gKi9cbiAgaXNMZWdhY3lDb250ZXh0U2Vzc2lvbj86IGJvb2xlYW5cbn0pID0+IHtcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgdG9vbHRpcFpJbmRleCA9IHVzZU1haWFUYXNrUGFuZWxaSW5kZXgoMTUwMCwgJ292ZXJsYXknKVxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc09wZW5Nb2RhbCwgc2V0SXNPcGVuTW9kYWxdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3NlbGVjdGVkQ2hhdCwgc2V0U2VsZWN0ZWRDaGF0XSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGNoYXRzRmV0Y2hlZFJlZiA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgY2hhdHNDb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2sgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7XG4gICAgbG9hZGluZ0NoYXRzLFxuICAgIGNoYXRzLFxuICAgIGRlbGV0ZUNoYXQsXG4gICAgdXBkYXRlQ2hhdCxcbiAgICBmZXRjaENoYXRzLFxuICAgIGxpbWl0LFxuICAgIG9mZnNldCxcbiAgICBoYXNNb3JlQ2hhdHMsXG4gICAgbG9hZE1vcmVDaGF0cyxcbiAgICBpc0xvYWRpbmdNb3JlQ2hhdHMsXG4gICAgdW5yZWFkQ291bnQsXG4gICAgc2V0VW5yZWFkQ291bnQsXG4gICAgc2V0Q2hhdFJlYWRTdGF0ZSxcbiAgfSA9IHVzZUNoYXRzKHtcbiAgICBvbkVycm9yLFxuICB9KVxuXG4gIGNvbnN0IHVucmVhZFN1YnNjcmliZWRSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXVzZXI/LmlkIHx8IHR5cGVvZiAkX3NjID09PSAndW5kZWZpbmVkJyB8fCAhJF9zYykgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgY29uc3QgY2hhbm5lbCA9IGBzZXNzaW9ucy51bnJlYWQ6JHt1c2VyLmlkfWBcbiAgICBjb25zdCBoYW5kbGVVbnJlYWRFdmVudCA9ICh7XG4gICAgICBtb2RlbF9kYXRhOiBtb2RlbERhdGEsXG4gICAgfToge1xuICAgICAgbW9kZWxfZGF0YT86IHsgdW5yZWFkX2NvdW50PzogbnVtYmVyOyBzZXNzaW9uX2lkPzogc3RyaW5nOyBpc19yZWFkPzogYm9vbGVhbiB9XG4gICAgfSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBtb2RlbERhdGE/LnVucmVhZF9jb3VudCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgc2V0VW5yZWFkQ291bnQobW9kZWxEYXRhLnVucmVhZF9jb3VudClcbiAgICAgIH1cbiAgICAgIGlmIChtb2RlbERhdGE/LnNlc3Npb25faWQgJiYgdHlwZW9mIG1vZGVsRGF0YT8uaXNfcmVhZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIHNldENoYXRSZWFkU3RhdGUobW9kZWxEYXRhLnNlc3Npb25faWQsIG1vZGVsRGF0YS5pc19yZWFkKVxuICAgICAgfVxuICAgIH1cblxuICAgICRfc2Muc3Vic2NyaWJlSGFuZGxlcihjaGFubmVsLCBoYW5kbGVVbnJlYWRFdmVudClcblxuICAgIGlmICghdW5yZWFkU3Vic2NyaWJlZFJlZi5jdXJyZW50KSB7XG4gICAgICAkX3NjLnVwZGF0ZUNvbm5lY3Rpb25Nb2RlbChcbiAgICAgICAge1xuICAgICAgICAgIG1vZGVsX2hhc2g6IGNoYW5uZWwsXG4gICAgICAgICAgYWN0aW9uOiAkX3NjLmFjdGlvblR5cGU/LlNVQlNDUklCRSxcbiAgICAgICAgfSxcbiAgICAgICAgY2hhbm5lbCxcbiAgICAgICAgdXNlcixcbiAgICAgICAgdXNlcixcbiAgICAgICAgJF9zYy5jaGFubmVsVHlwZT8uTU9ERUxfQ0hBTk5FTFxuICAgICAgKVxuICAgICAgdW5yZWFkU3Vic2NyaWJlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfSwgW3VzZXIsIHNldFVucmVhZENvdW50LCBzZXRDaGF0UmVhZFN0YXRlXSlcblxuICBjb25zdCB1c2VyUGVybWlzc2lvbnMgPSB1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzXG4gIGNvbnN0IGNhbkNyZWF0ZUFnZW50cyA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGVcbiAgY29uc3QgaGFzTXVsdGlBZ2VudHNGZWF0dXJlQWNjZXNzID0gISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5WaWV3QWdlbnRzID0gISF1c2VyUGVybWlzc2lvbnM/LnZpZXcgJiYgaGFzTXVsdGlBZ2VudHNGZWF0dXJlQWNjZXNzXG4gIC8vIFRlbXBvcmFsOiBza2lsbHMgZW4gc2lkZWJhciBzb2xvIHBhcmEgY29tcGFueSAyMzM2XG4gIGNvbnN0IGNhblZpZXdTa2lsbHMgPSBjYW5WaWV3QWdlbnRzICYmIGNhbkFjY2Vzc1RvU2tpbGxzKCkgJiYgdXNlcj8uY29tcGFueV9pZCA9PT0gMjMzNlxuICBjb25zdCBzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uID0gISFjYW5DcmVhdGVBZ2VudHMgJiYgaGFzTXVsdGlBZ2VudHNGZWF0dXJlQWNjZXNzXG4gIGNvbnN0IGFnZW50TmF2QnV0dG9uQ291bnQgPSAoKHNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gPyAxIDogMCkgK1xuICAgIChjYW5WaWV3QWdlbnRzID8gMSA6IDApICtcbiAgICAoY2FuVmlld1NraWxscyA/IDEgOiAwKSkgYXMgMCB8IDEgfCAyIHwgM1xuICBjb25zdCBzaG93QWdlbnRzTmF2QmxvY2sgPSBzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uIHx8IGNhblZpZXdBZ2VudHMgfHwgY2FuVmlld1NraWxsc1xuICBjb25zdCBteUFnZW50c1NpZGViYXJUcmFja2VkUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFjYW5WaWV3QWdlbnRzIHx8IG15QWdlbnRzU2lkZWJhclRyYWNrZWRSZWYuY3VycmVudCkgcmV0dXJuXG5cbiAgICBteUFnZW50c1NpZGViYXJUcmFja2VkUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgdHJhY2tBcHBjdWVzRXZlbnQoQVBQQ1VFU19FVkVOVFMubWFpYVNpZGViYXJNeUFnZW50cylcbiAgfSwgW2NhblZpZXdBZ2VudHNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlc2V0U2VsZWN0ZWRDaGF0UmVmKSB7XG4gICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50ID0gKCkgPT4gc2V0U2VsZWN0ZWRDaGF0KG51bGwpXG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzZXRTZWxlY3RlZENoYXRSZWYpIHtcbiAgICAgICAgcmVzZXRTZWxlY3RlZENoYXRSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtyZXNldFNlbGVjdGVkQ2hhdFJlZl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZWxlY3RTZXNzaW9uID0gKGV2dDogRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHsgc2Vzc2lvbklkIH0gPSAoZXZ0IGFzIEN1c3RvbUV2ZW50PHsgc2Vzc2lvbklkPzogc3RyaW5nIH0+KS5kZXRhaWwgPz8ge31cbiAgICAgIGlmIChzZXNzaW9uSWQpIHtcbiAgICAgICAgc2V0U2VsZWN0ZWRDaGF0KHNlc3Npb25JZClcbiAgICAgIH1cbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2lkZWJhci1zZWxlY3Qtc2Vzc2lvbicsIGhhbmRsZVNlbGVjdFNlc3Npb24pXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NpZGViYXItc2VsZWN0LXNlc3Npb24nLCBoYW5kbGVTZWxlY3RTZXNzaW9uKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQ2hhdCA9IGFzeW5jIChjaGF0OiBhbnkpID0+IHtcbiAgICBkZWxldGVDaGF0KGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICBoYW5kbGVHb1RvSG9tZSgpXG4gIH1cblxuICBjb25zdCBoYW5kbGVVcGRhdGVDaGF0ID0gKGNoYXQ6IGFueSkgPT4ge1xuICAgIHVwZGF0ZUNoYXQoY2hhdClcbiAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlT3Blbk1vZGFsID0gKGNoYXRJZDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsICYmIGlzT3Blbk1vZGFsICE9PSBjaGF0SWQpIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKGNoYXRJZClcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVDbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGlzT3Blbk1vZGFsICYmICEoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmNsb3Nlc3QoJ1tkYXRhLW1vZGFsLWNvbnRhaW5lcl0nKSkge1xuICAgICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNPcGVuTW9kYWxdKVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZVNpZGViYXIgPSAoKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgIH1cbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0U2lkZWJhciwgeyBhY3Rpb246IGlzT3BlbiA/ICdjbG9zZScgOiAnb3BlbicgfSlcbiAgICBzZXRJc09wZW4ocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZU9wZW5DcmVhdGVBZ2VudCA9IGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICBwYXRoOiBgYWdlbnRzP2FnZW50X3R5cGU9Y2xvbmUmZW50aXR5PWdsb2JhbCZsYW5nPSR7bWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKX1gLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgIGNvbnN0IG1haWFrZXJBZ2VudCA9IChkYXRhLmRhdGEgfHwgW10pLmZpbmQoKGFnZW50SXRlbTogeyB0eXBlPzogc3RyaW5nOyBlbnRpdHk/OiBzdHJpbmc7IG5hbWU/OiBzdHJpbmcgfSkgPT5cbiAgICAgICAgaXNNYXJrZXRwbGFjZUdsb2JhbENsb25lQWdlbnQoYWdlbnRJdGVtKVxuICAgICAgKVxuXG4gICAgICBpZiAoIW1haWFrZXJBZ2VudCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldFRhc2sobnVsbClcbiAgICAgIC8vIGhhbmRsZUdvVG9Ib21lIHB1ZWRlIHJlc2VsZWNjaW9uYXIgYWdlbnRzLmRhdGFbMF0gc2kgZWwgYWdlbnRlIGdsb2JhbCBhdW4gZXN0YSBlbiBudWxsXG4gICAgICAvLyAoY2xvc3VyZSBzdGFsZSBkZSBsYSBzZWNjaW9uIFwiTWlzIGFnZW50ZXNcIiksIHBvciBlc28gc2VsZWN0QWdlbnQobWFpYWtlckFnZW50KSB2YSBkZXNwdWVzLlxuICAgICAgaGFuZGxlR29Ub0hvbWUoKVxuICAgICAgc2VsZWN0QWdlbnQobWFpYWtlckFnZW50KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBvbkVycm9yKClcbiAgICB9XG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghY2hhdHNGZXRjaGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgIGNoYXRzRmV0Y2hlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0LCBvZmZzZXQgfSlcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICAvLyBSZWZldGNoIHNvbGljaXRhZG8gcG9yIHByb3A6IHNlIGVqZWN1dGEgYXVucXVlIGVsIHNpZGViYXIgZXN0w6kgY29sYXBzYWRvLlxuICAgIGlmIChyZWZldGNoQ2hhdHMpIHtcbiAgICAgIGZldGNoQ2hhdHMoeyBsaW1pdCwgb2Zmc2V0IH0pXG4gICAgICBoYW5kbGVTZXRSZWZldGNoQ2hhdHMoZmFsc2UpXG4gICAgfVxuICB9LCBbcmVmZXRjaENoYXRzLCBoYW5kbGVTZXRSZWZldGNoQ2hhdHMsIGZldGNoQ2hhdHMsIGxpbWl0LCBvZmZzZXRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFjaGF0c0NvbnRhaW5lclJlZi5jdXJyZW50IHx8ICFoYXNNb3JlQ2hhdHMgfHwgaXNMb2FkaW5nTW9yZUNoYXRzIHx8IGhhc0Vycm9yKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGNoYXRzQ29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGlzQXRCb3R0b20gPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQgPj0gc2Nyb2xsSGVpZ2h0IC0gMTBcblxuICAgICAgaWYgKGlzQXRCb3R0b20pIHtcbiAgICAgICAgbG9hZE1vcmVDaGF0cygpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgY29udGFpbmVyID0gY2hhdHNDb250YWluZXJSZWYuY3VycmVudFxuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtoYXNNb3JlQ2hhdHMsIGlzTG9hZGluZ01vcmVDaGF0cywgbG9hZE1vcmVDaGF0cywgaGFzRXJyb3JdKVxuXG4gIGNvbnN0IGhhbmRsZU5ld0NoYXQgPSAoKSA9PiB7XG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpU2lkZWJhck5ld0NoYXQpXG4gICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgIH1cbiAgICBzZXRTZWxlY3RlZENoYXQobnVsbClcbiAgICBpZiAoaGFuZGxlU3RhcnROZXdDaGF0KSB7XG4gICAgICBoYW5kbGVTdGFydE5ld0NoYXQoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGhhbmRsZUdvVG9Ib21lKClcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gQWwgY3JlYXIvYWN0dWFsaXphciB1bmEgY29udmVyc2FjacOzbiByZWZyZXNjYW1vcyBsYSBsaXN0YSBhdW5xdWUgZWwgc2lkZWJhciBlc3TDqSBjb2xhcHNhZG8uXG4gICAgY29uc3QgaGFuZGxlUmVmZXRjaFNlc3Npb24gPSAoKSA9PiB7XG4gICAgICBjaGF0c0ZldGNoZWRSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGZldGNoQ2hhdHMoeyBsaW1pdDogMjAsIG9mZnNldDogMCwgYmFja2dyb3VuZDogdHJ1ZSB9KVxuICAgIH1cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdyZWZldGNoLXNlc3Npb24nLCBoYW5kbGVSZWZldGNoU2Vzc2lvbilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVmZXRjaC1zZXNzaW9uJywgaGFuZGxlUmVmZXRjaFNlc3Npb24pXG4gICAgfVxuICB9LCBbZmV0Y2hDaGF0c10pXG5cbiAgY29uc3QgaXNBZ2VudHNIdWJTZWN0aW9uID0gc2hvd05ld0NoYXQgJiYgKGFnZW50c05hdkFjdGl2ZSA9PT0gJ215QWdlbnRzJyB8fCBhZ2VudHNOYXZBY3RpdmUgPT09ICdtYWlha2VyJylcblxuICBjb25zdCBzaG93TmV3Q2hhdEJ1dHRvbiA9XG4gICAgaXNBZ2VudHNIdWJTZWN0aW9uIHx8XG4gICAgKCFzaG93TmV3Q2hhdCAmJlxuICAgICAgIWhhc0Vycm9yICYmXG4gICAgICAhbG9hZGluZ0NoYXRzICYmXG4gICAgICAhaXNMZWdhY3lDb250ZXh0U2Vzc2lvbiAmJlxuICAgICAgKCh1c2VyUGVybWlzc2lvbnM/LnZpZXcgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSB8fFxuICAgICAgICAoIXVzZXJQZXJtaXNzaW9ucz8udmlldyAmJlxuICAgICAgICAgICFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkICYmXG4gICAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgJiZcbiAgICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MpKSlcblxuICByZXR1cm4gKFxuICAgIDxTQ1NTaWRlYmFyUm9vdCAkaXNPcGVuPXtpc09wZW59PlxuICAgICAgPFNDU1NpZGViYXJUb29sYmFyICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIDxUb29sdGlwIHRpdGxlPXtpc09wZW4gPyB0KCdjb252ZXJzYXRpb25zLmNvbGxhcHNlJykgOiB0KCdoaXN0b3J5LnRvb2x0aXAnKX0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICA8U0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVUb2dnbGVTaWRlYmFyfSBpc09wZW49e2lzT3Blbn0+XG4gICAgICAgICAgICB7aXNPcGVuID8gKFxuICAgICAgICAgICAgICA8Q2hldnJvbkRvdWJsZUxlZnQgY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgd2lkdGg9ezE2fSBoZWlnaHQ9ezE2fSAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFNDU1NpZGViYXJVbnJlYWRBbmNob3I+XG4gICAgICAgICAgICAgICAgPEhpc3RvcnkgY29sb3I9XCJyZ2JhKDEzLCAxMywgMTMsIDEpXCIgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgICAgICAgIHt1bnJlYWRDb3VudCA+IDAgPyAoXG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhclVucmVhZENvdW50ICRmbG9hdGluZyBhcmlhLWxhYmVsPXt0KCdjb252ZXJzYXRpb25zLnVucmVhZExhYmVsJyl9PlxuICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0VW5yZWFkQ291bnQodW5yZWFkQ291bnQpfVxuICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyVW5yZWFkQ291bnQ+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU0NTU2lkZWJhclVucmVhZEFuY2hvcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TQ1NXcmFwcGVyQ29sbGFwc2VkQnV0dG9uPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzaG93TmV3Q2hhdEJ1dHRvbiA/IChcbiAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnY29udmVyc2F0aW9ucy5uZXdDaGF0Jyl9IHpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICA8U0NTV3JhcHBlck5ld0NoYXRJY29uIG9uQ2xpY2s9e2hhbmRsZU5ld0NoYXR9PlxuICAgICAgICAgICAgICA8TmV3Q2hhdCB3aWR0aD17MTZ9IGhlaWdodD17MTZ9IC8+XG4gICAgICAgICAgICA8L1NDU1dyYXBwZXJOZXdDaGF0SWNvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7IWlzT3BlbiAmJiBzaG93QWdlbnRzTmF2QmxvY2sgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxTQ1NTaWRlYmFyQ29sbGFwc2VkRGl2aWRlciAvPlxuICAgICAgICAgICAge3Nob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdjb252ZXJzYXRpb25zLm1haWFrZXJOYXYnKX0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgICAgICA8U0NTV3JhcHBlckFnZW50c05hdkljb25cbiAgICAgICAgICAgICAgICAgICRhY3RpdmU9e2FnZW50c05hdkFjdGl2ZSA9PT0gJ21haWFrZXInfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0TXBPcGVuKVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuQ3JlYXRlQWdlbnQoKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8TWFpYVN0b3JlSWNvbiBzaXplPXsxNn0gLz5cbiAgICAgICAgICAgICAgICA8L1NDU1dyYXBwZXJBZ2VudHNOYXZJY29uPlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtjYW5WaWV3QWdlbnRzID8gKFxuICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnY29udmVyc2F0aW9ucy5teUFnZW50c05hdicpfSB6SW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgICAgICAgIDxTQ1NXcmFwcGVyQWdlbnRzTmF2SWNvblxuICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17YWdlbnRzTmF2QWN0aXZlID09PSAnbXlBZ2VudHMnfVxuICAgICAgICAgICAgICAgICAgZGF0YS1hcHBjdWVzPXtBUFBDVUVTX1NFTEVDVE9SUy5tYWlhU2lkZWJhck15QWdlbnRzfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlTaWRlYmFyTXlBZ2VudHMpXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5NYXJrZXRwbGFjZSgpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxNeUFnZW50c05hdkljb24gc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgICAgPC9TQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbj5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2FuVmlld1NraWxscyA/IChcbiAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NvbnZlcnNhdGlvbnMubXlTa2lsbHNOYXYnKX0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgICAgICA8U0NTV3JhcHBlckFnZW50c05hdkljb24gJGFjdGl2ZT17YWdlbnRzTmF2QWN0aXZlID09PSAnbXlTa2lsbHMnfSBvbkNsaWNrPXtoYW5kbGVPcGVuU2tpbGxzfT5cbiAgICAgICAgICAgICAgICAgIDxTa2lsbHNOYXZJY29uIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICAgIDwvU0NTV3JhcHBlckFnZW50c05hdkljb24+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU0NTU2lkZWJhclRvb2xiYXI+XG4gICAgICA8U0NTU2lkZWJhckJvZHkgJGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAge2lzT3BlbiA/IChcbiAgICAgICAgICA8U0NTU2lkZWJhck9wZW5QYW5lbD5cbiAgICAgICAgICAgIDxTQ1NTaWRlYmFyQWdlbnRzQmxvY2s+XG4gICAgICAgICAgICAgIHtzaG93QWdlbnRzTmF2QmxvY2sgPyAoXG4gICAgICAgICAgICAgICAgPFNDU1NpZGViYXJBZ2VudHNBY3Rpb25zPlxuICAgICAgICAgICAgICAgICAge3Nob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRNcE9wZW4pXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuQ3JlYXRlQWdlbnQoKVxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17YWdlbnRzTmF2QWN0aXZlID09PSAnbWFpYWtlcid9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8TWFpYVN0b3JlSWNvbiBzaXplPXsxNn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbD57dCgnY29udmVyc2F0aW9ucy5tYWlha2VyTmF2Jyl9PC9TQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICB7Y2FuVmlld0FnZW50cyA/IChcbiAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS1hcHBjdWVzPXtBUFBDVUVTX1NFTEVDVE9SUy5tYWlhU2lkZWJhck15QWdlbnRzfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haVNpZGViYXJNeUFnZW50cylcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5NYXJrZXRwbGFjZSgpXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAkYWN0aXZlPXthZ2VudHNOYXZBY3RpdmUgPT09ICdteUFnZW50cyd9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8TXlBZ2VudHNOYXZJY29uIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPnt0KCdjb252ZXJzYXRpb25zLm15QWdlbnRzTmF2Jyl9PC9TQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICB7Y2FuVmlld1NraWxscyA/IChcbiAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlT3BlblNraWxsc31cbiAgICAgICAgICAgICAgICAgICAgICAkYWN0aXZlPXthZ2VudHNOYXZBY3RpdmUgPT09ICdteVNraWxscyd9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8U2tpbGxzTmF2SWNvbiBzaXplPXsxNn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbD57dCgnY29udmVyc2F0aW9ucy5teVNraWxsc05hdicpfTwvU0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckFnZW50c0FjdGlvbnM+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8U0NTU2lkZWJhckNvbnZlcnNhdGlvbnNIZWFkaW5nUm93PlxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmc+e3QoJ2NvbnZlcnNhdGlvbnMudGl0bGUnKX08L1NDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZz5cbiAgICAgICAgICAgICAgICB7dW5yZWFkQ291bnQgPiAwID8gKFxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJVbnJlYWRDb3VudCBhcmlhLWxhYmVsPXt0KCdjb252ZXJzYXRpb25zLnVucmVhZExhYmVsJyl9PlxuICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0VW5yZWFkQ291bnQodW5yZWFkQ291bnQpfVxuICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyVW5yZWFkQ291bnQ+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU0NTU2lkZWJhckNvbnZlcnNhdGlvbnNIZWFkaW5nUm93PlxuICAgICAgICAgICAgPC9TQ1NTaWRlYmFyQWdlbnRzQmxvY2s+XG4gICAgICAgICAgICA8U0NTU2lkZWJhckNoYXRzU2Nyb2xsXG4gICAgICAgICAgICAgIHJlZj17Y2hhdHNDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgICRoYXNDaGF0cz17Y2hhdHMubGVuZ3RoID4gMH1cbiAgICAgICAgICAgICAgJG9mZnNldFZhcmlhbnQ9e2hhc0Vycm9yID8gJ2Vycm9yJyA6ICdkZWZhdWx0J31cbiAgICAgICAgICAgICAgJGFnZW50TmF2QnV0dG9uQ291bnQ9e2FnZW50TmF2QnV0dG9uQ291bnR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtoYXNFcnJvciAmJiAhY2hhdHMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JTdGF0ZUNvbHVtbj5cbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcD5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yU3RhdGUgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yU3RhdGVUb3A+XG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVyPlxuICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgPEVycm9ySWNvbiAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwPlxuICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZT57dCgnY29udmVyc2F0aW9ucy5lcnJvcicpfTwvU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZT5cbiAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yQmFubmVyPlxuICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4+XG4gICAgICAgICAgICAgICkgOiBsb2FkaW5nQ2hhdHMgPyAoXG4gICAgICAgICAgICAgICAgPFNDU1NpZGViYXJMb2FkaW5nQXJlYT5cbiAgICAgICAgICAgICAgICAgIDxTaWRlYmFyQ2hhdHNTa2VsZXRvbiAvPlxuICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckxvYWRpbmdBcmVhPlxuICAgICAgICAgICAgICApIDogY2hhdHMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7Y2hhdHMubWFwKChjaGF0LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxMaXN0SGlzdG9yeUNoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17Y2hhdC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXQ9e2NoYXR9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtjaGF0RGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRDaGF0KGNoYXREYXRhLnNlc3Npb25FeHRlcm5hbElkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkdvVG9DaGF0KGNoYXREYXRhKVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTW9kYWxPcGVuPXtpc09wZW5Nb2RhbCA9PT0gY2hhdC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uT3Blbk1vZGFsPXtoYW5kbGVPcGVuTW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsb3NlTW9kYWw9e2hhbmRsZUNsb3NlTW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVycz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVEZWxldGVDaGF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVVcGRhdGVDaGF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQ2hhdCA9PT0gY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nTW9yZUNoYXRzICYmIChcbiAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJMb2FkTW9yZVJvdz5cbiAgICAgICAgICAgICAgICAgICAgICA8U2lkZWJhckNoYXRzU2tlbGV0b24gY291bnQ9ezJ9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckxvYWRNb3JlUm93PlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVtcHR5Q2hhdHM+XG4gICAgICAgICAgICAgICAgICA8RW1wdHlIaXN0b3J5SWNvbiAvPlxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFbXB0eUNoYXRzVGV4dD57dCgnY29udmVyc2F0aW9ucy5lbXB0eScpfTwvU0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0PlxuICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVtcHR5Q2hhdHM+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NDU1NpZGViYXJDaGF0c1Njcm9sbD5cbiAgICAgICAgICAgIDxTQ1NTaWRlYmFyQ2hhdHNGb290ZXI+XG4gICAgICAgICAgICAgIHtoYXNFcnJvciAmJiBjaGF0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lcj5cbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXJJY29uV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9ySWNvbiAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXJJY29uV3JhcD5cbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlPnt0KCdjb252ZXJzYXRpb25zLmVycm9yJyl9PC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlPlxuICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yQmFubmVyPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU0NTU2lkZWJhckNoYXRzRm9vdGVyPlxuICAgICAgICAgIDwvU0NTU2lkZWJhck9wZW5QYW5lbD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDxTQ1NTaWRlYmFyRm9vdGVyQWN0aW9ucyAkaXNPcGVuPXtpc09wZW59ICRqdXN0aWZ5QmV0d2Vlbj17ISFzZWxlY3RlZEFnZW50fT5cbiAgICAgICAgICB7c2VsZWN0ZWRBZ2VudCA/IDxGZWVkYmFja0J1dHRvbiBzZWxlY3RlZEFnZW50PXtzZWxlY3RlZEFnZW50fSBpc09wZW49e2lzT3Blbn0gLz4gOiBudWxsfVxuICAgICAgICA8L1NDU1NpZGViYXJGb290ZXJBY3Rpb25zPlxuICAgICAgPC9TQ1NTaWRlYmFyQm9k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V0FBVyxFQUFFbU0sZUFBZ0I7Z0JBQzdCbE0sWUFBWSxFQUFFbU0sZ0JBQWlCO2dCQUMvQmxNLFFBQVEsRUFBRTtrQkFDUnlDLGdCQUFnQixFQUFoQkEsZ0JBQWdCO2tCQUNoQkQsZ0JBQWdCLEVBQWhCQTtnQkFDRixDQUFFO2dCQUNGdkMsVUFBVSxFQUFFMEcsWUFBWSxLQUFLaEgsSUFBSSxDQUFDK0IsaUJBQWtCO2dCQUNwRHZCLGFBQWEsRUFBRUE7Y0FBYyxHQWxCeEJSLElBQUksQ0FBQ21FLEVBbUJYLENBQUM7WUFFTixDQUFDLENBQUMsRUFDRG1FLGtCQUFrQixpQkFDakJySixJQUFBLENBQUNQLHFCQUFxQjtjQUFBcUUsUUFBQSxlQUNwQjlELElBQUEsQ0FBQ25FLG9CQUFvQjtnQkFBQzBVLEtBQUssRUFBRTtjQUFFLENBQUU7WUFBQyxDQUNiLENBQ3hCO1VBQUEsQ0FDRCxDQUFDLGdCQUVIclEsS0FBQSxDQUFDUixvQkFBb0I7WUFBQW9FLFFBQUEsZ0JBQ25COUQsSUFBQSxDQUFDdEUsZ0JBQWdCLElBQUUsQ0FBQyxlQUNwQnNFLElBQUEsQ0FBQ0wsd0JBQXdCO2NBQUFtRSxRQUFBLEVBQUV2QixDQUFDLENBQUMscUJBQXFCO1lBQUMsQ0FBMkIsQ0FBQztVQUFBLENBQzNEO1FBQ3ZCLENBQ29CLENBQUMsZUFDeEJ2QyxJQUFBLENBQUNKLHFCQUFxQjtVQUFBa0UsUUFBQSxFQUNuQitDLFFBQVEsSUFBSWdDLEtBQUssQ0FBQ3VILE1BQU0sZ0JBQ3ZCbFEsS0FBQSxDQUFDYixxQkFBcUI7WUFBQXlFLFFBQUEsZ0JBQ3BCOUQsSUFBQSxDQUFDViw2QkFBNkI7Y0FBQXdFLFFBQUEsZUFDNUI5RCxJQUFBLENBQUN0RCxTQUFTLElBQUU7WUFBQyxDQUNnQixDQUFDLGVBQ2hDc0QsSUFBQSxDQUFDVCw0QkFBNEI7Y0FBQXVFLFFBQUEsRUFBRXZCLENBQUMsQ0FBQyxxQkFBcUI7WUFBQyxDQUErQixDQUFDO1VBQUEsQ0FDbEUsQ0FBQyxHQUN0QjtRQUFJLENBQ2EsQ0FBQztNQUFBLENBQ0wsQ0FBQyxHQUNwQixJQUFJLGVBQ1J2QyxJQUFBLENBQUNILHVCQUF1QjtRQUFDK1AsT0FBTyxFQUFFckksTUFBTztRQUFDaUosZUFBZSxFQUFFLENBQUMsQ0FBQ2xJLGFBQWM7UUFBQXhFLFFBQUEsRUFDeEV3RSxhQUFhLGdCQUFHdEksSUFBQSxDQUFDcEQsY0FBYztVQUFDMEwsYUFBYSxFQUFFQSxhQUFjO1VBQUNmLE1BQU0sRUFBRUE7UUFBTyxDQUFFLENBQUMsR0FBRztNQUFJLENBQ2pFLENBQUM7SUFBQSxDQUNaLENBQUM7RUFBQSxDQUNILENBQUM7QUFFckIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
716
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJDaGV2cm9uRG91YmxlTGVmdCIsIkhpc3RvcnkiLCJDVUJ1dHRvbiIsIk1lbnVEb3RzIiwiUGVuY2lsIiwiVHJhc2giLCJUb29sdGlwIiwiRW1wdHlIaXN0b3J5SWNvbiIsInVzZVJlc2l6ZUxpc3RlbmVyIiwidXNlQ2hhdHMiLCJTaWRlYmFyQ2hhdHNTa2VsZXRvbiIsIkVycm9yU3RhdGUiLCJNQUlBSWNvbiIsIk1haWFTdG9yZUljb24iLCJNeUFnZW50c05hdkljb24iLCJTa2lsbHNOYXZJY29uIiwiTmV3Q2hhdCIsIkVWRU5UUyIsInVzZUV2ZW50IiwidXNlVCIsIk9wdGlvbkl0ZW0iLCJFZGl0UXVlc3Rpb25Nb2RhbCIsIkRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJFcnJvckljb24iLCJ1c2VVc2VyIiwiRmVlZGJhY2tCdXR0b24iLCJ1c2VHbG9iYWxDb250ZXh0IiwiZmV0Y2hNYWlhIiwiY2FuQWNjZXNzVG9Ta2lsbHMiLCJtYXBDT1JMYW5nIiwiZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zIiwiZ2V0QWdlbnREaXNwbGF5TmFtZSIsImlzTWFya2V0cGxhY2VHbG9iYWxDbG9uZUFnZW50IiwiQVBQQ1VFU19FVkVOVFMiLCJBUFBDVUVTX1NFTEVDVE9SUyIsInRyYWNrQXBwY3Vlc0V2ZW50IiwiZm9ybWF0VW5yZWFkQ291bnQiLCJTZXNzaW9uR2VuZXJhdGluZ0RvdCIsInVzZUlzU2Vzc2lvbkdlbmVyYXRpbmciLCJ1c2VTZXNzaW9uTWV0YSIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJTQ0xIQ1dyYXBwZXIiLCJTQ0xIQ1dyYXBwZXJBZ2VudCIsIlNDTEhDV3JhcHBlckFnZW50VGV4dCIsIlNDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnMiLCJTQ0xIQ1dyYXBwZXJDb250ZW50IiwiU0NMSENXcmFwcGVyVGl0bGUiLCJTQ0xIQ1dyYXBwZXJUaXRsZVJvdyIsIlNDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24iLCJTQ1NXcmFwcGVyTmV3Q2hhdEljb24iLCJTQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbiIsIlNDU1NpZGViYXJSb290IiwiU0NTU2lkZWJhclRvb2xiYXIiLCJTQ1NTaWRlYmFyQm9keSIsIlNDU1NpZGViYXJPcGVuUGFuZWwiLCJTQ1NTaWRlYmFyQWdlbnRzQmxvY2siLCJTQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucyIsIlNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uIiwiU0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbCIsIlNDU1NpZGViYXJNYWlha2VyTmF2QmFkZ2VOZXciLCJTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmciLCJTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmdSb3ciLCJTQ1NTaWRlYmFyVW5yZWFkQW5jaG9yIiwiU0NTU2lkZWJhclVucmVhZENvdW50IiwiU0NTU2lkZWJhckNoYXRzU2Nyb2xsIiwiU0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4iLCJTQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcCIsIlNDU1NpZGViYXJFcnJvckJhbm5lciIsIlNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwIiwiU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZSIsIlNDU1NpZGViYXJMb2FkaW5nQXJlYSIsIlNDU1NpZGViYXJMb2FkTW9yZVJvdyIsIlNDU1NpZGViYXJFbXB0eUNoYXRzIiwiU0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0IiwiU0NTU2lkZWJhckNoYXRzRm9vdGVyIiwiU0NTU2lkZWJhckZvb3RlckFjdGlvbnMiLCJTQ1NTaWRlYmFyQ29sbGFwc2VkRGl2aWRlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImFjdGlvbnMiLCJlZGl0IiwicHJvcHMiLCJfb2JqZWN0U3ByZWFkIiwiZGVsZXRlIiwiYWJicmV2aWF0ZVNwZWNpYWxpc3RJbkFnZW50TmFtZSIsImFnZW50TmFtZSIsInJlcGxhY2UiLCJMaXN0SGlzdG9yeUNoYXQiLCJfcmVmIiwiY2hhdCIsIm9uQ2xpY2siLCJpc01vZGFsT3BlbiIsIm9uT3Blbk1vZGFsIiwib25DbG9zZU1vZGFsIiwiaGFuZGxlcnMiLCJpc1NlbGVjdGVkIiwiaW5kZXgiLCJ0b29sdGlwWkluZGV4IiwidGV4dFJlZiIsImFnZW50UmVmIiwiZGlzcGxheVRpdGxlIiwidGl0bGUiLCJkaXNwbGF5QWdlbnQiLCJhZ2VudFR5cGUiLCJhZ2VudCIsImNvbnRleHROYW1lIiwicHJvamVjdE5hbWUiLCJjbGllbnROYW1lIiwiX3VzZVJlc2l6ZUxpc3RlbmVyIiwic2hvd1Rvb2x0aXAiLCJfdXNlUmVzaXplTGlzdGVuZXIyIiwic2hvd1Rvb2x0aXBBZ2VudCIsIl91c2VUIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFjdGlvbiIsInNldEFjdGlvbiIsImlzR2VuZXJhdGluZyIsInNlc3Npb25FeHRlcm5hbElkIiwic2Vzc2lvbk1ldGEiLCJpc1VucmVhZCIsImlzUmVhZCIsIm1lbnVJdGVtcyIsImxhYmVsIiwib25DbGlja0l0ZW0iLCJjaGF0SWQiLCJJY29uIiwiZXZlbnRLZXkiLCJwbUFpTWVudUVkaXQiLCJwbUFpTWVudURlbGV0ZSIsImhhbmRsZUNvbmZpcm1BY3Rpb24iLCJjaGF0RGF0YSIsImhhbmRsZVVwZGF0ZUNoYXQiLCJoYW5kbGVEZWxldGVDaGF0IiwiY2hpbGRyZW4iLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiJGluZGV4IiwiYXJpYUxhYmVsIiwiaXNXcml0aW5nIiwiYW5pbWF0ZWQiLCJ6SW5kZXgiLCJyZWYiLCIkdW5yZWFkIiwiY29uY2F0Iiwid2lkdGgiLCJoZWlnaHQiLCJzdHlsZSIsImZvbnRTaXplIiwiZW1vamkiLCJpY29uT25seSIsInNpemUiLCJ2YXJpYW50IiwiZXZlbnQiLCJpZCIsInBvc2l0aW9uIiwidG9wIiwicmlnaHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImJvcmRlclJhZGl1cyIsImJvcmRlciIsIm1pbldpZHRoIiwibWFwIiwiX3JlZjIiLCJvbkNsb3NlIiwiaGFuZGxlU2V0SXNPcGVuTW9kYWwiLCJTaWRlYmFyIiwiX3JlZjMiLCJfdXNlciRwZXJtaXNzaW9ucyIsIm9uR29Ub0NoYXQiLCJfcmVmMyRvbkVycm9yIiwib25FcnJvciIsImhhbmRsZUdvVG9Ib21lIiwiaGFuZGxlU3RhcnROZXdDaGF0IiwiaGFuZGxlT3Blbk1hcmtldHBsYWNlIiwiaGFuZGxlT3BlblNraWxscyIsInNob3dOZXdDaGF0IiwicmVmZXRjaENoYXRzIiwiaGFuZGxlU2V0UmVmZXRjaENoYXRzIiwiaGFzRXJyb3IiLCJyZXNldFNlbGVjdGVkQ2hhdFJlZiIsIl9yZWYzJGFnZW50c05hdkFjdGl2ZSIsImFnZW50c05hdkFjdGl2ZSIsIl9yZWYzJGlzTGVnYWN5Q29udGV4dCIsImlzTGVnYWN5Q29udGV4dFNlc3Npb24iLCJfdXNlVDIiLCJpMThuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzT3Blbk1vZGFsIiwic2V0SXNPcGVuTW9kYWwiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkQ2hhdCIsInNldFNlbGVjdGVkQ2hhdCIsImNoYXRzRmV0Y2hlZFJlZiIsImNoYXRzQ29udGFpbmVyUmVmIiwidXNlciIsImV2ZW50QW1wbGl0dWRlIiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RlZEFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50Iiwic2V0VGFzayIsIl91c2VDaGF0cyIsImxvYWRpbmdDaGF0cyIsImNoYXRzIiwiZGVsZXRlQ2hhdCIsInVwZGF0ZUNoYXQiLCJmZXRjaENoYXRzIiwibGltaXQiLCJvZmZzZXQiLCJoYXNNb3JlQ2hhdHMiLCJsb2FkTW9yZUNoYXRzIiwiaXNMb2FkaW5nTW9yZUNoYXRzIiwidW5yZWFkQ291bnQiLCJzZXRVbnJlYWRDb3VudCIsInNldENoYXRSZWFkU3RhdGUiLCJ1bnJlYWRTdWJzY3JpYmVkUmVmIiwiJF9zYyIsInVuZGVmaW5lZCIsImNoYW5uZWwiLCJoYW5kbGVVbnJlYWRFdmVudCIsIl9yZWY0IiwibW9kZWxEYXRhIiwibW9kZWxfZGF0YSIsInVucmVhZF9jb3VudCIsInNlc3Npb25faWQiLCJpc19yZWFkIiwic3Vic2NyaWJlSGFuZGxlciIsImN1cnJlbnQiLCJfJF9zYyRhY3Rpb25UeXBlIiwiXyRfc2MkY2hhbm5lbFR5cGUiLCJ1cGRhdGVDb25uZWN0aW9uTW9kZWwiLCJtb2RlbF9oYXNoIiwiYWN0aW9uVHlwZSIsIlNVQlNDUklCRSIsImNoYW5uZWxUeXBlIiwiTU9ERUxfQ0hBTk5FTCIsInVzZXJQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY2FuQ3JlYXRlQWdlbnRzIiwiY3JlYXRlIiwiaGFzTXVsdGlBZ2VudHNGZWF0dXJlQWNjZXNzIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsImNhblZpZXdBZ2VudHMiLCJ2aWV3IiwiY2FuVmlld1NraWxscyIsInNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24iLCJhZ2VudE5hdkJ1dHRvbkNvdW50Iiwic2hvd0FnZW50c05hdkJsb2NrIiwibXlBZ2VudHNTaWRlYmFyVHJhY2tlZFJlZiIsIm1haWFTaWRlYmFyTXlBZ2VudHMiLCJoYW5kbGVTZWxlY3RTZXNzaW9uIiwiZXZ0IiwiX2RldGFpbCIsIl9yZWY1IiwiZGV0YWlsIiwic2Vzc2lvbklkIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9yZWY2IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlT3Blbk1vZGFsIiwiaGFuZGxlQ2xvc2VNb2RhbCIsImhhbmRsZUNsaWNrT3V0c2lkZSIsInRhcmdldCIsImNsb3Nlc3QiLCJoYW5kbGVUb2dnbGVTaWRlYmFyIiwiYWlDaGF0U2lkZWJhciIsImhhbmRsZU9wZW5DcmVhdGVBZ2VudCIsIl9yZWY3IiwiX2NhbGxlZTIiLCJyZXNwb25zZSIsImRhdGEiLCJtYWlha2VyQWdlbnQiLCJfdCIsIl9jb250ZXh0MiIsInBhdGgiLCJsYW5ndWFnZSIsIm1ldGhvZCIsInNlbnQiLCJqc29uIiwiZmluZCIsImFnZW50SXRlbSIsImFicnVwdCIsImhhbmRsZVNjcm9sbCIsIl9jaGF0c0NvbnRhaW5lclJlZiRjdSIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImlzQXRCb3R0b20iLCJjb250YWluZXIiLCJoYW5kbGVOZXdDaGF0IiwiYWlTaWRlYmFyTmV3Q2hhdCIsImhhbmRsZVJlZmV0Y2hTZXNzaW9uIiwiYmFja2dyb3VuZCIsImlzQWdlbnRzSHViU2VjdGlvbiIsInNob3dOZXdDaGF0QnV0dG9uIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsIiRpc09wZW4iLCJjb2xvciIsIiRmbG9hdGluZyIsIiRhY3RpdmUiLCJhaUNoYXRNcE9wZW4iLCJhaVNpZGViYXJNeUFnZW50cyIsInR5cGUiLCIkaGFzQ2hhdHMiLCJsZW5ndGgiLCIkb2Zmc2V0VmFyaWFudCIsIiRhZ2VudE5hdkJ1dHRvbkNvdW50IiwiY291bnQiLCIkanVzdGlmeUJldHdlZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2lkZWJhci9TaWRlYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjYW1lbGNhc2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvdyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgTXV0YWJsZVJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDaGV2cm9uRG91YmxlTGVmdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3VibGVMZWZ0J1xuaW1wb3J0IHsgSGlzdG9yeSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0hpc3RvcnknXG5pbXBvcnQgeyBDVUJ1dHRvbiB9IGZyb20gJ0Bwcm9qZWN0Y29yL2J1dHRvbi9saWIvY29tcG9uZW50cy9DVUJ1dHRvbidcbmltcG9ydCB7IE1lbnVEb3RzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvTWVudURvdHMnXG5pbXBvcnQgeyBQZW5jaWwgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QZW5jaWwnXG5pbXBvcnQgeyBUcmFzaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1RyYXNoJ1xuXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5cbmltcG9ydCB7IEVtcHR5SGlzdG9yeUljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9FbXB0eUhpc3RvcnknXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IHVzZUNoYXRzIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlQ2hhdHMnXG5pbXBvcnQgeyBTaWRlYmFyQ2hhdHNTa2VsZXRvbiB9IGZyb20gJy4vU2lkZWJhci5za2VsZXRvbidcbmltcG9ydCB7IEVycm9yU3RhdGUsIE1BSUFJY29uLCBNYWlhU3RvcmVJY29uLCBNeUFnZW50c05hdkljb24sIFNraWxsc05hdkljb24sIE5ld0NoYXQgfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgT3B0aW9uSXRlbSB9IGZyb20gJy4uLy4uL2F0b21zL0NhcmRNZW51L0NhcmRNZW51J1xuaW1wb3J0IHsgRWRpdFF1ZXN0aW9uTW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvRWRpdFF1ZXN0aW9uTW9kYWwnXG5pbXBvcnQgeyBEZWxldGVRdWVzdGlvbk1vZGFsIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL0RlbGV0ZVF1ZXN0aW9uTW9kYWwnXG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9FcnJvckljb24nXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IEZlZWRiYWNrQnV0dG9uIH0gZnJvbSAnLi4vLi4vYXRvbXMvRmVlZGJhY2tCdXR0b24nXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvY2xpZW50J1xuaW1wb3J0IHsgY2FuQWNjZXNzVG9Ta2lsbHMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvcGVybWlzc2lvbnMnXG5pbXBvcnQgeyBtYXBDT1JMYW5nIH0gZnJvbSAnLi4vLi4vLi4vbGFuZy91dGlscydcbmltcG9ydCB7IGZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3JlbmRlckNvbnRleHRNZW50aW9ucydcbmltcG9ydCB7IGdldEFnZW50RGlzcGxheU5hbWUsIGlzTWFya2V0cGxhY2VHbG9iYWxDbG9uZUFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYWdlbnREaXNwbGF5TmFtZSdcbmltcG9ydCB7IEFQUENVRVNfRVZFTlRTLCBBUFBDVUVTX1NFTEVDVE9SUywgdHJhY2tBcHBjdWVzRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcHBjdWVzJ1xuaW1wb3J0IHsgZm9ybWF0VW5yZWFkQ291bnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9mb3JtYXRVbnJlYWRDb3VudCdcbmltcG9ydCB7IFNlc3Npb25HZW5lcmF0aW5nRG90IH0gZnJvbSAnLi4vLi4vYXRvbXMvU2Vzc2lvbkdlbmVyYXRpbmdEb3QnXG5pbXBvcnQgeyB1c2VJc1Nlc3Npb25HZW5lcmF0aW5nLCB1c2VTZXNzaW9uTWV0YSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3Nlc3Npb25zL3VzZVNlc3Npb25NZXRhJ1xuaW1wb3J0IHsgdXNlTWFpYVRhc2tQYW5lbFpJbmRleCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1haWFUYXNrUGFuZWxaSW5kZXgnXG5pbXBvcnQge1xuICBTQ0xIQ1dyYXBwZXIsXG4gIFNDTEhDV3JhcHBlckFnZW50LFxuICBTQ0xIQ1dyYXBwZXJBZ2VudFRleHQsXG4gIFNDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnMsXG4gIFNDTEhDV3JhcHBlckNvbnRlbnQsXG4gIFNDTEhDV3JhcHBlclRpdGxlLFxuICBTQ0xIQ1dyYXBwZXJUaXRsZVJvdyxcbiAgU0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbixcbiAgU0NTV3JhcHBlck5ld0NoYXRJY29uLFxuICBTQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbixcbn0gZnJvbSAnLi9TaWRlYmFyLnN0eWxlcydcbmltcG9ydCB7XG4gIFNDU1NpZGViYXJSb290LFxuICBTQ1NTaWRlYmFyVG9vbGJhcixcbiAgU0NTU2lkZWJhckJvZHksXG4gIFNDU1NpZGViYXJPcGVuUGFuZWwsXG4gIFNDU1NpZGViYXJBZ2VudHNCbG9jayxcbiAgU0NTU2lkZWJhckFnZW50c0FjdGlvbnMsXG4gIFNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uLFxuICBTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsLFxuICBTQ1NTaWRlYmFyTWFpYWtlck5hdkJhZGdlTmV3LFxuICBTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmcsXG4gIFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1JvdyxcbiAgU0NTU2lkZWJhclVucmVhZEFuY2hvcixcbiAgU0NTU2lkZWJhclVucmVhZENvdW50LFxuICBTQ1NTaWRlYmFyQ2hhdHNTY3JvbGwsXG4gIFNDU1NpZGViYXJFcnJvclN0YXRlQ29sdW1uLFxuICBTQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcCxcbiAgU0NTU2lkZWJhckVycm9yQmFubmVyLFxuICBTQ1NTaWRlYmFyRXJyb3JCYW5uZXJJY29uV3JhcCxcbiAgU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZSxcbiAgU0NTU2lkZWJhckxvYWRpbmdBcmVhLFxuICBTQ1NTaWRlYmFyTG9hZE1vcmVSb3csXG4gIFNDU1NpZGViYXJFbXB0eUNoYXRzLFxuICBTQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQsXG4gIFNDU1NpZGViYXJDaGF0c0Zvb3RlcixcbiAgU0NTU2lkZWJhckZvb3RlckFjdGlvbnMsXG4gIFNDU1NpZGViYXJDb2xsYXBzZWREaXZpZGVyLFxufSBmcm9tICcuL1NpZGViYXIubGF5b3V0LnN0eWxlcydcblxuY29uc3QgYWN0aW9ucyA9IHtcbiAgZWRpdDogKHByb3BzOiBhbnkpID0+IDxFZGl0UXVlc3Rpb25Nb2RhbCB7Li4ucHJvcHN9IC8+LFxuICBkZWxldGU6IChwcm9wczogYW55KSA9PiA8RGVsZXRlUXVlc3Rpb25Nb2RhbCB7Li4ucHJvcHN9IC8+LFxufVxuXG4vKiogQWJyZXZpYSBcImVzcGVjaWFsaXN0YVwiL1wiZXNwZWNpYWxpc3RcIiDihpIgXCJFc3AuXCIgKEVTL1BUKSB5IFwic3BlY2lhbGlzdFwiIOKGkiBcIlNwZWMuXCIgKEVOKSBlbiBlbCBub21icmUgZGVsIGFnZW50ZS4gKi9cbmZ1bmN0aW9uIGFiYnJldmlhdGVTcGVjaWFsaXN0SW5BZ2VudE5hbWUoYWdlbnROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWFnZW50TmFtZSB8fCB0eXBlb2YgYWdlbnROYW1lICE9PSAnc3RyaW5nJykgcmV0dXJuIGFnZW50TmFtZVxuICByZXR1cm4gYWdlbnROYW1lLnJlcGxhY2UoL1xcYihlc3BlY2lhbGlzdGF8ZXNwZWNpYWxpc3QpXFxiL2dpLCAnRXNwLicpLnJlcGxhY2UoL1xcYnNwZWNpYWxpc3RcXGIvZ2ksICdTcGVjLicpXG59XG5cbmNvbnN0IExpc3RIaXN0b3J5Q2hhdCA9ICh7XG4gIGNoYXQsXG4gIG9uQ2xpY2ssXG4gIGlzTW9kYWxPcGVuLFxuICBvbk9wZW5Nb2RhbCxcbiAgb25DbG9zZU1vZGFsLFxuICBoYW5kbGVycyxcbiAgaXNTZWxlY3RlZCxcbiAgaW5kZXgsXG4gIHRvb2x0aXBaSW5kZXgsXG59OiB7XG4gIGNoYXQ6IGFueVxuICBvbkNsaWNrOiAoY2hhdDogYW55KSA9PiB2b2lkXG4gIGlzTW9kYWxPcGVuOiBib29sZWFuXG4gIG9uT3Blbk1vZGFsOiAoY2hhdElkOiBzdHJpbmcpID0+IHZvaWRcbiAgb25DbG9zZU1vZGFsOiAoKSA9PiB2b2lkXG4gIGhhbmRsZXJzOiB7XG4gICAgaGFuZGxlRGVsZXRlQ2hhdDogKGNoYXQ6IGFueSkgPT4gdm9pZFxuICAgIGhhbmRsZVVwZGF0ZUNoYXQ6IChjaGF0OiBhbnkpID0+IHZvaWRcbiAgfVxuICBpc1NlbGVjdGVkOiBib29sZWFuXG4gIGluZGV4OiBudW1iZXJcbiAgdG9vbHRpcFpJbmRleDogbnVtYmVyXG59KSA9PiB7XG4gIGNvbnN0IHRleHRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGFnZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBkaXNwbGF5VGl0bGUgPSB1c2VNZW1vKCgpID0+IGZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyhjaGF0LnRpdGxlKSwgW2NoYXQudGl0bGVdKVxuICBjb25zdCBkaXNwbGF5QWdlbnQgPSBnZXRBZ2VudERpc3BsYXlOYW1lKGNoYXQuYWdlbnRUeXBlLCBjaGF0LmFnZW50KVxuICBjb25zdCBjb250ZXh0TmFtZSA9IGNoYXQucHJvamVjdE5hbWUgfHwgY2hhdC5jbGllbnROYW1lXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtkaXNwbGF5VGl0bGVdKVxuICBjb25zdCB7IHNob3dUb29sdGlwOiBzaG93VG9vbHRpcEFnZW50IH0gPSB1c2VSZXNpemVMaXN0ZW5lcihhZ2VudFJlZiwgW2NoYXQuYWdlbnRdKVxuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBbYWN0aW9uLCBzZXRBY3Rpb25dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgaXNHZW5lcmF0aW5nID0gdXNlSXNTZXNzaW9uR2VuZXJhdGluZyhjaGF0LnNlc3Npb25FeHRlcm5hbElkKVxuICBjb25zdCBzZXNzaW9uTWV0YSA9IHVzZVNlc3Npb25NZXRhKGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gIGNvbnN0IGlzVW5yZWFkID0gY2hhdC5pc1JlYWQgPT09IGZhbHNlICYmICFpc0dlbmVyYXRpbmdcblxuICBjb25zdCBtZW51SXRlbXMgPSBbXG4gICAge1xuICAgICAgbGFiZWw6IHQoJ2hpc3RvcnkubWVudS5yZW5hbWUnKSxcbiAgICAgIG9uQ2xpY2tJdGVtOiAoY2hhdElkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc2V0QWN0aW9uKCdlZGl0JylcbiAgICAgICAgb25PcGVuTW9kYWwoY2hhdElkKVxuICAgICAgfSxcbiAgICAgIEljb246IFBlbmNpbCxcbiAgICAgIGV2ZW50S2V5OiBFVkVOVFMucG1BaU1lbnVFZGl0LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6IHQoJ2hpc3RvcnkubWVudS5kZWxldGUnKSxcbiAgICAgIG9uQ2xpY2tJdGVtOiAoY2hhdElkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc2V0QWN0aW9uKCdkZWxldGUnKVxuICAgICAgICBvbk9wZW5Nb2RhbChjaGF0SWQpXG4gICAgICB9LFxuICAgICAgSWNvbjogVHJhc2gsXG4gICAgICBldmVudEtleTogRVZFTlRTLnBtQWlNZW51RGVsZXRlLFxuICAgIH0sXG4gIF1cblxuICBjb25zdCBoYW5kbGVDb25maXJtQWN0aW9uID0gKGNoYXREYXRhOiBhbnkpID0+IHtcbiAgICBpZiAoYWN0aW9uID09PSAnZWRpdCcpIHtcbiAgICAgIGhhbmRsZXJzLmhhbmRsZVVwZGF0ZUNoYXQoY2hhdERhdGEpXG4gICAgfSBlbHNlIHtcbiAgICAgIGhhbmRsZXJzLmhhbmRsZURlbGV0ZUNoYXQoY2hhdERhdGEpXG4gICAgfVxuICAgIHNldEFjdGlvbihudWxsKVxuICAgIG9uQ2xvc2VNb2RhbCgpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U0NMSENXcmFwcGVyQ29udGVudFxuICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgb25DbGljayhjaGF0KVxuICAgICAgICB9fVxuICAgICAgICBrZXk9e2Bjb252ZXJzYXRpb24tJHtjaGF0LnNlc3Npb25FeHRlcm5hbElkfWB9XG4gICAgICAgIGlzTW9kYWxPcGVuPXtpc01vZGFsT3Blbn1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgICAgJGluZGV4PXtpbmRleH1cbiAgICAgID5cbiAgICAgICAgPFNDTEhDV3JhcHBlcj5cbiAgICAgICAgICA8U0NMSENXcmFwcGVyVGl0bGVSb3c+XG4gICAgICAgICAgICB7aXNHZW5lcmF0aW5nIHx8IGlzVW5yZWFkID8gKFxuICAgICAgICAgICAgICA8U2Vzc2lvbkdlbmVyYXRpbmdEb3RcbiAgICAgICAgICAgICAgICBhcmlhTGFiZWw9e2lzR2VuZXJhdGluZyA/IHQoJ2NvbnZlcnNhdGlvbnMuZ2VuZXJhdGluZycpIDogdCgnY29udmVyc2F0aW9ucy51bnJlYWRMYWJlbCcpfVxuICAgICAgICAgICAgICAgIGlzV3JpdGluZz17aXNHZW5lcmF0aW5nICYmIHNlc3Npb25NZXRhPy5pc1dyaXRpbmd9XG4gICAgICAgICAgICAgICAgYW5pbWF0ZWQ9e2lzR2VuZXJhdGluZ31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3Nob3dUb29sdGlwID8gZGlzcGxheVRpdGxlIDogJyd9IHpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJUaXRsZSByZWY9e3RleHRSZWZ9ICR1bnJlYWQ9e2lzVW5yZWFkfT5cbiAgICAgICAgICAgICAgICB7ZGlzcGxheVRpdGxlIHx8IHQoJ2NvbnZlcnNhdGlvbnMuZW1wdHlMYWJlbCcpfVxuICAgICAgICAgICAgICA8L1NDTEhDV3JhcHBlclRpdGxlPlxuICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgIDwvU0NMSENXcmFwcGVyVGl0bGVSb3c+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRpdGxlPXtzaG93VG9vbHRpcEFnZW50ID8gZGlzcGxheUFnZW50ICsgKGNvbnRleHROYW1lID8gYCAtICR7Y29udGV4dE5hbWV9YCA6ICcnKSA6ICcnfVxuICAgICAgICAgICAgekluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJBZ2VudD5cbiAgICAgICAgICAgICAge2NoYXQuYWdlbnRUeXBlID09PSAnY2xvbmUnIHx8IGNoYXQuYWdlbnRUeXBlID09PSAnb3JjaGVzdHJhdG9yJyA/IChcbiAgICAgICAgICAgICAgICA8TUFJQUljb24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTaXplOiAnMTRweCcgfX0+e2NoYXQuZW1vaml9PC9zcGFuPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJBZ2VudFRleHQgcmVmPXthZ2VudFJlZn0+XG4gICAgICAgICAgICAgICAge2NoYXQuYWdlbnRUeXBlID09PSAnY2xvbmUnIHx8IGNoYXQuYWdlbnRUeXBlID09PSAnb3JjaGVzdHJhdG9yJ1xuICAgICAgICAgICAgICAgICAgPyBhYmJyZXZpYXRlU3BlY2lhbGlzdEluQWdlbnROYW1lKGNoYXQuYWdlbnQpXG4gICAgICAgICAgICAgICAgICA6IGNoYXQuYWdlbnR9XG4gICAgICAgICAgICAgICAge2NoYXQucHJvamVjdE5hbWUgJiYgYCAtICR7Y2hhdC5wcm9qZWN0TmFtZX1gfVxuICAgICAgICAgICAgICA8L1NDTEhDV3JhcHBlckFnZW50VGV4dD5cbiAgICAgICAgICAgIDwvU0NMSENXcmFwcGVyQWdlbnQ+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8L1NDTEhDV3JhcHBlcj5cbiAgICAgICAgPFNDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnM+XG4gICAgICAgICAgPENVQnV0dG9uXG4gICAgICAgICAgICBpY29uT25seVxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgb25PcGVuTW9kYWwoY2hhdC5pZClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPE1lbnVEb3RzIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICA8L0NVQnV0dG9uPlxuICAgICAgICAgIHtpc01vZGFsT3BlbiAmJiAhYWN0aW9uICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZGF0YS1tb2RhbC1jb250YWluZXJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgICB0b3A6ICczMnB4JyxcbiAgICAgICAgICAgICAgICByaWdodDogJzE2cHgnLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICAgICAgICB6SW5kZXg6IDEwMDAsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMjI0LCAyMjQsIDIyNCwgMSknLFxuICAgICAgICAgICAgICAgIG1pbldpZHRoOiAnMTI0cHgnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bWVudUl0ZW1zLm1hcCgoeyBsYWJlbCwgb25DbGlja0l0ZW0sIEljb24sIGV2ZW50S2V5IH0pID0+IChcbiAgICAgICAgICAgICAgICA8T3B0aW9uSXRlbVxuICAgICAgICAgICAgICAgICAga2V5PXtsYWJlbH1cbiAgICAgICAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2xpY2tJdGVtKGNoYXQuaWQpfVxuICAgICAgICAgICAgICAgICAgSWNvbj17SWNvbn1cbiAgICAgICAgICAgICAgICAgIGV2ZW50S2V5PXtldmVudEtleX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucz5cbiAgICAgIDwvU0NMSENXcmFwcGVyQ29udGVudD5cbiAgICAgIHshIWFjdGlvbiAmJlxuICAgICAgICBhY3Rpb25zW2FjdGlvbl0oe1xuICAgICAgICAgIG9uQ2xvc2U6ICgpID0+IHtcbiAgICAgICAgICAgIG9uQ2xvc2VNb2RhbCgpXG4gICAgICAgICAgICBzZXRBY3Rpb24obnVsbClcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNoYXQsXG4gICAgICAgICAgaGFuZGxlcnM6IHtcbiAgICAgICAgICAgIGhhbmRsZUNvbmZpcm1BY3Rpb24sXG4gICAgICAgICAgICBoYW5kbGVTZXRJc09wZW5Nb2RhbDogb25DbG9zZU1vZGFsLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pfVxuICAgIDwvPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBTaWRlYmFyID0gKHtcbiAgb25Hb1RvQ2hhdCxcbiAgb25FcnJvciA9ICgpID0+IG51bGwsXG4gIGhhbmRsZUdvVG9Ib21lLFxuICBoYW5kbGVTdGFydE5ld0NoYXQsXG4gIGhhbmRsZU9wZW5NYXJrZXRwbGFjZSxcbiAgaGFuZGxlT3BlblNraWxscyxcbiAgc2hvd05ld0NoYXQsXG4gIHJlZmV0Y2hDaGF0cyxcbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzLFxuICBoYXNFcnJvcixcbiAgcmVzZXRTZWxlY3RlZENoYXRSZWYsXG4gIGFnZW50c05hdkFjdGl2ZSA9IG51bGwsXG4gIGlzTGVnYWN5Q29udGV4dFNlc3Npb24gPSBmYWxzZSxcbn06IHtcbiAgb25Hb1RvQ2hhdDogKGNoYXRJZDogc3RyaW5nKSA9PiB2b2lkXG4gIG9uRXJyb3I6ICgpID0+IHZvaWRcbiAgaGFuZGxlR29Ub0hvbWU6ICgpID0+IHZvaWRcbiAgLyoqIEluaWNpYSB1biBjaGF0IG51ZXZvOyBlbiBNaXMgYWdlbnRlcyAvIENyZWFkb3IgZGUgYWdlbnRlcyB1c2EgZWwgcHJpbWVyIGFnZW50ZSBkZSBsYSBsaXN0YS4gKi9cbiAgaGFuZGxlU3RhcnROZXdDaGF0PzogKCkgPT4gdm9pZFxuICBoYW5kbGVPcGVuTWFya2V0cGxhY2U6ICgpID0+IHZvaWRcbiAgaGFuZGxlT3BlblNraWxsczogKCkgPT4gdm9pZFxuICBzaG93TmV3Q2hhdDogYm9vbGVhblxuICByZWZldGNoQ2hhdHM6IGJvb2xlYW5cbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzOiAocmVmZXRjaDogYm9vbGVhbikgPT4gdm9pZFxuICBoYXNFcnJvcjogYm9vbGVhblxuICByZXNldFNlbGVjdGVkQ2hhdFJlZj86IE11dGFibGVSZWZPYmplY3Q8KCgpID0+IHZvaWQpIHwgbnVsbD5cbiAgLyoqIFJlc2FsdGEgTWFpYWtlciwgTWlzIGFnZW50ZXMgbyBNaXMgc2tpbGxzICovXG4gIGFnZW50c05hdkFjdGl2ZT86ICdtYWlha2VyJyB8ICdteUFnZW50cycgfCAnbXlTa2lsbHMnIHwgbnVsbFxuICAvKiogQ29udmVyc2FjacOzbiBkZSB1biBjbG9uZSBsZWdhY3kgKGFnZW50X3R5cGUgY2xvbmUgKyBlbnRpdHkgcHJvamVjdC9jbGllbnQvdGFzayk6IG9jdWx0YSBcIm51ZXZvIGNoYXRcIi4gKi9cbiAgaXNMZWdhY3lDb250ZXh0U2Vzc2lvbj86IGJvb2xlYW5cbn0pID0+IHtcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgdG9vbHRpcFpJbmRleCA9IHVzZU1haWFUYXNrUGFuZWxaSW5kZXgoMTUwMCwgJ292ZXJsYXknKVxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc09wZW5Nb2RhbCwgc2V0SXNPcGVuTW9kYWxdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3NlbGVjdGVkQ2hhdCwgc2V0U2VsZWN0ZWRDaGF0XSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGNoYXRzRmV0Y2hlZFJlZiA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgY2hhdHNDb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2sgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7XG4gICAgbG9hZGluZ0NoYXRzLFxuICAgIGNoYXRzLFxuICAgIGRlbGV0ZUNoYXQsXG4gICAgdXBkYXRlQ2hhdCxcbiAgICBmZXRjaENoYXRzLFxuICAgIGxpbWl0LFxuICAgIG9mZnNldCxcbiAgICBoYXNNb3JlQ2hhdHMsXG4gICAgbG9hZE1vcmVDaGF0cyxcbiAgICBpc0xvYWRpbmdNb3JlQ2hhdHMsXG4gICAgdW5yZWFkQ291bnQsXG4gICAgc2V0VW5yZWFkQ291bnQsXG4gICAgc2V0Q2hhdFJlYWRTdGF0ZSxcbiAgfSA9IHVzZUNoYXRzKHtcbiAgICBvbkVycm9yLFxuICB9KVxuXG4gIGNvbnN0IHVucmVhZFN1YnNjcmliZWRSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXVzZXI/LmlkIHx8IHR5cGVvZiAkX3NjID09PSAndW5kZWZpbmVkJyB8fCAhJF9zYykgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgY29uc3QgY2hhbm5lbCA9IGBzZXNzaW9ucy51bnJlYWQ6JHt1c2VyLmlkfWBcbiAgICBjb25zdCBoYW5kbGVVbnJlYWRFdmVudCA9ICh7XG4gICAgICBtb2RlbF9kYXRhOiBtb2RlbERhdGEsXG4gICAgfToge1xuICAgICAgbW9kZWxfZGF0YT86IHsgdW5yZWFkX2NvdW50PzogbnVtYmVyOyBzZXNzaW9uX2lkPzogc3RyaW5nOyBpc19yZWFkPzogYm9vbGVhbiB9XG4gICAgfSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBtb2RlbERhdGE/LnVucmVhZF9jb3VudCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgc2V0VW5yZWFkQ291bnQobW9kZWxEYXRhLnVucmVhZF9jb3VudClcbiAgICAgIH1cbiAgICAgIGlmIChtb2RlbERhdGE/LnNlc3Npb25faWQgJiYgdHlwZW9mIG1vZGVsRGF0YT8uaXNfcmVhZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIHNldENoYXRSZWFkU3RhdGUobW9kZWxEYXRhLnNlc3Npb25faWQsIG1vZGVsRGF0YS5pc19yZWFkKVxuICAgICAgfVxuICAgIH1cblxuICAgICRfc2Muc3Vic2NyaWJlSGFuZGxlcihjaGFubmVsLCBoYW5kbGVVbnJlYWRFdmVudClcblxuICAgIGlmICghdW5yZWFkU3Vic2NyaWJlZFJlZi5jdXJyZW50KSB7XG4gICAgICAkX3NjLnVwZGF0ZUNvbm5lY3Rpb25Nb2RlbChcbiAgICAgICAge1xuICAgICAgICAgIG1vZGVsX2hhc2g6IGNoYW5uZWwsXG4gICAgICAgICAgYWN0aW9uOiAkX3NjLmFjdGlvblR5cGU/LlNVQlNDUklCRSxcbiAgICAgICAgfSxcbiAgICAgICAgY2hhbm5lbCxcbiAgICAgICAgdXNlcixcbiAgICAgICAgdXNlcixcbiAgICAgICAgJF9zYy5jaGFubmVsVHlwZT8uTU9ERUxfQ0hBTk5FTFxuICAgICAgKVxuICAgICAgdW5yZWFkU3Vic2NyaWJlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfSwgW3VzZXIsIHNldFVucmVhZENvdW50LCBzZXRDaGF0UmVhZFN0YXRlXSlcblxuICBjb25zdCB1c2VyUGVybWlzc2lvbnMgPSB1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzXG4gIGNvbnN0IGNhbkNyZWF0ZUFnZW50cyA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGVcbiAgY29uc3QgaGFzTXVsdGlBZ2VudHNGZWF0dXJlQWNjZXNzID0gISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5WaWV3QWdlbnRzID0gISF1c2VyUGVybWlzc2lvbnM/LnZpZXcgJiYgaGFzTXVsdGlBZ2VudHNGZWF0dXJlQWNjZXNzXG4gIGNvbnN0IGNhblZpZXdTa2lsbHMgPSBjYW5BY2Nlc3NUb1NraWxscyh1c2VyKVxuICBjb25zdCBzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uID0gISFjYW5DcmVhdGVBZ2VudHMgJiYgaGFzTXVsdGlBZ2VudHNGZWF0dXJlQWNjZXNzXG4gIGNvbnN0IGFnZW50TmF2QnV0dG9uQ291bnQgPSAoKHNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gPyAxIDogMCkgK1xuICAgIChjYW5WaWV3QWdlbnRzID8gMSA6IDApICtcbiAgICAoY2FuVmlld1NraWxscyA/IDEgOiAwKSkgYXMgMCB8IDEgfCAyIHwgM1xuICBjb25zdCBzaG93QWdlbnRzTmF2QmxvY2sgPSBzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uIHx8IGNhblZpZXdBZ2VudHMgfHwgY2FuVmlld1NraWxsc1xuICBjb25zdCBteUFnZW50c1NpZGViYXJUcmFja2VkUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFjYW5WaWV3QWdlbnRzIHx8IG15QWdlbnRzU2lkZWJhclRyYWNrZWRSZWYuY3VycmVudCkgcmV0dXJuXG5cbiAgICBteUFnZW50c1NpZGViYXJUcmFja2VkUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgdHJhY2tBcHBjdWVzRXZlbnQoQVBQQ1VFU19FVkVOVFMubWFpYVNpZGViYXJNeUFnZW50cylcbiAgfSwgW2NhblZpZXdBZ2VudHNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlc2V0U2VsZWN0ZWRDaGF0UmVmKSB7XG4gICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50ID0gKCkgPT4gc2V0U2VsZWN0ZWRDaGF0KG51bGwpXG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzZXRTZWxlY3RlZENoYXRSZWYpIHtcbiAgICAgICAgcmVzZXRTZWxlY3RlZENoYXRSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtyZXNldFNlbGVjdGVkQ2hhdFJlZl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZWxlY3RTZXNzaW9uID0gKGV2dDogRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHsgc2Vzc2lvbklkIH0gPSAoZXZ0IGFzIEN1c3RvbUV2ZW50PHsgc2Vzc2lvbklkPzogc3RyaW5nIH0+KS5kZXRhaWwgPz8ge31cbiAgICAgIGlmIChzZXNzaW9uSWQpIHtcbiAgICAgICAgc2V0U2VsZWN0ZWRDaGF0KHNlc3Npb25JZClcbiAgICAgIH1cbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2lkZWJhci1zZWxlY3Qtc2Vzc2lvbicsIGhhbmRsZVNlbGVjdFNlc3Npb24pXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NpZGViYXItc2VsZWN0LXNlc3Npb24nLCBoYW5kbGVTZWxlY3RTZXNzaW9uKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQ2hhdCA9IGFzeW5jIChjaGF0OiBhbnkpID0+IHtcbiAgICBkZWxldGVDaGF0KGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICBoYW5kbGVHb1RvSG9tZSgpXG4gIH1cblxuICBjb25zdCBoYW5kbGVVcGRhdGVDaGF0ID0gKGNoYXQ6IGFueSkgPT4ge1xuICAgIHVwZGF0ZUNoYXQoY2hhdClcbiAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlT3Blbk1vZGFsID0gKGNoYXRJZDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsICYmIGlzT3Blbk1vZGFsICE9PSBjaGF0SWQpIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKGNoYXRJZClcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVDbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGlzT3Blbk1vZGFsICYmICEoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmNsb3Nlc3QoJ1tkYXRhLW1vZGFsLWNvbnRhaW5lcl0nKSkge1xuICAgICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNPcGVuTW9kYWxdKVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZVNpZGViYXIgPSAoKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgIH1cbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0U2lkZWJhciwgeyBhY3Rpb246IGlzT3BlbiA/ICdjbG9zZScgOiAnb3BlbicgfSlcbiAgICBzZXRJc09wZW4ocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZU9wZW5DcmVhdGVBZ2VudCA9IGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICBwYXRoOiBgYWdlbnRzP2FnZW50X3R5cGU9Y2xvbmUmZW50aXR5PWdsb2JhbCZsYW5nPSR7bWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKX1gLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgIGNvbnN0IG1haWFrZXJBZ2VudCA9IChkYXRhLmRhdGEgfHwgW10pLmZpbmQoKGFnZW50SXRlbTogeyB0eXBlPzogc3RyaW5nOyBlbnRpdHk/OiBzdHJpbmc7IG5hbWU/OiBzdHJpbmcgfSkgPT5cbiAgICAgICAgaXNNYXJrZXRwbGFjZUdsb2JhbENsb25lQWdlbnQoYWdlbnRJdGVtKVxuICAgICAgKVxuXG4gICAgICBpZiAoIW1haWFrZXJBZ2VudCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldFRhc2sobnVsbClcbiAgICAgIC8vIGhhbmRsZUdvVG9Ib21lIHB1ZWRlIHJlc2VsZWNjaW9uYXIgYWdlbnRzLmRhdGFbMF0gc2kgZWwgYWdlbnRlIGdsb2JhbCBhdW4gZXN0YSBlbiBudWxsXG4gICAgICAvLyAoY2xvc3VyZSBzdGFsZSBkZSBsYSBzZWNjaW9uIFwiTWlzIGFnZW50ZXNcIiksIHBvciBlc28gc2VsZWN0QWdlbnQobWFpYWtlckFnZW50KSB2YSBkZXNwdWVzLlxuICAgICAgaGFuZGxlR29Ub0hvbWUoKVxuICAgICAgc2VsZWN0QWdlbnQobWFpYWtlckFnZW50KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBvbkVycm9yKClcbiAgICB9XG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghY2hhdHNGZXRjaGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgIGNoYXRzRmV0Y2hlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0LCBvZmZzZXQgfSlcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICAvLyBSZWZldGNoIHNvbGljaXRhZG8gcG9yIHByb3A6IHNlIGVqZWN1dGEgYXVucXVlIGVsIHNpZGViYXIgZXN0w6kgY29sYXBzYWRvLlxuICAgIGlmIChyZWZldGNoQ2hhdHMpIHtcbiAgICAgIGZldGNoQ2hhdHMoeyBsaW1pdCwgb2Zmc2V0IH0pXG4gICAgICBoYW5kbGVTZXRSZWZldGNoQ2hhdHMoZmFsc2UpXG4gICAgfVxuICB9LCBbcmVmZXRjaENoYXRzLCBoYW5kbGVTZXRSZWZldGNoQ2hhdHMsIGZldGNoQ2hhdHMsIGxpbWl0LCBvZmZzZXRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFjaGF0c0NvbnRhaW5lclJlZi5jdXJyZW50IHx8ICFoYXNNb3JlQ2hhdHMgfHwgaXNMb2FkaW5nTW9yZUNoYXRzIHx8IGhhc0Vycm9yKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGNoYXRzQ29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGlzQXRCb3R0b20gPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQgPj0gc2Nyb2xsSGVpZ2h0IC0gMTBcblxuICAgICAgaWYgKGlzQXRCb3R0b20pIHtcbiAgICAgICAgbG9hZE1vcmVDaGF0cygpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgY29udGFpbmVyID0gY2hhdHNDb250YWluZXJSZWYuY3VycmVudFxuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtoYXNNb3JlQ2hhdHMsIGlzTG9hZGluZ01vcmVDaGF0cywgbG9hZE1vcmVDaGF0cywgaGFzRXJyb3JdKVxuXG4gIGNvbnN0IGhhbmRsZU5ld0NoYXQgPSAoKSA9PiB7XG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpU2lkZWJhck5ld0NoYXQpXG4gICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgIH1cbiAgICBzZXRTZWxlY3RlZENoYXQobnVsbClcbiAgICBpZiAoaGFuZGxlU3RhcnROZXdDaGF0KSB7XG4gICAgICBoYW5kbGVTdGFydE5ld0NoYXQoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGhhbmRsZUdvVG9Ib21lKClcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gQWwgY3JlYXIvYWN0dWFsaXphciB1bmEgY29udmVyc2FjacOzbiByZWZyZXNjYW1vcyBsYSBsaXN0YSBhdW5xdWUgZWwgc2lkZWJhciBlc3TDqSBjb2xhcHNhZG8uXG4gICAgY29uc3QgaGFuZGxlUmVmZXRjaFNlc3Npb24gPSAoKSA9PiB7XG4gICAgICBjaGF0c0ZldGNoZWRSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGZldGNoQ2hhdHMoeyBsaW1pdDogMjAsIG9mZnNldDogMCwgYmFja2dyb3VuZDogdHJ1ZSB9KVxuICAgIH1cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdyZWZldGNoLXNlc3Npb24nLCBoYW5kbGVSZWZldGNoU2Vzc2lvbilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVmZXRjaC1zZXNzaW9uJywgaGFuZGxlUmVmZXRjaFNlc3Npb24pXG4gICAgfVxuICB9LCBbZmV0Y2hDaGF0c10pXG5cbiAgY29uc3QgaXNBZ2VudHNIdWJTZWN0aW9uID0gc2hvd05ld0NoYXQgJiYgKGFnZW50c05hdkFjdGl2ZSA9PT0gJ215QWdlbnRzJyB8fCBhZ2VudHNOYXZBY3RpdmUgPT09ICdtYWlha2VyJylcblxuICBjb25zdCBzaG93TmV3Q2hhdEJ1dHRvbiA9XG4gICAgaXNBZ2VudHNIdWJTZWN0aW9uIHx8XG4gICAgKCFzaG93TmV3Q2hhdCAmJlxuICAgICAgIWhhc0Vycm9yICYmXG4gICAgICAhbG9hZGluZ0NoYXRzICYmXG4gICAgICAhaXNMZWdhY3lDb250ZXh0U2Vzc2lvbiAmJlxuICAgICAgKCh1c2VyUGVybWlzc2lvbnM/LnZpZXcgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSB8fFxuICAgICAgICAoIXVzZXJQZXJtaXNzaW9ucz8udmlldyAmJlxuICAgICAgICAgICFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkICYmXG4gICAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgJiZcbiAgICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MpKSlcblxuICByZXR1cm4gKFxuICAgIDxTQ1NTaWRlYmFyUm9vdCAkaXNPcGVuPXtpc09wZW59PlxuICAgICAgPFNDU1NpZGViYXJUb29sYmFyICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIDxUb29sdGlwIHRpdGxlPXtpc09wZW4gPyB0KCdjb252ZXJzYXRpb25zLmNvbGxhcHNlJykgOiB0KCdoaXN0b3J5LnRvb2x0aXAnKX0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICA8U0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVUb2dnbGVTaWRlYmFyfSBpc09wZW49e2lzT3Blbn0+XG4gICAgICAgICAgICB7aXNPcGVuID8gKFxuICAgICAgICAgICAgICA8Q2hldnJvbkRvdWJsZUxlZnQgY29sb3I9XCJyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpXCIgd2lkdGg9ezE2fSBoZWlnaHQ9ezE2fSAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFNDU1NpZGViYXJVbnJlYWRBbmNob3I+XG4gICAgICAgICAgICAgICAgPEhpc3RvcnkgY29sb3I9XCJyZ2JhKDEzLCAxMywgMTMsIDEpXCIgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgICAgICAgIHt1bnJlYWRDb3VudCA+IDAgPyAoXG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhclVucmVhZENvdW50ICRmbG9hdGluZyBhcmlhLWxhYmVsPXt0KCdjb252ZXJzYXRpb25zLnVucmVhZExhYmVsJyl9PlxuICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0VW5yZWFkQ291bnQodW5yZWFkQ291bnQpfVxuICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyVW5yZWFkQ291bnQ+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU0NTU2lkZWJhclVucmVhZEFuY2hvcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TQ1NXcmFwcGVyQ29sbGFwc2VkQnV0dG9uPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzaG93TmV3Q2hhdEJ1dHRvbiA/IChcbiAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnY29udmVyc2F0aW9ucy5uZXdDaGF0Jyl9IHpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICA8U0NTV3JhcHBlck5ld0NoYXRJY29uIG9uQ2xpY2s9e2hhbmRsZU5ld0NoYXR9PlxuICAgICAgICAgICAgICA8TmV3Q2hhdCB3aWR0aD17MTZ9IGhlaWdodD17MTZ9IC8+XG4gICAgICAgICAgICA8L1NDU1dyYXBwZXJOZXdDaGF0SWNvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7IWlzT3BlbiAmJiBzaG93QWdlbnRzTmF2QmxvY2sgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxTQ1NTaWRlYmFyQ29sbGFwc2VkRGl2aWRlciAvPlxuICAgICAgICAgICAge3Nob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdjb252ZXJzYXRpb25zLm1haWFrZXJOYXYnKX0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgICAgICA8U0NTV3JhcHBlckFnZW50c05hdkljb25cbiAgICAgICAgICAgICAgICAgICRhY3RpdmU9e2FnZW50c05hdkFjdGl2ZSA9PT0gJ21haWFrZXInfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0TXBPcGVuKVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuQ3JlYXRlQWdlbnQoKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8TWFpYVN0b3JlSWNvbiBzaXplPXsxNn0gLz5cbiAgICAgICAgICAgICAgICA8L1NDU1dyYXBwZXJBZ2VudHNOYXZJY29uPlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtjYW5WaWV3QWdlbnRzID8gKFxuICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnY29udmVyc2F0aW9ucy5teUFnZW50c05hdicpfSB6SW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgICAgICAgIDxTQ1NXcmFwcGVyQWdlbnRzTmF2SWNvblxuICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17YWdlbnRzTmF2QWN0aXZlID09PSAnbXlBZ2VudHMnfVxuICAgICAgICAgICAgICAgICAgZGF0YS1hcHBjdWVzPXtBUFBDVUVTX1NFTEVDVE9SUy5tYWlhU2lkZWJhck15QWdlbnRzfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlTaWRlYmFyTXlBZ2VudHMpXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5NYXJrZXRwbGFjZSgpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxNeUFnZW50c05hdkljb24gc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgICAgPC9TQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbj5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2FuVmlld1NraWxscyA/IChcbiAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NvbnZlcnNhdGlvbnMubXlTa2lsbHNOYXYnKX0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgICAgICA8U0NTV3JhcHBlckFnZW50c05hdkljb24gJGFjdGl2ZT17YWdlbnRzTmF2QWN0aXZlID09PSAnbXlTa2lsbHMnfSBvbkNsaWNrPXtoYW5kbGVPcGVuU2tpbGxzfT5cbiAgICAgICAgICAgICAgICAgIDxTa2lsbHNOYXZJY29uIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICAgIDwvU0NTV3JhcHBlckFnZW50c05hdkljb24+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU0NTU2lkZWJhclRvb2xiYXI+XG4gICAgICA8U0NTU2lkZWJhckJvZHkgJGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAge2lzT3BlbiA/IChcbiAgICAgICAgICA8U0NTU2lkZWJhck9wZW5QYW5lbD5cbiAgICAgICAgICAgIDxTQ1NTaWRlYmFyQWdlbnRzQmxvY2s+XG4gICAgICAgICAgICAgIHtzaG93QWdlbnRzTmF2QmxvY2sgPyAoXG4gICAgICAgICAgICAgICAgPFNDU1NpZGViYXJBZ2VudHNBY3Rpb25zPlxuICAgICAgICAgICAgICAgICAge3Nob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRNcE9wZW4pXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuQ3JlYXRlQWdlbnQoKVxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17YWdlbnRzTmF2QWN0aXZlID09PSAnbWFpYWtlcid9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8TWFpYVN0b3JlSWNvbiBzaXplPXsxNn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbD57dCgnY29udmVyc2F0aW9ucy5tYWlha2VyTmF2Jyl9PC9TQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICB7Y2FuVmlld0FnZW50cyA/IChcbiAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS1hcHBjdWVzPXtBUFBDVUVTX1NFTEVDVE9SUy5tYWlhU2lkZWJhck15QWdlbnRzfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haVNpZGViYXJNeUFnZW50cylcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5NYXJrZXRwbGFjZSgpXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAkYWN0aXZlPXthZ2VudHNOYXZBY3RpdmUgPT09ICdteUFnZW50cyd9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8TXlBZ2VudHNOYXZJY29uIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPnt0KCdjb252ZXJzYXRpb25zLm15QWdlbnRzTmF2Jyl9PC9TQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICB7Y2FuVmlld1NraWxscyA/IChcbiAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlT3BlblNraWxsc31cbiAgICAgICAgICAgICAgICAgICAgICAkYWN0aXZlPXthZ2VudHNOYXZBY3RpdmUgPT09ICdteVNraWxscyd9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8U2tpbGxzTmF2SWNvbiBzaXplPXsxNn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbD57dCgnY29udmVyc2F0aW9ucy5teVNraWxsc05hdicpfTwvU0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhck1haWFrZXJOYXZCYWRnZU5ldz57dCgnaG9tZU1lbnUubWFpYWtlci5iYWRnZU5ldycpfTwvU0NTU2lkZWJhck1haWFrZXJOYXZCYWRnZU5ldz5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckFnZW50c0FjdGlvbnM+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8U0NTU2lkZWJhckNvbnZlcnNhdGlvbnNIZWFkaW5nUm93PlxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmc+e3QoJ2NvbnZlcnNhdGlvbnMudGl0bGUnKX08L1NDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZz5cbiAgICAgICAgICAgICAgICB7dW5yZWFkQ291bnQgPiAwID8gKFxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJVbnJlYWRDb3VudCBhcmlhLWxhYmVsPXt0KCdjb252ZXJzYXRpb25zLnVucmVhZExhYmVsJyl9PlxuICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0VW5yZWFkQ291bnQodW5yZWFkQ291bnQpfVxuICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyVW5yZWFkQ291bnQ+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU0NTU2lkZWJhckNvbnZlcnNhdGlvbnNIZWFkaW5nUm93PlxuICAgICAgICAgICAgPC9TQ1NTaWRlYmFyQWdlbnRzQmxvY2s+XG4gICAgICAgICAgICA8U0NTU2lkZWJhckNoYXRzU2Nyb2xsXG4gICAgICAgICAgICAgIHJlZj17Y2hhdHNDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgICRoYXNDaGF0cz17Y2hhdHMubGVuZ3RoID4gMH1cbiAgICAgICAgICAgICAgJG9mZnNldFZhcmlhbnQ9e2hhc0Vycm9yID8gJ2Vycm9yJyA6ICdkZWZhdWx0J31cbiAgICAgICAgICAgICAgJGFnZW50TmF2QnV0dG9uQ291bnQ9e2FnZW50TmF2QnV0dG9uQ291bnR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtoYXNFcnJvciAmJiAhY2hhdHMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JTdGF0ZUNvbHVtbj5cbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcD5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9yU3RhdGUgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yU3RhdGVUb3A+XG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVyPlxuICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXA+XG4gICAgICAgICAgICAgICAgICAgICAgPEVycm9ySWNvbiAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwPlxuICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZT57dCgnY29udmVyc2F0aW9ucy5lcnJvcicpfTwvU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZT5cbiAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yQmFubmVyPlxuICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4+XG4gICAgICAgICAgICAgICkgOiBsb2FkaW5nQ2hhdHMgPyAoXG4gICAgICAgICAgICAgICAgPFNDU1NpZGViYXJMb2FkaW5nQXJlYT5cbiAgICAgICAgICAgICAgICAgIDxTaWRlYmFyQ2hhdHNTa2VsZXRvbiAvPlxuICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckxvYWRpbmdBcmVhPlxuICAgICAgICAgICAgICApIDogY2hhdHMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7Y2hhdHMubWFwKChjaGF0LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxMaXN0SGlzdG9yeUNoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17Y2hhdC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXQ9e2NoYXR9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtjaGF0RGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRDaGF0KGNoYXREYXRhLnNlc3Npb25FeHRlcm5hbElkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkdvVG9DaGF0KGNoYXREYXRhKVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTW9kYWxPcGVuPXtpc09wZW5Nb2RhbCA9PT0gY2hhdC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uT3Blbk1vZGFsPXtoYW5kbGVPcGVuTW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsb3NlTW9kYWw9e2hhbmRsZUNsb3NlTW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVycz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVEZWxldGVDaGF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVVcGRhdGVDaGF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQ2hhdCA9PT0gY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nTW9yZUNoYXRzICYmIChcbiAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJMb2FkTW9yZVJvdz5cbiAgICAgICAgICAgICAgICAgICAgICA8U2lkZWJhckNoYXRzU2tlbGV0b24gY291bnQ9ezJ9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckxvYWRNb3JlUm93PlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVtcHR5Q2hhdHM+XG4gICAgICAgICAgICAgICAgICA8RW1wdHlIaXN0b3J5SWNvbiAvPlxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFbXB0eUNoYXRzVGV4dD57dCgnY29udmVyc2F0aW9ucy5lbXB0eScpfTwvU0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0PlxuICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVtcHR5Q2hhdHM+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NDU1NpZGViYXJDaGF0c1Njcm9sbD5cbiAgICAgICAgICAgIDxTQ1NTaWRlYmFyQ2hhdHNGb290ZXI+XG4gICAgICAgICAgICAgIHtoYXNFcnJvciAmJiBjaGF0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lcj5cbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXJJY29uV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9ySWNvbiAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXJJY29uV3JhcD5cbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlPnt0KCdjb252ZXJzYXRpb25zLmVycm9yJyl9PC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlPlxuICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yQmFubmVyPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU0NTU2lkZWJhckNoYXRzRm9vdGVyPlxuICAgICAgICAgIDwvU0NTU2lkZWJhck9wZW5QYW5lbD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDxTQ1NTaWRlYmFyRm9vdGVyQWN0aW9ucyAkaXNPcGVuPXtpc09wZW59ICRqdXN0aWZ5QmV0d2Vlbj17ISFzZWxlY3RlZEFnZW50fT5cbiAgICAgICAgICB7c2VsZWN0ZWRBZ2VudCA/IDxGZWVkYmFja0J1dHRvbiBzZWxlY3RlZEFnZW50PXtzZWxlY3RlZEFnZW50fSBpc09wZW49e2lzT3Blbn0gLz4gOiBudWxsfVxuICAgICAgICA8L1NDU1NpZGViYXJGb290ZXJBY3Rpb25zPlxuICAgICAgPC9TQ1NTaWRlYmFyQm9keT5cbiAgICA8L1NDU1NpZGViYXJSb290PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUEyQkEsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDOUUsU0FBU0MsaUJBQWlCLFFBQVEsb0RBQW9EO0FBQ3RGLFNBQVNDLE9BQU8sUUFBUSwwQ0FBMEM7QUFDbEUsU0FBU0MsUUFBUSxRQUFRLDRDQUE0QztBQUNyRSxTQUFTQyxRQUFRLFFBQVEsMkNBQTJDO0FBQ3BFLFNBQVNDLE1BQU0sUUFBUSx5Q0FBeUM7QUFDaEUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUU5RCxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBRXRFLFNBQVNDLGdCQUFnQixRQUFRLGdDQUFnQztBQUNqRSxTQUFTQyxpQkFBaUIsUUFBUSwwQkFBMEI7QUFDNUQsU0FBU0MsUUFBUSxRQUFRLHlCQUF5QjtBQUNsRCxTQUFTQyxvQkFBb0IsUUFBUSxvQkFBb0I7QUFDekQsU0FBU0MsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGFBQWEsRUFBRUMsZUFBZSxFQUFFQyxhQUFhLEVBQUVDLE9BQU8sUUFBUSxtQkFBbUI7QUFDaEgsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEseUJBQXlCO0FBQzFELFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFDMUMsU0FBU0MsVUFBVSxRQUFRLCtCQUErQjtBQUMxRCxTQUFTQyxpQkFBaUIsUUFBUSxtQ0FBbUM7QUFDckUsU0FBU0MsbUJBQW1CLFFBQVEscUNBQXFDO0FBQ3pFLFNBQVNDLFNBQVMsUUFBUSw2QkFBNkI7QUFDdkQsU0FBU0MsT0FBTyxRQUFRLDJCQUEyQjtBQUNuRCxTQUFTQyxjQUFjLFFBQVEsNEJBQTRCO0FBQzNELFNBQVNDLGdCQUFn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
|
|
@@ -63,7 +63,7 @@ export var SCSSidebarMaiakerNavLabel = styled.span.withConfig({
|
|
|
63
63
|
export var SCSSidebarMaiakerNavBadgeNew = styled.span.withConfig({
|
|
64
64
|
displayName: "Sidebarlayoutstyles__SCSSidebarMaiakerNavBadgeNew",
|
|
65
65
|
componentId: "sc-1bkxdfe-11"
|
|
66
|
-
})(["display:flex;padding:2px 6px;justify-content:center;align-items:center;flex-shrink:0;border-radius:14px;background:linear-gradient(180deg,#4d3569 0%,#2d77bd 100%);color:#fff;font-size:10px;font-weight:600;line-height:140%;letter-spacing:0.1px;"]);
|
|
66
|
+
})(["display:flex;padding:2px 6px;justify-content:center;align-items:center;flex-shrink:0;margin-left:auto;border-radius:14px;background:linear-gradient(180deg,#4d3569 0%,#2d77bd 100%);color:#fff;font-size:10px;font-weight:600;line-height:140%;letter-spacing:0.1px;"]);
|
|
67
67
|
export var SCSSidebarConversationsHeading = styled.span.withConfig({
|
|
68
68
|
displayName: "Sidebarlayoutstyles__SCSSidebarConversationsHeading",
|
|
69
69
|
componentId: "sc-1bkxdfe-12"
|
|
@@ -154,4 +154,4 @@ export var SCSSidebarConversationsHeadingRow = styled.div.withConfig({
|
|
|
154
154
|
displayName: "Sidebarlayoutstyles__SCSSidebarConversationsHeadingRow",
|
|
155
155
|
componentId: "sc-1bkxdfe-27"
|
|
156
156
|
})(["display:flex;align-items:center;gap:8px;"]);
|
|
157
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJmYWRlSW4iLCJTQ1NTaWRlYmFyUm9vdCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwicCIsIiRpc09wZW4iLCJTQ1NTaWRlYmFyVG9vbGJhciIsIlNDU1NpZGViYXJDb2xsYXBzZWREaXZpZGVyIiwiU0NTU2lkZWJhckJvZHkiLCJTQ1NTaWRlYmFyT3BlblBhbmVsIiwiU0NTU2lkZWJhckFnZW50c0Jsb2NrIiwiU0NTU2lkZWJhckFnZW50c0hlYWRpbmciLCJTQ1NTaWRlYmFyQWdlbnRzSGVhZGluZ1RleHQiLCJzcGFuIiwiU0NTU2lkZWJhckFnZW50c0FjdGlvbnMiLCJTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbiIsImJ1dHRvbiIsIiRhY3RpdmUiLCJTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsIiwiU0NTU2lkZWJhck1haWFrZXJOYXZCYWRnZU5ldyIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZyIsIlNDU1NpZGViYXJDaGF0c1Njcm9sbCIsIiRoYXNDaGF0cyIsInVuZGVmaW5lZCIsInNjcm9sbFJlc2VydmUiLCIkb2Zmc2V0VmFyaWFudCIsIiRhZ2VudE5hdkJ1dHRvbkNvdW50IiwiU0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4iLCJTQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcCIsIlNDU1NpZGViYXJFcnJvckJhbm5lciIsIlNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwIiwiU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZSIsIlNDU1NpZGViYXJMb2FkaW5nQXJlYSIsIlNDU1NpZGViYXJMb2FkTW9yZVJvdyIsIlNDU1NpZGViYXJFbXB0eUNoYXRzIiwiU0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0IiwiU0NTU2lkZWJhckNoYXRzRm9vdGVyIiwiU0NTU2lkZWJhckZvb3RlckFjdGlvbnMiLCIkanVzdGlmeUJldHdlZW4iLCJTQ1NTaWRlYmFyVW5yZWFkQ291bnQiLCJfcmVmIiwiJGZsb2F0aW5nIiwiU0NTU2lkZWJhclVucmVhZEFuY2hvciIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1JvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TaWRlYmFyL1NpZGViYXIubGF5b3V0LnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmNvbnN0IGZhZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhclJvb3QgPSBzdHlsZWQuZGl2PHsgJGlzT3BlbjogYm9vbGVhbiB9PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogJHtwID0+IChwLiRpc09wZW4gPyAnMTJweCAxMHB4JyA6ICcwJyl9O1xuICB3aWR0aDogJHtwID0+IChwLiRpc09wZW4gPyAnMjY0cHgnIDogJzQ2cHgnKX07XG4gIG1heC13aWR0aDogMjcwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xuICAke3AgPT5cbiAgICAhcC4kaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhclRvb2xiYXIgPSBzdHlsZWQuZGl2PHsgJGlzT3BlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGdhcDogMjJweDtcbiAgcGFkZGluZzogOHB4IDRweCAxMnB4O1xuICBmbGV4LWRpcmVjdGlvbjogJHtwID0+IChwLiRpc09wZW4gPyAncm93LXJldmVyc2UnIDogJ2NvbHVtbicpfTtcbiAgJHtwID0+XG4gICAgIXAuJGlzT3BlbiAmJlxuICAgIGNzc2BcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTJweCA4cHg7XG4gICAgYH1cbiAgJHtwID0+XG4gICAgcC4kaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQ29sbGFwc2VkRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAyMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29yLWNvbG9yLWJvcmRlci1kZWZhdWx0LCAjZDlkOWQ5KTtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQm9keSA9IHN0eWxlZC5kaXY8eyAkaXNPcGVuOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMnB4KTtcbiAganVzdGlmeS1jb250ZW50OiAke3AgPT4gKHAuJGlzT3BlbiA/ICdmbGV4LXN0YXJ0JyA6ICdmbGV4LWVuZCcpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJPcGVuUGFuZWwgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiA4cHggMCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgZmxleC1ncm93OiAxO1xuICBtaW4td2lkdGg6IDI0NHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckFnZW50c0Jsb2NrID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICB3aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNIZWFkaW5nID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMzZweDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNIZWFkaW5nVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNBY3Rpb25zID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJGFjdGl2ZTogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIHBhZGRpbmc6IDEycHggOHB4IDEycHggMTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAke3AgPT4gKHAuJGFjdGl2ZSA/ICcjZWNlY2VjJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIE1pc21vIHRvbm8gcXVlIGVsIGxhYmVsOyBlbCBlc3RhZG8gYWN0aXZvIHNlIHZlIGNvbiBlbCBmb25kbywgbm8gYXRlbnVhbmRvIGVsIGljb25vICovXG4gIGNvbG9yOiAjMjAyMDFmO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJNYWlha2VyTmF2QmFkZ2VOZXcgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjNGQzNTY5IDAlLCAjMmQ3N2JkIDEwMCUpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckNvbnZlcnNhdGlvbnNIZWFkaW5nID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQ2hhdHNTY3JvbGwgPSBzdHlsZWQuZGl2PHtcbiAgJGhhc0NoYXRzOiBib29sZWFuXG4gICRvZmZzZXRWYXJpYW50OiAnZGVmYXVsdCcgfCAnZXJyb3InXG4gIC8qKiBCb3RvbmVzIHZpc2libGVzIGVuIGxhIHNlY2Npw7NuIEFnZW50ZXMsIDDigJM0ICovXG4gICRhZ2VudE5hdkJ1dHRvbkNvdW50OiAwIHwgMSB8IDIgfCAzIHwgNFxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG4gICR7cCA9PiB7XG4gICAgaWYgKCFwLiRoYXNDaGF0cykgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGxldCBzY3JvbGxSZXNlcnZlID0gMTY0XG4gICAgaWYgKHAuJG9mZnNldFZhcmlhbnQgPT09ICdlcnJvcicpIHtcbiAgICAgIHNjcm9sbFJlc2VydmUgPSAxOTdcbiAgICB9IGVsc2UgaWYgKHAuJGFnZW50TmF2QnV0dG9uQ291bnQgPT09IDQpIHtcbiAgICAgIHNjcm9sbFJlc2VydmUgPSAzNTJcbiAgICB9IGVsc2UgaWYgKHAuJGFnZW50TmF2QnV0dG9uQ291bnQgPT09IDMpIHtcbiAgICAgIHNjcm9sbFJlc2VydmUgPSAzMDhcbiAgICB9IGVsc2UgaWYgKHAuJGFnZW50TmF2QnV0dG9uQ291bnQgPT09IDIpIHtcbiAgICAgIHNjcm9sbFJlc2VydmUgPSAyNjRcbiAgICB9IGVsc2UgaWYgKHAuJGFnZW50TmF2QnV0dG9uQ291bnQgPT09IDEpIHtcbiAgICAgIHNjcm9sbFJlc2VydmUgPSAyMjBcbiAgICB9XG4gICAgcmV0dXJuIGNzc2BcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAke3Njcm9sbFJlc2VydmV9cHgpO1xuICAgIGBcbiAgfX1cbiAgJHtwID0+XG4gICAgIXAuJGhhc0NoYXRzICYmXG4gICAgY3NzYFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbmltYXRpb246ICR7ZmFkZUlufSAwLjVzIGVhc2Utb3V0O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckVycm9yU3RhdGVUb3AgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWdyb3c6IDE7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyRXJyb3JCYW5uZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUzLCAyMzYsIDIzNiwgMSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTksIDUsIDUsIDEpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2UgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogcmdiYSgzMiwgMzIsIDMxLCAxKTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyTG9hZGluZ0FyZWEgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2NzBweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJMb2FkTW9yZVJvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxNnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckVtcHR5Q2hhdHMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE4cHg7XG4gIHdpZHRoOiAyMDFweDtcbiAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gMC41cyBlYXNlLW91dDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFbXB0eUNoYXRzVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDEpO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckNoYXRzRm9vdGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyRm9vdGVyQWN0aW9ucyA9IHN0eWxlZC5kaXY8eyAkaXNPcGVuOiBib29sZWFuOyAkanVzdGlmeUJldHdlZW46IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBmbGV4LWRpcmVjdGlvbjogJHtwID0+IChwLiRpc09wZW4gPyAncm93JyA6ICdjb2x1bW4nKX07XG4gIGp1c3RpZnktY29udGVudDogJHtwID0+IChwLiRqdXN0aWZ5QmV0d2VlbiA/ICdzcGFjZS1iZXR3ZWVuJyA6ICdmbGV4LWVuZCcpfTtcbiAgJHtwID0+XG4gICAgIXAuJGlzT3BlbiAmJlxuICAgIGNzc2BcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwIDEycHggOHB4O1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyVW5yZWFkQ291bnQgPSBzdHlsZWQuc3Bhbjx7ICRmbG9hdGluZz86IGJvb2xlYW4gfT5gXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4td2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6ICNkMzJmMmY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA5LjMzM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTIuNDQ0cHg7XG4gIGNvbG9yOiAjZmZmO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAkeyh7ICRmbG9hdGluZyB9KSA9PlxuICAgICRmbG9hdGluZ1xuICAgICAgPyBjc3NgXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTRweDtcbiAgICAgICAgICByaWdodDogLTguNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgM3B4O1xuICAgICAgICBgXG4gICAgICA6IGNzc2BcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDNweDtcbiAgICAgICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJVbnJlYWRBbmNob3IgPSBzdHlsZWQuc3BhbmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1JvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsRUFBRUMsU0FBUyxRQUFRLG1CQUFtQjtBQUUxRCxJQUFNQyxNQUFNLEdBQUdELFNBQVMsb0NBT3ZCO0FBRUQsT0FBTyxJQUFNRSxjQUFjLEdBQUdKLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFRQUkzQixVQUFBQyxDQUFDO0VBQUEsT0FBS0EsQ0FB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
|
|
157
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJmYWRlSW4iLCJTQ1NTaWRlYmFyUm9vdCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwicCIsIiRpc09wZW4iLCJTQ1NTaWRlYmFyVG9vbGJhciIsIlNDU1NpZGViYXJDb2xsYXBzZWREaXZpZGVyIiwiU0NTU2lkZWJhckJvZHkiLCJTQ1NTaWRlYmFyT3BlblBhbmVsIiwiU0NTU2lkZWJhckFnZW50c0Jsb2NrIiwiU0NTU2lkZWJhckFnZW50c0hlYWRpbmciLCJTQ1NTaWRlYmFyQWdlbnRzSGVhZGluZ1RleHQiLCJzcGFuIiwiU0NTU2lkZWJhckFnZW50c0FjdGlvbnMiLCJTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbiIsImJ1dHRvbiIsIiRhY3RpdmUiLCJTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsIiwiU0NTU2lkZWJhck1haWFrZXJOYXZCYWRnZU5ldyIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZyIsIlNDU1NpZGViYXJDaGF0c1Njcm9sbCIsIiRoYXNDaGF0cyIsInVuZGVmaW5lZCIsInNjcm9sbFJlc2VydmUiLCIkb2Zmc2V0VmFyaWFudCIsIiRhZ2VudE5hdkJ1dHRvbkNvdW50IiwiU0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4iLCJTQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcCIsIlNDU1NpZGViYXJFcnJvckJhbm5lciIsIlNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwIiwiU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZSIsIlNDU1NpZGViYXJMb2FkaW5nQXJlYSIsIlNDU1NpZGViYXJMb2FkTW9yZVJvdyIsIlNDU1NpZGViYXJFbXB0eUNoYXRzIiwiU0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0IiwiU0NTU2lkZWJhckNoYXRzRm9vdGVyIiwiU0NTU2lkZWJhckZvb3RlckFjdGlvbnMiLCIkanVzdGlmeUJldHdlZW4iLCJTQ1NTaWRlYmFyVW5yZWFkQ291bnQiLCJfcmVmIiwiJGZsb2F0aW5nIiwiU0NTU2lkZWJhclVucmVhZEFuY2hvciIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1JvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TaWRlYmFyL1NpZGViYXIubGF5b3V0LnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmNvbnN0IGZhZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhclJvb3QgPSBzdHlsZWQuZGl2PHsgJGlzT3BlbjogYm9vbGVhbiB9PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogJHtwID0+IChwLiRpc09wZW4gPyAnMTJweCAxMHB4JyA6ICcwJyl9O1xuICB3aWR0aDogJHtwID0+IChwLiRpc09wZW4gPyAnMjY0cHgnIDogJzQ2cHgnKX07XG4gIG1heC13aWR0aDogMjcwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xuICAke3AgPT5cbiAgICAhcC4kaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhclRvb2xiYXIgPSBzdHlsZWQuZGl2PHsgJGlzT3BlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGdhcDogMjJweDtcbiAgcGFkZGluZzogOHB4IDRweCAxMnB4O1xuICBmbGV4LWRpcmVjdGlvbjogJHtwID0+IChwLiRpc09wZW4gPyAncm93LXJldmVyc2UnIDogJ2NvbHVtbicpfTtcbiAgJHtwID0+XG4gICAgIXAuJGlzT3BlbiAmJlxuICAgIGNzc2BcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTJweCA4cHg7XG4gICAgYH1cbiAgJHtwID0+XG4gICAgcC4kaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQ29sbGFwc2VkRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAyMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29yLWNvbG9yLWJvcmRlci1kZWZhdWx0LCAjZDlkOWQ5KTtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQm9keSA9IHN0eWxlZC5kaXY8eyAkaXNPcGVuOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMnB4KTtcbiAganVzdGlmeS1jb250ZW50OiAke3AgPT4gKHAuJGlzT3BlbiA/ICdmbGV4LXN0YXJ0JyA6ICdmbGV4LWVuZCcpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJPcGVuUGFuZWwgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiA4cHggMCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgZmxleC1ncm93OiAxO1xuICBtaW4td2lkdGg6IDI0NHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckFnZW50c0Jsb2NrID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICB3aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNIZWFkaW5nID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMzZweDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNIZWFkaW5nVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNBY3Rpb25zID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJGFjdGl2ZTogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIHBhZGRpbmc6IDEycHggOHB4IDEycHggMTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAke3AgPT4gKHAuJGFjdGl2ZSA/ICcjZWNlY2VjJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIE1pc21vIHRvbm8gcXVlIGVsIGxhYmVsOyBlbCBlc3RhZG8gYWN0aXZvIHNlIHZlIGNvbiBlbCBmb25kbywgbm8gYXRlbnVhbmRvIGVsIGljb25vICovXG4gIGNvbG9yOiAjMjAyMDFmO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJNYWlha2VyTmF2QmFkZ2VOZXcgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzRkMzU2OSAwJSwgIzJkNzdiZCAxMDAlKTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZyA9IHN0eWxlZC5zcGFuYFxuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4yMXB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckNoYXRzU2Nyb2xsID0gc3R5bGVkLmRpdjx7XG4gICRoYXNDaGF0czogYm9vbGVhblxuICAkb2Zmc2V0VmFyaWFudDogJ2RlZmF1bHQnIHwgJ2Vycm9yJ1xuICAvKiogQm90b25lcyB2aXNpYmxlcyBlbiBsYSBzZWNjacOzbiBBZ2VudGVzLCAw4oCTNCAqL1xuICAkYWdlbnROYXZCdXR0b25Db3VudDogMCB8IDEgfCAyIHwgMyB8IDRcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBjb250YWluO1xuICAke3AgPT4ge1xuICAgIGlmICghcC4kaGFzQ2hhdHMpIHJldHVybiB1bmRlZmluZWRcbiAgICBsZXQgc2Nyb2xsUmVzZXJ2ZSA9IDE2NFxuICAgIGlmIChwLiRvZmZzZXRWYXJpYW50ID09PSAnZXJyb3InKSB7XG4gICAgICBzY3JvbGxSZXNlcnZlID0gMTk3XG4gICAgfSBlbHNlIGlmIChwLiRhZ2VudE5hdkJ1dHRvbkNvdW50ID09PSA0KSB7XG4gICAgICBzY3JvbGxSZXNlcnZlID0gMzUyXG4gICAgfSBlbHNlIGlmIChwLiRhZ2VudE5hdkJ1dHRvbkNvdW50ID09PSAzKSB7XG4gICAgICBzY3JvbGxSZXNlcnZlID0gMzA4XG4gICAgfSBlbHNlIGlmIChwLiRhZ2VudE5hdkJ1dHRvbkNvdW50ID09PSAyKSB7XG4gICAgICBzY3JvbGxSZXNlcnZlID0gMjY0XG4gICAgfSBlbHNlIGlmIChwLiRhZ2VudE5hdkJ1dHRvbkNvdW50ID09PSAxKSB7XG4gICAgICBzY3JvbGxSZXNlcnZlID0gMjIwXG4gICAgfVxuICAgIHJldHVybiBjc3NgXG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gJHtzY3JvbGxSZXNlcnZlfXB4KTtcbiAgICBgXG4gIH19XG4gICR7cCA9PlxuICAgICFwLiRoYXNDaGF0cyAmJlxuICAgIGNzc2BcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFcnJvclN0YXRlQ29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gMC41cyBlYXNlLW91dDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFcnJvclN0YXRlVG9wID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckVycm9yQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1MywgMjM2LCAyMzYsIDEpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTk5LCA1LCA1LCAxKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckxvYWRpbmdBcmVhID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjcwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyTG9hZE1vcmVSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTZweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFbXB0eUNoYXRzID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxOHB4O1xuICB3aWR0aDogMjAxcHg7XG4gIGFuaW1hdGlvbjogJHtmYWRlSW59IDAuNXMgZWFzZS1vdXQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAxKTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJDaGF0c0Zvb3RlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckZvb3RlckFjdGlvbnMgPSBzdHlsZWQuZGl2PHsgJGlzT3BlbjogYm9vbGVhbjsgJGp1c3RpZnlCZXR3ZWVuOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgZmxleC1kaXJlY3Rpb246ICR7cCA9PiAocC4kaXNPcGVuID8gJ3JvdycgOiAnY29sdW1uJyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7cCA9PiAocC4kanVzdGlmeUJldHdlZW4gPyAnc3BhY2UtYmV0d2VlbicgOiAnZmxleC1lbmQnKX07XG4gICR7cCA9PlxuICAgICFwLiRpc09wZW4gJiZcbiAgICBjc3NgXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAxMnB4IDhweDtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhclVucmVhZENvdW50ID0gc3R5bGVkLnNwYW48eyAkZmxvYXRpbmc/OiBib29sZWFuIH0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLXdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiAjZDMyZjJmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogOS4zMzNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEyLjQ0NHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgJHsoeyAkZmxvYXRpbmcgfSkgPT5cbiAgICAkZmxvYXRpbmdcbiAgICAgID8gY3NzYFxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgICAgcmlnaHQ6IC04LjVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDNweDtcbiAgICAgICAgYFxuICAgICAgOiBjc3NgXG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgcGFkZGluZzogMCAzcHg7XG4gICAgICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyVW5yZWFkQW5jaG9yID0gc3R5bGVkLnNwYW5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmdSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLEVBQUVDLFNBQVMsUUFBUSxtQkFBbUI7QUFFMUQsSUFBTUMsTUFBTSxHQUFHRCxTQUFTLG9DQU92QjtBQUVELE9BQU8sSUFBTUUsY0FBYyxHQUFHSixNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxUUFJM0IsVUFB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
|