@projectcor/maia-components 2.11.50-1 → 2.11.51-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/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +8 -1
- package/lib/components/atoms/MAIAInput/MAIAInput.js +4 -16
- package/lib/components/atoms/icons/ActionCreateReworkIcon.js +4 -2
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -9
- package/lib/hooks/useProjectSearch.js +4 -2
- package/lib/services/maia/RecentProjects/getRecentProjects.js +10 -6
- package/lib/utils/slashCommandMarker.js +8 -1
- package/package.json +1 -1
|
@@ -7,6 +7,8 @@ import { useT } from '../../../hooks/useT';
|
|
|
7
7
|
import { useResizeListener } from '../../../hooks/useResize';
|
|
8
8
|
import { useGlobalContext } from '../../../context/global-context';
|
|
9
9
|
import { useFrequentlyUsedActions } from '../../../hooks/useFrequentlyUsedActions';
|
|
10
|
+
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
11
|
+
import { quickActionTitleToType } from '../../../utils/slashCommandMarker';
|
|
10
12
|
import { FaqsIcon } from '../icons/FaqsIcon';
|
|
11
13
|
import { getActionIcon } from '../../../utils/actionIconMap';
|
|
12
14
|
import { LoaderFaqs } from '../LoadingFaqs';
|
|
@@ -60,11 +62,16 @@ export var FrequentlyUsedActions = function FrequentlyUsedActions(_ref2) {
|
|
|
60
62
|
t = _useT.t;
|
|
61
63
|
var _useGlobalContext = useGlobalContext(),
|
|
62
64
|
section = _useGlobalContext.section;
|
|
65
|
+
var eventAmplitude = useEvent();
|
|
63
66
|
var fetched = useFrequentlyUsedActions(actionsProp == null ? agentId : undefined, section);
|
|
64
67
|
var actions = actionsProp !== null && actionsProp !== void 0 ? actionsProp : fetched.actions;
|
|
65
68
|
var loading = loadingProp !== null && loadingProp !== void 0 ? loadingProp : fetched.loading;
|
|
66
69
|
var error = errorProp !== null && errorProp !== void 0 ? errorProp : fetched.error;
|
|
67
70
|
var handleActionClick = function handleActionClick(action) {
|
|
71
|
+
eventAmplitude(EVENTS.aiChatQuickActionSelect, {
|
|
72
|
+
type_quick_action: quickActionTitleToType(action.id, action.title),
|
|
73
|
+
origin_quick_action: section === 'task' ? 'task' : 'home'
|
|
74
|
+
});
|
|
68
75
|
onStartChat(action.title, null, undefined, undefined, null, action.id);
|
|
69
76
|
};
|
|
70
77
|
if (!loading && !error && actions.length === 0) {
|
|
@@ -94,4 +101,4 @@ export var FrequentlyUsedActions = function FrequentlyUsedActions(_ref2) {
|
|
|
94
101
|
})]
|
|
95
102
|
});
|
|
96
103
|
};
|
|
97
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWYiLCJUb29sdGlwIiwidXNlVCIsInVzZVJlc2l6ZUxpc3RlbmVyIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsIkZhcXNJY29uIiwiZ2V0QWN0aW9uSWNvbiIsIkxvYWRlckZhcXMiLCJFcnJvclNlYXJjaEZhcXMiLCJTQ0ZVQUNvbnRhaW5lciIsIlNDRlVBVGl0bGUiLCJTQ0ZVQU5ld0JhZGdlIiwiU0NGVUFMaXN0Q29udGFpbmVyIiwiU0NGVUFMaXN0IiwiU0NGVUFJdGVtIiwiU0NGVUFJdGVtSWNvbiIsIlNDRlVBSXRlbUNvbnRlbnQiLCJTQ0ZVQUl0ZW1UaXRsZSIsIlNDRlVBSXRlbVN1YnRpdGxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZVQUxpc3RJdGVtIiwiX3JlZiIsImFjdGlvbiIsImlzU2Nyb2xsaW5nIiwib25DbGljayIsInRpdGxlUmVmIiwiX3VzZVJlc2l6ZUxpc3RlbmVyIiwidGl0bGUiLCJzaG93VGl0bGVUb29sdGlwIiwic2hvd1Rvb2x0aXAiLCJ0aXRsZVdpdGhQcmVmaXgiLCJjb25jYXQiLCJDdXN0b21JY29uIiwiaWNvbiIsImNoaWxkcmVuIiwid2lkdGgiLCJoZWlnaHQiLCJ1c2VHcmFkaWVudCIsInJlZiIsInN1YnRpdGxlIiwiRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwiX3JlZjIiLCJvblN0YXJ0Q2hhdCIsImFnZW50SWQiLCJfcmVmMiRpc1Njcm9sbGluZyIsImFjdGlvbnNQcm9wIiwiYWN0aW9ucyIsImxvYWRpbmdQcm9wIiwibG9hZGluZyIsImVycm9yUHJvcCIsImVycm9yIiwiX3VzZVQiLCJ0IiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWN0aW9uIiwiZmV0Y2hlZCIsInVuZGVmaW5lZCIsImhhbmRsZUFjdGlvbkNsaWNrIiwiaWQiLCJsZW5ndGgiLCJtZXNzYWdlIiwibWFwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvRnJlcXVlbnRseVVzZWRBY3Rpb25zL0ZyZXF1ZW50bHlVc2VkQWN0aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHR5cGUgeyBBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9BY3Rpb24nXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucydcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IEZhcXNJY29uIH0gZnJvbSAnLi4vaWNvbnMvRmFxc0ljb24nXG5pbXBvcnQgeyBnZXRBY3Rpb25JY29uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYWN0aW9uSWNvbk1hcCdcbmltcG9ydCB7IExvYWRlckZhcXMgfSBmcm9tICcuLi9Mb2FkaW5nRmFxcydcbmltcG9ydCB7IEVycm9yU2VhcmNoRmFxcyB9IGZyb20gJy4uL0Vycm9yU2VhcmNoRmFxcydcbmltcG9ydCB7XG4gIFNDRlVBQ29udGFpbmVyLFxuICBTQ0ZVQVRpdGxlLFxuICBTQ0ZVQU5ld0JhZGdlLFxuICBTQ0ZVQUxpc3RDb250YWluZXIsXG4gIFNDRlVBTGlzdCxcbiAgU0NGVUFJdGVtLFxuICBTQ0ZVQUl0ZW1JY29uLFxuICBTQ0ZVQUl0ZW1Db250ZW50LFxuICBTQ0ZVQUl0ZW1UaXRsZSxcbiAgU0NGVUFJdGVtU3VidGl0bGUsXG59IGZyb20gJy4vRnJlcXVlbnRseVVzZWRBY3Rpb25zLnN0eWxlcydcblxuZnVuY3Rpb24gRlVBTGlzdEl0ZW0oeyBhY3Rpb24sIGlzU2Nyb2xsaW5nLCBvbkNsaWNrIH06IHsgYWN0aW9uOiBBY3Rpb247IGlzU2Nyb2xsaW5nOiBib29sZWFuOyBvbkNsaWNrOiAoKSA9PiB2b2lkIH0pIHtcbiAgY29uc3QgdGl0bGVSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCB7IHNob3dUb29sdGlwOiBzaG93VGl0bGVUb29sdGlwIH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0aXRsZVJlZiwgW2FjdGlvbi50aXRsZV0pXG4gIGNvbnN0IHRpdGxlV2l0aFByZWZpeCA9IGAvJHthY3Rpb24udGl0bGV9YFxuICBjb25zdCBDdXN0b21JY29uID0gZ2V0QWN0aW9uSWNvbihhY3Rpb24uaWNvbilcblxuICByZXR1cm4gKFxuICAgIDxTQ0ZVQUl0ZW0gb25DbGljaz17b25DbGlja30+XG4gICAgICA8U0NGVUFJdGVtSWNvbj5cbiAgICAgICAge0N1c3RvbUljb24gPyA8Q3VzdG9tSWNvbiB3aWR0aD17MjB9IGhlaWdodD17MjB9IC8+IDogPEZhcXNJY29uIHVzZUdyYWRpZW50IGhlaWdodD17MjB9IHdpZHRoPXsyMH0gLz59XG4gICAgICA8L1NDRlVBSXRlbUljb24+XG4gICAgICA8U0NGVUFJdGVtQ29udGVudD5cbiAgICAgICAgPFNDRlVBSXRlbVRpdGxlIHJlZj17dGl0bGVSZWZ9PlxuICAgICAgICAgIHtpc1Njcm9sbGluZyA/IChcbiAgICAgICAgICAgIHRpdGxlV2l0aFByZWZpeFxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17c2hvd1RpdGxlVG9vbHRpcCA/IHRpdGxlV2l0aFByZWZpeCA6ICcnfT5cbiAgICAgICAgICAgICAgPHNwYW4+e3RpdGxlV2l0aFByZWZpeH08L3NwYW4+XG4gICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0ZVQUl0ZW1UaXRsZT5cbiAgICAgICAge2FjdGlvbi5zdWJ0aXRsZSA/IDxTQ0ZVQUl0ZW1TdWJ0aXRsZT57YWN0aW9uLnN1YnRpdGxlfTwvU0NGVUFJdGVtU3VidGl0bGU+IDogbnVsbH1cbiAgICAgIDwvU0NGVUFJdGVtQ29udGVudD5cbiAgICA8L1NDRlVBSXRlbT5cbiAgKVxufVxuXG50eXBlIEZyZXF1ZW50bHlVc2VkQWN0aW9uc1Byb3BzID0ge1xuICBvblN0YXJ0Q2hhdDogKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10gfCBudWxsLFxuICAgIGZhcUlkPzogc3RyaW5nLFxuICAgIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nLFxuICAgIG1lbnRpb25zPzogbnVsbCxcbiAgICBmdWFJZD86IHN0cmluZ1xuICApID0+IHZvaWRcbiAgYWdlbnRJZD86IHN0cmluZ1xuICBpc1Njcm9sbGluZz86IGJvb2xlYW5cbiAgYWN0aW9ucz86IEFjdGlvbltdXG4gIGxvYWRpbmc/OiBib29sZWFuXG4gIGVycm9yPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgY29uc3QgRnJlcXVlbnRseVVzZWRBY3Rpb25zID0gKHtcbiAgb25TdGFydENoYXQsXG4gIGFnZW50SWQsXG4gIGlzU2Nyb2xsaW5nID0gZmFsc2UsXG4gIGFjdGlvbnM6IGFjdGlvbnNQcm9wLFxuICBsb2FkaW5nOiBsb2FkaW5nUHJvcCxcbiAgZXJyb3I6IGVycm9yUHJvcCxcbn06IEZyZXF1ZW50bHlVc2VkQWN0aW9uc1Byb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IHsgc2VjdGlvbiB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IGZldGNoZWQgPSB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoYWN0aW9uc1Byb3AgPT0gbnVsbCA/IGFnZW50SWQgOiB1bmRlZmluZWQsIHNlY3Rpb24pXG4gIGNvbnN0IGFjdGlvbnMgPSBhY3Rpb25zUHJvcCA/PyBmZXRjaGVkLmFjdGlvbnNcbiAgY29uc3QgbG9hZGluZyA9IGxvYWRpbmdQcm9wID8/IGZldGNoZWQubG9hZGluZ1xuICBjb25zdCBlcnJvciA9IGVycm9yUHJvcCA/PyBmZXRjaGVkLmVycm9yXG5cbiAgY29uc3QgaGFuZGxlQWN0aW9uQ2xpY2sgPSAoYWN0aW9uOiBBY3Rpb24pID0+IHtcbiAgICBvblN0YXJ0Q2hhdChhY3Rpb24udGl0bGUsIG51bGwsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBudWxsLCBhY3Rpb24uaWQpXG4gIH1cblxuICBpZiAoIWxvYWRpbmcgJiYgIWVycm9yICYmIGFjdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDRlVBQ29udGFpbmVyPlxuICAgICAgeyFsb2FkaW5nICYmICFlcnJvciAmJiBhY3Rpb25zLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8U0NGVUFUaXRsZT5cbiAgICAgICAgICA8c3Bhbj57dCgnaG9tZU1lbnUuZnVhLnRpdGxlJyl9PC9zcGFuPlxuICAgICAgICAgIDxTQ0ZVQU5ld0JhZGdlPnt0KCdob21lTWVudS5mdWEubmV3QmFkZ2UnKX08L1NDRlVBTmV3QmFkZ2U+XG4gICAgICAgIDwvU0NGVUFUaXRsZT5cbiAgICAgICl9XG4gICAgICA8U0NGVUFMaXN0Q29udGFpbmVyPlxuICAgICAgICB7bG9hZGluZyAmJiAhZXJyb3IgJiYgPExvYWRlckZhcXMgLz59XG4gICAgICAgIHtlcnJvciAmJiA8RXJyb3JTZWFyY2hGYXFzIG1lc3NhZ2U9e3QoJ2hvbWVNZW51LmZ1YS5lcnJvcicpfSAvPn1cbiAgICAgICAgeyFsb2FkaW5nICYmICFlcnJvciAmJiBhY3Rpb25zLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgIDxTQ0ZVQUxpc3Q+XG4gICAgICAgICAgICB7YWN0aW9ucy5tYXAoYWN0aW9uID0+IChcbiAgICAgICAgICAgICAgPEZVQUxpc3RJdGVtXG4gICAgICAgICAgICAgICAga2V5PXthY3Rpb24uaWR9XG4gICAgICAgICAgICAgICAgYWN0aW9uPXthY3Rpb259XG4gICAgICAgICAgICAgICAgaXNTY3JvbGxpbmc9e2lzU2Nyb2xsaW5nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUFjdGlvbkNsaWNrKGFjdGlvbil9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L1NDRlVBTGlzdD5cbiAgICAgICAgKX1cbiAgICAgIDwvU0NGVUFMaXN0Q29udGFpbmVyPlxuICAgIDwvU0NGVUFDb250YWluZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsTUFBTSxRQUFRLE9BQU87QUFDOUIsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLGlCQUFpQixRQUFRLDBCQUEwQjtBQUU1RCxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0Msd0JBQXdCLFFBQVEseUNBQXlDO0FBRWxGLFNBQVNDLFFBQVEsUUFBUSxtQkFBbUI7QUFDNUMsU0FBU0MsYUFBYSxRQUFRLDhCQUE4QjtBQUM1RCxTQUFTQyxVQUFVLFFBQVEsZ0JBQWdCO0FBQzNDLFNBQVNDLGVBQWUsUUFBUSxvQkFBb0I7QUFDcEQsU0FDRUMsY0FBYyxFQUNkQyxVQUFVLEVBQ1ZDLGFBQWEs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
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWYiLCJUb29sdGlwIiwidXNlVCIsInVzZVJlc2l6ZUxpc3RlbmVyIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyIsIkVWRU5UUyIsInVzZUV2ZW50IiwicXVpY2tBY3Rpb25UaXRsZVRvVHlwZSIsIkZhcXNJY29uIiwiZ2V0QWN0aW9uSWNvbiIsIkxvYWRlckZhcXMiLCJFcnJvclNlYXJjaEZhcXMiLCJTQ0ZVQUNvbnRhaW5lciIsIlNDRlVBVGl0bGUiLCJTQ0ZVQU5ld0JhZGdlIiwiU0NGVUFMaXN0Q29udGFpbmVyIiwiU0NGVUFMaXN0IiwiU0NGVUFJdGVtIiwiU0NGVUFJdGVtSWNvbiIsIlNDRlVBSXRlbUNvbnRlbnQiLCJTQ0ZVQUl0ZW1UaXRsZSIsIlNDRlVBSXRlbVN1YnRpdGxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZVQUxpc3RJdGVtIiwiX3JlZiIsImFjdGlvbiIsImlzU2Nyb2xsaW5nIiwib25DbGljayIsInRpdGxlUmVmIiwiX3VzZVJlc2l6ZUxpc3RlbmVyIiwidGl0bGUiLCJzaG93VGl0bGVUb29sdGlwIiwic2hvd1Rvb2x0aXAiLCJ0aXRsZVdpdGhQcmVmaXgiLCJjb25jYXQiLCJDdXN0b21JY29uIiwiaWNvbiIsImNoaWxkcmVuIiwid2lkdGgiLCJoZWlnaHQiLCJ1c2VHcmFkaWVudCIsInJlZiIsInN1YnRpdGxlIiwiRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwiX3JlZjIiLCJvblN0YXJ0Q2hhdCIsImFnZW50SWQiLCJfcmVmMiRpc1Njcm9sbGluZyIsImFjdGlvbnNQcm9wIiwiYWN0aW9ucyIsImxvYWRpbmdQcm9wIiwibG9hZGluZyIsImVycm9yUHJvcCIsImVycm9yIiwiX3VzZVQiLCJ0IiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWN0aW9uIiwiZXZlbnRBbXBsaXR1ZGUiLCJmZXRjaGVkIiwidW5kZWZpbmVkIiwiaGFuZGxlQWN0aW9uQ2xpY2siLCJhaUNoYXRRdWlja0FjdGlvblNlbGVjdCIsInR5cGVfcXVpY2tfYWN0aW9uIiwiaWQiLCJvcmlnaW5fcXVpY2tfYWN0aW9uIiwibGVuZ3RoIiwibWVzc2FnZSIsIm1hcCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0ZyZXF1ZW50bHlVc2VkQWN0aW9ucy9GcmVxdWVudGx5VXNlZEFjdGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgKi9cbmltcG9ydCB7IHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB0eXBlIHsgQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQWN0aW9uJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBxdWlja0FjdGlvblRpdGxlVG9UeXBlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvc2xhc2hDb21tYW5kTWFya2VyJ1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgRmFxc0ljb24gfSBmcm9tICcuLi9pY29ucy9GYXFzSWNvbidcbmltcG9ydCB7IGdldEFjdGlvbkljb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9hY3Rpb25JY29uTWFwJ1xuaW1wb3J0IHsgTG9hZGVyRmFxcyB9IGZyb20gJy4uL0xvYWRpbmdGYXFzJ1xuaW1wb3J0IHsgRXJyb3JTZWFyY2hGYXFzIH0gZnJvbSAnLi4vRXJyb3JTZWFyY2hGYXFzJ1xuaW1wb3J0IHtcbiAgU0NGVUFDb250YWluZXIsXG4gIFNDRlVBVGl0bGUsXG4gIFNDRlVBTmV3QmFkZ2UsXG4gIFNDRlVBTGlzdENvbnRhaW5lcixcbiAgU0NGVUFMaXN0LFxuICBTQ0ZVQUl0ZW0sXG4gIFNDRlVBSXRlbUljb24sXG4gIFNDRlVBSXRlbUNvbnRlbnQsXG4gIFNDRlVBSXRlbVRpdGxlLFxuICBTQ0ZVQUl0ZW1TdWJ0aXRsZSxcbn0gZnJvbSAnLi9GcmVxdWVudGx5VXNlZEFjdGlvbnMuc3R5bGVzJ1xuXG5mdW5jdGlvbiBGVUFMaXN0SXRlbSh7IGFjdGlvbiwgaXNTY3JvbGxpbmcsIG9uQ2xpY2sgfTogeyBhY3Rpb246IEFjdGlvbjsgaXNTY3JvbGxpbmc6IGJvb2xlYW47IG9uQ2xpY2s6ICgpID0+IHZvaWQgfSkge1xuICBjb25zdCB0aXRsZVJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUaXRsZVRvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRpdGxlUmVmLCBbYWN0aW9uLnRpdGxlXSlcbiAgY29uc3QgdGl0bGVXaXRoUHJlZml4ID0gYC8ke2FjdGlvbi50aXRsZX1gXG4gIGNvbnN0IEN1c3RvbUljb24gPSBnZXRBY3Rpb25JY29uKGFjdGlvbi5pY29uKVxuXG4gIHJldHVybiAoXG4gICAgPFNDRlVBSXRlbSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIDxTQ0ZVQUl0ZW1JY29uPlxuICAgICAgICB7Q3VzdG9tSWNvbiA/IDxDdXN0b21JY29uIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz4gOiA8RmFxc0ljb24gdXNlR3JhZGllbnQgaGVpZ2h0PXsyMH0gd2lkdGg9ezIwfSAvPn1cbiAgICAgIDwvU0NGVUFJdGVtSWNvbj5cbiAgICAgIDxTQ0ZVQUl0ZW1Db250ZW50PlxuICAgICAgICA8U0NGVUFJdGVtVGl0bGUgcmVmPXt0aXRsZVJlZn0+XG4gICAgICAgICAge2lzU2Nyb2xsaW5nID8gKFxuICAgICAgICAgICAgdGl0bGVXaXRoUHJlZml4XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXtzaG93VGl0bGVUb29sdGlwID8gdGl0bGVXaXRoUHJlZml4IDogJyd9PlxuICAgICAgICAgICAgICA8c3Bhbj57dGl0bGVXaXRoUHJlZml4fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDRlVBSXRlbVRpdGxlPlxuICAgICAgICB7YWN0aW9uLnN1YnRpdGxlID8gPFNDRlVBSXRlbVN1YnRpdGxlPnthY3Rpb24uc3VidGl0bGV9PC9TQ0ZVQUl0ZW1TdWJ0aXRsZT4gOiBudWxsfVxuICAgICAgPC9TQ0ZVQUl0ZW1Db250ZW50PlxuICAgIDwvU0NGVUFJdGVtPlxuICApXG59XG5cbnR5cGUgRnJlcXVlbnRseVVzZWRBY3Rpb25zUHJvcHMgPSB7XG4gIG9uU3RhcnRDaGF0OiAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSB8IG51bGwsXG4gICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgbWVudGlvbnM/OiBudWxsLFxuICAgIGZ1YUlkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBhZ2VudElkPzogc3RyaW5nXG4gIGlzU2Nyb2xsaW5nPzogYm9vbGVhblxuICBhY3Rpb25zPzogQWN0aW9uW11cbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBGcmVxdWVudGx5VXNlZEFjdGlvbnMgPSAoe1xuICBvblN0YXJ0Q2hhdCxcbiAgYWdlbnRJZCxcbiAgaXNTY3JvbGxpbmcgPSBmYWxzZSxcbiAgYWN0aW9uczogYWN0aW9uc1Byb3AsXG4gIGxvYWRpbmc6IGxvYWRpbmdQcm9wLFxuICBlcnJvcjogZXJyb3JQcm9wLFxufTogRnJlcXVlbnRseVVzZWRBY3Rpb25zUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgeyBzZWN0aW9uIH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG4gIGNvbnN0IGZldGNoZWQgPSB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoYWN0aW9uc1Byb3AgPT0gbnVsbCA/IGFnZW50SWQgOiB1bmRlZmluZWQsIHNlY3Rpb24pXG4gIGNvbnN0IGFjdGlvbnMgPSBhY3Rpb25zUHJvcCA/PyBmZXRjaGVkLmFjdGlvbnNcbiAgY29uc3QgbG9hZGluZyA9IGxvYWRpbmdQcm9wID8/IGZldGNoZWQubG9hZGluZ1xuICBjb25zdCBlcnJvciA9IGVycm9yUHJvcCA/PyBmZXRjaGVkLmVycm9yXG5cbiAgY29uc3QgaGFuZGxlQWN0aW9uQ2xpY2sgPSAoYWN0aW9uOiBBY3Rpb24pID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0UXVpY2tBY3Rpb25TZWxlY3QsIHtcbiAgICAgIHR5cGVfcXVpY2tfYWN0aW9uOiBxdWlja0FjdGlvblRpdGxlVG9UeXBlKGFjdGlvbi5pZCwgYWN0aW9uLnRpdGxlKSxcbiAgICAgIG9yaWdpbl9xdWlja19hY3Rpb246IHNlY3Rpb24gPT09ICd0YXNrJyA/ICd0YXNrJyA6ICdob21lJyxcbiAgICB9KVxuICAgIG9uU3RhcnRDaGF0KGFjdGlvbi50aXRsZSwgbnVsbCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIG51bGwsIGFjdGlvbi5pZClcbiAgfVxuXG4gIGlmICghbG9hZGluZyAmJiAhZXJyb3IgJiYgYWN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NGVUFDb250YWluZXI+XG4gICAgICB7IWxvYWRpbmcgJiYgIWVycm9yICYmIGFjdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxTQ0ZVQVRpdGxlPlxuICAgICAgICAgIDxzcGFuPnt0KCdob21lTWVudS5mdWEudGl0bGUnKX08L3NwYW4+XG4gICAgICAgICAgPFNDRlVBTmV3QmFkZ2U+e3QoJ2hvbWVNZW51LmZ1YS5uZXdCYWRnZScpfTwvU0NGVUFOZXdCYWRnZT5cbiAgICAgICAgPC9TQ0ZVQVRpdGxlPlxuICAgICAgKX1cbiAgICAgIDxTQ0ZVQUxpc3RDb250YWluZXI+XG4gICAgICAgIHtsb2FkaW5nICYmICFlcnJvciAmJiA8TG9hZGVyRmFxcyAvPn1cbiAgICAgICAge2Vycm9yICYmIDxFcnJvclNlYXJjaEZhcXMgbWVzc2FnZT17dCgnaG9tZU1lbnUuZnVhLmVycm9yJyl9IC8+fVxuICAgICAgICB7IWxvYWRpbmcgJiYgIWVycm9yICYmIGFjdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgPFNDRlVBTGlzdD5cbiAgICAgICAgICAgIHthY3Rpb25zLm1hcChhY3Rpb24gPT4gKFxuICAgICAgICAgICAgICA8RlVBTGlzdEl0ZW1cbiAgICAgICAgICAgICAgICBrZXk9e2FjdGlvbi5pZH1cbiAgICAgICAgICAgICAgICBhY3Rpb249e2FjdGlvbn1cbiAgICAgICAgICAgICAgICBpc1Njcm9sbGluZz17aXNTY3JvbGxpbmd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQWN0aW9uQ2xpY2soYWN0aW9uKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvU0NGVUFMaXN0PlxuICAgICAgICApfVxuICAgICAgPC9TQ0ZVQUxpc3RDb250YWluZXI+XG4gICAgPC9TQ0ZVQUNvbnRhaW5lcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxNQUFNLFFBQVEsT0FBTztBQUM5QixTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFDMUMsU0FBU0MsaUJBQWlCLFFBQVEsMEJBQTBCO0FBRTVELFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyx3QkFBd0IsUUFBUSx5Q0FBeUM7QUFDbEYsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEseUJBQXlCO0FBQzFELFNBQVNDLHNCQUFzQixRQUFRLG1DQUFtQztBQUUxRSxTQUFTQyxRQUFRLFFBQVEsbUJBQW1CO0FBQzVDLFNBQVNDLGFBQWEsUUFBUSw4QkFBOEI7QUFDNUQsU0FBU0MsVUFBVSxRQUFRLGdCQUFnQjtBQUMzQyxTQUFTQyxlQUFlLFFBQVEsb0JBQW9CO0FBQ3BELFNBQ0VDLGNBQWMsRUFDZEMsVUFBVSxFQUNWQyxhQUFhLEVBQ2JDLGtCQUFrQixFQUNsQkMsU0FBUyxFQUNUQyxTQUFTLEVBQ1RDLGFBQWEsRUFDYkMsZ0JBQWdCLEVBQ2hCQyxjQUFjLEVBQ2RDLGlCQUFpQixRQUNaLGdDQUFnQztBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFFdkMsU0FBU0MsV0FBV0EsQ0FBQUMsSUFBQSxFQUFrRztFQUFBLElBQS9GQyxNQUFNLEdBQUFELElBQUEsQ0FBTkMsTUFBTTtJQUFFQyxXQUFXLEdBQUFGLElBQUEsQ0FBWEUsV0FBVztJQUFFQyxPQUFPLEdBQUFILElBQUEsQ0FBUEcsT0FBTztFQUNqRCxJQUFNQyxRQUFRLEdBQUdoQyxNQUFNLENBQWtCLElBQUksQ0FBQztFQUM5QyxJQUFBaUMsa0JBQUEsR0FBMEM5QixpQkFBaUIsQ0FBQzZCLFFBQVEsRUFBRSxDQUFDSCxNQUFNLENBQUNLLEtBQUssQ0FBQyxDQUFDO0lBQWhFQyxnQkFBZ0IsR0FBQUYsa0JBQUEsQ0FBN0JHLFdBQVc7RUFDbkIsSUFBTUMsZUFBZSxPQUFBQyxNQUFBLENBQU9ULE1BQU0sQ0FBQ0ssS0FBSyxDQUFFO0VBQzFDLElBQU1LLFVBQVUsR0FBRzdCLGFBQWEsQ0FBQ21CLE1BQU0sQ0FBQ1csSUFBSSxDQUFDO0VBRTdDLG9CQUNFZCxLQUFBLENBQUNSLFNBQVM7SUFBQ2EsT0FBTyxFQUFFQSxPQUFRO0lBQUFVLFFBQUEsZ0JBQzFCakIsSUFBQSxDQUFDTCxhQUFhO01BQUFzQixRQUFBLEVBQ1hGLFVBQVUsZ0JBQUdmLElBQUEsQ0FBQ2UsVUFBVTtRQUFDRyxLQUFLLEVBQUUsRUFBRztRQUFDQyxNQUFNLEVBQUU7TUFBRyxDQUFFLENBQUMsZ0JBQUduQixJQUFBLENBQUNmLFFBQVE7UUFBQ21DLFdBQVc7UUFBQ0QsTUFBTSxFQUFFLEVBQUc7UUFBQ0QsS0FBSyxFQUFFO01BQUcsQ0FBRTtJQUFDLENBQ3hGLENBQUMsZUFDaEJoQixLQUFBLENBQUNOLGdCQUFnQjtNQUFBcUIsUUFBQSxnQkFDZmpCLElBQUEsQ0FBQ0gsY0FBYztRQUFDd0IsR0FBRyxFQUFFYixRQUFTO1FBQUFTLFFBQUEsRUFDM0JYLFdBQVcsR0FDVk8sZUFBZSxnQkFFZmIsSUFBQSxDQUFDdkIsT0FBTztVQUFDaUMsS0FBSyxFQUFFQyxnQkFBZ0IsR0FBR0UsZUFBZSxHQUFHLEVBQUc7VUFBQUksUUFBQSxlQUN0RGpCLElBQUE7WUFBQWlCLFFBQUEsRUFBT0o7VUFBZSxDQUFPO1FBQUMsQ0FDdkI7TUFDVixDQUNhLENBQUMsRUFDaEJSLE1BQU0sQ0FBQ2lCLFFBQVEsZ0JBQUd0QixJQUFBLENBQUNGLGlCQUFpQjtRQUFBbUIsUUFBQSxFQUFFWixNQUFNLENBQUNpQjtNQUFRLENBQW9CLENBQUMsR0FBRyxJQUFJO0lBQUEsQ0FDbEUsQ0FBQztFQUFBLENBQ1YsQ0FBQztBQUVoQjtBQWtCQSxPQUFPLElBQU1DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUFDLEtBQUEsRUFPQTtFQUFBLElBTmhDQyxXQUFXLEdBQUFELEtBQUEsQ0FBWEMsV0FBVztJQUNYQyxPQUFPLEdBQUFGLEtBQUEsQ0FBUEUsT0FBTztJQUFBQyxpQkFBQSxHQUFBSCxLQUFBLENBQ1BsQixXQUFXO0lBQVhBLFdBQVcsR0FBQXFCLGlCQUFBLGNBQUcsS0FBSyxHQUFBQSxpQkFBQTtJQUNWQyxXQUFXLEdBQUFKLEtBQUEsQ0FBcEJLLE9BQU87SUFDRUMsV0FBVyxHQUFBTixLQUFBLENBQXBCTyxPQUFPO0lBQ0FDLFNBQVMsR0FBQVIsS0FBQSxDQUFoQlMsS0FBSztFQUVMLElBQUFDLEtBQUEsR0FBY3hELElBQUksQ0FBQyxDQUFDO0lBQVp5RCxDQUFDLEdBQUFELEtBQUEsQ0FBREMsQ0FBQztFQUNULElBQUFDLGlCQUFBLEdBQW9CeEQsZ0JBQWdCLENBQUMsQ0FBQztJQUE5QnlELE9BQU8sR0FBQUQsaUJBQUEsQ0FBUEMsT0FBTztFQUNmLElBQU1DLGNBQWMsR0FBR3ZELFFBQVEsQ0FBQyxDQUFDO0VBQ2pDLElBQU13RCxPQUFPLEdBQUcxRCx3QkFBd0IsQ0FBQytDLFdBQVcsSUFBSSxJQUFJLEdBQUdGLE9BQU8sR0FBR2MsU0FBUyxFQUFFSCxPQUFPLENBQUM7RUFDNUYsSUFBTVIsT0FBTyxHQUFHRCxXQUFXLGFBQVhBLFdBQVcsY0FBWEEsV0FBVyxHQUFJVyxPQUFPLENBQUNWLE9BQU87RUFDOUMsSUFBTUUsT0FBTyxHQUFHRCxXQUFXLGFBQVhBLFdBQVcsY0FBWEEsV0FBVyxHQUFJUyxPQUFPLENBQUNSLE9BQU87RUFDOUMsSUFBTUUsS0FBSyxHQUFHRCxTQUFTLGFBQVRBLFNBQVMsY0FBVEEsU0FBUyxHQUFJTyxPQUFPLENBQUNOLEtBQUs7RUFFeEMsSUFBTVEsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSXBDLE1BQWMsRUFBSztJQUM1Q2lDLGNBQWMsQ0FBQ3hELE1BQU0sQ0FBQzRELHVCQUF1QixFQUFFO01BQzdDQyxpQkFBaUIsRUFBRTNELHNCQUFzQixDQUFDcUIsTUFBTSxDQUFDdUMsRUFBRSxFQUFFdkMsTUFBTSxDQUFDSyxLQUFLLENBQUM7TUFDbEVtQyxtQkFBbUIsRUFBRVIsT0FBTyxLQUFLLE1BQU0sR0FBRyxNQUFNLEdBQUc7SUFDckQsQ0FBQyxDQUFDO0lBQ0ZaLFdBQVcsQ0FBQ3BCLE1BQU0sQ0FBQ0ssS0FBSyxFQUFFLElBQUksRUFBRThCLFNBQVMsRUFBRUEsU0FBUyxFQUFFLElBQUksRUFBRW5DLE1BQU0sQ0FBQ3VDLEVBQUUsQ0FBQztFQUN4RSxDQUFDO0VBRUQsSUFBSSxDQUFDYixPQUFPLElBQUksQ0FBQ0UsS0FBSyxJQUFJSixPQUFPLENBQUNpQixNQUFNLEtBQUssQ0FBQyxFQUFFO0lBQzlDLE9BQU8sSUFBSTtFQUNiO0VBRUEsb0JBQ0U1QyxLQUFBLENBQUNiLGNBQWM7SUFBQTRCLFFBQUEsR0FDWixDQUFDYyxPQUFPLElBQUksQ0FBQ0UsS0FBSyxJQUFJSixPQUFPLENBQUNpQixNQUFNLEdBQUcsQ0FBQyxpQkFDdkM1QyxLQUFBLENBQUNaLFVBQVU7TUFBQTJCLFFBQUEsZ0JBQ1RqQixJQUFBO1FBQUFpQixRQUFBLEVBQU9rQixDQUFDLENBQUMsb0JBQW9CO01BQUMsQ0FBTyxDQUFDLGVBQ3RDbkMsSUFBQSxDQUFDVCxhQUFhO1FBQUEwQixRQUFBLEVBQUVrQixDQUFDLENBQUMsdUJBQXVCO01BQUMsQ0FBZ0IsQ0FBQztJQUFBLENBQ2pELENBQ2IsZUFDRGpDLEtBQUEsQ0FBQ1Ysa0JBQWtCO01BQUF5QixRQUFBLEdBQ2hCYyxPQUFPLElBQUksQ0FBQ0UsS0FBSyxpQkFBSWpDLElBQUEsQ0FBQ2IsVUFBVSxJQUFFLENBQUMsRUFDbkM4QyxLQUFLLGlCQUFJakMsSUFBQSxDQUFDWixlQUFlO1FBQUMyRCxPQUFPLEVBQUVaLENBQUMsQ0FBQyxvQkFBb0I7TUFBRSxDQUFFLENBQUMsRUFDOUQsQ0FBQ0osT0FBTyxJQUFJLENBQUNFLEtBQUssSUFBSUosT0FBTyxDQUFDaUIsTUFBTSxHQUFHLENBQUMsaUJBQ3ZDOUMsSUFBQSxDQUFDUCxTQUFTO1FBQUF3QixRQUFBLEVBQ1BZLE9BQU8sQ0FBQ21CLEdBQUcsQ0FBQyxVQUFBM0MsTUFBTTtVQUFBLG9CQUNqQkwsSUFBQSxDQUFDRyxXQUFXO1lBRVZFLE1BQU0sRUFBRUEsTUFBTztZQUNmQyxXQUFXLEVBQUVBLFdBQVk7WUFDekJDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO2NBQUEsT0FBUWtDLGlCQUFpQixDQUFDcEMsTUFBTSxDQUFDO1lBQUE7VUFBQyxHQUhwQ0EsTUFBTSxDQUFDdUMsRUFJYixDQUFDO1FBQUEsQ0FDSDtNQUFDLENBQ08sQ0FDWjtJQUFBLENBQ2lCLENBQUM7RUFBQSxDQUNQLENBQUM7QUFFckIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -28,6 +28,7 @@ import { useGlobalContext } from '../../../context/global-context';
|
|
|
28
28
|
import { ModalFileExceeds } from '../../organisms/ModalFileExceeds';
|
|
29
29
|
import { SlashCommandDropdown } from '../SlashCommandDropdown';
|
|
30
30
|
import { useSlashCommands } from '../../../hooks/useSlashCommands';
|
|
31
|
+
import { quickActionTitleToType } from '../../../utils/slashCommandMarker';
|
|
31
32
|
import { useT } from '../../../hooks/useT';
|
|
32
33
|
import { TelescopeIcon } from '../icons/TelescopeIcon';
|
|
33
34
|
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
@@ -41,13 +42,6 @@ import { MAIA_TASK_PANEL_MENTION_POPOVER_Z_INDEX } from '../ContextMentionPopove
|
|
|
41
42
|
import { useMentionPopover } from '../../../hooks/useMentionPopover';
|
|
42
43
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
43
44
|
var TOOL_CHIP_EXIT_MS = 220;
|
|
44
|
-
var getQuickActionType = function getQuickActionType(command) {
|
|
45
|
-
var words = command.title.toLowerCase().replace(/[^a-z0-9\s]+/g, ' ').split(/\s+/).filter(Boolean);
|
|
46
|
-
if (words.length === 0) return command.id;
|
|
47
|
-
return words.map(function (word, i) {
|
|
48
|
-
return i === 0 ? word : "".concat(word.charAt(0).toUpperCase()).concat(word.slice(1));
|
|
49
|
-
}).join('');
|
|
50
|
-
};
|
|
51
45
|
export var MAIAInput = function MAIAInput(_ref) {
|
|
52
46
|
var _agent$entity;
|
|
53
47
|
var onSendMessage = _ref.onSendMessage,
|
|
@@ -345,12 +339,6 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
345
339
|
var text = (_state$text = state === null || state === void 0 ? void 0 : state.text) !== null && _state$text !== void 0 ? _state$text : '';
|
|
346
340
|
if (!text.trim() && !attachments.length) return;
|
|
347
341
|
var mentions = (_state$mentions = state === null || state === void 0 ? void 0 : state.mentions) !== null && _state$mentions !== void 0 ? _state$mentions : [];
|
|
348
|
-
mentions.forEach(function (m) {
|
|
349
|
-
eventAmplitude(EVENTS.aiChatMentionSend, {
|
|
350
|
-
type: m.type,
|
|
351
|
-
id: String(m.id)
|
|
352
|
-
});
|
|
353
|
-
});
|
|
354
342
|
onSendMessage(text, attachments, mentions);
|
|
355
343
|
(_editorRef$current6 = editorRef.current) === null || _editorRef$current6 === void 0 || _editorRef$current6.clear();
|
|
356
344
|
setHasTypingPresence(false);
|
|
@@ -358,11 +346,11 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
358
346
|
setShowSlashDropdown(false);
|
|
359
347
|
setSlashQuery('');
|
|
360
348
|
resetMentionOpenTracking();
|
|
361
|
-
}, [attachments, onSendMessage,
|
|
349
|
+
}, [attachments, onSendMessage, resetMentionOpenTracking]);
|
|
362
350
|
var handleSelectSlashCommand = useCallback(function (command) {
|
|
363
351
|
var _editorRef$current7, _state$text2, _editorRef$current9;
|
|
364
352
|
eventAmplitude(EVENTS.aiChatQuickActionSelect, {
|
|
365
|
-
type_quick_action:
|
|
353
|
+
type_quick_action: quickActionTitleToType(command.id, command.title),
|
|
366
354
|
origin_quick_action: 'slash_menu'
|
|
367
355
|
});
|
|
368
356
|
var state = (_editorRef$current7 = editorRef.current) === null || _editorRef$current7 === void 0 ? void 0 : _editorRef$current7.serialize();
|
|
@@ -799,4 +787,4 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
799
787
|
}), popoverNode && /*#__PURE__*/createPortal(popoverNode, document.body)]
|
|
800
788
|
});
|
|
801
789
|
};
|
|
802
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIlBvcG92ZXIiLCJQYXBlclBsYW5lIiwiQXR0YWNoIiwiR2xvYmUiLCJUcmFzaCIsIlBsdXMiLCJDaGVjayIsIkNyb3NzIiwiVG9vbHRpcCIsImNvbG9ycyIsIkFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiIsIkFjdGl2ZVRvb2xDaGlwTGFiZWwiLCJBY3RpdmVUb29sQ2hpcFJvb3QiLCJQbHVzTWVudURpdmlkZXIiLCJQbHVzTWVudUlubmVyQ29sdW1uIiwiUGx1c01lbnVJdGVtQnV0dG9uIiwiUGx1c01lbnVJdGVtTGFiZWwiLCJQbHVzTWVudVBhcGVyIiwiUGx1c01lbnVUb29sc1JvdyIsIlBsdXNUb2dnbGVCdXR0b24iLCJTQ01JQXR0YWNobWVudCIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsIlN0eWxlZE1BSUFJbnB1dFdyYXBwZXIiLCJTdHlsZWRNQUlBU2VuZEJ1dHRvbiIsIlN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQiLCJTdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsIiwiU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCIsIlN0eWxlZE1BSUFTdG9wQnV0dG9uIiwiU3R5bGVkTUFJQVN0b3BJY29uIiwidXNlR2xvYmFsQ29udGV4dCIsIk1vZGFsRmlsZUV4Y2VlZHMiLCJTbGFzaENvbW1hbmREcm9wZG93biIsInVzZVNsYXNoQ29tbWFuZHMiLCJ1c2VUIiwiVGVsZXNjb3BlSWNvbiIsIkVWRU5UUyIsInVzZUV2ZW50IiwiZ2V0Q2hhdFRvb2xzTWVudUFnZW50VHlwZSIsIk1BSUFfQ0hBVF9JTlBVVF9VSSIsImFsbG93ZWRGaWxlVHlwZXMiLCJmaWxlVHlwZXMiLCJNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OIiwiTUFYX0ZJTEVfU0laRV9NQl9PTEQiLCJNQVhfRklMRV9TSVpFX01CX0FVRElPIiwiTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMiLCJBUFBDVUVTX0VWRU5UUyIsInRyYWNrQXBwY3Vlc0V2ZW50IiwiQ29udGV4dE1lbnRpb25FZGl0b3IiLCJNQUlBX1RBU0tfUEFORUxfTUVOVElPTl9QT1BPVkVSX1pfSU5ERVgiLCJ1c2VNZW50aW9uUG9wb3ZlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIlRPT0xfQ0hJUF9FWElUX01TIiwiZ2V0UXVpY2tBY3Rpb25UeXBlIiwiY29tbWFuZCIsIndvcmRzIiwidGl0bGUiLCJ0b0xvd2VyQ2FzZSIsInJlcGxhY2UiLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJsZW5ndGgiLCJpZCIsIm1hcCIsIndvcmQiLCJpIiwiY29uY2F0IiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImpvaW4iLCJNQUlBSW5wdXQiLCJfcmVmIiwiX2FnZW50JGVudGl0eSIsIm9uU2VuZE1lc3NhZ2UiLCJjbGFzc05hbWUiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJfcmVmJGFsaWduQnV0dG9ucyIsImFsaWduQnV0dG9ucyIsIm9uRmlsZUF0dGFjaCIsIm9uRGVsZXRlQXR0YWNobWVudCIsIl9yZWYkYXR0YWNobWVudHMiLCJhdHRhY2htZW50cyIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJfdXNlVCIsInQiLCJlZGl0b3JSZWYiLCJmaWxlSW5wdXRSZWYiLCJ3cmFwcGVyUmVmIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaGFzV3JhcHBlZFRvU2Vjb25kTGluZSIsInNldEhhc1dyYXBwZWRUb1NlY29uZExpbmUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImhhc1R5cGluZ1ByZXNlbmNlIiwic2V0SGFzVHlwaW5nUHJlc2VuY2UiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzRm9jdXNlZCIsInNldElzRm9jdXNlZCIsIl91c2VTdGF0ZTciLCJpc09wZW4iLCJleGNsdWRlZEZpbGVzIiwiZXhjZWVkZWRGaWxlcyIsImZpbGVTaXplcyIsIl91c2VTdGF0ZTgiLCJtb2RhbFByb3BzIiwic2V0TW9kYWxQcm9wcyIsImV2ZW50QW1wbGl0dWRlIiwiX3VzZUdsb2JhbENvbnRleHQiLCJ0b2dnbGVXZWJTZWFyY2giLCJpc1dlYlNlYXJjaEFjdGl2ZSIsInRvZ2dsZURlZXBTZWFyY2giLCJpc0RlZXBTZWFyY2hBY3RpdmUiLCJhZ2VudCIsInNlY3Rpb24iLCJwbHVzTWVudVpJbmRleCIsInVuZGVmaW5lZCIsIl91c2VNZW50aW9uUG9wb3ZlciIsInBvcG92ZXJBbmNob3JSZWYiLCJwb3BvdmVyT3BlbiIsInJlc2V0TWVudGlvbk9wZW5UcmFja2luZyIsImhhbmRsZVRyaWdnZXIiLCJoYW5kbGVQb3BvdmVyS2V5RG93biIsImhhbmRsZUtleURvd24iLCJwb3BvdmVyTm9kZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwicGx1c01lbnVBbmNob3IiLCJzZXRQbHVzTWVudUFuY2hvciIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsImFjdGl2ZVRvb2xDaGlwSG92ZXJlZCIsInNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZCIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJ0b29sQ2hpcEV4aXRpbmciLCJzZXRUb29sQ2hpcEV4aXRpbmciLCJ0b29sQ2hpcEV4aXRUaW1lclJlZiIsInNlYXJjaE1vZGVBY3RpdmVSZWYiLCJ3ZWIiLCJkZWVwIiwicGx1c01lbnVPcGVuIiwicHJldmlvdXNBZ2VudElkUmVmIiwicHJldmlvdXNDaGF0SWRSZWYiLCJwcmV2aW91c05ld0NoYXRLZXlSZWYiLCJhbmFseXRpY3NBZ2VudFR5cGUiLCJhbmFseXRpY3NDbG9uZUVudGl0eVBheWxvYWQiLCJ0eXBlIiwiZW50aXR5IiwiX3VzZVNsYXNoQ29tbWFuZHMiLCJzbGFzaENvbW1hbmRzIiwiY29tbWFuZHMiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2hvd1NsYXNoRHJvcGRvd24iLCJzZXRTaG93U2xhc2hEcm9wZG93biIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJzbGFzaFF1ZXJ5Iiwic2V0U2xhc2hRdWVyeSIsInNsYXNoTWVudVdhc09wZW5SZWYiLCJzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24iLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJ3aW5kb3ciLCJzZXRUaW1lb3V0IiwiX2VkaXRvclJlZiRjdXJyZW50IiwiY3VycmVudCIsImZvY3VzIiwiY2xvc2VQbHVzTWVudSIsImNhbmNlbFBlbmRpbmdUb29sQ2hpcEV4aXQiLCJjbGVhclRpbWVvdXQiLCJoYW5kbGVQbHVzQnV0dG9uQ2xpY2siLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiY3VycmVudFRhcmdldCIsImFpQ2hhdFBsdXNPcGVuIiwiX29iamVjdFNwcmVhZCIsImFnZW50X3R5cGUiLCJoYW5kbGVQbHVzTWVudUF0dGFjaCIsIl9maWxlSW5wdXRSZWYkY3VycmVudCIsImFpQ2hhdFRvb2xzIiwib3B0aW9uIiwiY2xpY2siLCJiZWdpblRvb2xDaGlwRXhpdCIsIndhc1dlYiIsIndhc0RlZXAiLCJfc2VhcmNoTW9kZUFjdGl2ZVJlZiQiLCJoYW5kbGVQbHVzTWVudVdlYlNlYXJjaCIsImhhbmRsZVBsdXNNZW51RGVlcFNlYXJjaCIsIl9lZGl0b3JSZWYkY3VycmVudDIiLCJjb21wYWN0U2luZ2xlUm93VG9vbGJhciIsInNlbmREaXNhYmxlZCIsImFnZW50Q2hhbmdlZCIsInByZXZpb3VzQ2hhdElkIiwiY3VycmVudENoYXRJZCIsImNoYXRDaGFuZ2VkIiwiY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0IiwibmV3Q2hhdFN0YXJ0ZWQiLCJpc0luaXRpYWxNb3VudCIsImRlbGF5IiwiX2VkaXRvclJlZiRjdXJyZW50MyIsImlzU3BlY2lhbGlzdEFnZW50Iiwib2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsIl9yZWYyIiwiX3JlZjMiLCJlbnRyeSIsImlzSW50ZXJzZWN0aW5nIiwibWFpYUNvbnRleHRNZW50aW9uSW5pdCIsImRpc2Nvbm5lY3QiLCJ0aHJlc2hvbGQiLCJvYnNlcnZlIiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsIl9lZGl0b3JSZWYkY3VycmVudDQiLCJjbGVhciIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVTZW5kTWVzc2FnZSIsIl9lZGl0b3JSZWYkY3VycmVudDUiLCJfc3RhdGUkdGV4dCIsIl9zdGF0ZSRtZW50aW9ucyIsIl9lZGl0b3JSZWYkY3VycmVudDYiLCJzdGF0ZSIsInNlcmlhbGl6ZSIsInRleHQiLCJ0cmltIiwibWVudGlvbnMiLCJmb3JFYWNoIiwibSIsImFpQ2hhdE1lbnRpb25TZW5kIiwiU3RyaW5nIiwiaGFuZGxlU2VsZWN0U2xhc2hDb21tYW5kIiwiX2VkaXRvclJlZiRjdXJyZW50NyIsIl9zdGF0ZSR0ZXh0MiIsIl9lZGl0b3JSZWYkY3VycmVudDkiLCJhaUNoYXRRdWlja0FjdGlvblNlbGVjdCIsInR5cGVfcXVpY2tfYWN0aW9uIiwib3JpZ2luX3F1aWNrX2FjdGlvbiIsInRyaWdnZXJQYXJ0IiwiYmVmb3JlVHJpZ2dlciIsImVuZHNXaXRoIiwiaXNFbXB0eUJlZm9yZVRyaWdnZXIiLCJfZWRpdG9yUmVmJGN1cnJlbnQ4IiwiaW5zZXJ0U2xhc2hDb21tYW5kIiwibGFiZWwiLCJoYW5kbGVDbG9zZVNsYXNoRHJvcGRvd24iLCJoYW5kbGVFZGl0b3JJbnB1dCIsIl9yZWY0IiwiX2VkaXRvclJlZiRjdXJyZW50MCIsInRyaWdnZXIiLCJzbGFzaFRyaWdnZXIiLCJ2aXN1YWxNdWx0aWxpbmUiLCJoYXNWaXN1YWxNdWx0aWxpbmUiLCJleHBsaWNpdE11bHRpbGluZSIsImluY2x1ZGVzIiwiaXNMaWtlbHlGaXJzdENoYXJNZWFzdXJlbWVudEdsaXRjaCIsInN0YWJsZVZpc3VhbE11bHRpbGluZSIsIm5leHRJc011bHRpbGluZSIsIm5leHRIYXNUeXBpbmdQcmVzZW5jZSIsIm5leHRUeXBpbmdQcmVzZW5jZSIsInByZXYiLCJuZXh0IiwiYWN0aXZlIiwiYWlDaGF0UXVpY2tBY3Rpb25PcGVuIiwicXVlcnkiLCJrZXkiLCJzaGlmdEtleSIsInByZXZlbnREZWZhdWx0IiwiaGFuZGxlRmlsZVNlbGVjdCIsImZpbGVzIiwidGFyZ2V0IiwiZmlsZXNJbnNlcnRlZCIsImlzTmV3Rm9ybWF0IiwiZXh0ZW5zaW9uIiwiaXNPbGRGb3JtYXQiLCJpc0F1ZGlvRm9ybWF0IiwiQXJyYXkiLCJmcm9tIiwiZmlsZSIsIl9maWxlTmFtZVBhcnRzJHBvcCIsImV4Y2x1ZGVkRmlsZSIsImZpbGVOYW1lUGFydHMiLCJuYW1lIiwiZmlsZUV4dGVuc2lvbiIsInBvcCIsInNpemUiLCJwdXNoIiwidHlwZUZpbGUiLCJwYXJzZWRGaWxlIiwiRmlsZSIsInZhbHVlIiwiaGFuZGxlRGVsZXRlQXR0YWNobWVudCIsImZpbGVJZCIsImhhbmRsZVdyYXBwZXJGb2N1cyIsImhhbmRsZVdyYXBwZXJCbHVyIiwiX3dyYXBwZXJSZWYkY3VycmVudCIsImNvbnRhaW5zIiwiYWN0aXZlRWxlbWVudCIsImhhbmRsZVN0b3BHZW5lcmF0aW9uIiwiYWlDaGF0U3RvcFJlc3BvbnNlIiwicGx1c0ljb25Db2xvciIsInNlY29uZGFyeSIsIm1lZGl1bUdyYXkiLCJwbHVzTWVudUljb25Db2xvciIsIm1lbnVJY29uIiwicGx1c01lbnVTZWxlY3RlZENvbG9yIiwidGV4dEJyYW5kQm9sZCIsImFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24iLCJjb2xvciIsImNoaXBDbG9zZUljb24iLCJ3aWR0aCIsImhlaWdodCIsImNoaWxkcmVuIiwicmVmIiwiaGFzQXR0YWNobWVudHMiLCJvbkZvY3VzIiwib25CbHVyIiwic3R5bGUiLCJwb3NpdGlvbiIsIm9uU2VsZWN0Iiwib25DbG9zZSIsImRpc3BsYXkiLCJnYXAiLCJhbGlnbkl0ZW1zIiwiYXR0YWNobWVudCIsImluZGV4IiwiX2ZpbGVOYW1lUGFydHMkcG9wMiIsIl9hdHRhY2htZW50JHR5cGUiLCJpc0ltYWdlQnlFeHRlbnNpb24iLCJpc0ltYWdlQnlNaW1lIiwic3RhcnRzV2l0aCIsImlzSW1hZ2UiLCJpY29uIiwib25DbGljayIsIiRjb21wYWN0Um93IiwiJG1lbnVPcGVuIiwib3BlbiIsImFuY2hvckVsIiwiYW5jaG9yT3JpZ2luIiwidmVydGljYWwiLCJob3Jpem9udGFsIiwidHJhbnNmb3JtT3JpZ2luIiwic3giLCJ6SW5kZXgiLCJzbG90UHJvcHMiLCJwYXBlciIsImVsZXZhdGlvbiIsIm92ZXJmbG93IiwiYm9yZGVyUmFkaXVzIiwiYm94U2hhZG93IiwiYmFja2dyb3VuZENvbG9yIiwibWFyZ2luVG9wIiwiJHNlbGVjdGVkIiwiJGhvdmVyZWQiLCIkZXhpdGluZyIsIm9uTW91c2VFbnRlciIsIm9uTW91c2VMZWF2ZSIsIiRjbG9zZVNob3duIiwiZ3JpZENvbHVtbiIsImdyaWRSb3ciLCJtaW5XaWR0aCIsImFsaWduU2VsZiIsIm9uSW5wdXQiLCJvbktleURvd24iLCJoYXNWYWx1ZXMiLCJtdWx0aXBsZSIsImFjY2VwdCIsImJvZHkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBSW5wdXQvTUFJQUlucHV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29udGludWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZvaWQgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbG9uZWx5LWlmICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBwcmVmZXItZGVzdHJ1Y3R1cmluZyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvbm8tc3RhdGljLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQge1xuICBDaGFuZ2VFdmVudCxcbiAgS2V5Ym9hcmRFdmVudCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IFBvcG92ZXIgfSBmcm9tICdAbXVpL21hdGVyaWFsJ1xuaW1wb3J0IHsgUGFwZXJQbGFuZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1BhcGVyUGxhbmUnXG5pbXBvcnQgeyBBdHRhY2ggfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9BdHRhY2gnXG5pbXBvcnQgeyBHbG9iZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0dsb2JlJ1xuaW1wb3J0IHsgVHJhc2ggfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9UcmFzaCdcbmltcG9ydCB7IFBsdXMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QbHVzJ1xuaW1wb3J0IHsgQ2hlY2sgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGVjaydcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcblxuaW1wb3J0IHtcbiAgQWN0aXZlVG9vbENoaXBJY29uQnV0dG9uLFxuICBBY3RpdmVUb29sQ2hpcExhYmVsLFxuICBBY3RpdmVUb29sQ2hpcFJvb3QsXG4gIFBsdXNNZW51RGl2aWRlcixcbiAgUGx1c01lbnVJbm5lckNvbHVtbixcbiAgUGx1c01lbnVJdGVtQnV0dG9uLFxuICBQbHVzTWVudUl0ZW1MYWJlbCxcbiAgUGx1c01lbnVQYXBlcixcbiAgUGx1c01lbnVUb29sc1JvdyxcbiAgUGx1c1RvZ2dsZUJ1dHRvbixcbiAgU0NNSUF0dGFjaG1lbnQsXG4gIFNDTUlBdHRhY2htZW50RGVsZXRlSWNvbixcbiAgU3R5bGVkTUFJQUlucHV0V3JhcHBlcixcbiAgU3R5bGVkTUFJQVNlbmRCdXR0b24sXG4gIFN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQsXG4gIFN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGwsXG4gIFN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwsXG4gIFN0eWxlZE1BSUFTdG9wQnV0dG9uLFxuICBTdHlsZWRNQUlBU3RvcEljb24sXG59IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBNb2RhbEZpbGVFeGNlZWRzIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL01vZGFsRmlsZUV4Y2VlZHMnXG5pbXBvcnQgeyBTbGFzaENvbW1hbmREcm9wZG93biB9IGZyb20gJy4uL1NsYXNoQ29tbWFuZERyb3Bkb3duJ1xuaW1wb3J0IHsgdXNlU2xhc2hDb21tYW5kcyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVNsYXNoQ29tbWFuZHMnXG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0FjdGlvbidcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgVGVsZXNjb3BlSWNvbiB9IGZyb20gJy4uL2ljb25zL1RlbGVzY29wZUljb24nXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBnZXRDaGF0VG9vbHNNZW51QWdlbnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaGl0bEFuYWx5dGljcydcbmltcG9ydCB7IE1BSUFfQ0hBVF9JTlBVVF9VSSB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5pbXBvcnQge1xuICBhbGxvd2VkRmlsZVR5cGVzLFxuICBmaWxlVHlwZXMsXG4gIE1BWF9GSUxFX1NJWkVfTUJfTUFJQV9WSVNJT04sXG4gIE1BWF9GSUxFX1NJWkVfTUJfT0xELFxuICBNQVhfRklMRV9TSVpFX01CX0FVRElPLFxuICBNQVhfQ0hBVF9JTlBVVF9BVFRBQ0hNRU5UUyxcbn0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Zvcm1hdEV4dGVuc2lvbnMnXG5pbXBvcnQgeyBBUFBDVUVTX0VWRU5UUywgdHJhY2tBcHBjdWVzRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcHBjdWVzJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb25FZGl0b3IsIENvbnRleHRNZW50aW9uRWRpdG9ySGFuZGxlIH0gZnJvbSAnLi4vQ29udGV4dE1lbnRpb25FZGl0b3InXG5pbXBvcnQgeyBNQUlBX1RBU0tfUEFORUxfTUVOVElPTl9QT1BPVkVSX1pfSU5ERVggfSBmcm9tICcuLi9Db250ZXh0TWVudGlvblBvcG92ZXInXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyB1c2VNZW50aW9uUG9wb3ZlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1lbnRpb25Qb3BvdmVyJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcblxuY29uc3QgVE9PTF9DSElQX0VYSVRfTVMgPSAyMjBcblxuY29uc3QgZ2V0UXVpY2tBY3Rpb25UeXBlID0gKGNvbW1hbmQ6IEFjdGlvbik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHdvcmRzID0gY29tbWFuZC50aXRsZVxuICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgLnJlcGxhY2UoL1teYS16MC05XFxzXSsvZywgJyAnKVxuICAgIC5zcGxpdCgvXFxzKy8pXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICBpZiAod29yZHMubGVuZ3RoID09PSAwKSByZXR1cm4gY29tbWFuZC5pZFxuICByZXR1cm4gd29yZHMubWFwKCh3b3JkLCBpKSA9PiAoaSA9PT0gMCA/IHdvcmQgOiBgJHt3b3JkLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7d29yZC5zbGljZSgxKX1gKSkuam9pbignJylcbn1cblxudHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNpemU6IG51bWJlclxuICB0eXBlOiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0Tm9kZVxufVxuXG50eXBlIE1BSUFJbnB1dFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIG9uU2VuZE1lc3NhZ2U6IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBmdWFJZD86IHN0cmluZyxcbiAgICBzY0lkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCkgPT4gdm9pZFxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICBvbkNoYW5nZT86ICgpID0+IHZvaWRcbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBvbkZpbGVBdHRhY2g/OiAoZmlsZTogRmlsZSkgPT4gdm9pZFxuICBvbkRlbGV0ZUF0dGFjaG1lbnQ/OiAoZmlsZUlkOiBzdHJpbmcpID0+IHZvaWRcbiAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gIGNoYXRJZD86IHN0cmluZ1xuICBuZXdDaGF0S2V5PzogbnVtYmVyXG59XG5cbmV4cG9ydCBjb25zdCBNQUlBSW5wdXQgPSAoe1xuICBvblNlbmRNZXNzYWdlLFxuICBjbGFzc05hbWUsXG4gIGRpc2FibGVkLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBvblN0b3BHZW5lcmF0aW9uLFxuICBwbGFjZWhvbGRlcixcbiAgb25DaGFuZ2UsXG4gIGFsaWduQnV0dG9ucyA9ICd2ZXJ0aWNhbCcsXG4gIG9uRmlsZUF0dGFjaCxcbiAgb25EZWxldGVBdHRhY2htZW50LFxuICBhdHRhY2htZW50cyA9IFtdLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG59OiBNQUlBSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBlZGl0b3JSZWYgPSB1c2VSZWY8Q29udGV4dE1lbnRpb25FZGl0b3JIYW5kbGU+KG51bGwpXG4gIGNvbnN0IGZpbGVJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbaGFzV3JhcHBlZFRvU2Vjb25kTGluZSwgc2V0SGFzV3JhcHBlZFRvU2Vjb25kTGluZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2hhc1R5cGluZ1ByZXNlbmNlLCBzZXRIYXNUeXBpbmdQcmVzZW5jZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbbW9kYWxQcm9wcywgc2V0TW9kYWxQcm9wc10gPSB1c2VTdGF0ZSh7XG4gICAgaXNPcGVuOiBmYWxzZSxcbiAgICBleGNsdWRlZEZpbGVzOiBbXSBhcyBzdHJpbmdbXSxcbiAgICBleGNlZWRlZEZpbGVzOiBbXSBhcyBzdHJpbmdbXSxcbiAgICBmaWxlU2l6ZXM6IHt9IGFzIFJlY29yZDxzdHJpbmcsIG51bWJlcj4sXG4gIH0pXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IHRvZ2dsZVdlYlNlYXJjaCwgaXNXZWJTZWFyY2hBY3RpdmUsIHRvZ2dsZURlZXBTZWFyY2gsIGlzRGVlcFNlYXJjaEFjdGl2ZSwgYWdlbnQsIHNlY3Rpb24gfSA9XG4gICAgdXNlR2xvYmFsQ29udGV4dCgpXG4gIC8vIEVuIHNlY3Rpb24gJ3Rhc2snIGVsIG1vZGFsIHVzYSB6LWluZGV4IDk4MDAwMDE7IGVsIFBvcG92ZXIgZGVsICsgc2UgcG9ydGEgYSBib2R5IGNvbiB+MTMwMCBwb3IgZGVmZWN0by5cbiAgY29uc3QgcGx1c01lbnVaSW5kZXggPSBzZWN0aW9uID09PSAndGFzaycgPyBNQUlBX1RBU0tfUEFORUxfTUVOVElPTl9QT1BPVkVSX1pfSU5ERVggOiB1bmRlZmluZWRcblxuICBjb25zdCB7XG4gICAgcG9wb3Zlck9wZW4sXG4gICAgcmVzZXRNZW50aW9uT3BlblRyYWNraW5nLFxuICAgIGhhbmRsZVRyaWdnZXIsXG4gICAgaGFuZGxlS2V5RG93bjogaGFuZGxlUG9wb3ZlcktleURvd24sXG4gICAgcG9wb3Zlck5vZGUsXG4gIH0gPSB1c2VNZW50aW9uUG9wb3Zlcih7XG4gICAgZWRpdG9yUmVmLFxuICAgIHBvcG92ZXJBbmNob3JSZWY6IHdyYXBwZXJSZWYsXG4gIH0pXG5cbiAgY29uc3QgW3BsdXNNZW51QW5jaG9yLCBzZXRQbHVzTWVudUFuY2hvcl0gPSB1c2VTdGF0ZTxIVE1MQnV0dG9uRWxlbWVudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFthY3RpdmVUb29sQ2hpcEhvdmVyZWQsIHNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3Rvb2xDaGlwRXhpdGluZywgc2V0VG9vbENoaXBFeGl0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB0b29sQ2hpcEV4aXRUaW1lclJlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHNlYXJjaE1vZGVBY3RpdmVSZWYgPSB1c2VSZWYoeyB3ZWI6IGZhbHNlLCBkZWVwOiBmYWxzZSB9KVxuICBjb25zdCBwbHVzTWVudU9wZW4gPSBCb29sZWFuKHBsdXNNZW51QW5jaG9yKVxuXG4gIC8vIEluaWNpYWxpemFyIGxhcyByZWZlcmVuY2lhcyBjb21vIHVuZGVmaW5lZCBwYXJhIGRldGVjdGFyIGVsIHByaW1lciBjYW1iaW8gY29ycmVjdGFtZW50ZVxuICBjb25zdCBwcmV2aW91c0FnZW50SWRSZWYgPSB1c2VSZWY8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG4gIGNvbnN0IHByZXZpb3VzQ2hhdElkUmVmID0gdXNlUmVmPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBjb25zdCBwcmV2aW91c05ld0NoYXRLZXlSZWYgPSB1c2VSZWY8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG5cbiAgY29uc3QgYW5hbHl0aWNzQWdlbnRUeXBlID0gZ2V0Q2hhdFRvb2xzTWVudUFnZW50VHlwZShhZ2VudClcbiAgY29uc3QgYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgPyB7IGVudGl0eTogYWdlbnQuZW50aXR5ID8/IG51bGwgfSA6IHt9XG5cbiAgY29uc3QgeyBjb21tYW5kczogc2xhc2hDb21tYW5kcyB9ID0gdXNlU2xhc2hDb21tYW5kcyhhZ2VudD8uaWQpXG4gIGNvbnN0IFtzaG93U2xhc2hEcm9wZG93biwgc2V0U2hvd1NsYXNoRHJvcGRvd25dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzbGFzaFF1ZXJ5LCBzZXRTbGFzaFF1ZXJ5XSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBzbGFzaE1lbnVXYXNPcGVuUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIC8qKiBUcmFzIGVsZWdpciBvIHF1aXRhciBiw7pzcXVlZGEgd2ViL3Byb2Z1bmRhOiB2b2x2ZXIgYWwgdGV4dGFyZWEgKFBvcG92ZXIvbWVudSBwdWVkZSByb2JhciBmb2NvKS4gKi9cbiAgY29uc3Qgc2NoZWR1bGVJbnB1dEZvY3VzQWZ0ZXJUb29sQWN0aW9uID0gKCkgPT4ge1xuICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9LCAwKVxuICAgIH0pXG4gIH1cblxuICBjb25zdCBjbG9zZVBsdXNNZW51ID0gKCkgPT4ge1xuICAgIHNldFBsdXNNZW51QW5jaG9yKG51bGwpXG4gIH1cblxuICBjb25zdCBjYW5jZWxQZW5kaW5nVG9vbENoaXBFeGl0ID0gKCkgPT4ge1xuICAgIGlmICh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICBjbGVhclRpbWVvdXQodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudClcbiAgICAgIHRvb2xDaGlwRXhpdFRpbWVyUmVmLmN1cnJlbnQgPSBudWxsXG4gICAgfVxuICAgIHNldFRvb2xDaGlwRXhpdGluZyhmYWxzZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVBsdXNCdXR0b25DbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PikgPT4ge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBpZiAocGx1c01lbnVBbmNob3IpIHtcbiAgICAgIGNsb3NlUGx1c01lbnUoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHNldFBsdXNNZW51QW5jaG9yKGUuY3VycmVudFRhcmdldClcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0UGx1c09wZW4sIHsgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLCAuLi5hbmFseXRpY3NDbG9uZUVudGl0eVBheWxvYWQgfSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVBsdXNNZW51QXR0YWNoID0gKCkgPT4ge1xuICAgIGNsb3NlUGx1c01lbnUoKVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRUb29scywge1xuICAgICAgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLFxuICAgICAgb3B0aW9uOiAnZmlsZXMnLFxuICAgICAgLi4uYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkLFxuICAgIH0pXG4gICAgaWYgKGF0dGFjaG1lbnRzLmxlbmd0aCA+PSBNQVhfQ0hBVF9JTlBVVF9BVFRBQ0hNRU5UUykgcmV0dXJuXG4gICAgZmlsZUlucHV0UmVmLmN1cnJlbnQ/LmNsaWNrKClcbiAgfVxuXG4gIGNvbnN0IGJlZ2luVG9vbENoaXBFeGl0ID0gKCkgPT4ge1xuICAgIGlmICh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3Qgd2FzV2ViID0gaXNXZWJTZWFyY2hBY3RpdmVcbiAgICBjb25zdCB3YXNEZWVwID0gaXNEZWVwU2VhcmNoQWN0aXZlXG4gICAgaWYgKCF3YXNXZWIgJiYgIXdhc0RlZXApIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRUb29sQ2hpcEV4aXRpbmcodHJ1ZSlcbiAgICB0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgY29uc3QgeyB3ZWIsIGRlZXAgfSA9IHNlYXJjaE1vZGVBY3RpdmVSZWYuY3VycmVudFxuICAgICAgaWYgKHdhc1dlYiAmJiB3ZWIpIHtcbiAgICAgICAgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICAgIH0gZWxzZSBpZiAod2FzRGVlcCAmJiBkZWVwKSB7XG4gICAgICAgIHRvZ2dsZURlZXBTZWFyY2goKVxuICAgICAgfVxuICAgICAgc2V0VG9vbENoaXBFeGl0aW5nKGZhbHNlKVxuICAgICAgc2NoZWR1bGVJbnB1dEZvY3VzQWZ0ZXJUb29sQWN0aW9uKClcbiAgICB9LCBUT09MX0NISVBfRVhJVF9NUylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVBsdXNNZW51V2ViU2VhcmNoID0gKCkgPT4ge1xuICAgIGNsb3NlUGx1c01lbnUoKVxuICAgIGlmIChpc1dlYlNlYXJjaEFjdGl2ZSkge1xuICAgICAgYmVnaW5Ub29sQ2hpcEV4aXQoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNhbmNlbFBlbmRpbmdUb29sQ2hpcEV4aXQoKVxuICAgIGlmIChpc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICAgIHRvZ2dsZURlZXBTZWFyY2goKVxuICAgIH1cbiAgICB0b2dnbGVXZWJTZWFyY2goKVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRUb29scywge1xuICAgICAgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLFxuICAgICAgb3B0aW9uOiAnc2VhcmNoJyxcbiAgICAgIC4uLmFuYWx5dGljc0Nsb25lRW50aXR5UGF5bG9hZCxcbiAgICB9KVxuICAgIHNjaGVkdWxlSW5wdXRGb2N1c0FmdGVyVG9vbEFjdGlvbigpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzTWVudURlZXBTZWFyY2ggPSAoKSA9PiB7XG4gICAgY2xvc2VQbHVzTWVudSgpXG4gICAgaWYgKGlzRGVlcFNlYXJjaEFjdGl2ZSkge1xuICAgICAgYmVnaW5Ub29sQ2hpcEV4aXQoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNhbmNlbFBlbmRpbmdUb29sQ2hpcEV4aXQoKVxuICAgIGlmIChpc1dlYlNlYXJjaEFjdGl2ZSkge1xuICAgICAgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICB9XG4gICAgdG9nZ2xlRGVlcFNlYXJjaCgpXG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFRvb2xzLCB7XG4gICAgICBhZ2VudF90eXBlOiBhbmFseXRpY3NBZ2VudFR5cGUsXG4gICAgICBvcHRpb246ICdkZWVwX3NlYXJjaCcsXG4gICAgICAuLi5hbmFseXRpY3NDbG9uZUVudGl0eVBheWxvYWQsXG4gICAgfSlcbiAgICBzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24oKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWRpc2FibGVkKSB7XG4gICAgICBlZGl0b3JSZWYuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cbiAgfSwgW2Rpc2FibGVkXSlcblxuICBjb25zdCBjb21wYWN0U2luZ2xlUm93VG9vbGJhciA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXR0YWNobWVudHMubGVuZ3RoID09PSAwICYmICFpc1dlYlNlYXJjaEFjdGl2ZSAmJiAhaXNEZWVwU2VhcmNoQWN0aXZlICYmICFoYXNXcmFwcGVkVG9TZWNvbmRMaW5lLFxuICAgIFthdHRhY2htZW50cy5sZW5ndGgsIGlzV2ViU2VhcmNoQWN0aXZlLCBpc0RlZXBTZWFyY2hBY3RpdmUsIGhhc1dyYXBwZWRUb1NlY29uZExpbmVdXG4gIClcblxuICBjb25zdCBzZW5kRGlzYWJsZWQgPSB1c2VNZW1vKFxuICAgICgpID0+ICFoYXNUeXBpbmdQcmVzZW5jZSAmJiBhdHRhY2htZW50cy5sZW5ndGggPT09IDAsXG4gICAgW2hhc1R5cGluZ1ByZXNlbmNlLCBhdHRhY2htZW50cy5sZW5ndGhdXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNlYXJjaE1vZGVBY3RpdmVSZWYuY3VycmVudCA9IHsgd2ViOiBpc1dlYlNlYXJjaEFjdGl2ZSwgZGVlcDogaXNEZWVwU2VhcmNoQWN0aXZlIH1cbiAgfSwgW2lzV2ViU2VhcmNoQWN0aXZlLCBpc0RlZXBTZWFyY2hBY3RpdmVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmICh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzV2ViU2VhcmNoQWN0aXZlICYmICFpc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICAgIHNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZChmYWxzZSlcbiAgICB9XG4gIH0sIFtpc1dlYlNlYXJjaEFjdGl2ZSwgaXNEZWVwU2VhcmNoQWN0aXZlXSlcblxuICAvLyBBdXRvLWZvY3VzIGN1YW5kbyBjYW1iaWEgZWwgYWdlbnRlIG8gbGEgY29udmVyc2FjacOzbiwgbyBhbCBtb250YXIgZWwgY29tcG9uZW50ZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFnZW50Q2hhbmdlZCA9IHByZXZpb3VzQWdlbnRJZFJlZi5jdXJyZW50ICE9PSBhZ2VudD8uaWRcbiAgICBjb25zdCBwcmV2aW91c0NoYXRJZCA9IHByZXZpb3VzQ2hhdElkUmVmLmN1cnJlbnRcbiAgICBjb25zdCBjdXJyZW50Q2hhdElkID0gY2hhdElkXG4gICAgY29uc3QgY2hhdENoYW5nZWQgPSBwcmV2aW91c0NoYXRJZCAhPT0gY3VycmVudENoYXRJZFxuICAgIGNvbnN0IGNoYW5nZWRGcm9tTmV3Q2hhdFRvT2xkQ2hhdCA9XG4gICAgICAocHJldmlvdXNDaGF0SWQgPT09IHVuZGVmaW5lZCB8fCBwcmV2aW91c0NoYXRJZCA9PT0gbnVsbCkgJiYgY3VycmVudENoYXRJZCAhPT0gdW5kZWZpbmVkICYmIGN1cnJlbnRDaGF0SWQgIT09IG51bGxcbiAgICBjb25zdCBuZXdDaGF0U3RhcnRlZCA9IHByZXZpb3VzTmV3Q2hhdEtleVJlZi5jdXJyZW50ICE9PSBuZXdDaGF0S2V5XG4gICAgY29uc3QgaXNJbml0aWFsTW91bnQgPSBwcmV2aW91c0FnZW50SWRSZWYuY3VycmVudCA9PT0gdW5kZWZpbmVkICYmIHByZXZpb3VzQ2hhdElkUmVmLmN1cnJlbnQgPT09IHVuZGVmaW5lZFxuXG4gICAgaWYgKChhZ2VudENoYW5nZWQgfHwgY2hhdENoYW5nZWQgfHwgY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0IHx8IG5ld0NoYXRTdGFydGVkIHx8IGlzSW5pdGlhbE1vdW50KSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgIGNvbnN0IGRlbGF5ID0gaXNJbml0aWFsTW91bnQgfHwgY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0ID8gMjAwIDogMTAwXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKCFkaXNhYmxlZCkgZWRpdG9yUmVmLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH0sIGRlbGF5KVxuICAgIH1cblxuICAgIHByZXZpb3VzQWdlbnRJZFJlZi5jdXJyZW50ID0gYWdlbnQ/LmlkXG4gICAgcHJldmlvdXNDaGF0SWRSZWYuY3VycmVudCA9IGNoYXRJZFxuICAgIHByZXZpb3VzTmV3Q2hhdEtleVJlZi5jdXJyZW50ID0gbmV3Q2hhdEtleVxuICB9LCBbYWdlbnQ/LmlkLCBjaGF0SWQsIG5ld0NoYXRLZXksIGRpc2FibGVkXSlcblxuICAvLyBBcHBjdWVzOiBub3RpZnkgdGhhdCB0aGUgaW5wdXQgaXMgdmlzaWJsZSBmb3Igc3BlY2lhbGlzdCBhZ2VudHMgKGNsb25lICsgcHJvamVjdC9jbGllbnQpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaXNTcGVjaWFsaXN0QWdlbnQgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnKVxuICAgIGlmICghd3JhcHBlclJlZi5jdXJyZW50IHx8ICFpc1NwZWNpYWxpc3RBZ2VudCkgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAoW2VudHJ5XSkgPT4ge1xuICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICB0cmFja0FwcGN1ZXNFdmVudChBUFBDVUVTX0VWRU5UUy5tYWlhQ29udGV4dE1lbnRpb25Jbml0KVxuICAgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyB0aHJlc2hvbGQ6IDAuMSB9XG4gICAgKVxuXG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZSh3cmFwcGVyUmVmLmN1cnJlbnQpXG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICB9LCBbYWdlbnQ/LmlkLCBhZ2VudD8udHlwZSwgYWdlbnQ/LmVudGl0eV0pXG5cbiAgLy8gQ2xlYXIgaW5wdXQgd2hlbiBzZXNzaW9uIGNoYW5nZXMgKHVzZXIgc3dpdGNoZXMgdG8gYSBkaWZmZXJlbnQgY2hhdClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXNzaW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmNsZWFyKClcbiAgICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKGZhbHNlKVxuICAgICAgc2V0SGFzV3JhcHBlZFRvU2Vjb25kTGluZShmYWxzZSlcbiAgICAgIHNldFNob3dTbGFzaERyb3Bkb3duKGZhbHNlKVxuICAgICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZygpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG4gIH0sIFtyZXNldE1lbnRpb25PcGVuVHJhY2tpbmddKVxuXG4gIGNvbnN0IGhhbmRsZVNlbmRNZXNzYWdlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0gZWRpdG9yUmVmLmN1cnJlbnQ/LnNlcmlhbGl6ZSgpXG4gICAgY29uc3QgdGV4dCA9IHN0YXRlPy50ZXh0ID8/ICcnXG4gICAgaWYgKCF0ZXh0LnRyaW0oKSAmJiAhYXR0YWNobWVudHMubGVuZ3RoKSByZXR1cm5cbiAgICBjb25zdCBtZW50aW9ucyA9IHN0YXRlPy5tZW50aW9ucyA/PyBbXVxuICAgIG1lbnRpb25zLmZvckVhY2gobSA9PiB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0TWVudGlvblNlbmQsIHsgdHlwZTogbS50eXBlLCBpZDogU3RyaW5nKG0uaWQpIH0pXG4gICAgfSlcbiAgICBvblNlbmRNZXNzYWdlKHRleHQsIGF0dGFjaG1lbnRzLCBtZW50aW9ucylcbiAgICBlZGl0b3JSZWYuY3VycmVudD8uY2xlYXIoKVxuICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKGZhbHNlKVxuICAgIHNldEhhc1dyYXBwZWRUb1NlY29uZExpbmUoZmFsc2UpXG4gICAgc2V0U2hvd1NsYXNoRHJvcGRvd24oZmFsc2UpXG4gICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcoKVxuICB9LCBbYXR0YWNobWVudHMsIG9uU2VuZE1lc3NhZ2UsIGV2ZW50QW1wbGl0dWRlLCByZXNldE1lbnRpb25PcGVuVHJhY2tpbmddKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdFNsYXNoQ29tbWFuZCA9IHVzZUNhbGxiYWNrKFxuICAgIChjb21tYW5kOiBBY3Rpb24pID0+IHtcbiAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRRdWlja0FjdGlvblNlbGVjdCwge1xuICAgICAgICB0eXBlX3F1aWNrX2FjdGlvbjogZ2V0UXVpY2tBY3Rpb25UeXBlKGNvbW1hbmQpLFxuICAgICAgICBvcmlnaW5fcXVpY2tfYWN0aW9uOiAnc2xhc2hfbWVudScsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBzdGF0ZSA9IGVkaXRvclJlZi5jdXJyZW50Py5zZXJpYWxpemUoKVxuICAgICAgY29uc3QgdGV4dCA9IHN0YXRlPy50ZXh0ID8/ICcnXG4gICAgICBjb25zdCB0cmlnZ2VyUGFydCA9IGAvJHtzbGFzaFF1ZXJ5fWBcbiAgICAgIGNvbnN0IGJlZm9yZVRyaWdnZXIgPSB0ZXh0LmVuZHNXaXRoKHRyaWdnZXJQYXJ0KSA/IHRleHQuc2xpY2UoMCwgLXRyaWdnZXJQYXJ0Lmxlbmd0aCkgOiB0ZXh0XG4gICAgICBjb25zdCBpc0VtcHR5QmVmb3JlVHJpZ2dlciA9IGJlZm9yZVRyaWdnZXIudHJpbSgpID09PSAnJ1xuXG4gICAgICBpZiAoaXNFbXB0eUJlZm9yZVRyaWdnZXIpIHtcbiAgICAgICAgb25TZW5kTWVzc2FnZShjb21tYW5kLnRpdGxlLCBhdHRhY2htZW50cywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb21tYW5kLmlkKVxuICAgICAgICBlZGl0b3JSZWYuY3VycmVudD8uY2xlYXIoKVxuICAgICAgICBzZXRIYXNUeXBpbmdQcmVzZW5jZShmYWxzZSlcbiAgICAgICAgc2V0SGFzV3JhcHBlZFRvU2Vjb25kTGluZShmYWxzZSlcbiAgICAgICAgc2V0U2hvd1NsYXNoRHJvcGRvd24oZmFsc2UpXG4gICAgICAgIHNldFNsYXNoUXVlcnkoJycpXG4gICAgICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gICAgICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZygpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBlZGl0b3JSZWYuY3VycmVudD8uaW5zZXJ0U2xhc2hDb21tYW5kKHsgaWQ6IGNvbW1hbmQuaWQsIGxhYmVsOiBjb21tYW5kLnRpdGxlIH0pXG4gICAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICAgIHNldFNsYXNoUXVlcnkoJycpXG4gICAgICBzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH0sXG4gICAgW2F0dGFjaG1lbnRzLCBvblNlbmRNZXNzYWdlLCByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcsIHNsYXNoUXVlcnksIGV2ZW50QW1wbGl0dWRlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2VTbGFzaERyb3Bkb3duID0gKCkgPT4ge1xuICAgIHNldFNob3dTbGFzaERyb3Bkb3duKGZhbHNlKVxuICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gIH1cblxuICBjb25zdCBoYW5kbGVFZGl0b3JJbnB1dCA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICB0ZXh0LFxuICAgICAgdHJpZ2dlcixcbiAgICAgIHNsYXNoVHJpZ2dlcixcbiAgICB9OiB7XG4gICAgICB0ZXh0OiBzdHJpbmdcbiAgICAgIG1lbnRpb25zOiBDb250ZXh0TWVudGlvbltdXG4gICAgICB0cmlnZ2VyOiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZzsgYXRSdW5MZW5ndGg6IG51bWJlciB9XG4gICAgICBzbGFzaFRyaWdnZXI/OiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZyB9XG4gICAgfSkgPT4ge1xuICAgICAgY29uc3QgdmlzdWFsTXVsdGlsaW5lID0gISFlZGl0b3JSZWYuY3VycmVudD8uaGFzVmlzdWFsTXVsdGlsaW5lKClcbiAgICAgIGNvbnN0IGV4cGxpY2l0TXVsdGlsaW5lID0gdGV4dC5pbmNsdWRlcygnXFxuJylcbiAgICAgIGNvbnN0IGlzTGlrZWx5Rmlyc3RDaGFyTWVhc3VyZW1lbnRHbGl0Y2ggPSB0ZXh0Lmxlbmd0aCA8PSAxICYmICFleHBsaWNpdE11bHRpbGluZSAmJiB2aXN1YWxNdWx0aWxpbmVcbiAgICAgIGNvbnN0IHN0YWJsZVZpc3VhbE11bHRpbGluZSA9IGlzTGlrZWx5Rmlyc3RDaGFyTWVhc3VyZW1lbnRHbGl0Y2ggPyBmYWxzZSA6IHZpc3VhbE11bHRpbGluZVxuICAgICAgY29uc3QgbmV4dElzTXVsdGlsaW5lID0gZXhwbGljaXRNdWx0aWxpbmUgfHwgc3RhYmxlVmlzdWFsTXVsdGlsaW5lXG4gICAgICBjb25zdCBuZXh0SGFzVHlwaW5nUHJlc2VuY2UgPSB0ZXh0LnRyaW0oKS5sZW5ndGggPiAwXG4gICAgICBjb25zdCBuZXh0VHlwaW5nUHJlc2VuY2UgPSB0ZXh0LnRyaW0oKS5sZW5ndGggPiAwXG5cbiAgICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKG5leHRUeXBpbmdQcmVzZW5jZSlcbiAgICAgIHNldEhhc1dyYXBwZWRUb1NlY29uZExpbmUocHJldiA9PiB7XG4gICAgICAgIGxldCBuZXh0ID0gcHJldlxuICAgICAgICBpZiAoIW5leHRIYXNUeXBpbmdQcmVzZW5jZSkge1xuICAgICAgICAgIG5leHQgPSBmYWxzZVxuICAgICAgICB9IGVsc2UgaWYgKG5leHRJc011bHRpbGluZSkge1xuICAgICAgICAgIG5leHQgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV4dFxuICAgICAgfSlcbiAgICAgIG9uQ2hhbmdlPy4oKVxuICAgICAgaGFuZGxlVHJpZ2dlcih0cmlnZ2VyKVxuXG4gICAgICBpZiAoc2xhc2hUcmlnZ2VyPy5hY3RpdmUgJiYgc2xhc2hDb21tYW5kcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmICghc2xhc2hNZW51V2FzT3BlblJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFF1aWNrQWN0aW9uT3BlbilcbiAgICAgICAgICBzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgc2V0U2hvd1NsYXNoRHJvcGRvd24odHJ1ZSlcbiAgICAgICAgc2V0U2xhc2hRdWVyeShzbGFzaFRyaWdnZXIucXVlcnkpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICAgICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkNoYW5nZSwgaGFuZGxlVHJpZ2dlciwgc2xhc2hDb21tYW5kcywgZXZlbnRBbXBsaXR1ZGVdXG4gIClcblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICBpZiAoaGFuZGxlUG9wb3ZlcktleURvd24oZSkpIHJldHVyblxuICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICFlLnNoaWZ0S2V5ICYmICFwb3BvdmVyT3Blbikge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgaWYgKCFzZW5kRGlzYWJsZWQgJiYgIWRpc2FibGVkKSBoYW5kbGVTZW5kTWVzc2FnZSgpXG4gICAgICB9XG4gICAgfSxcbiAgICBbaGFuZGxlUG9wb3ZlcktleURvd24sIHBvcG92ZXJPcGVuLCBzZW5kRGlzYWJsZWQsIGRpc2FibGVkLCBoYW5kbGVTZW5kTWVzc2FnZV1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUZpbGVTZWxlY3QgPSAoZTogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBjb25zdCBmaWxlcyA9IGUudGFyZ2V0LmZpbGVzXG4gICAgaWYgKCFmaWxlcykgcmV0dXJuXG5cbiAgICBjb25zdCBleGNlZWRlZEZpbGVzOiBzdHJpbmdbXSA9IFtdXG4gICAgY29uc3QgZXhjbHVkZWRGaWxlczogc3RyaW5nW10gPSBbXVxuICAgIGNvbnN0IGZpbGVTaXplczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9XG4gICAgbGV0IGZpbGVzSW5zZXJ0ZWQgPSBhdHRhY2htZW50cy5sZW5ndGhcblxuICAgIC8vIERlZmluaXIgbMOtbWl0ZXMgcGFyYSBkaWZlcmVudGVzIHRpcG9zIGRlIGFyY2hpdm9zXG4gICAgY29uc3QgaXNOZXdGb3JtYXQgPSAoZXh0ZW5zaW9uOiBzdHJpbmcpID0+IFsnLnBuZycsICcuanBnJywgJy5qcGVnJywgJy5wZGYnXS5pbmNsdWRlcyhleHRlbnNpb24pXG4gICAgY29uc3QgaXNPbGRGb3JtYXQgPSAoZXh0ZW5zaW9uOiBzdHJpbmcpID0+XG4gICAgICBbJy50eHQnLCAnLm1kJywgJy5jc3YnLCAnLmRvYycsICcuZG9jeCcsICcueGxzeCcsICcueGxzJ10uaW5jbHVkZXMoZXh0ZW5zaW9uKVxuICAgIGNvbnN0IGlzQXVkaW9Gb3JtYXQgPSAoZXh0ZW5zaW9uOiBzdHJpbmcpID0+XG4gICAgICBbJy5mbGFjJywgJy5tNGEnLCAnLm1wMycsICcubXA0JywgJy5vZ2EnLCAnLm9nZycsICcud2F2JywgJy53ZWJtJ10uaW5jbHVkZXMoZXh0ZW5zaW9uKVxuXG4gICAgQXJyYXkuZnJvbShmaWxlcykuZm9yRWFjaChmaWxlID0+IHtcbiAgICAgIGxldCBleGNsdWRlZEZpbGUgPSBmYWxzZVxuICAgICAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IGZpbGUubmFtZS5zcGxpdCgnLicpXG4gICAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxID8gYC4ke2ZpbGVOYW1lUGFydHMucG9wKCk/LnRvTG93ZXJDYXNlKCl9YCA6ICcnXG5cbiAgICAgIGlmICghYWxsb3dlZEZpbGVUeXBlcz8uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGZpbGVTaXplc1tmaWxlLm5hbWVdID0gZmlsZS5zaXplXG5cbiAgICAgIC8vIFZhbGlkYWNpb25lcyBlc3BlY8OtZmljYXMgc2Vnw7puIGVsIHRpcG8gZGUgYXJjaGl2b1xuICAgICAgaWYgKGlzTmV3Rm9ybWF0KGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICAgIC8vIFBhcmEgbnVldm9zIGZvcm1hdG9zOiBoYXN0YSA0Ljk5TUIgcG9yIGFyY2hpdm8sIGhhc3RhIE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTIGFyY2hpdm9zXG4gICAgICAgIGlmIChmaWxlLnNpemUgPiBNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OICogMTAyNCAqIDEwMjQpIHtcbiAgICAgICAgICBleGNlZWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlc0luc2VydGVkICsgMSA+IE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTKSB7XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNPbGRGb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgLy8gUGFyYSBmb3JtYXRvcyBhbnRlcmlvcmVzOiBoYXN0YSAxTUIgcG9yIGFyY2hpdm8sIGhhc3RhIE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTIGFyY2hpdm9zXG4gICAgICAgIGlmIChmaWxlLnNpemUgPiBNQVhfRklMRV9TSVpFX01CX09MRCAqIDEwMjQgKiAxMDI0KSB7XG4gICAgICAgICAgZXhjZWVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZXNJbnNlcnRlZCArIDEgPiBNQVhfQ0hBVF9JTlBVVF9BVFRBQ0hNRU5UUykge1xuICAgICAgICAgIGV4Y2x1ZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQXVkaW9Gb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgLy8gUGFyYSBhcmNoaXZvcyBkZSBhdWRpbzogaGFzdGEgMTBNQiBwb3IgYXJjaGl2bywgaGFzdGEgTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMgYXJjaGl2b3NcbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IE1BWF9GSUxFX1NJWkVfTUJfQVVESU8gKiAxMDI0ICogMTAyNCkge1xuICAgICAgICAgIGV4Y2VlZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzSW5zZXJ0ZWQgKyAxID4gTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMpIHtcbiAgICAgICAgICBleGNsdWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWV4Y2x1ZGVkRmlsZSkge1xuICAgICAgICBmaWxlc0luc2VydGVkICs9IDFcbiAgICAgICAgY29uc3QgdHlwZUZpbGUgPSBmaWxlLnR5cGUgfHwgZmlsZVR5cGVzW2ZpbGVFeHRlbnNpb25dXG4gICAgICAgIGNvbnN0IHBhcnNlZEZpbGUgPSBuZXcgRmlsZShbZmlsZV0sIGZpbGUubmFtZSwgeyB0eXBlOiB0eXBlRmlsZSB9KVxuICAgICAgICBvbkZpbGVBdHRhY2g/LihwYXJzZWRGaWxlKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAoZXhjbHVkZWRGaWxlcy5sZW5ndGggfHwgZXhjZWVkZWRGaWxlcy5sZW5ndGgpIHtcbiAgICAgIHNldE1vZGFsUHJvcHMoeyBpc09wZW46IHRydWUsIGV4Y2x1ZGVkRmlsZXMsIGV4Y2VlZGVkRmlsZXMsIGZpbGVTaXplcyB9KVxuICAgIH1cblxuICAgIGlmIChmaWxlSW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgZmlsZUlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSAnJ1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQgPSAoZmlsZUlkOiBzdHJpbmcpID0+IHtcbiAgICBvbkRlbGV0ZUF0dGFjaG1lbnQ/LihmaWxlSWQpXG4gIH1cblxuICBjb25zdCBoYW5kbGVXcmFwcGVyRm9jdXMgPSAoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSlcbiAgY29uc3QgaGFuZGxlV3JhcHBlckJsdXIgPSAoKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXdyYXBwZXJSZWYuY3VycmVudD8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgc2V0SXNGb2N1c2VkKGZhbHNlKVxuICAgICAgfVxuICAgIH0sIDApXG4gIH1cblxuICBjb25zdCBoYW5kbGVTdG9wR2VuZXJhdGlvbiA9ICgpID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0U3RvcFJlc3BvbnNlKVxuICAgIG9uU3RvcEdlbmVyYXRpb24/LigpXG4gIH1cblxuICBjb25zdCBwbHVzSWNvbkNvbG9yID0gaXNGb2N1c2VkID8gY29sb3JzLnRleHQuc2Vjb25kYXJ5IDogY29sb3JzLnRleHQubWVkaXVtR3JheVxuICBjb25zdCBwbHVzTWVudUljb25Db2xvciA9IE1BSUFfQ0hBVF9JTlBVVF9VSS5tZW51SWNvblxuICBjb25zdCBwbHVzTWVudVNlbGVjdGVkQ29sb3IgPSBNQUlBX0NIQVRfSU5QVVRfVUkudGV4dEJyYW5kQm9sZFxuXG4gIGxldCBhY3RpdmVUb29sQ2hpcExlYWRpbmdJY29uOiBSZWFjdE5vZGVcbiAgaWYgKGFjdGl2ZVRvb2xDaGlwSG92ZXJlZCkge1xuICAgIGFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24gPSA8Q3Jvc3MgY29sb3I9e01BSUFfQ0hBVF9JTlBVVF9VSS5jaGlwQ2xvc2VJY29ufSB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gIH0gZWxzZSBpZiAoaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICBhY3RpdmVUb29sQ2hpcExlYWRpbmdJY29uID0gPEdsb2JlIGNvbG9yPXtwbHVzTWVudUljb25Db2xvcn0gd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICB9IGVsc2Uge1xuICAgIGFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24gPSA8VGVsZXNjb3BlSWNvbiBjb2xvcj17cGx1c01lbnVJY29uQ29sb3J9IHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTdHlsZWRNQUlBSW5wdXRXcmFwcGVyXG4gICAgICAgIHJlZj17d3JhcHBlclJlZn1cbiAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICBhbGlnbkJ1dHRvbnM9e2FsaWduQnV0dG9uc31cbiAgICAgICAgaGFzQXR0YWNobWVudHM9eyEhYXR0YWNobWVudHMubGVuZ3RofVxuICAgICAgICBjb21wYWN0U2luZ2xlUm93VG9vbGJhcj17Y29tcGFjdFNpbmdsZVJvd1Rvb2xiYXJ9XG4gICAgICAgIGRhdGEtbWFpYS1zdHJlYW1pbmc9e2lzU3RyZWFtaW5nID8gJ3RydWUnIDogJ2ZhbHNlJ31cbiAgICAgICAgb25Gb2N1cz17aGFuZGxlV3JhcHBlckZvY3VzfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZVdyYXBwZXJCbHVyfVxuICAgICAgICBzdHlsZT17eyBwb3NpdGlvbjogJ3JlbGF0aXZlJyB9fVxuICAgICAgPlxuICAgICAgICB7c2hvd1NsYXNoRHJvcGRvd24gJiYgKFxuICAgICAgICAgIDxTbGFzaENvbW1hbmREcm9wZG93blxuICAgICAgICAgICAgY29tbWFuZHM9e3NsYXNoQ29tbWFuZHN9XG4gICAgICAgICAgICBxdWVyeT17c2xhc2hRdWVyeX1cbiAgICAgICAgICAgIG9uU2VsZWN0PXtoYW5kbGVTZWxlY3RTbGFzaENvbW1hbmR9XG4gICAgICAgICAgICBvbkNsb3NlPXtoYW5kbGVDbG9zZVNsYXNoRHJvcGRvd259XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgeyEhYXR0YWNobWVudHMubGVuZ3RoICYmIChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAnMTJweCcsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAge2F0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IGF0dGFjaG1lbnQubmFtZS5zcGxpdCgnLicpXG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlTmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBgLiR7ZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKX1gIDogJydcbiAgICAgICAgICAgICAgY29uc3QgaXNJbWFnZUJ5RXh0ZW5zaW9uID0gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKVxuICAgICAgICAgICAgICBjb25zdCBpc0ltYWdlQnlNaW1lID0gYXR0YWNobWVudC50eXBlPy5zdGFydHNXaXRoKCdpbWFnZS8nKVxuICAgICAgICAgICAgICBjb25zdCBpc0ltYWdlID0gaXNJbWFnZUJ5TWltZSAmJiBpc0ltYWdlQnlFeHRlbnNpb25cbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17YXR0YWNobWVudC5uYW1lfSBrZXk9e2Ake2luZGV4fS0ke2F0dGFjaG1lbnQubmFtZX1gfT5cbiAgICAgICAgICAgICAgICAgIDxTQ01JQXR0YWNobWVudCBpc0ltYWdlPXtpc0ltYWdlfT5cbiAgICAgICAgICAgICAgICAgICAge2F0dGFjaG1lbnQuaWNvbn1cbiAgICAgICAgICAgICAgICAgICAgPFNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVEZWxldGVBdHRhY2htZW50KGF0dGFjaG1lbnQuaWQpfT5cbiAgICAgICAgICAgICAgICAgICAgICA8VHJhc2ggY29sb3I9XCJyZ2JhKDE5MSwgMTkxLCAxOTEsIDEpXCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDTUlBdHRhY2htZW50RGVsZXRlSWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvU0NNSUF0dGFjaG1lbnQ+XG4gICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAgPFN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQgJGNvbXBhY3RSb3c9e2NvbXBhY3RTaW5nbGVSb3dUb29sYmFyfT5cbiAgICAgICAgICA8U3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCAkY29tcGFjdFJvdz17Y29tcGFjdFNpbmdsZVJvd1Rvb2xiYXJ9PlxuICAgICAgICAgICAgPFBsdXNNZW51VG9vbHNSb3c+XG4gICAgICAgICAgICAgIDxQbHVzVG9nZ2xlQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJG1lbnVPcGVuPXtwbHVzTWVudU9wZW59XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlUGx1c0J1dHRvbkNsaWNrfVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ2NoYXQub3BlblBsdXNNZW51QXJpYScpfVxuICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXtwbHVzTWVudU9wZW59XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGx1cyBjb2xvcj17cGx1c0ljb25Db2xvcn0gd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgICAgICA8L1BsdXNUb2dnbGVCdXR0b24+XG4gICAgICAgICAgICAgIDxQb3BvdmVyXG4gICAgICAgICAgICAgICAgb3Blbj17cGx1c01lbnVPcGVufVxuICAgICAgICAgICAgICAgIGFuY2hvckVsPXtwbHVzTWVudUFuY2hvcn1cbiAgICAgICAgICAgICAgICBvbkNsb3NlPXtjbG9zZVBsdXNNZW51fVxuICAgICAgICAgICAgICAgIGFuY2hvck9yaWdpbj17eyB2ZXJ0aWNhbDogJ3RvcCcsIGhvcml6b250YWw6ICdsZWZ0JyB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbj17eyB2ZXJ0aWNhbDogJ2JvdHRvbScsIGhvcml6b250YWw6ICdsZWZ0JyB9fVxuICAgICAgICAgICAgICAgIHsuLi4ocGx1c01lbnVaSW5kZXggIT0gbnVsbCA/IHsgc3g6IHsgekluZGV4OiBwbHVzTWVudVpJbmRleCB9IH0gOiB7fSl9XG4gICAgICAgICAgICAgICAgc2xvdFByb3BzPXt7XG4gICAgICAgICAgICAgICAgICBwYXBlcjoge1xuICAgICAgICAgICAgICAgICAgICBlbGV2YXRpb246IDAsXG4gICAgICAgICAgICAgICAgICAgIHN4OiB7XG4gICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICd2aXNpYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgICAgICAgICAgICAgICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6ICctNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQbHVzTWVudVBhcGVyPlxuICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SW5uZXJDb2x1bW4+XG4gICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1CdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVBsdXNNZW51QXR0YWNofT5cbiAgICAgICAgICAgICAgICAgICAgICA8QXR0YWNoIGNvbG9yPXtwbHVzTWVudUljb25Db2xvcn0gd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1MYWJlbCAkc2VsZWN0ZWQ9e2ZhbHNlfT57dCgnY2hhdC5wbHVzTWVudUF0dGFjaCcpfTwvUGx1c01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvUGx1c01lbnVJdGVtQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVEaXZpZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1CdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVBsdXNNZW51V2ViU2VhcmNofT5cbiAgICAgICAgICAgICAgICAgICAgICA8R2xvYmVcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPXtpc1dlYlNlYXJjaEFjdGl2ZSA/IHBsdXNNZW51U2VsZWN0ZWRDb2xvciA6IHBsdXNNZW51SWNvbkNvbG9yfVxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9ezIwfVxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsyMH1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1MYWJlbCAkc2VsZWN0ZWQ9eyEhaXNXZWJTZWFyY2hBY3RpdmV9Pnt0KCdjaGF0LnNlYXJjaFdlYicpfTwvUGx1c01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAge2lzV2ViU2VhcmNoQWN0aXZlID8gPENoZWNrIGNvbG9yPXtwbHVzTWVudVNlbGVjdGVkQ29sb3J9IHdpZHRoPXsxNn0gaGVpZ2h0PXsxNn0gLz4gOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICA8L1BsdXNNZW51SXRlbUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvUGx1c01lbnVJbm5lckNvbHVtbj5cbiAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1CdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVBsdXNNZW51RGVlcFNlYXJjaH0+XG4gICAgICAgICAgICAgICAgICAgIDxUZWxlc2NvcGVJY29uXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9e2lzRGVlcFNlYXJjaEFjdGl2ZSA/IHBsdXNNZW51U2VsZWN0ZWRDb2xvciA6IHBsdXNNZW51SWNvbkNvbG9yfVxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXsyMH1cbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9ezIwfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8UGx1c01lbnVJdGVtTGFiZWwgJHNlbGVjdGVkPXshIWlzRGVlcFNlYXJjaEFjdGl2ZX0+XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2NoYXQucGx1c01lbnVEZWVwSW52ZXN0aWdhdGlvbicpfVxuICAgICAgICAgICAgICAgICAgICA8L1BsdXNNZW51SXRlbUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7aXNEZWVwU2VhcmNoQWN0aXZlID8gPENoZWNrIGNvbG9yPXtwbHVzTWVudVNlbGVjdGVkQ29sb3J9IHdpZHRoPXsxNn0gaGVpZ2h0PXsxNn0gLz4gOiBudWxsfVxuICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudUl0ZW1CdXR0b24+XG4gICAgICAgICAgICAgICAgPC9QbHVzTWVudVBhcGVyPlxuICAgICAgICAgICAgICA8L1BvcG92ZXI+XG4gICAgICAgICAgICAgIHsoaXNXZWJTZWFyY2hBY3RpdmUgfHwgaXNEZWVwU2VhcmNoQWN0aXZlKSAmJiAoXG4gICAgICAgICAgICAgICAgPEFjdGl2ZVRvb2xDaGlwUm9vdFxuICAgICAgICAgICAgICAgICAgJGhvdmVyZWQ9e2FjdGl2ZVRvb2xDaGlwSG92ZXJlZH1cbiAgICAgICAgICAgICAgICAgICRleGl0aW5nPXt0b29sQ2hpcEV4aXRpbmd9XG4gICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZCh0cnVlKX1cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gc2V0QWN0aXZlVG9vbENoaXBIb3ZlcmVkKGZhbHNlKX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8QWN0aXZlVG9vbENoaXBJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAkY2xvc2VTaG93bj17YWN0aXZlVG9vbENoaXBIb3ZlcmVkfVxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdjaGF0LnJlbW92ZUFjdGl2ZVRvb2xBcmlhJyl9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgICBiZWdpblRvb2xDaGlwRXhpdCgpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHthY3RpdmVUb29sQ2hpcExlYWRpbmdJY29ufVxuICAgICAgICAgICAgICAgICAgPC9BY3RpdmVUb29sQ2hpcEljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICA8QWN0aXZlVG9vbENoaXBMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAge2lzV2ViU2VhcmNoQWN0aXZlID8gdCgnY2hhdC5zZWFyY2hXZWInKSA6IHQoJ2NoYXQucGx1c01lbnVEZWVwSW52ZXN0aWdhdGlvbicpfVxuICAgICAgICAgICAgICAgICAgPC9BY3RpdmVUb29sQ2hpcExhYmVsPlxuICAgICAgICAgICAgICAgIDwvQWN0aXZlVG9vbENoaXBSb290PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9QbHVzTWVudVRvb2xzUm93PlxuICAgICAgICAgIDwvU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbD5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBzdHlsZT17XG4gICAgICAgICAgICAgIGNvbXBhY3RTaW5nbGVSb3dUb29sYmFyXG4gICAgICAgICAgICAgICAgPyB7IGdyaWRDb2x1bW46IDIsIGdyaWRSb3c6IDEsIG1pbldpZHRoOiAwLCBhbGlnblNlbGY6ICdjZW50ZXInIH1cbiAgICAgICAgICAgICAgICA6IHsgZ3JpZENvbHVtbjogJzEgLyAtMScsIGdyaWRSb3c6IDEsIG1pbldpZHRoOiAwIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Q29udGV4dE1lbnRpb25FZGl0b3JcbiAgICAgICAgICAgICAgcmVmPXtlZGl0b3JSZWZ9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICBvbklucHV0PXtoYW5kbGVFZGl0b3JJbnB1dH1cbiAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVXcmFwcGVyRm9jdXN9XG4gICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlV3JhcHBlckJsdXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxTdHlsZWRNQUlBU2VuZFRvb2xiYXJDZWxsICRjb21wYWN0Um93PXtjb21wYWN0U2luZ2xlUm93VG9vbGJhcn0+XG4gICAgICAgICAgICB7aXNXcml0aW5nID8gKFxuICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnY2hhdC5zdG9wJyl9PlxuICAgICAgICAgICAgICAgIDxTdHlsZWRNQUlBU3RvcEJ1dHRvbiBkaXNhYmxlZD17ZmFsc2V9IG9uQ2xpY2s9e2hhbmRsZVN0b3BHZW5lcmF0aW9ufSBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkTUFJQVN0b3BJY29uIC8+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRNQUlBU3RvcEJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NoYXQuc2VuZCcpfT5cbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgICAgICAgICAgICAgIDxTdHlsZWRNQUlBU2VuZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTZW5kTWVzc2FnZX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzZW5kRGlzYWJsZWQgfHwgZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIGhhc1ZhbHVlcz17aGFzVHlwaW5nUHJlc2VuY2UgfHwgYXR0YWNobWVudHMubGVuZ3RoID4gMH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFBhcGVyUGxhbmUgY29sb3I9XCIjQkZCRkJGXCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRNQUlBU2VuZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TdHlsZWRNQUlBU2VuZFRvb2xiYXJDZWxsPlxuICAgICAgICA8L1N0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHJlZj17ZmlsZUlucHV0UmVmfVxuICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICBtdWx0aXBsZVxuICAgICAgICAgIGFjY2VwdD1cIi50eHQsLm1kLC5jc3YsLmRvYywuZG9jeCwucG5nLC5qcGcsLmpwZWcsLnBkZiwueGxzeCwueGxzLC5mbGFjLC5tNGEsLm1wMywubXA0LC5vZ2EsLm9nZywud2F2LC53ZWJtXCJcbiAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlRmlsZVNlbGVjdH1cbiAgICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiAnbm9uZScgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkTUFJQUlucHV0V3JhcHBlcj5cbiAgICAgIHttb2RhbFByb3BzLmlzT3BlbiAmJiAoXG4gICAgICAgIDxNb2RhbEZpbGVFeGNlZWRzXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0TW9kYWxQcm9wcyh7IGlzT3BlbjogZmFsc2UsIGV4Y2x1ZGVkRmlsZXM6IFtdLCBleGNlZWRlZEZpbGVzOiBbXSwgZmlsZVNpemVzOiB7fSB9KX1cbiAgICAgICAgICBleGNsdWRlZEZpbGVzPXttb2RhbFByb3BzLmV4Y2x1ZGVkRmlsZXN9XG4gICAgICAgICAgZXhjZWVkZWRGaWxlcz17bW9kYWxQcm9wcy5leGNlZWRlZEZpbGVzfVxuICAgICAgICAgIGZpbGVTaXplcz17bW9kYWxQcm9wcy5maWxlU2l6ZXN9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAge3BvcG92ZXJOb2RlICYmIGNyZWF0ZVBvcnRhbChwb3BvdmVyTm9kZSwgZG9jdW1lbnQuYm9keSl9XG4gICAgPC8+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBS0VBLFdBQVcsRUFDWEMsU0FBUyxFQUNUQyxPQUFPLEVBQ1BDLE1BQU0sRUFDTkMsUUFBUSxRQUNILE9BQU87QUFDZCxTQUFTQyxZQUFZLFFBQVEsV0FBVztBQUN4QyxTQUFTQyxPQUFPLFFBQVEsZUFBZTtBQUN2QyxTQUFTQyxVQUFVLFFBQVEsNkNBQTZDO0FBQ3hFLFNBQVNDLE1BQU0sUUFBUSx5Q0FBeUM7QUFDaEUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLElBQUksUUFBUSx1Q0FBdUM7QUFDNUQsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsT0FBT0MsTUFBTSxNQUFNLG1DQUFtQztBQUV0RCxTQUNFQyx3QkFBd0IsRUFDeEJDLG1CQUFtQixFQUNuQkMsa0JBQWtCLEVBQ2xCQyxlQUFlLEVBQ2ZDLG1CQUFtQixFQUNuQkMsa0JBQWtCLEVBQ2xCQyxpQkFBaUIsRUFDakJDLGFBQWEsRUFDYkMsZ0JBQWdCLEVBQ2hCQyxnQkFBZ0IsRUFDaEJDLGNBQWMsRUFDZEMsd0JBQXdCLEVBQ3hCQyxzQkFBc0IsRUFDdEJDLG9CQUFvQixFQUNwQkMseUJBQXlCLEVBQ3pCQyx5QkFBeUIsRUFDekJDLHlCQUF5QixFQUN6QkMsb0JBQW9CLEVBQ3BCQyxrQkFBa0IsUUFDYixVQUFVO0FBQ2pCLFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyxnQkFBZ0IsUUFBUSxrQ0FBa0M7QUFDbkUsU0FBU0Msb0JBQW9CLFFBQVEseUJBQXlCO0FBQzlELFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUVsRSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLGFBQWEsUUFBUSx3QkFBd0I7QUFDdEQsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEseUJBQXlCO0FBQzFELFNBQVNDLHlCQUF5QixRQUFRLDhCQUE4QjtBQUN4RSxTQUFTQyxrQkFBa0IsUUFBUSx3QkFBd0I7QUFDM0QsU0FDRUMsZ0JBQWdCLEVBQ2hCQyxTQUFTLEVBQ1RDLDRCQUE0QixFQUM1QkMsb0JBQW9CLEVBQ3BCQyxzQkFBc0IsRUFDdEJDLDBCQUEwQixRQUNyQixxQ0FBcUM7QUFDNUMsU0FBU0MsY0FBYyxFQUFFQyxpQkFBaUIsUUFBUSwyQkFBMkI7QUFDN0UsU0FBU0Msb0JBQW9CLFFBQW9DLHlCQUF5QjtBQUMxRixTQUFTQyx1Q0FBdUMsUUFBUSwwQkFBMEI7QUFDbEY7QUFDQSxTQUFTQyxpQkFBaUIsUUFBUSxrQ0FBa0M7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQUdwRSxJQUFNQyxpQkFBaUIsR0FBRyxHQUFHO0FBRTdCLElBQU1DLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLE9BQWUsRUFBYTtFQUN0RCxJQUFNQyxLQUFLLEdBQUdELE9BQU8sQ0FBQ0UsS0FBSyxDQUN4QkMsV0FBVyxDQUFDLENBQUMsQ0FDYkMsT0FBTyxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FDN0JDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDWkMsTUFBTSxDQUFDQyxPQUFPLENBQUM7RUFDbEIsSUFBSU4sS0FBSyxDQUFDTyxNQUFNLEtBQUssQ0FBQyxFQUFFLE9BQU9SLE9BQU8sQ0FBQ1MsRUFBRTtFQUN6QyxPQUFPUixLQUFLLENBQUNTLEdBQUcsQ0FBQyxVQUFDQyxJQUFJLEVBQUVDLENBQUM7SUFBQSxPQUFNQSxDQUFDLEtBQUssQ0FBQyxHQUFHRCxJQUFJLE1BQUFFLE1BQUEsQ0FBTUYsSUFBSSxDQUFDRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDLEVBQUFGLE1BQUEsQ0FBR0YsSUFBSSxDQUFDSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUU7RUFBQSxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUM5RyxDQUFDO0FBcUNELE9BQU8sSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUFDLElBQUEsRUFlQTtFQUFBLElBQUFDLGFBQUE7RUFBQSxJQWRwQkMsYUFBYSxHQUFBRixJQUFBLENBQWJFLGFBQWE7SUFDYkMsU0FBUyxHQUFBSCxJQUFBLENBQVRHLFNBQVM7SUFDVEMsUUFBUSxHQUFBSixJQUFBLENBQVJJLFFBQVE7SUFDUkMsV0FBVyxHQUFBTCxJQUFBLENBQVhLLFdBQVc7SUFDWEMsU0FBUyxHQUFBTixJQUFBLENBQVRNLFNBQVM7SUFDVEMsZ0JBQWdCLEdBQUFQLElBQUEsQ0FBaEJPLGdCQUFnQjtJQUNoQkMsV0FBVyxHQUFBUixJQUFBLENBQVhRLFdBQVc7SUFDWEMsUUFBUSxHQUFBVCxJQUFBLENBQVJTLFFBQVE7SUFBQUMsaUJBQUEsR0FBQVYsSUFBQSxDQUNSVyxZQUFZO0lBQVpBLFlBQVksR0FBQUQsaUJBQUEsY0FBRyxVQUFVLEdBQUFBLGlCQUFBO0lBQ3pCRSxZQUFZLEdBQUFaLElBQUEsQ0FBWlksWUFBWTtJQUNaQyxrQkFBa0IsR0FBQWIsSUFBQSxDQUFsQmEsa0JBQWtCO0lBQUFDLGdCQUFBLEdBQUFkLElBQUEsQ0FDbEJlLFdBQVc7SUFBWEEsV0FBVyxHQUFBRCxnQkFBQSxjQUFHLEVBQUUsR0FBQUEsZ0JBQUE7SUFDaEJFLE1BQU0sR0FBQWhCLElBQUEsQ0FBTmdCLE1BQU07SUFDTkMsVUFBVSxHQUFBakIsSUFBQSxDQUFWaUIsVUFBVTtFQUVWLElBQUFDLEtBQUEsR0FBYzlELElBQUksQ0FBQyxDQUFDO0lBQVorRCxDQUFDLEdBQUFELEtBQUEsQ0FBREMsQ0FBQztFQUNULElBQU1DLFNBQVMsR0FBR3BHLE1BQU0sQ0FBNkIsSUFBSSxDQUFDO0VBQzFELElBQU1xRyxZQUFZLEdBQUdyRyxNQUFNLENBQW1CLElBQUksQ0FBQztFQUNuRCxJQUFNc0csVUFBVSxHQUFHdEcsTUFBTSxDQUFpQixJQUFJLENBQUM7RUFDL0MsSUFBQXVHLFNBQUEsR0FBNER0RyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUF1RyxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUFwRUcsc0JBQXNCLEdBQUFGLFVBQUE7SUFBRUcseUJBQXlCLEdBQUFILFVBQUE7RUFDeEQsSUFBQUksVUFBQSxHQUFrRDNHLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQTRHLFVBQUEsR0FBQUosY0FBQSxDQUFBRyxVQUFBO0lBQTFERSxpQkFBaUIsR0FBQUQsVUFBQTtJQUFFRSxvQkFBb0IsR0FBQUYsVUFBQTtFQUM5QyxJQUFBRyxVQUFBLEdBQWtDL0csUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBZ0gsVUFBQSxHQUFBUixjQUFBLENBQUFPLFVBQUE7SUFBMUNFLFNBQVMsR0FBQUQsVUFBQTtJQUFFRSxZQUFZLEdBQUFGLFVBQUE7RUFDOUIsSUFBQUcsVUFBQSxHQUFvQ25ILFFBQVEsQ0FBQztNQUMzQ29ILE1BQU0sRUFBRSxLQUFLO01BQ2JDLGFBQWEsRUFBRSxFQUFjO01BQzdCQyxhQUFhLEVBQUUsRUFBYztNQUM3QkMsU0FBUyxFQUFFLENBQUM7SUFDZCxDQUFDLENBQUM7SUFBQUMsVUFBQSxHQUFBaEIsY0FBQSxDQUFBVyxVQUFBO0lBTEtNLFVBQVUsR0FBQUQsVUFBQTtJQUFFRSxhQUFhLEdBQUFGLFVBQUE7RUFNaEMsSUFBTUcsY0FBYyxHQUFHckYsUUFBUSxDQUFDLENBQUM7RUFDakMsSUFBQXNGLGlCQUFBLEdBQ0U3RixnQkFBZ0IsQ0FBQyxDQUFDO0lBRFo4RixlQUFlLEdBQUFELGlCQUFBLENBQWZDLGVBQWU7SUFBRUMsaUJBQWlCLEdBQUFGLGlCQUFBLENBQWpCRSxpQkFBaUI7SUFBRUMsZ0JBQWdCLEdBQUFILGlCQUFBLENBQWhCRyxnQkFBZ0I7SUFBRUMsa0JBQWtCLEdBQUFKLGlCQUFBLENBQWxCSSxrQkFBa0I7SUFBRUMsS0FBSyxHQUFBTCxpQkFBQSxDQUFMSyxLQUFLO0lBQUVDLE9BQU8sR0FBQU4saUJBQUEsQ0FBUE0sT0FBTztFQUVoRztFQUNBLElBQU1DLGNBQWMsR0FBR0QsT0FBTyxLQUFLLE1BQU0sR0FBR2hGLHVDQUF1QyxHQUFHa0YsU0FBUztFQUUvRixJQUFBQyxrQkFBQSxHQU1JbEYsaUJBQWlCLENBQUM7TUFDcEJnRCxTQUFTLEVBQVRBLFNBQVM7TUFDVG1DLGdCQUFnQixFQUFFakM7SUFDcEIsQ0FBQyxDQUFDO0lBUkFrQyxXQUFXLEdBQUFGLGtCQUFBLENBQVhFLFdBQVc7SUFDWEMsd0JBQXdCLEdBQUFILGtCQUFBLENBQXhCRyx3QkFBd0I7SUFDeEJDLGFBQWEsR0FBQUosa0JBQUEsQ0FBYkksYUFBYTtJQUNFQyxvQkFBb0IsR0FBQUwsa0JBQUEsQ0FBbkNNLGFBQWE7SUFDYkMsV0FBVyxHQUFBUCxrQkFBQSxDQUFYTyxXQUFXO0VBTWIsSUFBQUMsVUFBQSxHQUE0QzdJLFFBQVEsQ0FBMkIsSUFBSSxDQUFDO0lBQUE4SSxVQUFBLEdBQUF0QyxjQUFBLENBQUFxQyxVQUFBO0lBQTdFRSxjQUFjLEdBQUFELFVBQUE7SUFBRUUsaUJBQWlCLEdBQUFGLFVBQUE7RUFDeEMsSUFBQUcsVUFBQSxHQUEwRGpKLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQWtKLFdBQUEsR0FBQTFDLGNBQUEsQ0FBQXlDLFVBQUE7SUFBbEVFLHFCQUFxQixHQUFBRCxXQUFBO0lBQUVFLHdCQUF3QixHQUFBRixXQUFBO0VBQ3RELElBQUFHLFdBQUEsR0FBOENySixRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFzSixXQUFBLEdBQUE5QyxjQUFBLENBQUE2QyxXQUFBO0lBQXRERSxlQUFlLEdBQUFELFdBQUE7SUFBRUUsa0JBQWtCLEdBQUFGLFdBQUE7RUFDMUMsSUFBTUcsb0JBQW9CLEdBQUcxSixNQUFNLENBQXVDLElBQUksQ0FBQztFQUMvRSxJQUFNMkosbUJBQW1CLEdBQUczSixNQUFNLENBQUM7SUFBRTRKLEdBQUcsRUFBRSxLQUFLO0lBQUVDLElBQUksRUFBRTtFQUFNLENBQUMsQ0FBQztFQUMvRCxJQUFNQyxZQUFZLEdBQUcxRixPQUFPLENBQUM0RSxjQUFjLENBQUM7O0VBRTVDO0VBQ0EsSUFBTWUsa0JBQWtCLEdBQUcvSixNQUFNLENBQXFCcUksU0FBUyxDQUFDO0VBQ2hFLElBQU0yQixpQkFBaUIsR0FBR2hLLE1BQU0sQ0FBcUJxSSxTQUFTLENBQUM7RUFDL0QsSUFBTTRCLHFCQUFxQixHQUFHakssTUFBTSxDQUFxQnFJLFNBQVMsQ0FBQztFQUVuRSxJQUFNNkIsa0JBQWtCLEdBQUcxSCx5QkFBeUIsQ0FBQzBGLEtBQUssQ0FBQztFQUMzRCxJQUFNaUMsMkJBQTJCLEdBQUcsQ0FBQWpDLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFa0MsSUFBSSxNQUFLLE9BQU8sR0FBRztJQUFFQyxNQUFNLEdBQUFwRixhQUFBLEdBQUVpRCxLQUFLLENBQUNtQyxNQUFNLGNBQUFwRixhQUFBLGNBQUFBLGFBQUEsR0FBSTtFQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7RUFFbkcsSUFBQXFGLGlCQUFBLEdBQW9DbkksZ0JBQWdCLENBQUMrRixLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRTVELEVBQUUsQ0FBQztJQUE3Q2lHLGFBQWEsR0FBQUQsaUJBQUEsQ0FBdkJFLFFBQVE7RUFDaEIsSUFBQUMsV0FBQSxHQUFrRHhLLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXlLLFdBQUEsR0FBQWpFLGNBQUEsQ0FBQWdFLFdBQUE7SUFBMURFLGlCQUFpQixHQUFBRCxXQUFBO0lBQUVFLG9CQUFvQixHQUFBRixXQUFBO0VBQzlDLElBQUFHLFdBQUEsR0FBb0M1SyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQUE2SyxXQUFBLEdBQUFyRSxjQUFBLENBQUFvRSxXQUFBO0lBQXpDRSxVQUFVLEdBQUFELFdBQUE7SUFBRUUsYUFBYSxHQUFBRixXQUFBO0VBQ2hDLElBQU1HLG1CQUFtQixHQUFHakwsTUFBTSxDQUFDLEtBQUssQ0FBQzs7RUFFekM7RUFDQSxJQUFNa0wsaUNBQWlDLEdBQUcsU0FBcENBLGlDQUFpQ0EsQ0FBQSxFQUFTO0lBQzlDLElBQUk5RixRQUFRLEVBQUU7TUFDWjtJQUNGO0lBQ0ErRixxQkFBcUIsQ0FBQyxZQUFNO01BQzFCQyxNQUFNLENBQUNDLFVBQVUsQ0FBQyxZQUFNO1FBQUEsSUFBQUMsa0JBQUE7UUFDdEIsQ0FBQUEsa0JBQUEsR0FBQWxGLFNBQVMsQ0FBQ21GLE9BQU8sY0FBQUQsa0JBQUEsZUFBakJBLGtCQUFBLENBQW1CRSxLQUFLLENBQUMsQ0FBQztNQUM1QixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUVELElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQSxFQUFTO0lBQzFCeEMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO0VBQ3pCLENBQUM7RUFFRCxJQUFNeUMseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUF5QkEsQ0FBQSxFQUFTO0lBQ3RDLElBQUloQyxvQkFBb0IsQ0FBQzZCLE9BQU8sS0FBSyxJQUFJLEVBQUU7TUFDekNJLFlBQVksQ0FBQ2pDLG9CQUFvQixDQUFDNkIsT0FBTyxDQUFDO01BQzFDN0Isb0JBQW9CLENBQUM2QixPQUFPLEdBQUcsSUFBSTtJQUNyQztJQUNBOUIsa0JBQWtCLENBQUMsS0FBSyxDQUFDO0VBQzNCLENBQUM7RUFFRCxJQUFNbUMscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUFxQkEsQ0FBSUMsQ0FBZ0MsRUFBSztJQUNsRUEsQ0FBQyxDQUFDQyxlQUFlLENBQUMsQ0FBQztJQUNuQixJQUFJOUMsY0FBYyxFQUFFO01BQ2xCeUMsYUFBYSxDQUFDLENBQUM7TUFDZjtJQUNGO0lBQ0F4QyxpQkFBaUIsQ0FBQzRDLENBQUMsQ0FBQ0UsYUFBYSxDQUFDO0lBQ2xDbkUsY0FBYyxDQUFDdEYsTUFBTSxDQUFDMEosY0FBYyxFQUFBQyxhQUFBO01BQUlDLFVBQVUsRUFBRWhDO0lBQWtCLEdBQUtDLDJCQUEyQixDQUFFLENBQUM7RUFDM0csQ0FBQztFQUVELElBQU1nQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFBLEVBQVM7SUFBQSxJQUFBQyxxQkFBQTtJQUNqQ1gsYUFBYSxDQUFDLENBQUM7SUFDZjdELGNBQWMsQ0FBQ3RGLE1BQU0sQ0FBQytKLFdBQVcsRUFBQUosYUFBQTtNQUMvQkMsVUFBVSxFQUFFaEMsa0JBQWtCO01BQzlCb0MsTUFBTSxFQUFFO0lBQU8sR0FDWm5DLDJCQUEyQixDQUMvQixDQUFDO0lBQ0YsSUFBSXBFLFdBQVcsQ0FBQzFCLE1BQU0sSUFBSXRCLDBCQUEwQixFQUFFO0lBQ3RELENBQUFxSixxQkFBQSxHQUFBL0YsWUFBWSxDQUFDa0YsT0FBTyxjQUFBYSxxQkFBQSxlQUFwQkEscUJBQUEsQ0FBc0JHLEtBQUssQ0FBQyxDQUFDO0VBQy9CLENBQUM7RUFFRCxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFBLEVBQVM7SUFDOUIsSUFBSTlDLG9CQUFvQixDQUFDNkIsT0FBTyxLQUFLLElBQUksRUFBRTtNQUN6QztJQUNGO0lBQ0EsSUFBTWtCLE1BQU0sR0FBRzFFLGlCQUFpQjtJQUNoQyxJQUFNMkUsT0FBTyxHQUFHekUsa0JBQWtCO0lBQ2xDLElBQUksQ0FBQ3dFLE1BQU0sSUFBSSxDQUFDQyxPQUFPLEVBQUU7TUFDdkI7SUFDRjtJQUNBakQsa0JBQWtCLENBQUMsSUFBSSxDQUFDO0lBQ3hCQyxvQkFBb0IsQ0FBQzZCLE9BQU8sR0FBR0YsVUFBVSxDQUFDLFlBQU07TUFDOUMzQixvQkFBb0IsQ0FBQzZCLE9BQU8sR0FBRyxJQUFJO01BQ25DLElBQUFvQixxQkFBQSxHQUFzQmhELG1CQUFtQixDQUFDNEIsT0FBTztRQUF6QzNCLEdBQUcsR0FBQStDLHFCQUFBLENBQUgvQyxHQUFHO1FBQUVDLElBQUksR0FBQThDLHFCQUFBLENBQUo5QyxJQUFJO01BQ2pCLElBQUk0QyxNQUFNLElBQUk3QyxHQUFHLEVBQUU7UUFDakI5QixlQUFlLENBQUMsQ0FBQztNQUNuQixDQUFDLE1BQU0sSUFBSTRFLE9BQU8sSUFBSTdDLElBQUksRUFBRTtRQUMxQjdCLGdCQUFnQixDQUFDLENBQUM7TUFDcEI7TUFDQXlCLGtCQUFrQixDQUFDLEtBQUssQ0FBQztNQUN6QnlCLGlDQUFpQyxDQUFDLENBQUM7SUFDckMsQ0FBQyxFQUFFdkgsaUJBQWlCLENBQUM7RUFDdkIsQ0FBQztFQUVELElBQU1pSix1QkFBdUIsR0FBRyxTQUExQkEsdUJBQXVCQSxDQUFBLEVBQVM7SUFDcENuQixhQUFhLENBQUMsQ0FBQztJQUNmLElBQUkxRCxpQkFBaUIsRUFBRTtNQUNyQnlFLGlCQUFpQixDQUFDLENBQUM7TUFDbkI7SUFDRjtJQUNBZCx5QkFBeUIsQ0FBQyxDQUFDO0lBQzNCLElBQUl6RCxrQkFBa0IsRUFBRTtNQUN0QkQsZ0JBQWdCLENBQUMsQ0FBQztJQUNwQjtJQUNBRixlQUFlLENBQUMsQ0FBQztJQUNqQkYsY0FBYyxDQUFDdEYsTUFBTSxDQUFDK0osV0FBVyxFQUFBSixhQUFBO01BQy9CQyxVQUFVLEVBQUVoQyxrQkFBa0I7TUFDOUJvQyxNQUFNLEVBQUU7SUFBUSxHQUNibkMsMkJBQTJCLENBQy9CLENBQUM7SUFDRmUsaUNBQWlDLENBQUMsQ0FBQztFQUNyQyxDQUFDO0VBRUQsSUFBTTJCLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUEsRUFBUztJQUNyQ3BCLGFBQWEsQ0FBQyxDQUFDO0lBQ2YsSUFBSXhELGtCQUFrQixFQUFFO01BQ3RCdUUsaUJBQWlCLENBQUMsQ0FBQztNQUNuQjtJQUNGO0lBQ0FkLHlCQUF5QixDQUFDLENBQUM7SUFDM0IsSUFBSTNELGlCQUFpQixFQUFFO01BQ3JCRCxlQUFlLENBQUMsQ0FBQztJQUNuQjtJQUNBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xCSixjQUFjLENBQUN0RixNQUFNLENBQUMrSixXQUFXLEVBQUFKLGFBQUE7TUFDL0JDLFVBQVUsRUFBRWhDLGtCQUFrQjtNQUM5Qm9DLE1BQU0sRUFBRTtJQUFhLEdBQ2xCbkMsMkJBQTJCLENBQy9CLENBQUM7SUFDRmUsaUNBQWlDLENBQUMsQ0FBQztFQUNyQyxDQUFDO0VBRURwTCxTQUFTLENBQUMsWUFBTTtJQUNkLElBQUksQ0FBQ3NGLFFBQVEsRUFBRTtNQUFBLElBQUEwSCxtQkFBQTtNQUNiLENBQUFBLG1CQUFBLEdBQUExRyxTQUFTLENBQUNtRixPQUFPLGNBQUF1QixtQkFBQSxlQUFqQkEsbUJBQUEsQ0FBbUJ0QixLQUFLLENBQUMsQ0FBQztJQUM1QjtFQUNGLENBQUMsRUFBRSxDQUFDcEcsUUFBUSxDQUFDLENBQUM7RUFFZCxJQUFNMkgsdUJBQXVCLEdBQUdoTixPQUFPLENBQ3JDO0lBQUEsT0FBTWdHLFdBQVcsQ0FBQzFCLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQzBELGlCQUFpQixJQUFJLENBQUNFLGtCQUFrQixJQUFJLENBQUN2QixzQkFBc0I7RUFBQSxHQUN0RyxDQUFDWCxXQUFXLENBQUMxQixNQUFNLEVBQUUwRCxpQkFBaUIsRUFBRUUsa0JBQWtCLEVBQUV2QixzQkFBc0IsQ0FDcEYsQ0FBQztFQUVELElBQU1zRyxZQUFZLEdBQUdqTixPQUFPLENBQzFCO0lBQUEsT0FBTSxDQUFDK0csaUJBQWlCLElBQUlmLFdBQVcsQ0FBQzFCLE1BQU0sS0FBSyxDQUFDO0VBQUEsR0FDcEQsQ0FBQ3lDLGlCQUFpQixFQUFFZixXQUFXLENBQUMxQixNQUFNLENBQ3hDLENBQUM7RUFFRHZFLFNBQVMsQ0FBQyxZQUFNO0lBQ2Q2SixtQkFBbUIsQ0FBQzRCLE9BQU8sR0FBRztNQUFFM0IsR0FBRyxFQUFFN0IsaUJBQWlCO01BQUU4QixJQUFJLEVBQUU1QjtJQUFtQixDQUFDO0VBQ3BGLENBQUMsRUFBRSxDQUFDRixpQkFBaUIsRUFBRUUsa0JBQWtCLENBQUMsQ0FBQztFQUUzQ25JLFNBQVMsQ0FBQyxZQUFNO0lBQ2QsT0FBTyxZQUFNO01BQ1gsSUFBSTRKLG9CQUFvQixDQUFDNkIsT0FBTyxLQUFLLElBQUksRUFBRTtRQUN6Q0ksWUFBWSxDQUFDakMsb0JBQW9CLENBQUM2QixPQUFPLENBQUM7TUFDNUM7SUFDRixDQUFDO0VBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOekwsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJLENBQUNpSSxpQkFBaUIsSUFBSSxDQUFDRSxrQkFBa0IsRUFBRTtNQUM3Q29CLHdCQUF3QixDQUFDLEtBQUssQ0FBQztJQUNqQztFQUNGLENBQUMsRUFBRSxDQUFDdEIsaUJBQWlCLEVBQUVFLGtCQUFrQixDQUFDLENBQUM7O0VBRTNDO0VBQ0FuSSxTQUFTLENBQUMsWUFBTTtJQUNkLElBQU1tTixZQUFZLEdBQUdsRCxrQkFBa0IsQ0FBQ3dCLE9BQU8sTUFBS3JELEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFNUQsRUFBRTtJQUM3RCxJQUFNNEksY0FBYyxHQUFHbEQsaUJBQWlCLENBQUN1QixPQUFPO0lBQ2hELElBQU00QixhQUFhLEdBQUduSCxNQUFNO0lBQzVCLElBQU1vSCxXQUFXLEdBQUdGLGNBQWMsS0FBS0MsYUFBYTtJQUNwRCxJQUFNRSwyQkFBMkIsR0FDL0IsQ0FBQ0gsY0FBYyxLQUFLN0UsU0FBUyxJQUFJNkUsY0FBYyxLQUFLLElBQUksS0FBS0MsYUFBYSxLQUFLOUUsU0FBUyxJQUFJOEUsYUFBYSxLQUFLLElBQUk7SUFDcEgsSUFBTUcsY0FBYyxHQUFHckQscUJBQXFCLENBQUNzQixPQUFPLEtBQUt0RixVQUFVO0lBQ25FLElBQU1zSCxjQUFjLEdBQUd4RCxrQkFBa0IsQ0FBQ3dCLE9BQU8sS0FBS2xELFNBQVMsSUFBSTJCLGlCQUFpQixDQUFDdUIsT0FBTyxLQUFLbEQsU0FBUztJQUUxRyxJQUFJLENBQUM0RSxZQUFZLElBQUlHLFdBQVcsSUFBSUMsMkJBQTJCLElBQUlDLGNBQWMsSUFBSUMsY0FBYyxLQUFLLENBQUNuSSxRQUFRLEVBQUU7TUFDakgsSUFBTW9JLEtBQUssR0FBR0QsY0FBYyxJQUFJRiwyQkFBMkIsR0FBRyxHQUFHLEdBQUcsR0FBRztNQUN2RWhDLFVBQVUsQ0FBQyxZQUFNO1FBQUEsSUFBQW9DLG1CQUFBO1FBQ2YsSUFBSSxDQUFDckksUUFBUSxFQUFFLENBQUFxSSxtQkFBQSxHQUFBckgsU0FBUyxDQUFDbUYsT0FBTyxjQUFBa0MsbUJBQUEsZUFBakJBLG1CQUFBLENBQW1CakMsS0FBSyxDQUFDLENBQUM7TUFDM0MsQ0FBQyxFQUFFZ0MsS0FBSyxDQUFDO0lBQ1g7SUFFQXpELGtCQUFrQixDQUFDd0IsT0FBTyxHQUFHckQsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUU1RCxFQUFFO0lBQ3RDMEYsaUJBQWlCLENBQUN1QixPQUFPLEdBQUd2RixNQUFNO0lBQ2xDaUUscUJBQXFCLENBQUNzQixPQUFPLEdBQUd0RixVQUFVO0VBQzVDLENBQUMsRUFBRSxDQUFDaUMsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUU1RCxFQUFFLEVBQUUwQixNQUFNLEVBQUVDLFVBQVUsRUFBRWIsUUFBUSxDQUFDLENBQUM7O0VBRTdDO0VBQ0F0RixTQUFTLENBQUMsWUFBTTtJQUNkLElBQU00TixpQkFBaUIsR0FBRyxDQUFBeEYsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVrQyxJQUFJLE1BQUssT0FBTyxLQUFLLENBQUFsQyxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRW1DLE1BQU0sTUFBSyxTQUFTLElBQUksQ0FBQW5DLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFbUMsTUFBTSxNQUFLLFFBQVEsQ0FBQztJQUNoSCxJQUFJLENBQUMvRCxVQUFVLENBQUNpRixPQUFPLElBQUksQ0FBQ21DLGlCQUFpQixFQUFFLE9BQU9yRixTQUFTO0lBRS9ELElBQU1zRixRQUFRLEdBQUcsSUFBSUMsb0JBQW9CLENBQ3ZDLFVBQUFDLEtBQUEsRUFBYTtNQUFBLElBQUFDLEtBQUEsR0FBQXJILGNBQUEsQ0FBQW9ILEtBQUE7UUFBWEUsS0FBSyxHQUFBRCxLQUFBO01BQ0wsSUFBSUMsS0FBSyxDQUFDQyxjQUFjLEVBQUU7UUFDeEIvSyxpQkFBaUIsQ0FBQ0QsY0FBYyxDQUFDaUwsc0JBQXNCLENBQUM7UUFDeEROLFFBQVEsQ0FBQ08sVUFBVSxDQUFDLENBQUM7TUFDdkI7SUFDRixDQUFDLEVBQ0Q7TUFBRUMsU0FBUyxFQUFFO0lBQUksQ0FDbkIsQ0FBQztJQUVEUixRQUFRLENBQUNTLE9BQU8sQ0FBQzlILFVBQVUsQ0FBQ2lGLE9BQU8sQ0FBQztJQUNwQyxPQUFPO01BQUEsT0FBTW9DLFFBQVEsQ0FBQ08sVUFBVSxDQUFDLENBQUM7SUFBQTtFQUNwQyxDQUFDLEVBQUUsQ0FBQ2hHLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFNUQsRUFBRSxFQUFFNEQsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVrQyxJQUFJLEVBQUVsQyxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRW1DLE1BQU0sQ0FBQyxDQUFDOztFQUUzQztFQUNBdkssU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFNdU8sbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBQSxFQUFTO01BQUEsSUFBQUMsbUJBQUE7TUFDaEMsQ0FBQUEsbUJBQUEsR0FBQWxJLFNBQVMsQ0FBQ21GLE9BQU8sY0FBQStDLG1CQUFBLGVBQWpCQSxtQkFBQSxDQUFtQkMsS0FBSyxDQUFDLENBQUM7TUFDMUJ4SCxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7TUFDM0JKLHlCQUF5QixDQUFDLEtBQUssQ0FBQztNQUNoQ2lFLG9CQUFvQixDQUFDLEtBQUssQ0FBQztNQUMzQkksYUFBYSxDQUFDLEVBQUUsQ0FBQztNQUNqQnZDLHdCQUF3QixDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEK0YsUUFBUSxDQUFDQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsRUFBRUosbUJBQW1CLENBQUM7SUFDdEUsT0FBTztNQUFBLE9BQU1HLFFBQVEsQ0FBQ0UsbUJBQW1CLENBQUMsc0JBQXNCLEVBQUVMLG1CQUFtQixDQUFDO0lBQUE7RUFDeEYsQ0FBQyxFQUFFLENBQUM1Rix3QkFBd0IsQ0FBQyxDQUFDO0VBRTlCLElBQU1rRyxpQkFBaUIsR0FBRzlPLFdBQVcsQ0FBQyxZQUFNO0lBQUEsSUFBQStPLG1CQUFBLEVBQUFDLFdBQUEsRUFBQUMsZUFBQSxFQUFBQyxtQkFBQTtJQUMxQyxJQUFNQyxLQUFLLElBQUFKLG1CQUFBLEdBQUd4SSxTQUFTLENBQUNtRixPQUFPLGNBQUFxRCxtQkFBQSx1QkFBakJBLG1CQUFBLENBQW1CSyxTQUFTLENBQUMsQ0FBQztJQUM1QyxJQUFNQyxJQUFJLElBQUFMLFdBQUEsR0FBR0csS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVFLElBQUksY0FBQUwsV0FBQSxjQUFBQSxXQUFBLEdBQUksRUFBRTtJQUM5QixJQUFJLENBQUNLLElBQUksQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDcEosV0FBVyxDQUFDMUIsTUFBTSxFQUFFO0lBQ3pDLElBQU0rSyxRQUFRLElBQUFOLGVBQUEsR0FBR0UsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVJLFFBQVEsY0FBQU4sZUFBQSxjQUFBQSxlQUFBLEdBQUksRUFBRTtJQUN0Q00sUUFBUSxDQUFDQyxPQUFPLENBQUMsVUFBQUMsQ0FBQyxFQUFJO01BQ3BCMUgsY0FBYyxDQUFDdEYsTUFBTSxDQUFDaU4saUJBQWlCLEVBQUU7UUFBRW5GLElBQUksRUFBRWtGLENBQUMsQ0FBQ2xGLElBQUk7UUFBRTlGLEVBQUUsRUFBRWtMLE1BQU0sQ0FBQ0YsQ0FBQyxDQUFDaEwsRUFBRTtNQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDLENBQUM7SUFDRlksYUFBYSxDQUFDZ0ssSUFBSSxFQUFFbkosV0FBVyxFQUFFcUosUUFBUSxDQUFDO0lBQzFDLENBQUFMLG1CQUFBLEdBQUEzSSxTQUFTLENBQUNtRixPQUFPLGNBQUF3RCxtQkFBQSxlQUFqQkEsbUJBQUEsQ0FBbUJSLEtBQUssQ0FBQyxDQUFDO0lBQzFCeEgsb0JBQW9CLENBQUMsS0FBSyxDQUFDO0lBQzNCSix5QkFBeUIsQ0FBQyxLQUFLLENBQUM7SUFDaENpRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7SUFDM0JJLGFBQWEsQ0FBQyxFQUFFLENBQUM7SUFDakJ2Qyx3QkFBd0IsQ0FBQyxDQUFDO0VBQzVCLENBQUMsRUFBRSxDQUFDMUMsV0FBVyxFQUFFYixhQUFhLEVBQUUwQyxjQUFjLEVBQUVhLHdCQUF3QixDQUFDLENBQUM7RUFFMUUsSUFBTWdILHdCQUF3QixHQUFHNVAsV0FBVyxDQUMxQyxVQUFDZ0UsT0FBZSxFQUFLO0lBQUEsSUFBQTZMLG1CQUFBLEVBQUFDLFlBQUEsRUFBQUMsbUJBQUE7SUFDbkJoSSxjQUFjLENBQUN0RixNQUFNLENBQUN1Tix1QkFBdUIsRUFBRTtNQUM3Q0MsaUJBQWlCLEVBQUVsTSxrQkFBa0IsQ0FBQ0MsT0FBTyxDQUFDO01BQzlDa00sbUJBQW1CLEVBQUU7SUFDdkIsQ0FBQyxDQUFDO0lBRUYsSUFBTWYsS0FBSyxJQUFBVSxtQkFBQSxHQUFHdEosU0FBUyxDQUFDbUYsT0FBTyxjQUFBbUUsbUJBQUEsdUJBQWpCQSxtQkFBQSxDQUFtQlQsU0FBUyxDQUFDLENBQUM7SUFDNUMsSUFBTUMsSUFBSSxJQUFBUyxZQUFBLEdBQUdYLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFRSxJQUFJLGNBQUFTLFlBQUEsY0FBQUEsWUFBQSxHQUFJLEVBQUU7SUFDOUIsSUFBTUssV0FBVyxPQUFBdEwsTUFBQSxDQUFPcUcsVUFBVSxDQUFFO0lBQ3BDLElBQU1rRixhQUFhLEdBQUdmLElBQUksQ0FBQ2dCLFFBQVEsQ0FBQ0YsV0FBVyxDQUFDLEdBQUdkLElBQUksQ0FBQ3JLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQ21MLFdBQVcsQ0FBQzNMLE1BQU0sQ0FBQyxHQUFHNkssSUFBSTtJQUM1RixJQUFNaUIsb0JBQW9CLEdBQUdGLGFBQWEsQ0FBQ2QsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO0lBRXhELElBQUlnQixvQkFBb0IsRUFBRTtNQUFBLElBQUFDLG1CQUFBO01BQ3hCbEwsYUFBYSxDQUFDckIsT0FBTyxDQUFDRSxLQUFLLEVBQUVnQyxXQUFXLEVBQUVzQyxTQUFTLEVBQUVBLFNBQVMsRUFBRUEsU0FBUyxFQUFFQSxTQUFTLEVBQUV4RSxPQUFPLENBQUNTLEVBQUUsQ0FBQztNQUNqRyxDQUFBOEwsbUJBQUEsR0FBQWhLLFNBQVMsQ0FBQ21GLE9BQU8sY0FBQTZFLG1CQUFBLGVBQWpCQSxtQkFBQSxDQUFtQjdCLEtBQUssQ0FBQyxDQUFDO01BQzFCeEgsb0JBQW9CLENBQUMsS0FBSyxDQUFDO01BQzNCSix5QkFBeUIsQ0FBQyxLQUFLLENBQUM7TUFDaENpRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7TUFDM0JJLGFBQWEsQ0FBQyxFQUFFLENBQUM7TUFDakJDLG1CQUFtQixDQUFDTSxPQUFPLEdBQUcsS0FBSztNQUNuQzlDLHdCQUF3QixDQUFDLENBQUM7TUFDMUI7SUFDRjtJQUVBLENBQUFtSCxtQkFBQSxHQUFBeEosU0FBUyxDQUFDbUYsT0FBTyxjQUFBcUUsbUJBQUEsZUFBakJBLG1CQUFBLENBQW1CUyxrQkFBa0IsQ0FBQztNQUFFL0wsRUFBRSxFQUFFVCxPQUFPLENBQUNTLEVBQUU7TUFBRWdNLEtBQUssRUFBRXpNLE9BQU8sQ0FBQ0U7SUFBTSxDQUFDLENBQUM7SUFDL0U2RyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7SUFDM0JJLGFBQWEsQ0FBQyxFQUFFLENBQUM7SUFDakJDLG1CQUFtQixDQUFDTSxPQUFPLEdBQUcsS0FBSztFQUNyQyxDQUFDLEVBQ0QsQ0FBQ3hGLFdBQVcsRUFBRWIsYUFBYSxFQUFFdUQsd0JBQXdCLEVBQUVzQyxVQUFVLEVBQUVuRCxjQUFjLENBQ25GLENBQUM7RUFFRCxJQUFNMkksd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUF3QkEsQ0FBQSxFQUFTO0lBQ3JDM0Ysb0JBQW9CLENBQUMsS0FBSyxDQUFDO0lBQzNCSyxtQkFBbUIsQ0FBQ00sT0FBTyxHQUFHLEtBQUs7RUFDckMsQ0FBQztFQUVELElBQU1pRixpQkFBaUIsR0FBRzNRLFdBQVcsQ0FDbkMsVUFBQTRRLEtBQUEsRUFTTTtJQUFBLElBQUFDLG1CQUFBO0lBQUEsSUFSSnhCLElBQUksR0FBQXVCLEtBQUEsQ0FBSnZCLElBQUk7TUFDSnlCLE9BQU8sR0FBQUYsS0FBQSxDQUFQRSxPQUFPO01BQ1BDLFlBQVksR0FBQUgsS0FBQSxDQUFaRyxZQUFZO0lBT1osSUFBTUMsZUFBZSxHQUFHLENBQUMsR0FBQUgsbUJBQUEsR0FBQ3RLLFNBQVMsQ0FBQ21GLE9BQU8sY0FBQW1GLG1CQUFBLGVBQWpCQSxtQkFBQSxDQUFtQkksa0JBQWtCLENBQUMsQ0FBQztJQUNqRSxJQUFNQyxpQkFBaUIsR0FBRzdCLElBQUksQ0FBQzhCLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDN0MsSUFBTUMsa0NBQWtDLEdBQUcvQixJQUFJLENBQUM3SyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMwTSxpQkFBaUIsSUFBSUYsZUFBZTtJQUNwRyxJQUFNSyxxQkFBcUIsR0FBR0Qsa0NBQWtDLEdBQUcsS0FBSyxHQUFHSixlQUFlO0lBQzFGLElBQU1NLGVBQWUsR0FBR0osaUJBQWlCLElBQUlHLHFCQUFxQjtJQUNsRSxJQUFNRSxxQkFBcUIsR0FBR2xDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBQzlLLE1BQU0sR0FBRyxDQUFDO0lBQ3BELElBQU1nTixrQkFBa0IsR0FBR25DLElBQUksQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBQzlLLE1BQU0sR0FBRyxDQUFDO0lBRWpEMEMsb0JBQW9CLENBQUNzSyxrQkFBa0IsQ0FBQztJQUN4QzFLLHlCQUF5QixDQUFDLFVBQUEySyxJQUFJLEVBQUk7TUFDaEMsSUFBSUMsSUFBSSxHQUFHRCxJQUFJO01BQ2YsSUFBSSxDQUFDRixxQkFBcUIsRUFBRTtRQUMxQkcsSUFBSSxHQUFHLEtBQUs7TUFDZCxDQUFDLE1BQU0sSUFBSUosZUFBZSxFQUFFO1FBQzFCSSxJQUFJLEdBQUcsSUFBSTtNQUNiO01BRUEsT0FBT0EsSUFBSTtJQUNiLENBQUMsQ0FBQztJQUNGOUwsUUFBUSxhQUFSQSxRQUFRLGVBQVJBLFFBQVEsQ0FBRyxDQUFDO0lBQ1ppRCxhQUFhLENBQUNpSSxPQUFPLENBQUM7SUFFdEIsSUFBSUMsWUFBWSxhQUFaQSxZQUFZLGVBQVpBLFlBQVksQ0FBRVksTUFBTSxJQUFJakgsYUFBYSxDQUFDbEcsTUFBTSxHQUFHLENBQUMsRUFBRTtNQUNwRCxJQUFJLENBQUM0RyxtQkFBbUIsQ0FBQ00sT0FBTyxFQUFFO1FBQ2hDM0QsY0FBYyxDQUFDdEYsTUFBTSxDQUFDbVAscUJBQXFCLENBQUM7UUFDNUN4RyxtQkFBbUIsQ0FBQ00sT0FBTyxHQUFHLElBQUk7TUFDcEM7TUFDQVgsb0JBQW9CLENBQUMsSUFBSSxDQUFDO01BQzFCSSxhQUFhLENBQUM0RixZQUFZLENBQUNjLEtBQUssQ0FBQztJQUNuQyxDQUFDLE1BQU07TUFDTHpHLG1CQUFtQixDQUFDTSxPQUFPLEdBQUcsS0FBSztNQUNuQ1gsb0JBQW9CLENBQUMsS0FBSyxDQUFDO01BQzNCSSxhQUFhLENBQUMsRUFBRSxDQUFDO0lBQ25CO0VBQ0YsQ0FBQyxFQUNELENBQUN2RixRQUFRLEVBQUVpRCxhQUFhLEVBQUU2QixhQUFhLEVBQUUzQyxjQUFjLENBQ3pELENBQUM7RUFFRCxJQUFNZ0IsYUFBYSxHQUFHL0ksV0FBVyxDQUMvQixVQUFDZ00sQ0FBZ0MsRUFBSztJQUNwQyxJQUFJbEQsb0JBQW9CLENBQUNrRCxDQUFDLENBQUMsRUFBRTtJQUM3QixJQUFJQSxDQUFDLENBQUM4RixHQUFHLEtBQUssT0FBTyxJQUFJLENBQUM5RixDQUFDLENBQUMrRixRQUFRLElBQUksQ0FBQ3BKLFdBQVcsRUFBRTtNQUNwRHFELENBQUMsQ0FBQ2dHLGNBQWMsQ0FBQyxDQUFDO01BQ2xCLElBQUksQ0FBQzdFLFlBQVksSUFBSSxDQUFDNUgsUUFBUSxFQUFFdUosaUJBQWlCLENBQUMsQ0FBQztJQUNyRDtFQUNGLENBQUMsRUFDRCxDQUFDaEcsb0JBQW9CLEVBQUVILFdBQVcsRUFBRXdFLFlBQVksRUFBRTVILFFBQVEsRUFBRXVKLGlCQUFpQixDQUMvRSxDQUFDO0VBRUQsSUFBTW1ELGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlqRyxDQUFnQyxFQUFLO0lBQzdELElBQU1rRyxLQUFLLEdBQUdsRyxDQUFDLENBQUNtRyxNQUFNLENBQUNELEtBQUs7SUFDNUIsSUFBSSxDQUFDQSxLQUFLLEVBQUU7SUFFWixJQUFNeEssYUFBdUIsR0FBRyxFQUFFO0lBQ2xDLElBQU1ELGFBQXVCLEdBQUcsRUFBRTtJQUNsQyxJQUFNRSxTQUFpQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxJQUFJeUssYUFBYSxHQUFHbE0sV0FBVyxDQUFDMUIsTUFBTTs7SUFFdEM7SUFDQSxJQUFNNk4sV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLFNBQWlCO01BQUEsT0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDbkIsUUFBUSxDQUFDbUIsU0FBUyxDQUFDO0lBQUE7SUFDaEcsSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlELFNBQWlCO01BQUEsT0FDcEMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQ25CLFFBQVEsQ0FBQ21CLFNBQVMsQ0FBQztJQUFBO0lBQy9FLElBQU1FLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSUYsU0FBaUI7TUFBQSxPQUN0QyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQ25CLFFBQVEsQ0FBQ21CLFNBQVMsQ0FBQztJQUFBO0lBRXhGRyxLQUFLLENBQUNDLElBQUksQ0FBQ1IsS0FBSyxDQUFDLENBQUMxQyxPQUFPLENBQUMsVUFBQW1ELElBQUksRUFBSTtNQUFBLElBQUFDLGtCQUFBO01BQ2hDLElBQUlDLFlBQVksR0FBRyxLQUFLO01BQ3hCLElBQU1DLGFBQWEsR0FBR0gsSUFBSSxDQUFDSSxJQUFJLENBQUMxTyxLQUFLLENBQUMsR0FBRyxDQUFDO01BQzFDLElBQU0yTyxhQUFhLEdBQUdGLGFBQWEsQ0FBQ3RPLE1BQU0sR0FBRyxDQUFDLE9BQUFLLE1BQUEsRUFBQStOLGtCQUFBLEdBQU9FLGFBQWEsQ0FBQ0csR0FBRyxDQUFDLENBQUMsY0FBQUwsa0JBQUEsdUJBQW5CQSxrQkFBQSxDQUFxQnpPLFdBQVcsQ0FBQyxDQUFDLElBQUssRUFBRTtNQUU5RixJQUFJLEVBQUN0QixnQkFBZ0IsYUFBaEJBLGdCQUFnQixlQUFoQkEsZ0JBQWdCLENBQUVzTyxRQUFRLENBQUM2QixhQUFhLENBQUMsR0FBRTtRQUM5QztNQUNGO01BRUFyTCxTQUFTLENBQUNnTCxJQUFJLENBQUNJLElBQUksQ0FBQyxHQUFHSixJQUFJLENBQUNPLElBQUk7O01BRWhDO01BQ0EsSUFBSWIsV0FBVyxDQUFDVyxhQUFhLENBQUMsRUFBRTtRQUM5QjtRQUNBLElBQUlMLElBQUksQ0FBQ08sSUFBSSxHQUFHblEsNEJBQTRCLEdBQUcsSUFBSSxHQUFHLElBQUksRUFBRTtVQUMxRDJFLGFBQWEsQ0FBQ3lMLElBQUksQ0FBQ1IsSUFBSSxDQUFDSSxJQUFJLENBQUM7VUFDN0JGLFlBQVksR0FBRyxJQUFJO1FBQ3JCO1FBRUEsSUFBSVQsYUFBYSxHQUFHLENBQUMsR0FBR2xQLDBCQUEwQixFQUFFO1VBQ2xEdUUsYUFBYSxDQUFDMEwsSUFBSSxDQUFDUixJQUFJLENBQUNJLElBQUksQ0FBQztVQUM3QkYsWUFBWSxHQUFHLElBQUk7UUFDckI7TUFDRixDQUFDLE1BQU0sSUFBSU4sV0FBVyxDQUFDUyxhQUFhLENBQUMsRUFBRTtRQUNyQztRQUNBLElBQUlMLElBQUksQ0FBQ08sSUFBSSxHQUFHbFEsb0JBQW9CLEdBQUcsSUFBSSxHQUFHLElBQUksRUFBRTtVQUNsRDBFLGFBQWEsQ0FBQ3lMLElBQUksQ0FBQ1IsSUFBSSxDQUFDSSxJQUFJLENBQUM7VUFDN0JGLFlBQVksR0FBRyxJQUFJO1FBQ3JCO1FBRUEsSUFBSVQsYUFBYSxHQUFHLENBQUMsR0FBR2xQLDBCQUEwQixFQUFFO1VBQ2xEdUUsYUFBYSxDQUFDMEwsSUFBSSxDQUFDUixJQUFJLENBQUNJLElBQUksQ0FBQztVQUM3QkYsWUFBWSxHQUFHLElBQUk7UUFDckI7TUFDRixDQUFDLE1BQU0sSUFBSUwsYUFBYSxDQUFDUSxhQUFhLENBQUMsRUFBRTtRQUN2QztRQUNBLElBQUlMLElBQUksQ0FBQ08sSUFBSSxHQUFHalEsc0JBQXNCLEdBQUcsSUFBSSxHQUFHLElBQUksRUFBRTtVQUNwRHlFLGFBQWEsQ0FBQ3lMLElBQUksQ0FBQ1IsSUFBSSxDQUFDSSxJQUFJLENBQUM7VUFDN0JGLFlBQVksR0FBRyxJQUFJO1FBQ3JCO1FBRUEsSUFBSVQsYUFBYSxHQUFHLENBQUMsR0FBR2xQLDBCQUEwQixFQUFFO1VBQ2xEdUUsYUFBYSxDQUFDMEwsSUFBSSxDQUFDUixJQUFJLENBQUNJLElBQUksQ0FBQztVQUM3QkYsWUFBWSxHQUFHLElBQUk7UUFDckI7TUFDRjtNQUVBLElBQUksQ0FBQ0EsWUFBWSxFQUFFO1FBQ2pCVCxhQUFhLElBQUksQ0FBQztRQUNsQixJQUFNZ0IsUUFBUSxHQUFHVCxJQUFJLENBQUNwSSxJQUFJLElBQUl6SCxTQUFTLENBQUNrUSxhQUFhLENBQUM7UUFDdEQsSUFBTUssVUFBVSxHQUFHLElBQUlDLElBQUksQ0FBQyxDQUFDWCxJQUFJLENBQUMsRUFBRUEsSUFBSSxDQUFDSSxJQUFJLEVBQUU7VUFBRXhJLElBQUksRUFBRTZJO1FBQVMsQ0FBQyxDQUFDO1FBQ2xFck4sWUFBWSxhQUFaQSxZQUFZLGVBQVpBLFlBQVksQ0FBR3NOLFVBQVUsQ0FBQztNQUM1QjtJQUNGLENBQUMsQ0FBQztJQUVGLElBQUk1TCxhQUFhLENBQUNqRCxNQUFNLElBQUlrRCxhQUFhLENBQUNsRCxNQUFNLEVBQUU7TUFDaERzRCxhQUFhLENBQUM7UUFBRU4sTUFBTSxFQUFFLElBQUk7UUFBRUMsYUFBYSxFQUFiQSxhQUFhO1FBQUVDLGFBQWEsRUFBYkEsYUFBYTtRQUFFQyxTQUFTLEVBQVRBO01BQVUsQ0FBQyxDQUFDO0lBQzFFO0lBRUEsSUFBSW5CLFlBQVksQ0FBQ2tGLE9BQU8sRUFBRTtNQUN4QmxGLFlBQVksQ0FBQ2tGLE9BQU8sQ0FBQzZILEtBQUssR0FBRyxFQUFFO0lBQ2pDO0VBQ0YsQ0FBQztFQUVELElBQU1DLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBc0JBLENBQUlDLE1BQWMsRUFBSztJQUNqRHpOLGtCQUFrQixhQUFsQkEsa0JBQWtCLGVBQWxCQSxrQkFBa0IsQ0FBR3lOLE1BQU0sQ0FBQztFQUM5QixDQUFDO0VBRUQsSUFBTUMsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBQTtJQUFBLE9BQVNwTSxZQUFZLENBQUMsSUFBSSxDQUFDO0VBQUE7RUFDbkQsSUFBTXFNLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUEsRUFBUztJQUM5Qm5JLFVBQVUsQ0FBQyxZQUFNO01BQUEsSUFBQW9JLG1CQUFBO01BQ2YsSUFBSSxHQUFBQSxtQkFBQSxHQUFDbk4sVUFBVSxDQUFDaUYsT0FBTyxjQUFBa0ksbUJBQUEsZUFBbEJBLG1CQUFBLENBQW9CQyxRQUFRLENBQUNsRixRQUFRLENBQUNtRixhQUFhLENBQUMsR0FBRTtRQUN6RHhNLFlBQVksQ0FBQyxLQUFLLENBQUM7TUFDckI7SUFDRixDQUFDLEVBQUUsQ0FBQyxDQUFDO0VBQ1AsQ0FBQztFQUVELElBQU15TSxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFBLEVBQVM7SUFDakNoTSxjQUFjLENBQUN0RixNQUFNLENBQUN1UixrQkFBa0IsQ0FBQztJQUN6Q3RPLGdCQUFnQixhQUFoQkEsZ0JBQWdCLGVBQWhCQSxnQkFBZ0IsQ0FBRyxDQUFDO0VBQ3RCLENBQUM7RUFFRCxJQUFNdU8sYUFBYSxHQUFHNU0sU0FBUyxHQUFHdEcsTUFBTSxDQUFDc08sSUFBSSxDQUFDNkUsU0FBUyxHQUFHblQsTUFBTSxDQUFDc08sSUFBSSxDQUFDOEUsVUFBVTtFQUNoRixJQUFNQyxpQkFBaUIsR0FBR3hSLGtCQUFrQixDQUFDeVIsUUFBUTtFQUNyRCxJQUFNQyxxQkFBcUIsR0FBRzFSLGtCQUFrQixDQUFDMlIsYUFBYTtFQUU5RCxJQUFJQyx5QkFBb0M7RUFDeEMsSUFBSWpMLHFCQUFxQixFQUFFO0lBQ3pCaUwseUJBQXlCLGdCQUFHL1EsSUFBQSxDQUFDNUMsS0FBSztNQUFDNFQsS0FBSyxFQUFFN1Isa0JBQWtCLENBQUM4UixhQUFjO01BQUNDLEtBQUssRUFBRSxFQUFHO01BQUNDLE1BQU0sRUFBRTtJQUFHLENBQUUsQ0FBQztFQUN2RyxDQUFDLE1BQU0sSUFBSTFNLGlCQUFpQixFQUFFO0lBQzVCc00seUJBQXlCLGdCQUFHL1EsSUFBQSxDQUFDaEQsS0FBSztNQUFDZ1UsS0FBSyxFQUFFTCxpQkFBa0I7TUFBQ08sS0FBSyxFQUFFLEVBQUc7TUFBQ0MsTUFBTSxFQUFFO0lBQUcsQ0FBRSxDQUFDO0VBQ3hGLENBQUMsTUFBTTtJQUNMSix5QkFBeUIsZ0JBQUcvUSxJQUFBLENBQUNqQixhQUFhO01BQUNpUyxLQUFLLEVBQUVMLGlCQUFrQjtNQUFDTyxLQUFLLEVBQUUsRUFBRztNQUFDQyxNQUFNLEVBQUU7SUFBRyxDQUFFLENBQUM7RUFDaEc7RUFFQSxvQkFDRWpSLEtBQUEsQ0FBQUUsU0FBQTtJQUFBZ1IsUUFBQSxnQkFDRWxSLEtBQUEsQ0FBQy9CLHNCQUFzQjtNQUNyQmtULEdBQUcsRUFBRXJPLFVBQVc7TUFDaEJsQixRQUFRLEVBQUUsS0FBTTtNQUNoQk8sWUFBWSxFQUFFQSxZQUFhO01BQzNCaVAsY0FBYyxFQUFFLENBQUMsQ0FBQzdPLFdBQVcsQ0FBQzFCLE1BQU87TUFDckMwSSx1QkFBdUIsRUFBRUEsdUJBQXdCO01BQ2pELHVCQUFxQjFILFdBQVcsR0FBRyxNQUFNLEdBQUcsT0FBUTtNQUNwRHdQLE9BQU8sRUFBRXRCLGtCQUFtQjtNQUM1QnVCLE1BQU0sRUFBRXRCLGlCQUFrQjtNQUMxQnVCLEtBQUssRUFBRTtRQUFFQyxRQUFRLEVBQUU7TUFBVyxDQUFFO01BQUFOLFFBQUEsR0FFL0IvSixpQkFBaUIsaUJBQ2hCckgsSUFBQSxDQUFDcEIsb0JBQW9CO1FBQ25Cc0ksUUFBUSxFQUFFRCxhQUFjO1FBQ3hCbUgsS0FBSyxFQUFFM0csVUFBVztRQUNsQmtLLFFBQVEsRUFBRXhGLHdCQUF5QjtRQUNuQ3lGLE9BQU8sRUFBRTNFO01BQXlCLENBQ25DLENBQ0YsRUFDQSxDQUFDLENBQUN4SyxXQUFXLENBQUMxQixNQUFNLGlCQUNuQmYsSUFBQTtRQUFLeVIsS0FBSyxFQUFFO1VBQUVJLE9BQU8sRUFBRSxNQUFNO1VBQUVDLEdBQUcsRUFBRSxNQUFNO1VBQUVDLFVBQVUsRUFBRTtRQUFTLENBQUU7UUFBQVgsUUFBQSxFQUNoRTNPLFdBQVcsQ0FBQ3hCLEdBQUcsQ0FBQyxVQUFDK1EsVUFBVSxFQUFFQyxLQUFLLEVBQUs7VUFBQSxJQUFBQyxtQkFBQSxFQUFBQyxnQkFBQTtVQUN0QyxJQUFNOUMsYUFBYSxHQUFHMkMsVUFBVSxDQUFDMUMsSUFBSSxDQUFDMU8sS0FBSyxDQUFDLEdBQUcsQ0FBQztVQUNoRCxJQUFNMk8sYUFBYSxHQUFHRixhQUFhLENBQUN0TyxNQUFNLEdBQUcsQ0FBQyxPQUFBSyxNQUFBLEVBQUE4USxtQkFBQSxHQUFPN0MsYUFBYSxDQUFDRyxHQUFHLENBQUMsQ0FBQyxjQUFBMEMsbUJBQUEsdUJBQW5CQSxtQkFBQSxDQUFxQnhSLFdBQVcsQ0FBQyxDQUFDLElBQUssRUFBRTtVQUM5RixJQUFNMFIsa0JBQWtCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDMUUsUUFBUSxDQUFDNkIsYUFBYSxDQUFDO1VBQzVFLElBQU04QyxhQUFhLElBQUFGLGdCQUFBLEdBQUdILFVBQVUsQ0FBQ2xMLElBQUksY0FBQXFMLGdCQUFBLHVCQUFmQSxnQkFBQSxDQUFpQkcsVUFBVSxDQUFDLFFBQVEsQ0FBQztVQUMzRCxJQUFNQyxPQUFPLEdBQUdGLGFBQWEsSUFBSUQsa0JBQWtCO1VBQ25ELG9CQUNFcFMsSUFBQSxDQUFDM0MsT0FBTztZQUFDb0QsS0FBSyxFQUFFdVIsVUFBVSxDQUFDMUMsSUFBSztZQUFBOEIsUUFBQSxlQUM5QmxSLEtBQUEsQ0FBQ2pDLGNBQWM7Y0FBQ3NVLE9BQU8sRUFBRUEsT0FBUTtjQUFBbkIsUUFBQSxHQUM5QlksVUFBVSxDQUFDUSxJQUFJLGVBQ2hCeFMsSUFBQSxDQUFDOUIsd0JBQXdCO2dCQUFDdVUsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7a0JBQUEsT0FBUTFDLHNCQUFzQixDQUFDaUMsVUFBVSxDQUFDaFIsRUFBRSxDQUFDO2dCQUFBLENBQUM7Z0JBQUFvUSxRQUFBLGVBQzdFcFIsSUFBQSxDQUFDL0MsS0FBSztrQkFBQytULEtBQUssRUFBQyx3QkFBd0I7a0JBQUNFLEtBQUssRUFBRSxFQUFHO2tCQUFDQyxNQUFNLEVBQUU7Z0JBQUcsQ0FBRTtjQUFDLENBQ3ZDLENBQUM7WUFBQSxDQUNiO1VBQUMsTUFBQS9QLE1BQUEsQ0FOc0I2USxLQUFLLE9BQUE3USxNQUFBLENBQUk0USxVQUFVLENBQUMxQyxJQUFJLENBT3hELENBQUM7UUFFZCxDQUFDO01BQUMsQ0FDQyxDQUNOLGVBQ0RwUCxLQUFBLENBQUM3Qix5QkFBeUI7UUFBQ3FVLFdBQVcsRUFBRWpKLHVCQUF3QjtRQUFBMkgsUUFBQSxnQkFDOURwUixJQUFBLENBQUMxQix5QkFBeUI7VUFBQ29VLFdBQVcsRUFBRWpKLHVCQUF3QjtVQUFBMkgsUUFBQSxlQUM5RGxSLEtBQUEsQ0FBQ25DLGdCQUFnQjtZQUFBcVQsUUFBQSxnQkFDZnBSLElBQUEsQ0FBQ2hDLGdCQUFnQjtjQUNmOEksSUFBSSxFQUFDLFFBQVE7Y0FDYjZMLFNBQVMsRUFBRW5NLFlBQWE7Y0FDeEJpTSxPQUFPLEVBQUVuSyxxQkFBc0I7Y0FDL0IsY0FBWXpGLENBQUMsQ0FBQyx1QkFBdUIsQ0FBRTtjQUN2QyxpQkFBYyxNQUFNO2NBQ3BCLGlCQUFlMkQsWUFBYTtjQUFBNEssUUFBQSxlQUU1QnBSLElBQUEsQ0FBQzlDLElBQUk7Z0JBQUM4VCxLQUFLLEVBQUVSLGFBQWM7Z0JBQUNVLEtBQUssRUFBRSxFQUFHO2dCQUFDQyxNQUFNLEVBQUU7Y0FBRyxDQUFFO1lBQUMsQ0FDckMsQ0FBQyxlQUNuQm5SLElBQUEsQ0FBQ25ELE9BQU8sRUFBQThMLGFBQUEsQ0FBQUEsYUFBQTtjQUNOaUssSUFBSSxFQUFFcE0sWUFBYTtjQUNuQnFNLFFBQVEsRUFBRW5OLGNBQWU7Y0FDekJrTSxPQUFPLEVBQUV6SixhQUFjO2NBQ3ZCMkssWUFBWSxFQUFFO2dCQUFFQyxRQUFRLEVBQUUsS0FBSztnQkFBRUMsVUFBVSxFQUFFO2NBQU8sQ0FBRTtjQUN0REMsZUFBZSxFQUFFO2dCQUFFRixRQUFRLEVBQUUsUUFBUTtnQkFBRUMsVUFBVSxFQUFFO2NBQU87WUFBRSxHQUN2RGxPLGNBQWMsSUFBSSxJQUFJLEdBQUc7Y0FBRW9PLEVBQUUsRUFBRTtnQkFBRUMsTUFBTSxFQUFFck87Y0FBZTtZQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7Y0FDckVzTyxTQUFTLEVBQUU7Z0JBQ1RDLEtBQUssRUFBRTtrQkFDTEMsU0FBUyxFQUFFLENBQUM7a0JBQ1pKLEVBQUUsRUFBRTtvQkFDRkssUUFBUSxFQUFFLFNBQVM7b0JBQ25CQyxZQUFZLEVBQUUsS0FBSztvQkFDbkJDLFNBQVMsRUFBRSxNQUFNO29CQUNqQkMsZUFBZSxFQUFFLGFBQWE7b0JBQzlCQyxTQUFTLEVBQUU7a0JBQ2I7Z0JBQ0Y7Y0FDRixDQUFFO2NBQUF2QyxRQUFBLGVBRUZsUixLQUFBLENBQUNwQyxhQUFhO2dCQUFBc1QsUUFBQSxnQkFDWmxSLEtBQUEsQ0FBQ3ZDLG1CQUFtQjtrQkFBQXlULFFBQUEsZ0JBQ2xCbFIsS0FBQSxDQUFDdEMsa0JBQWtCO29CQUFDa0osSUFBSSxFQUFDLFFBQVE7b0JBQUMyTCxPQUFPLEVBQUU1SixvQkFBcUI7b0JBQUF1SSxRQUFBLGdCQUM5RHBSLElBQUEsQ0FBQ2pELE1BQU07c0JBQUNpVSxLQUFLLEVBQUVMLGlCQUFrQjtzQkFBQ08sS0FBSyxFQUFFLEVBQUc7c0JBQUNDLE1BQU0sRUFBRTtvQkFBRyxDQUFFLENBQUMsZUFDM0RuUixJQUFBLENBQUNuQyxpQkFBaUI7c0JBQUMrVixTQUFTLEVBQUUsS0FBTTtzQkFBQXhDLFFBQUEsRUFBRXZPLENBQUMsQ0FBQyxxQkFBcUI7b0JBQUMsQ0FBb0IsQ0FBQztrQkFBQSxDQUNqRSxDQUFDLGVBQ3JCN0MsSUFBQSxDQUFDdEMsZUFBZSxJQUFFLENBQUMsZUFDbkJ3QyxLQUFBLENBQUN0QyxrQkFBa0I7b0JBQUNrSixJQUFJLEVBQUMsUUFBUTtvQkFBQzJMLE9BQU8sRUFBRW5KLHVCQUF3QjtvQkFBQThILFFBQUEsZ0JBQ2pFcFIsSUFBQSxDQUFDaEQsS0FBSztzQkFDSmdVLEtBQUssRUFBRXZNLGlCQUFpQixHQUFHb00scUJBQXFCLEdBQUdGLGlCQUFrQjtzQkFDckVPLEtBQUssRUFBRSxFQUFHO3NCQUNWQyxNQUFNLEVBQUU7b0JBQUcsQ0FDWixDQUFDLGVBQ0ZuUixJQUFBLENBQUNuQyxpQkFBaUI7c0JBQUMrVixTQUFTLEVBQUUsQ0FBQyxDQUFDblAsaUJBQWtCO3NCQUFBMk0sUUFBQSxFQUFFdk8sQ0FBQyxDQUFDLGdCQUFnQjtvQkFBQyxDQUFvQixDQUFDLEVBQzNGNEIsaUJBQWlCLGdCQUFHekUsSUFBQSxDQUFDN0MsS0FBSztzQkFBQzZULEtBQUssRUFBRUgscUJBQXNCO3NCQUFDSyxLQUFLLEVBQUUsRUFBRztzQkFBQ0MsTUFBTSxFQUFFO29CQUFHLENBQUUsQ0FBQyxHQUFHLElBQUk7a0JBQUEsQ0FDeEUsQ0FBQztnQkFBQSxDQUNGLENBQUMsZUFDdEJqUixLQUFBLENBQUN0QyxrQkFBa0I7a0JBQUNrSixJQUFJLEVBQUMsUUFBUTtrQkFBQzJMLE9BQU8sRUFBRWxKLHdCQUF5QjtrQkFBQTZILFFBQUEsZ0JBQ2xFcFIsSUFBQSxDQUFDakIsYUFBYTtvQkFDWmlTLEtBQUssRUFBRXJNLGtCQUFrQixHQUFHa00scUJBQXFCLEdBQUdGLGlCQUFrQjtvQkFDdEVPLEtBQUssRUFBRSxFQUFHO29CQUNWQyxNQUFNLEVBQUU7a0JBQUcsQ0FDWixDQUFDLGVBQ0ZuUixJQUFBLENBQUNuQyxpQkFBaUI7b0JBQUMrVixTQUFTLEVBQUUsQ0FBQyxDQUFDalAsa0JBQW1CO29CQUFBeU0sUUFBQSxFQUNoRHZPLENBQUMsQ0FBQyxnQ0FBZ0M7a0JBQUMsQ0FDbkIsQ0FBQyxFQUNuQjhCLGtCQUFrQixnQkFBRzNFLElBQUEsQ0FBQzdDLEtBQUs7b0JBQUM2VCxLQUFLLEVBQUVILHFCQUFzQjtvQkFBQ0ssS0FBSyxFQUFFLEVBQUc7b0JBQUNDLE1BQU0sRUFBRTtrQkFBRyxDQUFFLENBQUMsR0FBRyxJQUFJO2dCQUFBLENBQ3pFLENBQUM7Y0FBQSxDQUNSO1lBQUMsRUFDVCxDQUFDLEVBQ1QsQ0FBQzFNLGlCQUFpQixJQUFJRSxrQkFBa0Isa0JBQ3ZDekUsS0FBQSxDQUFDekMsa0JBQWtCO2NBQ2pCb1csUUFBUSxFQUFFL04scUJBQXNCO2NBQ2hDZ08sUUFBUSxFQUFFNU4sZUFBZ0I7Y0FDMUI2TixZQUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBQTtnQkFBQSxPQUFRaE8sd0JBQXdCLENBQUMsSUFBSSxDQUFDO2NBQUEsQ0FBQztjQUNuRGlPLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFBO2dCQUFBLE9BQVFqTyx3QkFBd0IsQ0FBQyxLQUFLLENBQUM7Y0FBQSxDQUFDO2NBQUFxTCxRQUFBLGdCQUVwRHBSLElBQUEsQ0FBQ3pDLHdCQUF3QjtnQkFDdkJ1SixJQUFJLEVBQUMsUUFBUTtnQkFDYm1OLFdBQVcsRUFBRW5PLHFCQUFzQjtnQkFDbkMsY0FBWWpELENBQUMsQ0FBQywyQkFBMkIsQ0FBRTtnQkFDM0M0UCxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBRWxLLENBQUMsRUFBSTtrQkFDWkEsQ0FBQyxDQUFDQyxlQUFlLENBQUMsQ0FBQztrQkFDbkJVLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3JCLENBQUU7Z0JBQUFrSSxRQUFBLEVBRURMO2NBQXlCLENBQ0YsQ0FBQyxlQUMzQi9RLElBQUEsQ0FBQ3hDLG1CQUFtQjtnQkFBQTRULFFBQUEsRUFDakIzTSxpQkFBaUIsR0FBRzVCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHQSxDQUFDLENBQUMsZ0NBQWdDO2NBQUMsQ0FDM0QsQ0FBQztZQUFBLENBQ0osQ0FDckI7VUFBQSxDQUNlO1FBQUMsQ0FDTSxDQUFDLGVBQzVCN0MsSUFBQTtVQUNFeVIsS0FBSyxFQUNIaEksdUJBQXVCLEdBQ25CO1lBQUV5SyxVQUFVLEVBQUUsQ0FBQztZQUFFQyxPQUFPLEVBQUUsQ0FBQztZQUFFQyxRQUFRLEVBQUUsQ0FBQztZQUFFQyxTQUFTLEVBQUU7VUFBUyxDQUFDLEdBQy9EO1lBQUVILFVBQVUsRUFBRSxRQUFRO1lBQUVDLE9BQU8sRUFBRSxDQUFDO1lBQUVDLFFBQVEsRUFBRTtVQUFFLENBQ3JEO1VBQUFoRCxRQUFBLGVBRURwUixJQUFBLENBQUNKLG9CQUFvQjtZQUNuQnlSLEdBQUcsRUFBRXZPLFNBQVU7WUFDZmhCLFFBQVEsRUFBRUEsUUFBUztZQUNuQkksV0FBVyxFQUFFQSxXQUFZO1lBQ3pCb1MsT0FBTyxFQUFFcEgsaUJBQWtCO1lBQzNCcUgsU0FBUyxFQUFFalAsYUFBYztZQUN6QmlNLE9BQU8sRUFBRXRCLGtCQUFtQjtZQUM1QnVCLE1BQU0sRUFBRXRCO1VBQWtCLENBQzNCO1FBQUMsQ0FDQyxDQUFDLGVBQ05sUSxJQUFBLENBQUN6Qix5QkFBeUI7VUFBQ21VLFdBQVcsRUFBRWpKLHVCQUF3QjtVQUFBMkgsUUFBQSxFQUM3RHBQLFNBQVMsZ0JBQ1JoQyxJQUFBLENBQUMzQyxPQUFPO1lBQUNvRCxLQUFLLEVBQUVvQyxDQUFDLENBQUMsV0FBVyxDQUFFO1lBQUF1TyxRQUFBLGVBQzdCcFIsSUFBQSxDQUFDeEIsb0JBQW9CO2NBQUNzRCxRQUFRLEVBQUUsS0FBTTtjQUFDMlEsT0FBTyxFQUFFbkMsb0JBQXFCO2NBQUN6TyxTQUFTLEVBQUVBLFNBQVU7Y0FBQXVQLFFBQUEsZUFDekZwUixJQUFBLENBQUN2QixrQkFBa0IsSUFBRTtZQUFDLENBQ0Y7VUFBQyxDQUNoQixDQUFDLGdCQUVWdUIsSUFBQSxDQUFDM0MsT0FBTztZQUFDb0QsS0FBSyxFQUFFb0MsQ0FBQyxDQUFDLFdBQVcsQ0FBRTtZQUFBdU8sUUFBQSxlQUM3QnBSLElBQUE7Y0FBTXlSLEtBQUssRUFBRTtnQkFBRUksT0FBTyxFQUFFLGFBQWE7Z0JBQUVFLFVBQVUsRUFBRTtjQUFTLENBQUU7Y0FBQVgsUUFBQSxlQUM1RHBSLElBQUEsQ0FBQzVCLG9CQUFvQjtnQkFDbkJxVSxPQUFPLEVBQUVwSCxpQkFBa0I7Z0JBQzNCeEosU0FBUyxFQUFFQSxTQUFVO2dCQUNyQkMsUUFBUSxFQUFFNEgsWUFBWSxJQUFJNUgsUUFBUztnQkFDbkMwUyxTQUFTLEVBQUVoUixpQkFBaUIsSUFBSWYsV0FBVyxDQUFDMUIsTUFBTSxHQUFHLENBQUU7Z0JBQUFxUSxRQUFBLGVBRXZEcFIsSUFBQSxDQUFDbEQsVUFBVTtrQkFBQ2tVLEtBQUssRUFBQyxTQUFTO2tCQUFDRSxLQUFLLEVBQUUsRUFBRztrQkFBQ0MsTUFBTSxFQUFFO2dCQUFHLENBQUU7Y0FBQyxDQUNqQztZQUFDLENBQ25CO1VBQUMsQ0FDQTtRQUNWLENBQ3dCLENBQUM7TUFBQSxDQUNILENBQUMsZUFDNUJuUixJQUFBO1FBQ0VxUixHQUFHLEVBQUV0TyxZQUFhO1FBQ2xCK0QsSUFBSSxFQUFDLE1BQU07UUFDWDJOLFFBQVE7UUFDUkMsTUFBTSxFQUFDLG9HQUFvRztRQUMzR3ZTLFFBQVEsRUFBRXFNLGdCQUFpQjtRQUMzQmlELEtBQUssRUFBRTtVQUFFSSxPQUFPLEVBQUU7UUFBTztNQUFFLENBQzVCLENBQUM7SUFBQSxDQUNvQixDQUFDLEVBQ3hCek4sVUFBVSxDQUFDTCxNQUFNLGlCQUNoQi9ELElBQUEsQ0FBQ3JCLGdCQUFnQjtNQUNmaVQsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7UUFBQSxPQUFRdk4sYUFBYSxDQUFDO1VBQUVOLE1BQU0sRUFBRSxLQUFLO1VBQUVDLGFBQWEsRUFBRSxFQUFFO1VBQUVDLGFBQWEsRUFBRSxFQUFFO1VBQUVDLFNBQVMsRUFBRSxDQUFDO1FBQUUsQ0FBQyxDQUFDO01BQUEsQ0FBQztNQUNyR0YsYUFBYSxFQUFFSSxVQUFVLENBQUNKLGFBQWM7TUFDeENDLGFBQWEsRUFBRUcsVUFBVSxDQUFDSCxhQUFjO01BQ3hDQyxTQUFTLEVBQUVFLFVBQVUsQ0FBQ0Y7SUFBVSxDQUNqQyxDQUNGLEVBQ0FxQixXQUFXLGlCQUFJM0ksWUFBWSxDQUFDMkksV0FBVyxFQUFFMkYsUUFBUSxDQUFDeUosSUFBSSxDQUFDO0VBQUEsQ0FDeEQsQ0FBQztBQUVQLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
790
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIlBvcG92ZXIiLCJQYXBlclBsYW5lIiwiQXR0YWNoIiwiR2xvYmUiLCJUcmFzaCIsIlBsdXMiLCJDaGVjayIsIkNyb3NzIiwiVG9vbHRpcCIsImNvbG9ycyIsIkFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiIsIkFjdGl2ZVRvb2xDaGlwTGFiZWwiLCJBY3RpdmVUb29sQ2hpcFJvb3QiLCJQbHVzTWVudURpdmlkZXIiLCJQbHVzTWVudUlubmVyQ29sdW1uIiwiUGx1c01lbnVJdGVtQnV0dG9uIiwiUGx1c01lbnVJdGVtTGFiZWwiLCJQbHVzTWVudVBhcGVyIiwiUGx1c01lbnVUb29sc1JvdyIsIlBsdXNUb2dnbGVCdXR0b24iLCJTQ01JQXR0YWNobWVudCIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsIlN0eWxlZE1BSUFJbnB1dFdyYXBwZXIiLCJTdHlsZWRNQUlBU2VuZEJ1dHRvbiIsIlN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQiLCJTdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsIiwiU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCIsIlN0eWxlZE1BSUFTdG9wQnV0dG9uIiwiU3R5bGVkTUFJQVN0b3BJY29uIiwidXNlR2xvYmFsQ29udGV4dCIsIk1vZGFsRmlsZUV4Y2VlZHMiLCJTbGFzaENvbW1hbmREcm9wZG93biIsInVzZVNsYXNoQ29tbWFuZHMiLCJxdWlja0FjdGlvblRpdGxlVG9UeXBlIiwidXNlVCIsIlRlbGVzY29wZUljb24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsImdldENoYXRUb29sc01lbnVBZ2VudFR5cGUiLCJNQUlBX0NIQVRfSU5QVVRfVUkiLCJhbGxvd2VkRmlsZVR5cGVzIiwiZmlsZVR5cGVzIiwiTUFYX0ZJTEVfU0laRV9NQl9NQUlBX1ZJU0lPTiIsIk1BWF9GSUxFX1NJWkVfTUJfT0xEIiwiTUFYX0ZJTEVfU0laRV9NQl9BVURJTyIsIk1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTIiwiQVBQQ1VFU19FVkVOVFMiLCJ0cmFja0FwcGN1ZXNFdmVudCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwiTUFJQV9UQVNLX1BBTkVMX01FTlRJT05fUE9QT1ZFUl9aX0lOREVYIiwidXNlTWVudGlvblBvcG92ZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJUT09MX0NISVBfRVhJVF9NUyIsIk1BSUFJbnB1dCIsIl9yZWYiLCJfYWdlbnQkZW50aXR5Iiwib25TZW5kTWVzc2FnZSIsImNsYXNzTmFtZSIsImRpc2FibGVkIiwiaXNTdHJlYW1pbmciLCJpc1dyaXRpbmciLCJvblN0b3BHZW5lcmF0aW9uIiwicGxhY2Vob2xkZXIiLCJvbkNoYW5nZSIsIl9yZWYkYWxpZ25CdXR0b25zIiwiYWxpZ25CdXR0b25zIiwib25GaWxlQXR0YWNoIiwib25EZWxldGVBdHRhY2htZW50IiwiX3JlZiRhdHRhY2htZW50cyIsImF0dGFjaG1lbnRzIiwiY2hhdElkIiwibmV3Q2hhdEtleSIsIl91c2VUIiwidCIsImVkaXRvclJlZiIsImZpbGVJbnB1dFJlZiIsIndyYXBwZXJSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJoYXNXcmFwcGVkVG9TZWNvbmRMaW5lIiwic2V0SGFzV3JhcHBlZFRvU2Vjb25kTGluZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaGFzVHlwaW5nUHJlc2VuY2UiLCJzZXRIYXNUeXBpbmdQcmVzZW5jZSIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNGb2N1c2VkIiwic2V0SXNGb2N1c2VkIiwiX3VzZVN0YXRlNyIsImlzT3BlbiIsImV4Y2x1ZGVkRmlsZXMiLCJleGNlZWRlZEZpbGVzIiwiZmlsZVNpemVzIiwiX3VzZVN0YXRlOCIsIm1vZGFsUHJvcHMiLCJzZXRNb2RhbFByb3BzIiwiZXZlbnRBbXBsaXR1ZGUiLCJfdXNlR2xvYmFsQ29udGV4dCIsInRvZ2dsZVdlYlNlYXJjaCIsImlzV2ViU2VhcmNoQWN0aXZlIiwidG9nZ2xlRGVlcFNlYXJjaCIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImFnZW50Iiwic2VjdGlvbiIsInBsdXNNZW51WkluZGV4IiwidW5kZWZpbmVkIiwiX3VzZU1lbnRpb25Qb3BvdmVyIiwicG9wb3ZlckFuY2hvclJlZiIsInBvcG92ZXJPcGVuIiwicmVzZXRNZW50aW9uT3BlblRyYWNraW5nIiwiaGFuZGxlVHJpZ2dlciIsImhhbmRsZVBvcG92ZXJLZXlEb3duIiwiaGFuZGxlS2V5RG93biIsInBvcG92ZXJOb2RlIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJwbHVzTWVudUFuY2hvciIsInNldFBsdXNNZW51QW5jaG9yIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwiYWN0aXZlVG9vbENoaXBIb3ZlcmVkIiwic2V0QWN0aXZlVG9vbENoaXBIb3ZlcmVkIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInRvb2xDaGlwRXhpdGluZyIsInNldFRvb2xDaGlwRXhpdGluZyIsInRvb2xDaGlwRXhpdFRpbWVyUmVmIiwic2VhcmNoTW9kZUFjdGl2ZVJlZiIsIndlYiIsImRlZXAiLCJwbHVzTWVudU9wZW4iLCJCb29sZWFuIiwicHJldmlvdXNBZ2VudElkUmVmIiwicHJldmlvdXNDaGF0SWRSZWYiLCJwcmV2aW91c05ld0NoYXRLZXlSZWYiLCJhbmFseXRpY3NBZ2VudFR5cGUiLCJhbmFseXRpY3NDbG9uZUVudGl0eVBheWxvYWQiLCJ0eXBlIiwiZW50aXR5IiwiX3VzZVNsYXNoQ29tbWFuZHMiLCJpZCIsInNsYXNoQ29tbWFuZHMiLCJjb21tYW5kcyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzaG93U2xhc2hEcm9wZG93biIsInNldFNob3dTbGFzaERyb3Bkb3duIiwiX3VzZVN0YXRlMTUiLCJfdXNlU3RhdGUxNiIsInNsYXNoUXVlcnkiLCJzZXRTbGFzaFF1ZXJ5Iiwic2xhc2hNZW51V2FzT3BlblJlZiIsInNjaGVkdWxlSW5wdXRGb2N1c0FmdGVyVG9vbEFjdGlvbiIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIndpbmRvdyIsInNldFRpbWVvdXQiLCJfZWRpdG9yUmVmJGN1cnJlbnQiLCJjdXJyZW50IiwiZm9jdXMiLCJjbG9zZVBsdXNNZW51IiwiY2FuY2VsUGVuZGluZ1Rvb2xDaGlwRXhpdCIsImNsZWFyVGltZW91dCIsImhhbmRsZVBsdXNCdXR0b25DbGljayIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJjdXJyZW50VGFyZ2V0IiwiYWlDaGF0UGx1c09wZW4iLCJfb2JqZWN0U3ByZWFkIiwiYWdlbnRfdHlwZSIsImhhbmRsZVBsdXNNZW51QXR0YWNoIiwiX2ZpbGVJbnB1dFJlZiRjdXJyZW50IiwiYWlDaGF0VG9vbHMiLCJvcHRpb24iLCJsZW5ndGgiLCJjbGljayIsImJlZ2luVG9vbENoaXBFeGl0Iiwid2FzV2ViIiwid2FzRGVlcCIsIl9zZWFyY2hNb2RlQWN0aXZlUmVmJCIsImhhbmRsZVBsdXNNZW51V2ViU2VhcmNoIiwiaGFuZGxlUGx1c01lbnVEZWVwU2VhcmNoIiwiX2VkaXRvclJlZiRjdXJyZW50MiIsImNvbXBhY3RTaW5nbGVSb3dUb29sYmFyIiwic2VuZERpc2FibGVkIiwiYWdlbnRDaGFuZ2VkIiwicHJldmlvdXNDaGF0SWQiLCJjdXJyZW50Q2hhdElkIiwiY2hhdENoYW5nZWQiLCJjaGFuZ2VkRnJvbU5ld0NoYXRUb09sZENoYXQiLCJuZXdDaGF0U3RhcnRlZCIsImlzSW5pdGlhbE1vdW50IiwiZGVsYXkiLCJfZWRpdG9yUmVmJGN1cnJlbnQzIiwiaXNTcGVjaWFsaXN0QWdlbnQiLCJvYnNlcnZlciIsIkludGVyc2VjdGlvbk9ic2VydmVyIiwiX3JlZjIiLCJfcmVmMyIsImVudHJ5IiwiaXNJbnRlcnNlY3RpbmciLCJtYWlhQ29udGV4dE1lbnRpb25Jbml0IiwiZGlzY29ubmVjdCIsInRocmVzaG9sZCIsIm9ic2VydmUiLCJoYW5kbGVTZXNzaW9uQ2hhbmdlIiwiX2VkaXRvclJlZiRjdXJyZW50NCIsImNsZWFyIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZVNlbmRNZXNzYWdlIiwiX2VkaXRvclJlZiRjdXJyZW50NSIsIl9zdGF0ZSR0ZXh0IiwiX3N0YXRlJG1lbnRpb25zIiwiX2VkaXRvclJlZiRjdXJyZW50NiIsInN0YXRlIiwic2VyaWFsaXplIiwidGV4dCIsInRyaW0iLCJtZW50aW9ucyIsImhhbmRsZVNlbGVjdFNsYXNoQ29tbWFuZCIsImNvbW1hbmQiLCJfZWRpdG9yUmVmJGN1cnJlbnQ3IiwiX3N0YXRlJHRleHQyIiwiX2VkaXRvclJlZiRjdXJyZW50OSIsImFpQ2hhdFF1aWNrQWN0aW9uU2VsZWN0IiwidHlwZV9xdWlja19hY3Rpb24iLCJ0aXRsZSIsIm9yaWdpbl9xdWlja19hY3Rpb24iLCJ0cmlnZ2VyUGFydCIsImNvbmNhdCIsImJlZm9yZVRyaWdnZXIiLCJlbmRzV2l0aCIsInNsaWNlIiwiaXNFbXB0eUJlZm9yZVRyaWdnZXIiLCJfZWRpdG9yUmVmJGN1cnJlbnQ4IiwiaW5zZXJ0U2xhc2hDb21tYW5kIiwibGFiZWwiLCJoYW5kbGVDbG9zZVNsYXNoRHJvcGRvd24iLCJoYW5kbGVFZGl0b3JJbnB1dCIsIl9yZWY0IiwiX2VkaXRvclJlZiRjdXJyZW50MCIsInRyaWdnZXIiLCJzbGFzaFRyaWdnZXIiLCJ2aXN1YWxNdWx0aWxpbmUiLCJoYXNWaXN1YWxNdWx0aWxpbmUiLCJleHBsaWNpdE11bHRpbGluZSIsImluY2x1ZGVzIiwiaXNMaWtlbHlGaXJzdENoYXJNZWFzdXJlbWVudEdsaXRjaCIsInN0YWJsZVZpc3VhbE11bHRpbGluZSIsIm5leHRJc011bHRpbGluZSIsIm5leHRIYXNUeXBpbmdQcmVzZW5jZSIsIm5leHRUeXBpbmdQcmVzZW5jZSIsInByZXYiLCJuZXh0IiwiYWN0aXZlIiwiYWlDaGF0UXVpY2tBY3Rpb25PcGVuIiwicXVlcnkiLCJrZXkiLCJzaGlmdEtleSIsInByZXZlbnREZWZhdWx0IiwiaGFuZGxlRmlsZVNlbGVjdCIsImZpbGVzIiwidGFyZ2V0IiwiZmlsZXNJbnNlcnRlZCIsImlzTmV3Rm9ybWF0IiwiZXh0ZW5zaW9uIiwiaXNPbGRGb3JtYXQiLCJpc0F1ZGlvRm9ybWF0IiwiQXJyYXkiLCJmcm9tIiwiZm9yRWFjaCIsImZpbGUiLCJfZmlsZU5hbWVQYXJ0cyRwb3AiLCJleGNsdWRlZEZpbGUiLCJmaWxlTmFtZVBhcnRzIiwibmFtZSIsInNwbGl0IiwiZmlsZUV4dGVuc2lvbiIsInBvcCIsInRvTG93ZXJDYXNlIiwic2l6ZSIsInB1c2giLCJ0eXBlRmlsZSIsInBhcnNlZEZpbGUiLCJGaWxlIiwidmFsdWUiLCJoYW5kbGVEZWxldGVBdHRhY2htZW50IiwiZmlsZUlkIiwiaGFuZGxlV3JhcHBlckZvY3VzIiwiaGFuZGxlV3JhcHBlckJsdXIiLCJfd3JhcHBlclJlZiRjdXJyZW50IiwiY29udGFpbnMiLCJhY3RpdmVFbGVtZW50IiwiaGFuZGxlU3RvcEdlbmVyYXRpb24iLCJhaUNoYXRTdG9wUmVzcG9uc2UiLCJwbHVzSWNvbkNvbG9yIiwic2Vjb25kYXJ5IiwibWVkaXVtR3JheSIsInBsdXNNZW51SWNvbkNvbG9yIiwibWVudUljb24iLCJwbHVzTWVudVNlbGVjdGVkQ29sb3IiLCJ0ZXh0QnJhbmRCb2xkIiwiYWN0aXZlVG9vbENoaXBMZWFkaW5nSWNvbiIsImNvbG9yIiwiY2hpcENsb3NlSWNvbiIsIndpZHRoIiwiaGVpZ2h0IiwiY2hpbGRyZW4iLCJyZWYiLCJoYXNBdHRhY2htZW50cyIsIm9uRm9jdXMiLCJvbkJsdXIiLCJzdHlsZSIsInBvc2l0aW9uIiwib25TZWxlY3QiLCJvbkNsb3NlIiwiZGlzcGxheSIsImdhcCIsImFsaWduSXRlbXMiLCJtYXAiLCJhdHRhY2htZW50IiwiaW5kZXgiLCJfZmlsZU5hbWVQYXJ0cyRwb3AyIiwiX2F0dGFjaG1lbnQkdHlwZSIsImlzSW1hZ2VCeUV4dGVuc2lvbiIsImlzSW1hZ2VCeU1pbWUiLCJzdGFydHNXaXRoIiwiaXNJbWFnZSIsImljb24iLCJvbkNsaWNrIiwiJGNvbXBhY3RSb3ciLCIkbWVudU9wZW4iLCJvcGVuIiwiYW5jaG9yRWwiLCJhbmNob3JPcmlnaW4iLCJ2ZXJ0aWNhbCIsImhvcml6b250YWwiLCJ0cmFuc2Zvcm1PcmlnaW4iLCJzeCIsInpJbmRleCIsInNsb3RQcm9wcyIsInBhcGVyIiwiZWxldmF0aW9uIiwib3ZlcmZsb3ciLCJib3JkZXJSYWRpdXMiLCJib3hTaGFkb3ciLCJiYWNrZ3JvdW5kQ29sb3IiLCJtYXJnaW5Ub3AiLCIkc2VsZWN0ZWQiLCIkaG92ZXJlZCIsIiRleGl0aW5nIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwiJGNsb3NlU2hvd24iLCJncmlkQ29sdW1uIiwiZ3JpZFJvdyIsIm1pbldpZHRoIiwiYWxpZ25TZWxmIiwib25JbnB1dCIsIm9uS2V5RG93biIsImhhc1ZhbHVlcyIsIm11bHRpcGxlIiwiYWNjZXB0IiwiYm9keSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFJbnB1dC9NQUlBSW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jb250aW51ZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdm9pZCAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1sb25lbHktaWYgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIHByZWZlci1kZXN0cnVjdHVyaW5nICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgKi9cbmltcG9ydCB7XG4gIENoYW5nZUV2ZW50LFxuICBLZXlib2FyZEV2ZW50LFxuICBNb3VzZUV2ZW50LFxuICBSZWFjdE5vZGUsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwnXG5pbXBvcnQgeyBQYXBlclBsYW5lIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGFwZXJQbGFuZSdcbmltcG9ydCB7IEF0dGFjaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0F0dGFjaCdcbmltcG9ydCB7IEdsb2JlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvR2xvYmUnXG5pbXBvcnQgeyBUcmFzaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1RyYXNoJ1xuaW1wb3J0IHsgUGx1cyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1BsdXMnXG5pbXBvcnQgeyBDaGVjayB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZWNrJ1xuaW1wb3J0IHsgQ3Jvc3MgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9Dcm9zcydcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuXG5pbXBvcnQge1xuICBBY3RpdmVUb29sQ2hpcEljb25CdXR0b24sXG4gIEFjdGl2ZVRvb2xDaGlwTGFiZWwsXG4gIEFjdGl2ZVRvb2xDaGlwUm9vdCxcbiAgUGx1c01lbnVEaXZpZGVyLFxuICBQbHVzTWVudUlubmVyQ29sdW1uLFxuICBQbHVzTWVudUl0ZW1CdXR0b24sXG4gIFBsdXNNZW51SXRlbUxhYmVsLFxuICBQbHVzTWVudVBhcGVyLFxuICBQbHVzTWVudVRvb2xzUm93LFxuICBQbHVzVG9nZ2xlQnV0dG9uLFxuICBTQ01JQXR0YWNobWVudCxcbiAgU0NNSUF0dGFjaG1lbnREZWxldGVJY29uLFxuICBTdHlsZWRNQUlBSW5wdXRXcmFwcGVyLFxuICBTdHlsZWRNQUlBU2VuZEJ1dHRvbixcbiAgU3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZCxcbiAgU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCxcbiAgU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCxcbiAgU3R5bGVkTUFJQVN0b3BCdXR0b24sXG4gIFN0eWxlZE1BSUFTdG9wSWNvbixcbn0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IE1vZGFsRmlsZUV4Y2VlZHMgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvTW9kYWxGaWxlRXhjZWVkcydcbmltcG9ydCB7IFNsYXNoQ29tbWFuZERyb3Bkb3duIH0gZnJvbSAnLi4vU2xhc2hDb21tYW5kRHJvcGRvd24nXG5pbXBvcnQgeyB1c2VTbGFzaENvbW1hbmRzIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlU2xhc2hDb21tYW5kcydcbmltcG9ydCB7IHF1aWNrQWN0aW9uVGl0bGVUb1R5cGUgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zbGFzaENvbW1hbmRNYXJrZXInXG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0FjdGlvbidcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgVGVsZXNjb3BlSWNvbiB9IGZyb20gJy4uL2ljb25zL1RlbGVzY29wZUljb24nXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBnZXRDaGF0VG9vbHNNZW51QWdlbnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaGl0bEFuYWx5dGljcydcbmltcG9ydCB7IE1BSUFfQ0hBVF9JTlBVVF9VSSB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5pbXBvcnQge1xuICBhbGxvd2VkRmlsZVR5cGVzLFxuICBmaWxlVHlwZXMsXG4gIE1BWF9GSUxFX1NJWkVfTUJfTUFJQV9WSVNJT04sXG4gIE1BWF9GSUxFX1NJWkVfTUJfT0xELFxuICBNQVhfRklMRV9TSVpFX01CX0FVRElPLFxuICBNQVhfQ0hBVF9JTlBVVF9BVFRBQ0hNRU5UUyxcbn0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Zvcm1hdEV4dGVuc2lvbnMnXG5pbXBvcnQgeyBBUFBDVUVTX0VWRU5UUywgdHJhY2tBcHBjdWVzRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcHBjdWVzJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb25FZGl0b3IsIENvbnRleHRNZW50aW9uRWRpdG9ySGFuZGxlIH0gZnJvbSAnLi4vQ29udGV4dE1lbnRpb25FZGl0b3InXG5pbXBvcnQgeyBNQUlBX1RBU0tfUEFORUxfTUVOVElPTl9QT1BPVkVSX1pfSU5ERVggfSBmcm9tICcuLi9Db250ZXh0TWVudGlvblBvcG92ZXInXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyB1c2VNZW50aW9uUG9wb3ZlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1lbnRpb25Qb3BvdmVyJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcblxuY29uc3QgVE9PTF9DSElQX0VYSVRfTVMgPSAyMjBcblxudHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNpemU6IG51bWJlclxuICB0eXBlOiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0Tm9kZVxufVxuXG50eXBlIE1BSUFJbnB1dFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIG9uU2VuZE1lc3NhZ2U6IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBmdWFJZD86IHN0cmluZyxcbiAgICBzY0lkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCkgPT4gdm9pZFxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICBvbkNoYW5nZT86ICgpID0+IHZvaWRcbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBvbkZpbGVBdHRhY2g/OiAoZmlsZTogRmlsZSkgPT4gdm9pZFxuICBvbkRlbGV0ZUF0dGFjaG1lbnQ/OiAoZmlsZUlkOiBzdHJpbmcpID0+IHZvaWRcbiAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gIGNoYXRJZD86IHN0cmluZ1xuICBuZXdDaGF0S2V5PzogbnVtYmVyXG59XG5cbmV4cG9ydCBjb25zdCBNQUlBSW5wdXQgPSAoe1xuICBvblNlbmRNZXNzYWdlLFxuICBjbGFzc05hbWUsXG4gIGRpc2FibGVkLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBvblN0b3BHZW5lcmF0aW9uLFxuICBwbGFjZWhvbGRlcixcbiAgb25DaGFuZ2UsXG4gIGFsaWduQnV0dG9ucyA9ICd2ZXJ0aWNhbCcsXG4gIG9uRmlsZUF0dGFjaCxcbiAgb25EZWxldGVBdHRhY2htZW50LFxuICBhdHRhY2htZW50cyA9IFtdLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG59OiBNQUlBSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBlZGl0b3JSZWYgPSB1c2VSZWY8Q29udGV4dE1lbnRpb25FZGl0b3JIYW5kbGU+KG51bGwpXG4gIGNvbnN0IGZpbGVJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbaGFzV3JhcHBlZFRvU2Vjb25kTGluZSwgc2V0SGFzV3JhcHBlZFRvU2Vjb25kTGluZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2hhc1R5cGluZ1ByZXNlbmNlLCBzZXRIYXNUeXBpbmdQcmVzZW5jZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbbW9kYWxQcm9wcywgc2V0TW9kYWxQcm9wc10gPSB1c2VTdGF0ZSh7XG4gICAgaXNPcGVuOiBmYWxzZSxcbiAgICBleGNsdWRlZEZpbGVzOiBbXSBhcyBzdHJpbmdbXSxcbiAgICBleGNlZWRlZEZpbGVzOiBbXSBhcyBzdHJpbmdbXSxcbiAgICBmaWxlU2l6ZXM6IHt9IGFzIFJlY29yZDxzdHJpbmcsIG51bWJlcj4sXG4gIH0pXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IHRvZ2dsZVdlYlNlYXJjaCwgaXNXZWJTZWFyY2hBY3RpdmUsIHRvZ2dsZURlZXBTZWFyY2gsIGlzRGVlcFNlYXJjaEFjdGl2ZSwgYWdlbnQsIHNlY3Rpb24gfSA9XG4gICAgdXNlR2xvYmFsQ29udGV4dCgpXG4gIC8vIEVuIHNlY3Rpb24gJ3Rhc2snIGVsIG1vZGFsIHVzYSB6LWluZGV4IDk4MDAwMDE7IGVsIFBvcG92ZXIgZGVsICsgc2UgcG9ydGEgYSBib2R5IGNvbiB+MTMwMCBwb3IgZGVmZWN0by5cbiAgY29uc3QgcGx1c01lbnVaSW5kZXggPSBzZWN0aW9uID09PSAndGFzaycgPyBNQUlBX1RBU0tfUEFORUxfTUVOVElPTl9QT1BPVkVSX1pfSU5ERVggOiB1bmRlZmluZWRcblxuICBjb25zdCB7XG4gICAgcG9wb3Zlck9wZW4sXG4gICAgcmVzZXRNZW50aW9uT3BlblRyYWNraW5nLFxuICAgIGhhbmRsZVRyaWdnZXIsXG4gICAgaGFuZGxlS2V5RG93bjogaGFuZGxlUG9wb3ZlcktleURvd24sXG4gICAgcG9wb3Zlck5vZGUsXG4gIH0gPSB1c2VNZW50aW9uUG9wb3Zlcih7XG4gICAgZWRpdG9yUmVmLFxuICAgIHBvcG92ZXJBbmNob3JSZWY6IHdyYXBwZXJSZWYsXG4gIH0pXG5cbiAgY29uc3QgW3BsdXNNZW51QW5jaG9yLCBzZXRQbHVzTWVudUFuY2hvcl0gPSB1c2VTdGF0ZTxIVE1MQnV0dG9uRWxlbWVudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFthY3RpdmVUb29sQ2hpcEhvdmVyZWQsIHNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3Rvb2xDaGlwRXhpdGluZywgc2V0VG9vbENoaXBFeGl0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB0b29sQ2hpcEV4aXRUaW1lclJlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHNlYXJjaE1vZGVBY3RpdmVSZWYgPSB1c2VSZWYoeyB3ZWI6IGZhbHNlLCBkZWVwOiBmYWxzZSB9KVxuICBjb25zdCBwbHVzTWVudU9wZW4gPSBCb29sZWFuKHBsdXNNZW51QW5jaG9yKVxuXG4gIC8vIEluaWNpYWxpemFyIGxhcyByZWZlcmVuY2lhcyBjb21vIHVuZGVmaW5lZCBwYXJhIGRldGVjdGFyIGVsIHByaW1lciBjYW1iaW8gY29ycmVjdGFtZW50ZVxuICBjb25zdCBwcmV2aW91c0FnZW50SWRSZWYgPSB1c2VSZWY8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG4gIGNvbnN0IHByZXZpb3VzQ2hhdElkUmVmID0gdXNlUmVmPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBjb25zdCBwcmV2aW91c05ld0NoYXRLZXlSZWYgPSB1c2VSZWY8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG5cbiAgY29uc3QgYW5hbHl0aWNzQWdlbnRUeXBlID0gZ2V0Q2hhdFRvb2xzTWVudUFnZW50VHlwZShhZ2VudClcbiAgY29uc3QgYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgPyB7IGVudGl0eTogYWdlbnQuZW50aXR5ID8/IG51bGwgfSA6IHt9XG5cbiAgY29uc3QgeyBjb21tYW5kczogc2xhc2hDb21tYW5kcyB9ID0gdXNlU2xhc2hDb21tYW5kcyhhZ2VudD8uaWQpXG4gIGNvbnN0IFtzaG93U2xhc2hEcm9wZG93biwgc2V0U2hvd1NsYXNoRHJvcGRvd25dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzbGFzaFF1ZXJ5LCBzZXRTbGFzaFF1ZXJ5XSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBzbGFzaE1lbnVXYXNPcGVuUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIC8qKiBUcmFzIGVsZWdpciBvIHF1aXRhciBiw7pzcXVlZGEgd2ViL3Byb2Z1bmRhOiB2b2x2ZXIgYWwgdGV4dGFyZWEgKFBvcG92ZXIvbWVudSBwdWVkZSByb2JhciBmb2NvKS4gKi9cbiAgY29uc3Qgc2NoZWR1bGVJbnB1dEZvY3VzQWZ0ZXJUb29sQWN0aW9uID0gKCkgPT4ge1xuICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9LCAwKVxuICAgIH0pXG4gIH1cblxuICBjb25zdCBjbG9zZVBsdXNNZW51ID0gKCkgPT4ge1xuICAgIHNldFBsdXNNZW51QW5jaG9yKG51bGwpXG4gIH1cblxuICBjb25zdCBjYW5jZWxQZW5kaW5nVG9vbENoaXBFeGl0ID0gKCkgPT4ge1xuICAgIGlmICh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICBjbGVhclRpbWVvdXQodG9vbENoaXBFeGl0VGltZXJSZWYuY3VycmVudClcbiAgICAgIHRvb2xDaGlwRXhpdFRpbWVyUmVmLmN1cnJlbnQgPSBudWxsXG4gICAgfVxuICAgIHNldFRvb2xDaGlwRXhpdGluZyhmYWxzZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVBsdXNCdXR0b25DbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PikgPT4ge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBpZiAocGx1c01lbnVBbmNob3IpIHtcbiAgICAgIGNsb3NlUGx1c01lbnUoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHNldFBsdXNNZW51QW5jaG9yKGUuY3VycmVudFRhcmdldClcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0UGx1c09wZW4sIHsgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLCAuLi5hbmFseXRpY3NDbG9uZUVudGl0eVBheWxvYWQgfSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVBsdXNNZW51QXR0YWNoID0gKCkgPT4ge1xuICAgIGNsb3NlUGx1c01lbnUoKVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRUb29scywge1xuICAgICAgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLFxuICAgICAgb3B0aW9uOiAnZmlsZXMnLFxuICAgICAgLi4uYW5hbHl0aWNzQ2xvbmVFbnRpdHlQYXlsb2FkLFxuICAgIH0pXG4gICAgaWYgKGF0dGFjaG1lbnRzLmxlbmd0aCA+PSBNQVhfQ0hBVF9JTlBVVF9BVFRBQ0hNRU5UUykgcmV0dXJuXG4gICAgZmlsZUlucHV0UmVmLmN1cnJlbnQ/LmNsaWNrKClcbiAgfVxuXG4gIGNvbnN0IGJlZ2luVG9vbENoaXBFeGl0ID0gKCkgPT4ge1xuICAgIGlmICh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3Qgd2FzV2ViID0gaXNXZWJTZWFyY2hBY3RpdmVcbiAgICBjb25zdCB3YXNEZWVwID0gaXNEZWVwU2VhcmNoQWN0aXZlXG4gICAgaWYgKCF3YXNXZWIgJiYgIXdhc0RlZXApIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRUb29sQ2hpcEV4aXRpbmcodHJ1ZSlcbiAgICB0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgY29uc3QgeyB3ZWIsIGRlZXAgfSA9IHNlYXJjaE1vZGVBY3RpdmVSZWYuY3VycmVudFxuICAgICAgaWYgKHdhc1dlYiAmJiB3ZWIpIHtcbiAgICAgICAgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICAgIH0gZWxzZSBpZiAod2FzRGVlcCAmJiBkZWVwKSB7XG4gICAgICAgIHRvZ2dsZURlZXBTZWFyY2goKVxuICAgICAgfVxuICAgICAgc2V0VG9vbENoaXBFeGl0aW5nKGZhbHNlKVxuICAgICAgc2NoZWR1bGVJbnB1dEZvY3VzQWZ0ZXJUb29sQWN0aW9uKClcbiAgICB9LCBUT09MX0NISVBfRVhJVF9NUylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVBsdXNNZW51V2ViU2VhcmNoID0gKCkgPT4ge1xuICAgIGNsb3NlUGx1c01lbnUoKVxuICAgIGlmIChpc1dlYlNlYXJjaEFjdGl2ZSkge1xuICAgICAgYmVnaW5Ub29sQ2hpcEV4aXQoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNhbmNlbFBlbmRpbmdUb29sQ2hpcEV4aXQoKVxuICAgIGlmIChpc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICAgIHRvZ2dsZURlZXBTZWFyY2goKVxuICAgIH1cbiAgICB0b2dnbGVXZWJTZWFyY2goKVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRUb29scywge1xuICAgICAgYWdlbnRfdHlwZTogYW5hbHl0aWNzQWdlbnRUeXBlLFxuICAgICAgb3B0aW9uOiAnc2VhcmNoJyxcbiAgICAgIC4uLmFuYWx5dGljc0Nsb25lRW50aXR5UGF5bG9hZCxcbiAgICB9KVxuICAgIHNjaGVkdWxlSW5wdXRGb2N1c0FmdGVyVG9vbEFjdGlvbigpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQbHVzTWVudURlZXBTZWFyY2ggPSAoKSA9PiB7XG4gICAgY2xvc2VQbHVzTWVudSgpXG4gICAgaWYgKGlzRGVlcFNlYXJjaEFjdGl2ZSkge1xuICAgICAgYmVnaW5Ub29sQ2hpcEV4aXQoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNhbmNlbFBlbmRpbmdUb29sQ2hpcEV4aXQoKVxuICAgIGlmIChpc1dlYlNlYXJjaEFjdGl2ZSkge1xuICAgICAgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICB9XG4gICAgdG9nZ2xlRGVlcFNlYXJjaCgpXG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFRvb2xzLCB7XG4gICAgICBhZ2VudF90eXBlOiBhbmFseXRpY3NBZ2VudFR5cGUsXG4gICAgICBvcHRpb246ICdkZWVwX3NlYXJjaCcsXG4gICAgICAuLi5hbmFseXRpY3NDbG9uZUVudGl0eVBheWxvYWQsXG4gICAgfSlcbiAgICBzY2hlZHVsZUlucHV0Rm9jdXNBZnRlclRvb2xBY3Rpb24oKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWRpc2FibGVkKSB7XG4gICAgICBlZGl0b3JSZWYuY3VycmVudD8uZm9jdXMoKVxuICAgIH1cbiAgfSwgW2Rpc2FibGVkXSlcblxuICBjb25zdCBjb21wYWN0U2luZ2xlUm93VG9vbGJhciA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXR0YWNobWVudHMubGVuZ3RoID09PSAwICYmICFpc1dlYlNlYXJjaEFjdGl2ZSAmJiAhaXNEZWVwU2VhcmNoQWN0aXZlICYmICFoYXNXcmFwcGVkVG9TZWNvbmRMaW5lLFxuICAgIFthdHRhY2htZW50cy5sZW5ndGgsIGlzV2ViU2VhcmNoQWN0aXZlLCBpc0RlZXBTZWFyY2hBY3RpdmUsIGhhc1dyYXBwZWRUb1NlY29uZExpbmVdXG4gIClcblxuICBjb25zdCBzZW5kRGlzYWJsZWQgPSB1c2VNZW1vKFxuICAgICgpID0+ICFoYXNUeXBpbmdQcmVzZW5jZSAmJiBhdHRhY2htZW50cy5sZW5ndGggPT09IDAsXG4gICAgW2hhc1R5cGluZ1ByZXNlbmNlLCBhdHRhY2htZW50cy5sZW5ndGhdXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNlYXJjaE1vZGVBY3RpdmVSZWYuY3VycmVudCA9IHsgd2ViOiBpc1dlYlNlYXJjaEFjdGl2ZSwgZGVlcDogaXNEZWVwU2VhcmNoQWN0aXZlIH1cbiAgfSwgW2lzV2ViU2VhcmNoQWN0aXZlLCBpc0RlZXBTZWFyY2hBY3RpdmVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmICh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0b29sQ2hpcEV4aXRUaW1lclJlZi5jdXJyZW50KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzV2ViU2VhcmNoQWN0aXZlICYmICFpc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICAgIHNldEFjdGl2ZVRvb2xDaGlwSG92ZXJlZChmYWxzZSlcbiAgICB9XG4gIH0sIFtpc1dlYlNlYXJjaEFjdGl2ZSwgaXNEZWVwU2VhcmNoQWN0aXZlXSlcblxuICAvLyBBdXRvLWZvY3VzIGN1YW5kbyBjYW1iaWEgZWwgYWdlbnRlIG8gbGEgY29udmVyc2FjacOzbiwgbyBhbCBtb250YXIgZWwgY29tcG9uZW50ZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFnZW50Q2hhbmdlZCA9IHByZXZpb3VzQWdlbnRJZFJlZi5jdXJyZW50ICE9PSBhZ2VudD8uaWRcbiAgICBjb25zdCBwcmV2aW91c0NoYXRJZCA9IHByZXZpb3VzQ2hhdElkUmVmLmN1cnJlbnRcbiAgICBjb25zdCBjdXJyZW50Q2hhdElkID0gY2hhdElkXG4gICAgY29uc3QgY2hhdENoYW5nZWQgPSBwcmV2aW91c0NoYXRJZCAhPT0gY3VycmVudENoYXRJZFxuICAgIGNvbnN0IGNoYW5nZWRGcm9tTmV3Q2hhdFRvT2xkQ2hhdCA9XG4gICAgICAocHJldmlvdXNDaGF0SWQgPT09IHVuZGVmaW5lZCB8fCBwcmV2aW91c0NoYXRJZCA9PT0gbnVsbCkgJiYgY3VycmVudENoYXRJZCAhPT0gdW5kZWZpbmVkICYmIGN1cnJlbnRDaGF0SWQgIT09IG51bGxcbiAgICBjb25zdCBuZXdDaGF0U3RhcnRlZCA9IHByZXZpb3VzTmV3Q2hhdEtleVJlZi5jdXJyZW50ICE9PSBuZXdDaGF0S2V5XG4gICAgY29uc3QgaXNJbml0aWFsTW91bnQgPSBwcmV2aW91c0FnZW50SWRSZWYuY3VycmVudCA9PT0gdW5kZWZpbmVkICYmIHByZXZpb3VzQ2hhdElkUmVmLmN1cnJlbnQgPT09IHVuZGVmaW5lZFxuXG4gICAgaWYgKChhZ2VudENoYW5nZWQgfHwgY2hhdENoYW5nZWQgfHwgY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0IHx8IG5ld0NoYXRTdGFydGVkIHx8IGlzSW5pdGlhbE1vdW50KSAmJiAhZGlzYWJsZWQpIHtcbiAgICAgIGNvbnN0IGRlbGF5ID0gaXNJbml0aWFsTW91bnQgfHwgY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0ID8gMjAwIDogMTAwXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKCFkaXNhYmxlZCkgZWRpdG9yUmVmLmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH0sIGRlbGF5KVxuICAgIH1cblxuICAgIHByZXZpb3VzQWdlbnRJZFJlZi5jdXJyZW50ID0gYWdlbnQ/LmlkXG4gICAgcHJldmlvdXNDaGF0SWRSZWYuY3VycmVudCA9IGNoYXRJZFxuICAgIHByZXZpb3VzTmV3Q2hhdEtleVJlZi5jdXJyZW50ID0gbmV3Q2hhdEtleVxuICB9LCBbYWdlbnQ/LmlkLCBjaGF0SWQsIG5ld0NoYXRLZXksIGRpc2FibGVkXSlcblxuICAvLyBBcHBjdWVzOiBub3RpZnkgdGhhdCB0aGUgaW5wdXQgaXMgdmlzaWJsZSBmb3Igc3BlY2lhbGlzdCBhZ2VudHMgKGNsb25lICsgcHJvamVjdC9jbGllbnQpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaXNTcGVjaWFsaXN0QWdlbnQgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnKVxuICAgIGlmICghd3JhcHBlclJlZi5jdXJyZW50IHx8ICFpc1NwZWNpYWxpc3RBZ2VudCkgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAoW2VudHJ5XSkgPT4ge1xuICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICB0cmFja0FwcGN1ZXNFdmVudChBUFBDVUVTX0VWRU5UUy5tYWlhQ29udGV4dE1lbnRpb25Jbml0KVxuICAgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyB0aHJlc2hvbGQ6IDAuMSB9XG4gICAgKVxuXG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZSh3cmFwcGVyUmVmLmN1cnJlbnQpXG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICB9LCBbYWdlbnQ/LmlkLCBhZ2VudD8udHlwZSwgYWdlbnQ/LmVudGl0eV0pXG5cbiAgLy8gQ2xlYXIgaW5wdXQgd2hlbiBzZXNzaW9uIGNoYW5nZXMgKHVzZXIgc3dpdGNoZXMgdG8gYSBkaWZmZXJlbnQgY2hhdClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXNzaW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgZWRpdG9yUmVmLmN1cnJlbnQ/LmNsZWFyKClcbiAgICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKGZhbHNlKVxuICAgICAgc2V0SGFzV3JhcHBlZFRvU2Vjb25kTGluZShmYWxzZSlcbiAgICAgIHNldFNob3dTbGFzaERyb3Bkb3duKGZhbHNlKVxuICAgICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZygpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG4gIH0sIFtyZXNldE1lbnRpb25PcGVuVHJhY2tpbmddKVxuXG4gIGNvbnN0IGhhbmRsZVNlbmRNZXNzYWdlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0gZWRpdG9yUmVmLmN1cnJlbnQ/LnNlcmlhbGl6ZSgpXG4gICAgY29uc3QgdGV4dCA9IHN0YXRlPy50ZXh0ID8/ICcnXG4gICAgaWYgKCF0ZXh0LnRyaW0oKSAmJiAhYXR0YWNobWVudHMubGVuZ3RoKSByZXR1cm5cbiAgICBjb25zdCBtZW50aW9ucyA9IHN0YXRlPy5tZW50aW9ucyA/PyBbXVxuICAgIG9uU2VuZE1lc3NhZ2UodGV4dCwgYXR0YWNobWVudHMsIG1lbnRpb25zKVxuICAgIGVkaXRvclJlZi5jdXJyZW50Py5jbGVhcigpXG4gICAgc2V0SGFzVHlwaW5nUHJlc2VuY2UoZmFsc2UpXG4gICAgc2V0SGFzV3JhcHBlZFRvU2Vjb25kTGluZShmYWxzZSlcbiAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICBzZXRTbGFzaFF1ZXJ5KCcnKVxuICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZygpXG4gIH0sIFthdHRhY2htZW50cywgb25TZW5kTWVzc2FnZSwgcmVzZXRNZW50aW9uT3BlblRyYWNraW5nXSlcblxuICBjb25zdCBoYW5kbGVTZWxlY3RTbGFzaENvbW1hbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoY29tbWFuZDogQWN0aW9uKSA9PiB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0UXVpY2tBY3Rpb25TZWxlY3QsIHtcbiAgICAgICAgdHlwZV9xdWlja19hY3Rpb246IHF1aWNrQWN0aW9uVGl0bGVUb1R5cGUoY29tbWFuZC5pZCwgY29tbWFuZC50aXRsZSksXG4gICAgICAgIG9yaWdpbl9xdWlja19hY3Rpb246ICdzbGFzaF9tZW51JyxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHN0YXRlID0gZWRpdG9yUmVmLmN1cnJlbnQ/LnNlcmlhbGl6ZSgpXG4gICAgICBjb25zdCB0ZXh0ID0gc3RhdGU/LnRleHQgPz8gJydcbiAgICAgIGNvbnN0IHRyaWdnZXJQYXJ0ID0gYC8ke3NsYXNoUXVlcnl9YFxuICAgICAgY29uc3QgYmVmb3JlVHJpZ2dlciA9IHRleHQuZW5kc1dpdGgodHJpZ2dlclBhcnQpID8gdGV4dC5zbGljZSgwLCAtdHJpZ2dlclBhcnQubGVuZ3RoKSA6IHRleHRcbiAgICAgIGNvbnN0IGlzRW1wdHlCZWZvcmVUcmlnZ2VyID0gYmVmb3JlVHJpZ2dlci50cmltKCkgPT09ICcnXG5cbiAgICAgIGlmIChpc0VtcHR5QmVmb3JlVHJpZ2dlcikge1xuICAgICAgICBvblNlbmRNZXNzYWdlKGNvbW1hbmQudGl0bGUsIGF0dGFjaG1lbnRzLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGNvbW1hbmQuaWQpXG4gICAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5jbGVhcigpXG4gICAgICAgIHNldEhhc1R5cGluZ1ByZXNlbmNlKGZhbHNlKVxuICAgICAgICBzZXRIYXNXcmFwcGVkVG9TZWNvbmRMaW5lKGZhbHNlKVxuICAgICAgICBzZXRTaG93U2xhc2hEcm9wZG93bihmYWxzZSlcbiAgICAgICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICAgICAgc2xhc2hNZW51V2FzT3BlblJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgICAgcmVzZXRNZW50aW9uT3BlblRyYWNraW5nKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5pbnNlcnRTbGFzaENvbW1hbmQoeyBpZDogY29tbWFuZC5pZCwgbGFiZWw6IGNvbW1hbmQudGl0bGUgfSlcbiAgICAgIHNldFNob3dTbGFzaERyb3Bkb3duKGZhbHNlKVxuICAgICAgc2V0U2xhc2hRdWVyeSgnJylcbiAgICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gICAgfSxcbiAgICBbYXR0YWNobWVudHMsIG9uU2VuZE1lc3NhZ2UsIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZywgc2xhc2hRdWVyeSwgZXZlbnRBbXBsaXR1ZGVdXG4gIClcblxuICBjb25zdCBoYW5kbGVDbG9zZVNsYXNoRHJvcGRvd24gPSAoKSA9PiB7XG4gICAgc2V0U2hvd1NsYXNoRHJvcGRvd24oZmFsc2UpXG4gICAgc2xhc2hNZW51V2FzT3BlblJlZi5jdXJyZW50ID0gZmFsc2VcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUVkaXRvcklucHV0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIHRleHQsXG4gICAgICB0cmlnZ2VyLFxuICAgICAgc2xhc2hUcmlnZ2VyLFxuICAgIH06IHtcbiAgICAgIHRleHQ6IHN0cmluZ1xuICAgICAgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW11cbiAgICAgIHRyaWdnZXI6IHsgYWN0aXZlOiBib29sZWFuOyBxdWVyeTogc3RyaW5nOyBhdFJ1bkxlbmd0aDogbnVtYmVyIH1cbiAgICAgIHNsYXNoVHJpZ2dlcj86IHsgYWN0aXZlOiBib29sZWFuOyBxdWVyeTogc3RyaW5nIH1cbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCB2aXN1YWxNdWx0aWxpbmUgPSAhIWVkaXRvclJlZi5jdXJyZW50Py5oYXNWaXN1YWxNdWx0aWxpbmUoKVxuICAgICAgY29uc3QgZXhwbGljaXRNdWx0aWxpbmUgPSB0ZXh0LmluY2x1ZGVzKCdcXG4nKVxuICAgICAgY29uc3QgaXNMaWtlbHlGaXJzdENoYXJNZWFzdXJlbWVudEdsaXRjaCA9IHRleHQubGVuZ3RoIDw9IDEgJiYgIWV4cGxpY2l0TXVsdGlsaW5lICYmIHZpc3VhbE11bHRpbGluZVxuICAgICAgY29uc3Qgc3RhYmxlVmlzdWFsTXVsdGlsaW5lID0gaXNMaWtlbHlGaXJzdENoYXJNZWFzdXJlbWVudEdsaXRjaCA/IGZhbHNlIDogdmlzdWFsTXVsdGlsaW5lXG4gICAgICBjb25zdCBuZXh0SXNNdWx0aWxpbmUgPSBleHBsaWNpdE11bHRpbGluZSB8fCBzdGFibGVWaXN1YWxNdWx0aWxpbmVcbiAgICAgIGNvbnN0IG5leHRIYXNUeXBpbmdQcmVzZW5jZSA9IHRleHQudHJpbSgpLmxlbmd0aCA+IDBcbiAgICAgIGNvbnN0IG5leHRUeXBpbmdQcmVzZW5jZSA9IHRleHQudHJpbSgpLmxlbmd0aCA+IDBcblxuICAgICAgc2V0SGFzVHlwaW5nUHJlc2VuY2UobmV4dFR5cGluZ1ByZXNlbmNlKVxuICAgICAgc2V0SGFzV3JhcHBlZFRvU2Vjb25kTGluZShwcmV2ID0+IHtcbiAgICAgICAgbGV0IG5leHQgPSBwcmV2XG4gICAgICAgIGlmICghbmV4dEhhc1R5cGluZ1ByZXNlbmNlKSB7XG4gICAgICAgICAgbmV4dCA9IGZhbHNlXG4gICAgICAgIH0gZWxzZSBpZiAobmV4dElzTXVsdGlsaW5lKSB7XG4gICAgICAgICAgbmV4dCA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXh0XG4gICAgICB9KVxuICAgICAgb25DaGFuZ2U/LigpXG4gICAgICBoYW5kbGVUcmlnZ2VyKHRyaWdnZXIpXG5cbiAgICAgIGlmIChzbGFzaFRyaWdnZXI/LmFjdGl2ZSAmJiBzbGFzaENvbW1hbmRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgaWYgKCFzbGFzaE1lbnVXYXNPcGVuUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0UXVpY2tBY3Rpb25PcGVuKVxuICAgICAgICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgICBzZXRTaG93U2xhc2hEcm9wZG93bih0cnVlKVxuICAgICAgICBzZXRTbGFzaFF1ZXJ5KHNsYXNoVHJpZ2dlci5xdWVyeSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNsYXNoTWVudVdhc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gICAgICAgIHNldFNob3dTbGFzaERyb3Bkb3duKGZhbHNlKVxuICAgICAgICBzZXRTbGFzaFF1ZXJ5KCcnKVxuICAgICAgfVxuICAgIH0sXG4gICAgW29uQ2hhbmdlLCBoYW5kbGVUcmlnZ2VyLCBzbGFzaENvbW1hbmRzLCBldmVudEFtcGxpdHVkZV1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUtleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICAoZTogS2V5Ym9hcmRFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAgIGlmIChoYW5kbGVQb3BvdmVyS2V5RG93bihlKSkgcmV0dXJuXG4gICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgIWUuc2hpZnRLZXkgJiYgIXBvcG92ZXJPcGVuKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICBpZiAoIXNlbmREaXNhYmxlZCAmJiAhZGlzYWJsZWQpIGhhbmRsZVNlbmRNZXNzYWdlKClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtoYW5kbGVQb3BvdmVyS2V5RG93biwgcG9wb3Zlck9wZW4sIHNlbmREaXNhYmxlZCwgZGlzYWJsZWQsIGhhbmRsZVNlbmRNZXNzYWdlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlRmlsZVNlbGVjdCA9IChlOiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IGZpbGVzID0gZS50YXJnZXQuZmlsZXNcbiAgICBpZiAoIWZpbGVzKSByZXR1cm5cblxuICAgIGNvbnN0IGV4Y2VlZGVkRmlsZXM6IHN0cmluZ1tdID0gW11cbiAgICBjb25zdCBleGNsdWRlZEZpbGVzOiBzdHJpbmdbXSA9IFtdXG4gICAgY29uc3QgZmlsZVNpemVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge31cbiAgICBsZXQgZmlsZXNJbnNlcnRlZCA9IGF0dGFjaG1lbnRzLmxlbmd0aFxuXG4gICAgLy8gRGVmaW5pciBsw61taXRlcyBwYXJhIGRpZmVyZW50ZXMgdGlwb3MgZGUgYXJjaGl2b3NcbiAgICBjb25zdCBpc05ld0Zvcm1hdCA9IChleHRlbnNpb246IHN0cmluZykgPT4gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnLCAnLnBkZiddLmluY2x1ZGVzKGV4dGVuc2lvbilcbiAgICBjb25zdCBpc09sZEZvcm1hdCA9IChleHRlbnNpb246IHN0cmluZykgPT5cbiAgICAgIFsnLnR4dCcsICcubWQnLCAnLmNzdicsICcuZG9jJywgJy5kb2N4JywgJy54bHN4JywgJy54bHMnXS5pbmNsdWRlcyhleHRlbnNpb24pXG4gICAgY29uc3QgaXNBdWRpb0Zvcm1hdCA9IChleHRlbnNpb246IHN0cmluZykgPT5cbiAgICAgIFsnLmZsYWMnLCAnLm00YScsICcubXAzJywgJy5tcDQnLCAnLm9nYScsICcub2dnJywgJy53YXYnLCAnLndlYm0nXS5pbmNsdWRlcyhleHRlbnNpb24pXG5cbiAgICBBcnJheS5mcm9tKGZpbGVzKS5mb3JFYWNoKGZpbGUgPT4ge1xuICAgICAgbGV0IGV4Y2x1ZGVkRmlsZSA9IGZhbHNlXG4gICAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gZmlsZS5uYW1lLnNwbGl0KCcuJylcbiAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlTmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBgLiR7ZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKX1gIDogJydcblxuICAgICAgaWYgKCFhbGxvd2VkRmlsZVR5cGVzPy5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgZmlsZVNpemVzW2ZpbGUubmFtZV0gPSBmaWxlLnNpemVcblxuICAgICAgLy8gVmFsaWRhY2lvbmVzIGVzcGVjw61maWNhcyBzZWfDum4gZWwgdGlwbyBkZSBhcmNoaXZvXG4gICAgICBpZiAoaXNOZXdGb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgLy8gUGFyYSBudWV2b3MgZm9ybWF0b3M6IGhhc3RhIDQuOTlNQiBwb3IgYXJjaGl2bywgaGFzdGEgTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMgYXJjaGl2b3NcbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IE1BWF9GSUxFX1NJWkVfTUJfTUFJQV9WSVNJT04gKiAxMDI0ICogMTAyNCkge1xuICAgICAgICAgIGV4Y2VlZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzSW5zZXJ0ZWQgKyAxID4gTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMpIHtcbiAgICAgICAgICBleGNsdWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpc09sZEZvcm1hdChmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgICAvLyBQYXJhIGZvcm1hdG9zIGFudGVyaW9yZXM6IGhhc3RhIDFNQiBwb3IgYXJjaGl2bywgaGFzdGEgTUFYX0NIQVRfSU5QVVRfQVRUQUNITUVOVFMgYXJjaGl2b3NcbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IE1BWF9GSUxFX1NJWkVfTUJfT0xEICogMTAyNCAqIDEwMjQpIHtcbiAgICAgICAgICBleGNlZWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlc0luc2VydGVkICsgMSA+IE1BWF9DSEFUX0lOUFVUX0FUVEFDSE1FTlRTKSB7XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNBdWRpb0Zvcm1hdChmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgICAvLyBQYXJhIGFyY2hpdm9zIGRlIGF1ZGlvOiBoYXN0YSAxME1CIHBvciBhcmNoaXZvLCBoYXN0YSBNQVhfQ0hBVF9JTlBVVF9BVFRBQ0hNRU5UUyBhcmNoaXZvc1xuICAgICAgICBpZiAoZmlsZS5zaXplID4gTUFYX0ZJTEVfU0laRV9NQl9BVURJTyAqIDEwMjQgKiAxMDI0KSB7XG4gICAgICAgICAgZXhjZWVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZXNJbnNlcnRlZCArIDEgPiBNQVhfQ0hBVF9JTlBVVF9BVFRBQ0hNRU5UUykge1xuICAgICAgICAgIGV4Y2x1ZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghZXhjbHVkZWRGaWxlKSB7XG4gICAgICAgIGZpbGVzSW5zZXJ0ZWQgKz0gMVxuICAgICAgICBjb25zdCB0eXBlRmlsZSA9IGZpbGUudHlwZSB8fCBmaWxlVHlwZXNbZmlsZUV4dGVuc2lvbl1cbiAgICAgICAgY29uc3QgcGFyc2VkRmlsZSA9IG5ldyBGaWxlKFtmaWxlXSwgZmlsZS5uYW1lLCB7IHR5cGU6IHR5cGVGaWxlIH0pXG4gICAgICAgIG9uRmlsZUF0dGFjaD8uKHBhcnNlZEZpbGUpXG4gICAgICB9XG4gICAgfSlcblxuICAgIGlmIChleGNsdWRlZEZpbGVzLmxlbmd0aCB8fCBleGNlZWRlZEZpbGVzLmxlbmd0aCkge1xuICAgICAgc2V0TW9kYWxQcm9wcyh7IGlzT3BlbjogdHJ1ZSwgZXhjbHVkZWRGaWxlcywgZXhjZWVkZWRGaWxlcywgZmlsZVNpemVzIH0pXG4gICAgfVxuXG4gICAgaWYgKGZpbGVJbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICBmaWxlSW5wdXRSZWYuY3VycmVudC52YWx1ZSA9ICcnXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQXR0YWNobWVudCA9IChmaWxlSWQ6IHN0cmluZykgPT4ge1xuICAgIG9uRGVsZXRlQXR0YWNobWVudD8uKGZpbGVJZClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVdyYXBwZXJGb2N1cyA9ICgpID0+IHNldElzRm9jdXNlZCh0cnVlKVxuICBjb25zdCBoYW5kbGVXcmFwcGVyQmx1ciA9ICgpID0+IHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghd3JhcHBlclJlZi5jdXJyZW50Py5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkge1xuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpXG4gICAgICB9XG4gICAgfSwgMClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVN0b3BHZW5lcmF0aW9uID0gKCkgPT4ge1xuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTdG9wUmVzcG9uc2UpXG4gICAgb25TdG9wR2VuZXJhdGlvbj8uKClcbiAgfVxuXG4gIGNvbnN0IHBsdXNJY29uQ29sb3IgPSBpc0ZvY3VzZWQgPyBjb2xvcnMudGV4dC5zZWNvbmRhcnkgOiBjb2xvcnMudGV4dC5tZWRpdW1HcmF5XG4gIGNvbnN0IHBsdXNNZW51SWNvbkNvbG9yID0gTUFJQV9DSEFUX0lOUFVUX1VJLm1lbnVJY29uXG4gIGNvbnN0IHBsdXNNZW51U2VsZWN0ZWRDb2xvciA9IE1BSUFfQ0hBVF9JTlBVVF9VSS50ZXh0QnJhbmRCb2xkXG5cbiAgbGV0IGFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb246IFJlYWN0Tm9kZVxuICBpZiAoYWN0aXZlVG9vbENoaXBIb3ZlcmVkKSB7XG4gICAgYWN0aXZlVG9vbENoaXBMZWFkaW5nSWNvbiA9IDxDcm9zcyBjb2xvcj17TUFJQV9DSEFUX0lOUFVUX1VJLmNoaXBDbG9zZUljb259IHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgfSBlbHNlIGlmIChpc1dlYlNlYXJjaEFjdGl2ZSkge1xuICAgIGFjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb24gPSA8R2xvYmUgY29sb3I9e3BsdXNNZW51SWNvbkNvbG9yfSB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gIH0gZWxzZSB7XG4gICAgYWN0aXZlVG9vbENoaXBMZWFkaW5nSWNvbiA9IDxUZWxlc2NvcGVJY29uIGNvbG9yPXtwbHVzTWVudUljb25Db2xvcn0gd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFN0eWxlZE1BSUFJbnB1dFdyYXBwZXJcbiAgICAgICAgcmVmPXt3cmFwcGVyUmVmfVxuICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgIGFsaWduQnV0dG9ucz17YWxpZ25CdXR0b25zfVxuICAgICAgICBoYXNBdHRhY2htZW50cz17ISFhdHRhY2htZW50cy5sZW5ndGh9XG4gICAgICAgIGNvbXBhY3RTaW5nbGVSb3dUb29sYmFyPXtjb21wYWN0U2luZ2xlUm93VG9vbGJhcn1cbiAgICAgICAgZGF0YS1tYWlhLXN0cmVhbWluZz17aXNTdHJlYW1pbmcgPyAndHJ1ZScgOiAnZmFsc2UnfVxuICAgICAgICBvbkZvY3VzPXtoYW5kbGVXcmFwcGVyRm9jdXN9XG4gICAgICAgIG9uQmx1cj17aGFuZGxlV3JhcHBlckJsdXJ9XG4gICAgICAgIHN0eWxlPXt7IHBvc2l0aW9uOiAncmVsYXRpdmUnIH19XG4gICAgICA+XG4gICAgICAgIHtzaG93U2xhc2hEcm9wZG93biAmJiAoXG4gICAgICAgICAgPFNsYXNoQ29tbWFuZERyb3Bkb3duXG4gICAgICAgICAgICBjb21tYW5kcz17c2xhc2hDb21tYW5kc31cbiAgICAgICAgICAgIHF1ZXJ5PXtzbGFzaFF1ZXJ5fVxuICAgICAgICAgICAgb25TZWxlY3Q9e2hhbmRsZVNlbGVjdFNsYXNoQ29tbWFuZH1cbiAgICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZUNsb3NlU2xhc2hEcm9wZG93bn1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7ISFhdHRhY2htZW50cy5sZW5ndGggJiYgKFxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6ICcxMnB4JywgYWxpZ25JdGVtczogJ2NlbnRlcicgfX0+XG4gICAgICAgICAgICB7YXR0YWNobWVudHMubWFwKChhdHRhY2htZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gYXR0YWNobWVudC5uYW1lLnNwbGl0KCcuJylcbiAgICAgICAgICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGZpbGVOYW1lUGFydHMubGVuZ3RoID4gMSA/IGAuJHtmaWxlTmFtZVBhcnRzLnBvcCgpPy50b0xvd2VyQ2FzZSgpfWAgOiAnJ1xuICAgICAgICAgICAgICBjb25zdCBpc0ltYWdlQnlFeHRlbnNpb24gPSBbJy5wbmcnLCAnLmpwZycsICcuanBlZyddLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pXG4gICAgICAgICAgICAgIGNvbnN0IGlzSW1hZ2VCeU1pbWUgPSBhdHRhY2htZW50LnR5cGU/LnN0YXJ0c1dpdGgoJ2ltYWdlLycpXG4gICAgICAgICAgICAgIGNvbnN0IGlzSW1hZ2UgPSBpc0ltYWdlQnlNaW1lICYmIGlzSW1hZ2VCeUV4dGVuc2lvblxuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXthdHRhY2htZW50Lm5hbWV9IGtleT17YCR7aW5kZXh9LSR7YXR0YWNobWVudC5uYW1lfWB9PlxuICAgICAgICAgICAgICAgICAgPFNDTUlBdHRhY2htZW50IGlzSW1hZ2U9e2lzSW1hZ2V9PlxuICAgICAgICAgICAgICAgICAgICB7YXR0YWNobWVudC5pY29ufVxuICAgICAgICAgICAgICAgICAgICA8U0NNSUF0dGFjaG1lbnREZWxldGVJY29uIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQoYXR0YWNobWVudC5pZCl9PlxuICAgICAgICAgICAgICAgICAgICAgIDxUcmFzaCBjb2xvcj1cInJnYmEoMTkxLCAxOTEsIDE5MSwgMSlcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NNSUF0dGFjaG1lbnREZWxldGVJY29uPlxuICAgICAgICAgICAgICAgICAgPC9TQ01JQXR0YWNobWVudD5cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICA8U3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZCAkY29tcGFjdFJvdz17Y29tcGFjdFNpbmdsZVJvd1Rvb2xiYXJ9PlxuICAgICAgICAgIDxTdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsICRjb21wYWN0Um93PXtjb21wYWN0U2luZ2xlUm93VG9vbGJhcn0+XG4gICAgICAgICAgICA8UGx1c01lbnVUb29sc1Jvdz5cbiAgICAgICAgICAgICAgPFBsdXNUb2dnbGVCdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkbWVudU9wZW49e3BsdXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQbHVzQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY2hhdC5vcGVuUGx1c01lbnVBcmlhJyl9XG4gICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e3BsdXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQbHVzIGNvbG9yPXtwbHVzSWNvbkNvbG9yfSB3aWR0aD17MjB9IGhlaWdodD17MjB9IC8+XG4gICAgICAgICAgICAgIDwvUGx1c1RvZ2dsZUJ1dHRvbj5cbiAgICAgICAgICAgICAgPFBvcG92ZXJcbiAgICAgICAgICAgICAgICBvcGVuPXtwbHVzTWVudU9wZW59XG4gICAgICAgICAgICAgICAgYW5jaG9yRWw9e3BsdXNNZW51QW5jaG9yfVxuICAgICAgICAgICAgICAgIG9uQ2xvc2U9e2Nsb3NlUGx1c01lbnV9XG4gICAgICAgICAgICAgICAgYW5jaG9yT3JpZ2luPXt7IHZlcnRpY2FsOiAndG9wJywgaG9yaXpvbnRhbDogJ2xlZnQnIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luPXt7IHZlcnRpY2FsOiAnYm90dG9tJywgaG9yaXpvbnRhbDogJ2xlZnQnIH19XG4gICAgICAgICAgICAgICAgey4uLihwbHVzTWVudVpJbmRleCAhPSBudWxsID8geyBzeDogeyB6SW5kZXg6IHBsdXNNZW51WkluZGV4IH0gfSA6IHt9KX1cbiAgICAgICAgICAgICAgICBzbG90UHJvcHM9e3tcbiAgICAgICAgICAgICAgICAgIHBhcGVyOiB7XG4gICAgICAgICAgICAgICAgICAgIGVsZXZhdGlvbjogMCxcbiAgICAgICAgICAgICAgICAgICAgc3g6IHtcbiAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ3Zpc2libGUnLFxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgYm94U2hhZG93OiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogJy00cHgnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFBsdXNNZW51UGFwZXI+XG4gICAgICAgICAgICAgICAgICA8UGx1c01lbnVJbm5lckNvbHVtbj5cbiAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlUGx1c01lbnVBdHRhY2h9PlxuICAgICAgICAgICAgICAgICAgICAgIDxBdHRhY2ggY29sb3I9e3BsdXNNZW51SWNvbkNvbG9yfSB3aWR0aD17MjB9IGhlaWdodD17MjB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUxhYmVsICRzZWxlY3RlZD17ZmFsc2V9Pnt0KCdjaGF0LnBsdXNNZW51QXR0YWNoJyl9PC9QbHVzTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudUl0ZW1CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudURpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlUGx1c01lbnVXZWJTZWFyY2h9PlxuICAgICAgICAgICAgICAgICAgICAgIDxHbG9iZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9e2lzV2ViU2VhcmNoQWN0aXZlID8gcGx1c01lbnVTZWxlY3RlZENvbG9yIDogcGx1c01lbnVJY29uQ29sb3J9XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17MjB9XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9ezIwfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUxhYmVsICRzZWxlY3RlZD17ISFpc1dlYlNlYXJjaEFjdGl2ZX0+e3QoJ2NoYXQuc2VhcmNoV2ViJyl9PC9QbHVzTWVudUl0ZW1MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICB7aXNXZWJTZWFyY2hBY3RpdmUgPyA8Q2hlY2sgY29sb3I9e3BsdXNNZW51U2VsZWN0ZWRDb2xvcn0gd2lkdGg9ezE2fSBoZWlnaHQ9ezE2fSAvPiA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIDwvUGx1c01lbnVJdGVtQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9QbHVzTWVudUlubmVyQ29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFBsdXNNZW51SXRlbUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlUGx1c01lbnVEZWVwU2VhcmNofT5cbiAgICAgICAgICAgICAgICAgICAgPFRlbGVzY29wZUljb25cbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17aXNEZWVwU2VhcmNoQWN0aXZlID8gcGx1c01lbnVTZWxlY3RlZENvbG9yIDogcGx1c01lbnVJY29uQ29sb3J9XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9ezIwfVxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17MjB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxQbHVzTWVudUl0ZW1MYWJlbCAkc2VsZWN0ZWQ9eyEhaXNEZWVwU2VhcmNoQWN0aXZlfT5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnY2hhdC5wbHVzTWVudURlZXBJbnZlc3RpZ2F0aW9uJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvUGx1c01lbnVJdGVtTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHtpc0RlZXBTZWFyY2hBY3RpdmUgPyA8Q2hlY2sgY29sb3I9e3BsdXNNZW51U2VsZWN0ZWRDb2xvcn0gd2lkdGg9ezE2fSBoZWlnaHQ9ezE2fSAvPiA6IG51bGx9XG4gICAgICAgICAgICAgICAgICA8L1BsdXNNZW51SXRlbUJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1BsdXNNZW51UGFwZXI+XG4gICAgICAgICAgICAgIDwvUG9wb3Zlcj5cbiAgICAgICAgICAgICAgeyhpc1dlYlNlYXJjaEFjdGl2ZSB8fCBpc0RlZXBTZWFyY2hBY3RpdmUpICYmIChcbiAgICAgICAgICAgICAgICA8QWN0aXZlVG9vbENoaXBSb290XG4gICAgICAgICAgICAgICAgICAkaG92ZXJlZD17YWN0aXZlVG9vbENoaXBIb3ZlcmVkfVxuICAgICAgICAgICAgICAgICAgJGV4aXRpbmc9e3Rvb2xDaGlwRXhpdGluZ31cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gc2V0QWN0aXZlVG9vbENoaXBIb3ZlcmVkKHRydWUpfVxuICAgICAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBzZXRBY3RpdmVUb29sQ2hpcEhvdmVyZWQoZmFsc2UpfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxBY3RpdmVUb29sQ2hpcEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICRjbG9zZVNob3duPXthY3RpdmVUb29sQ2hpcEhvdmVyZWR9XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ2NoYXQucmVtb3ZlQWN0aXZlVG9vbEFyaWEnKX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgICAgIGJlZ2luVG9vbENoaXBFeGl0KClcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2FjdGl2ZVRvb2xDaGlwTGVhZGluZ0ljb259XG4gICAgICAgICAgICAgICAgICA8L0FjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxBY3RpdmVUb29sQ2hpcExhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7aXNXZWJTZWFyY2hBY3RpdmUgPyB0KCdjaGF0LnNlYXJjaFdlYicpIDogdCgnY2hhdC5wbHVzTWVudURlZXBJbnZlc3RpZ2F0aW9uJyl9XG4gICAgICAgICAgICAgICAgICA8L0FjdGl2ZVRvb2xDaGlwTGFiZWw+XG4gICAgICAgICAgICAgICAgPC9BY3RpdmVUb29sQ2hpcFJvb3Q+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1BsdXNNZW51VG9vbHNSb3c+XG4gICAgICAgICAgPC9TdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHN0eWxlPXtcbiAgICAgICAgICAgICAgY29tcGFjdFNpbmdsZVJvd1Rvb2xiYXJcbiAgICAgICAgICAgICAgICA/IHsgZ3JpZENvbHVtbjogMiwgZ3JpZFJvdzogMSwgbWluV2lkdGg6IDAsIGFsaWduU2VsZjogJ2NlbnRlcicgfVxuICAgICAgICAgICAgICAgIDogeyBncmlkQ29sdW1uOiAnMSAvIC0xJywgZ3JpZFJvdzogMSwgbWluV2lkdGg6IDAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxDb250ZXh0TWVudGlvbkVkaXRvclxuICAgICAgICAgICAgICByZWY9e2VkaXRvclJlZn1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgIG9uSW5wdXQ9e2hhbmRsZUVkaXRvcklucHV0fVxuICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZVdyYXBwZXJGb2N1c31cbiAgICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVXcmFwcGVyQmx1cn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPFN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwgJGNvbXBhY3RSb3c9e2NvbXBhY3RTaW5nbGVSb3dUb29sYmFyfT5cbiAgICAgICAgICAgIHtpc1dyaXRpbmcgPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdjaGF0LnN0b3AnKX0+XG4gICAgICAgICAgICAgICAgPFN0eWxlZE1BSUFTdG9wQnV0dG9uIGRpc2FibGVkPXtmYWxzZX0gb25DbGljaz17aGFuZGxlU3RvcEdlbmVyYXRpb259IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgICAgICAgICAgIDxTdHlsZWRNQUlBU3RvcEljb24gLz5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZE1BSUFTdG9wQnV0dG9uPlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnY2hhdC5zZW5kJyl9PlxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZE1BSUFTZW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3NlbmREaXNhYmxlZCB8fCBkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgaGFzVmFsdWVzPXtoYXNUeXBpbmdQcmVzZW5jZSB8fCBhdHRhY2htZW50cy5sZW5ndGggPiAwfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8UGFwZXJQbGFuZSBjb2xvcj1cIiNCRkJGQkZcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZE1BSUFTZW5kQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGw+XG4gICAgICAgIDwvU3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgcmVmPXtmaWxlSW5wdXRSZWZ9XG4gICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgIG11bHRpcGxlXG4gICAgICAgICAgYWNjZXB0PVwiLnR4dCwubWQsLmNzdiwuZG9jLC5kb2N4LC5wbmcsLmpwZywuanBlZywucGRmLC54bHN4LC54bHMsLmZsYWMsLm00YSwubXAzLC5tcDQsLm9nYSwub2dnLC53YXYsLndlYm1cIlxuICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVGaWxlU2VsZWN0fVxuICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRNQUlBSW5wdXRXcmFwcGVyPlxuICAgICAge21vZGFsUHJvcHMuaXNPcGVuICYmIChcbiAgICAgICAgPE1vZGFsRmlsZUV4Y2VlZHNcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRNb2RhbFByb3BzKHsgaXNPcGVuOiBmYWxzZSwgZXhjbHVkZWRGaWxlczogW10sIGV4Y2VlZGVkRmlsZXM6IFtdLCBmaWxlU2l6ZXM6IHt9IH0pfVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZXM9e21vZGFsUHJvcHMuZXhjbHVkZWRGaWxlc31cbiAgICAgICAgICBleGNlZWRlZEZpbGVzPXttb2RhbFByb3BzLmV4Y2VlZGVkRmlsZXN9XG4gICAgICAgICAgZmlsZVNpemVzPXttb2RhbFByb3BzLmZpbGVTaXplc31cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7cG9wb3Zlck5vZGUgJiYgY3JlYXRlUG9ydGFsKHBvcG92ZXJOb2RlLCBkb2N1bWVudC5ib2R5KX1cbiAgICA8Lz5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FLRUEsV0FBVyxFQUNYQyxTQUFTLEVBQ1RDLE9BQU8sRUFDUEMsTUFBTSxFQUNOQyxRQUFRLFFBQ0gsT0FBTztBQUNkLFNBQVNDLFlBQVksUUFBUSxXQUFXO0FBQ3hDLFNBQVNDLE9BQU8sUUFBUSxlQUFlO0FBQ3ZDLFNBQVNDLFVBQVUsUUFBUSw2Q0FBNkM7QUFDeEUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsSUFBSSxRQUFRLHVDQUF1QztBQUM1RCxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBRXRELFNBQ0VDLHdCQUF3QixFQUN4QkMsbUJBQW1CLEVBQ25CQyxrQkFBa0IsRUFDbEJDLGVBQWUsRUFDZkMsbUJBQW1CLEVBQ25CQyxrQkFBa0IsRUFDbEJDLGlCQUFpQixFQUNqQkMsYUFBYSxFQUNiQyxnQkFBZ0Is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
|
|
@@ -14,7 +14,9 @@ export var ActionCreateReworkIcon = function ActionCreateReworkIcon(_ref) {
|
|
|
14
14
|
viewBox: "0 0 20 20",
|
|
15
15
|
fill: "none",
|
|
16
16
|
children: [/*#__PURE__*/_jsx("path", {
|
|
17
|
-
|
|
17
|
+
fillRule: "evenodd",
|
|
18
|
+
clipRule: "evenodd",
|
|
19
|
+
d: "M17 3.33841V8.75776C17 8.94443 16.853 9.09617 16.6722 9.09617H11.4222C11.2402 9.09617 11.0943 8.94443 11.0943 8.75776V7.97617C11.0943 7.78469 11.2448 7.63174 11.4303 7.63656L14.886 7.72206C14.0448 5.80241 12.1747 4.46684 10 4.46684C7.4275 4.46684 5.282 6.33351 4.76167 8.82761C4.729 8.98417 4.596 9.09617 4.44083 9.09617H3.65917C3.45383 9.09617 3.29867 8.90469 3.336 8.69634C3.9275 5.45316 6.68667 3 10 3C12.3578 3 14.4357 4.24284 15.6502 6.12877L15.586 3.34684C15.5813 3.15656 15.7295 3 15.9138 3H16.6722C16.853 3 17 3.15174 17 3.33841M16.664 11.3025C16.0725 14.5468 13.3133 17 10 17C7.64217 17 5.56433 15.7572 4.34983 13.8712L4.414 16.6532C4.41867 16.8434 4.2705 17 4.08617 17H3.32783C3.147 17 3 16.8483 3 16.6616V11.241C3 11.0544 3.147 10.9026 3.32783 10.9026H8.57783C8.75983 10.9026 8.90683 11.0544 8.90683 11.241V12.0238C8.90683 12.2141 8.75517 12.3671 8.56967 12.3622L5.114 12.2767C5.95517 14.1976 7.82533 15.532 10 15.532C12.5725 15.532 14.718 13.6653 15.2383 11.1712C15.271 11.0158 15.404 10.9026 15.5592 10.9026H16.3408C16.5462 10.9026 16.7013 11.0953 16.664 11.3025",
|
|
18
20
|
fill: "url(#".concat(g1, ")")
|
|
19
21
|
}), /*#__PURE__*/_jsx("defs", {
|
|
20
22
|
children: /*#__PURE__*/_jsxs("linearGradient", {
|
|
@@ -34,4 +36,4 @@ export var ActionCreateReworkIcon = function ActionCreateReworkIcon(_ref) {
|
|
|
34
36
|
})]
|
|
35
37
|
});
|
|
36
38
|
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VJZCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJBY3Rpb25DcmVhdGVSZXdvcmtJY29uIiwiX3JlZiIsIl9yZWYkd2lkdGgiLCJ3aWR0aCIsIl9yZWYkaGVpZ2h0IiwiaGVpZ2h0IiwidWlkIiwicmVwbGFjZSIsImcxIiwiY29uY2F0IiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsImNoaWxkcmVuIiwiZmlsbFJ1bGUiLCJjbGlwUnVsZSIsImQiLCJpZCIsIngxIiwieTEiLCJ4MiIsInkyIiwiZ3JhZGllbnRVbml0cyIsInN0b3BDb2xvciIsIm9mZnNldCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL2ljb25zL0FjdGlvbkNyZWF0ZVJld29ya0ljb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUlkIH0gZnJvbSAncmVhY3QnXG5cbnR5cGUgSWNvblByb3BzID0ge1xuICB3aWR0aD86IG51bWJlclxuICBoZWlnaHQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGNvbnN0IEFjdGlvbkNyZWF0ZVJld29ya0ljb24gPSAoeyB3aWR0aCA9IDIwLCBoZWlnaHQgPSAyMCB9OiBJY29uUHJvcHMpID0+IHtcbiAgY29uc3QgdWlkID0gdXNlSWQoKS5yZXBsYWNlKC86L2csICcnKVxuICBjb25zdCBnMSA9IGAke3VpZH1fZzFgXG5cbiAgcmV0dXJuIChcbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD17d2lkdGh9IGhlaWdodD17aGVpZ2h0fSB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGNsaXBSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGQ9XCJNMTcgMy4zMzg0MVY4Ljc1Nzc2QzE3IDguOTQ0NDMgMTYuODUzIDkuMDk2MTcgMTYuNjcyMiA5LjA5NjE3SDExLjQyMjJDMTEuMjQwMiA5LjA5NjE3IDExLjA5NDMgOC45NDQ0MyAxMS4wOTQzIDguNzU3NzZWNy45NzYxN0MxMS4wOTQzIDcuNzg0NjkgMTEuMjQ0OCA3LjYzMTc0IDExLjQzMDMgNy42MzY1NkwxNC44ODYgNy43MjIwNkMxNC4wNDQ4IDUuODAyNDEgMTIuMTc0NyA0LjQ2Njg0IDEwIDQuNDY2ODRDNy40Mjc1IDQuNDY2ODQgNS4yODIgNi4zMzM1MSA0Ljc2MTY3IDguODI3NjFDNC43MjkgOC45ODQxNyA0LjU5NiA5LjA5NjE3IDQuNDQwODMgOS4wOTYxN0gzLjY1OTE3QzMuNDUzODMgOS4wOTYxNyAzLjI5ODY3IDguOTA0NjkgMy4zMzYgOC42OTYzNEMzLjkyNzUgNS40NTMxNiA2LjY4NjY3IDMgMTAgM0MxMi4zNTc4IDMgMTQuNDM1NyA0LjI0Mjg0IDE1LjY1MDIgNi4xMjg3N0wxNS41ODYgMy4zNDY4NEMxNS41ODEzIDMuMTU2NTYgMTUuNzI5NSAzIDE1LjkxMzggM0gxNi42NzIyQzE2Ljg1MyAzIDE3IDMuMTUxNzQgMTcgMy4zMzg0MU0xNi42NjQgMTEuMzAyNUMxNi4wNzI1IDE0LjU0NjggMTMuMzEzMyAxNyAxMCAxN0M3LjY0MjE3IDE3IDUuNTY0MzMgMTUuNzU3MiA0LjM0OTgzIDEzLjg3MTJMNC40MTQgMTYuNjUzMkM0LjQxODY3IDE2Ljg0MzQgNC4yNzA1IDE3IDQuMDg2MTcgMTdIMy4zMjc4M0MzLjE0NyAxNyAzIDE2Ljg0ODMgMyAxNi42NjE2VjExLjI0MUMzIDExLjA1NDQgMy4xNDcgMTAuOTAyNiAzLjMyNzgzIDEwLjkwMjZIOC41Nzc4M0M4Ljc1OTgzIDEwLjkwMjYgOC45MDY4MyAxMS4wNTQ0IDguOTA2ODMgMTEuMjQxVjEyLjAyMzhDOC45MDY4MyAxMi4yMTQxIDguNzU1MTcgMTIuMzY3MSA4LjU2OTY3IDEyLjM2MjJMNS4xMTQgMTIuMjc2N0M1Ljk1NTE3IDE0LjE5NzYgNy44MjUzMyAxNS41MzIgMTAgMTUuNTMyQzEyLjU3MjUgMTUuNTMyIDE0LjcxOCAxMy42NjUzIDE1LjIzODMgMTEuMTcxMkMxNS4yNzEgMTEuMDE1OCAxNS40MDQgMTAuOTAyNiAxNS41NTkyIDEwLjkwMjZIMTYuMzQwOEMxNi41NDYyIDEwLjkwMjYgMTYuNzAxMyAxMS4wOTUzIDE2LjY2NCAxMS4zMDI1XCJcbiAgICAgICAgZmlsbD17YHVybCgjJHtnMX0pYH1cbiAgICAgIC8+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPXtnMX0geDE9XCIxMFwiIHkxPVwiM1wiIHgyPVwiMTBcIiB5Mj1cIjE3XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgICAgPHN0b3Agc3RvcENvbG9yPVwiIzREMzU2OVwiIC8+XG4gICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3BDb2xvcj1cIiMyRDc3QkRcIiAvPlxuICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxuICAgICAgPC9kZWZzPlxuICAgIDwvc3ZnPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEtBQUssUUFBUSxPQUFPO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQU83QixPQUFPLElBQU1DLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBc0JBLENBQUFDLElBQUEsRUFBK0M7RUFBQSxJQUFBQyxVQUFBLEdBQUFELElBQUEsQ0FBekNFLEtBQUs7SUFBTEEsS0FBSyxHQUFBRCxVQUFBLGNBQUcsRUFBRSxHQUFBQSxVQUFBO0lBQUFFLFdBQUEsR0FBQUgsSUFBQSxDQUFFSSxNQUFNO0lBQU5BLE1BQU0sR0FBQUQsV0FBQSxjQUFHLEVBQUUsR0FBQUEsV0FBQTtFQUM5RCxJQUFNRSxHQUFHLEdBQUdYLEtBQUssQ0FBQyxDQUFDLENBQUNZLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0VBQ3JDLElBQU1DLEVBQUUsTUFBQUMsTUFBQSxDQUFNSCxHQUFHLFFBQUs7RUFFdEIsb0JBQ0VQLEtBQUE7SUFBS1csS0FBSyxFQUFDLDRCQUE0QjtJQUFDUCxLQUFLLEVBQUVBLEtBQU07SUFBQ0UsTUFBTSxFQUFFQSxNQUFPO0lBQUNNLE9BQU8sRUFBQyxXQUFXO0lBQUNDLElBQUksRUFBQyxNQUFNO0lBQUFDLFFBQUEsZ0JBQ25HaEIsSUFBQTtNQUNFaUIsUUFBUSxFQUFDLFNBQVM7TUFDbEJDLFFBQVEsRUFBQyxTQUFTO01BQ2xCQyxDQUFDLEVBQUMscWpDQUFxakM7TUFDdmpDSixJQUFJLFVBQUFILE1BQUEsQ0FBVUQsRUFBRTtJQUFJLENBQ3JCLENBQUMsZUFDRlgsSUFBQTtNQUFBZ0IsUUFBQSxlQUNFZCxLQUFBO1FBQWdCa0IsRUFBRSxFQUFFVCxFQUFHO1FBQUNVLEVBQUUsRUFBQyxJQUFJO1FBQUNDLEVBQUUsRUFBQyxHQUFHO1FBQUNDLEVBQUUsRUFBQyxJQUFJO1FBQUNDLEVBQUUsRUFBQyxJQUFJO1FBQUNDLGFBQWEsRUFBQyxnQkFBZ0I7UUFBQVQsUUFBQSxnQkFDbkZoQixJQUFBO1VBQU0wQixTQUFTLEVBQUM7UUFBUyxDQUFFLENBQUMsZUFDNUIxQixJQUFBO1VBQU0yQixNQUFNLEVBQUMsR0FBRztVQUFDRCxTQUFTLEVBQUM7UUFBUyxDQUFFLENBQUM7TUFBQSxDQUN6QjtJQUFDLENBQ2IsQ0FBQztFQUFBLENBQ0osQ0FBQztBQUVWLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -2,7 +2,6 @@ import { useCallback, useRef } from 'react';
|
|
|
2
2
|
import { createPortal } from 'react-dom';
|
|
3
3
|
import { ContextMentionEditor } from '../../atoms/ContextMentionEditor';
|
|
4
4
|
import { useMentionPopover } from '../../../hooks/useMentionPopover';
|
|
5
|
-
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
6
5
|
import { SCMIWrapper } from './ContextMentionInput.styles';
|
|
7
6
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
7
|
export var ContextMentionInput = function ContextMentionInput(_ref) {
|
|
@@ -14,7 +13,6 @@ export var ContextMentionInput = function ContextMentionInput(_ref) {
|
|
|
14
13
|
onChange = _ref.onChange;
|
|
15
14
|
var editorRef = useRef(null);
|
|
16
15
|
var wrapperRef = useRef(null);
|
|
17
|
-
var event = useEvent();
|
|
18
16
|
var _useMentionPopover = useMentionPopover({
|
|
19
17
|
editorRef: editorRef,
|
|
20
18
|
popoverAnchorRef: wrapperRef,
|
|
@@ -43,12 +41,6 @@ export var ContextMentionInput = function ContextMentionInput(_ref) {
|
|
|
43
41
|
e.preventDefault();
|
|
44
42
|
var state = (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current.serialize();
|
|
45
43
|
if (!state || !state.text.trim()) return;
|
|
46
|
-
state.mentions.forEach(function (m) {
|
|
47
|
-
event(EVENTS.aiChatMentionSend, {
|
|
48
|
-
type: m.type,
|
|
49
|
-
id: String(m.id)
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
44
|
onSendMessage(state.text, state.mentions);
|
|
53
45
|
(_editorRef$current2 = editorRef.current) === null || _editorRef$current2 === void 0 || _editorRef$current2.clear();
|
|
54
46
|
resetMentionOpenTracking();
|
|
@@ -65,4 +57,4 @@ export var ContextMentionInput = function ContextMentionInput(_ref) {
|
|
|
65
57
|
}), popoverNode && /*#__PURE__*/createPortal(popoverNode, document.body)]
|
|
66
58
|
});
|
|
67
59
|
};
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsImNyZWF0ZVBvcnRhbCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwidXNlTWVudGlvblBvcG92ZXIiLCJTQ01JV3JhcHBlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJDb250ZXh0TWVudGlvbklucHV0IiwiX3JlZiIsInBsYWNlaG9sZGVyIiwiZGlzYWJsZWQiLCJlbmFibGVkVHlwZXMiLCJvblNlbmRNZXNzYWdlIiwib25NZW50aW9uQWRkZWQiLCJvbkNoYW5nZSIsImVkaXRvclJlZiIsIndyYXBwZXJSZWYiLCJfdXNlTWVudGlvblBvcG92ZXIiLCJwb3BvdmVyQW5jaG9yUmVmIiwicG9wb3Zlck9wZW4iLCJyZXNldE1lbnRpb25PcGVuVHJhY2tpbmciLCJoYW5kbGVUcmlnZ2VyIiwiaGFuZGxlUG9wb3ZlcktleURvd24iLCJoYW5kbGVLZXlEb3duIiwicG9wb3Zlck5vZGUiLCJoYW5kbGVFZGl0b3JJbnB1dCIsIl9yZWYyIiwidGV4dCIsIm1lbnRpb25zIiwidHJpZ2dlciIsImUiLCJrZXkiLCJzaGlmdEtleSIsIl9lZGl0b3JSZWYkY3VycmVudCIsIl9lZGl0b3JSZWYkY3VycmVudDIiLCJwcmV2ZW50RGVmYXVsdCIsInN0YXRlIiwiY3VycmVudCIsInNlcmlhbGl6ZSIsInRyaW0iLCJjbGVhciIsInJlZiIsImNoaWxkcmVuIiwib25JbnB1dCIsIm9uS2V5RG93biIsImRvY3VtZW50IiwiYm9keSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Db250ZXh0TWVudGlvbklucHV0L0NvbnRleHRNZW50aW9uSW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleWJvYXJkRXZlbnQsIHVzZUNhbGxiYWNrLCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IENvbnRleHRNZW50aW9uRWRpdG9yLCBDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSB9IGZyb20gJy4uLy4uL2F0b21zL0NvbnRleHRNZW50aW9uRWRpdG9yJ1xuaW1wb3J0IHsgdXNlTWVudGlvblBvcG92ZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNZW50aW9uUG9wb3ZlcidcbmltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlLCBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgU0NNSVdyYXBwZXIgfSBmcm9tICcuL0NvbnRleHRNZW50aW9uSW5wdXQuc3R5bGVzJ1xuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvbklucHV0UHJvcHMgPSB7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICAvKiogT3ZlcnJpZGUgZGUgdGlwb3MgcGVybWl0aWRvczsgc2kgc2Ugb21pdGUsIHNlIGRlcml2YSBkZSBhZ2VudC5lbnRpdHkgKi9cbiAgZW5hYmxlZFR5cGVzPzogQ29udGV4dEVudGl0eVR5cGVbXVxuICBvblNlbmRNZXNzYWdlOiAodGV4dDogc3RyaW5nLCBtZW50aW9uczogQ29udGV4dE1lbnRpb25bXSkgPT4gdm9pZFxuICBvbk1lbnRpb25BZGRlZD86IChtZW50aW9uOiBDb250ZXh0TWVudGlvbikgPT4gdm9pZFxuICBvbkNoYW5nZT86IChzdGF0ZTogeyB0ZXh0OiBzdHJpbmc7IG1lbnRpb25zOiBDb250ZXh0TWVudGlvbltdIH0pID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uSW5wdXQgPSAoe1xuICBwbGFjZWhvbGRlcixcbiAgZGlzYWJsZWQsXG4gIGVuYWJsZWRUeXBlcyxcbiAgb25TZW5kTWVzc2FnZSxcbiAgb25NZW50aW9uQWRkZWQsXG4gIG9uQ2hhbmdlLFxufTogQ29udGV4dE1lbnRpb25JbnB1dFByb3BzKSA9PiB7XG4gIGNvbnN0IGVkaXRvclJlZiA9IHVzZVJlZjxDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZT4obnVsbClcbiAgY29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3Qge1xuICAgIHBvcG92ZXJPcGVuLFxuICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZyxcbiAgICBoYW5kbGVUcmlnZ2VyLFxuICAgIGhhbmRsZUtleURvd246IGhhbmRsZVBvcG92ZXJLZXlEb3duLFxuICAgIHBvcG92ZXJOb2RlLFxuICB9ID0gdXNlTWVudGlvblBvcG92ZXIoe1xuICAgIGVkaXRvclJlZixcbiAgICBwb3BvdmVyQW5jaG9yUmVmOiB3cmFwcGVyUmVmLFxuICAgIGVuYWJsZWRUeXBlcyxcbiAgICBvbk1lbnRpb25BZGRlZCxcbiAgfSlcblxuICBjb25zdCBoYW5kbGVFZGl0b3JJbnB1dCA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICB0ZXh0LFxuICAgICAgbWVudGlvbnMsXG4gICAgICB0cmlnZ2VyLFxuICAgIH06IHtcbiAgICAgIHRleHQ6IHN0cmluZ1xuICAgICAgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW11cbiAgICAgIHRyaWdnZXI6IHsgYWN0aXZlOiBib29sZWFuOyBxdWVyeTogc3RyaW5nOyBhdFJ1bkxlbmd0aDogbnVtYmVyIH1cbiAgICB9KSA9PiB7XG4gICAgICBvbkNoYW5nZT8uKHsgdGV4dCwgbWVudGlvbnMgfSlcbiAgICAgIGhhbmRsZVRyaWdnZXIodHJpZ2dlcilcbiAgICB9LFxuICAgIFtvbkNoYW5nZSwgaGFuZGxlVHJpZ2dlcl1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZTogS2V5Ym9hcmRFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBpZiAoaGFuZGxlUG9wb3ZlcktleURvd24oZSkpIHJldHVyblxuXG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICFlLnNoaWZ0S2V5ICYmICFwb3BvdmVyT3Blbikge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBjb25zdCBzdGF0ZSA9IGVkaXRvclJlZi5jdXJyZW50Py5zZXJpYWxpemUoKVxuICAgICAgaWYgKCFzdGF0ZSB8fCAhc3RhdGUudGV4dC50cmltKCkpIHJldHVyblxuICAgICAgb25TZW5kTWVzc2FnZShzdGF0ZS50ZXh0LCBzdGF0ZS5tZW50aW9ucylcbiAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5jbGVhcigpXG4gICAgICByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcoKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDTUlXcmFwcGVyIHJlZj17d3JhcHBlclJlZn0+XG4gICAgICA8Q29udGV4dE1lbnRpb25FZGl0b3JcbiAgICAgICAgcmVmPXtlZGl0b3JSZWZ9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBvbklucHV0PXtoYW5kbGVFZGl0b3JJbnB1dH1cbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgLz5cbiAgICAgIHtwb3BvdmVyTm9kZSAmJiBjcmVhdGVQb3J0YWwocG9wb3Zlck5vZGUsIGRvY3VtZW50LmJvZHkpfVxuICAgIDwvU0NNSVdyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBd0JBLFdBQVcsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDMUQsU0FBU0MsWUFBWSxRQUFRLFdBQVc7QUFDeEMsU0FBU0Msb0JBQW9CLFFBQW9DLGtDQUFrQztBQUNuRyxTQUFTQyxpQkFBaUIsUUFBUSxrQ0FBa0M7QUFFcEUsU0FBU0MsV0FBVyxRQUFRLDhCQUE4QjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFZMUQsT0FBTyxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFBQyxJQUFBLEVBT0E7RUFBQSxJQU45QkMsV0FBVyxHQUFBRCxJQUFBLENB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
|
|
@@ -120,7 +120,9 @@ export var useProjectSearch = function useProjectSearch() {
|
|
|
120
120
|
setLoadingRecentProjects(true);
|
|
121
121
|
_context.prev = 1;
|
|
122
122
|
_context.next = 2;
|
|
123
|
-
return maia.RecentProjects.getRecentProjects(
|
|
123
|
+
return maia.RecentProjects.getRecentProjects({
|
|
124
|
+
corEvents: true
|
|
125
|
+
});
|
|
124
126
|
case 2:
|
|
125
127
|
data = _context.sent;
|
|
126
128
|
setRecentProjectsData(Array.isArray(data) ? data : []);
|
|
@@ -203,4 +205,4 @@ export var useProjectSearch = function useProjectSearch() {
|
|
|
203
205
|
updateSearchValue: updateSearchValue
|
|
204
206
|
};
|
|
205
207
|
};
|
|
206
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwibWFpYSIsIlNFQVJDSF9QUk9KRUNUUyIsIlNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyIsInVzZURlYm91bmNlIiwiVFlQRV9QUk9KRUNUIiwicHJvamVjdCIsImFyY2hpdmVkIiwibWFwcGVyUHJvamVjdHNTZWFyY2giLCJ2YWx1ZXMiLCJtYXAiLCJ2YWx1ZSIsIl92YWx1ZSRjbGllbnRJZCIsIl92YWx1ZSRmZWVJZCIsImlkIiwidGl0bGUiLCJjbGllbnROYW1lIiwicHJvZHVjdE5hbWUiLCJicmFuZE5hbWUiLCJpbmNvbWVUeXBlIiwiY2xpZW50SWQiLCJmZWVJZCIsIkRhdGFQYXJzZWRUb1Byb2plY3RzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwicHJvamVjdHMiLCJzZXRQcm9qZWN0cyIsInNldHRlckRhdGEiLCJhcmdzIiwic2VhcmNoVmFsdWUiLCJsZW5ndGgiLCJhcmciLCJfYXJnJGNsaWVudE5hbWUiLCJwcm9qZWN0TmFtZSIsInRpdGxlSGlnaGxpZ2h0IiwidG9Mb2NhbGVMb3dlckNhc2UiLCJpbmNsdWRlcyIsInRleHRJbmRleCIsInRvTG93ZXJDYXNlIiwiaW5kZXhPZiIsInN0YXJ0IiwiX29iamVjdFNwcmVhZCIsIm5hbWUiLCJjbGllbnQiLCJ1c2VQcm9qZWN0U2VhcmNoIiwiX0RhdGFQYXJzZWRUb1Byb2plY3RzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZXJyb3IiLCJzZXRFcnJvciIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2V0U2VhcmNoVmFsdWUiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsImlzUXVlcnlJblByb2dyZXNzIiwic2V0SXNRdWVyeUluUHJvZ3Jlc3MiLCJkZWJvdW5jZWRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsInJlY2VudFByb2plY3RzRGF0YSIsInNldFJlY2VudFByb2plY3RzRGF0YSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJsb2FkaW5nUmVjZW50UHJvamVjdHMiLCJzZXRMb2FkaW5nUmVjZW50UHJvamVjdHMiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwicmVjZW50RXJyb3IiLCJzZXRSZWNlbnRFcnJvciIsImZldGNoUmVjZW50UHJvamVjdHNXaXRoTG9hZGluZyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiZGF0YSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJSZWNlbnRQcm9qZWN0cyIsImdldFJlY2VudFByb2plY3RzIiwic2VudCIsIkFycmF5IiwiaXNBcnJheSIsImZpbmlzaCIsInN0b3AiLCJfdXNlTGF6eVF1ZXJ5IiwidmFyaWFibGVzIiwibGltaXQiLCJfdXNlTGF6eVF1ZXJ5MiIsImZldGNoU2VhcmNoUHJvamVjdHMiLCJfdXNlTGF6eVF1ZXJ5MiQiLCJzZWFyY2hEYXRhIiwibG9hZGluZ1NlYXJjaFByb2plY3RzIiwic2VhcmNoRXJyb3IiLCJoYW5kbGVGZXRjaFNlYXJjaFByb2plY3RzIiwicSIsImZpbHRlcnMiLCJKU09OIiwic3RyaW5naWZ5Iiwic2VhcmNoIiwidHJpbSIsIm1hcHBlZFByb2plY3RzIiwidXBkYXRlU2VhcmNoVmFsdWUiLCJuZXdTZWFyY2hWYWx1ZSIsImZldGNoUmVjZW50UHJvamVjdHMiLCJyZWNlbnRQcm9qZWN0c0xvYWRpbmciLCJyZWNlbnRQcm9qZWN0c0Vycm9yIiwicmVjZW50UHJvamVjdHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlUHJvamVjdFNlYXJjaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VMYXp5UXVlcnkgfSBmcm9tICdAYXBvbGxvL2NsaWVudCdcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgbWFpYSBmcm9tICcuLi9zZXJ2aWNlcy9tYWlhJ1xuaW1wb3J0IHsgU0VBUkNIX1BST0pFQ1RTIH0gZnJvbSAnLi4vc2VydmljZXMvcXVlcnkvcHJvamVjdFNlYXJjaEJ5VmFsdWVRdWVyeSdcbmltcG9ydCB7IFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyB9IGZyb20gJy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VEZWJvdW5jZSB9IGZyb20gJy4vdXNlRGVib3VuY2UnXG5cbmV4cG9ydCB0eXBlIFByb2plY3RHcmFwaFFMID0ge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyXG4gIHRpdGxlOiBzdHJpbmdcbiAgY2xpZW50TmFtZT86IHN0cmluZyB8IG51bGxcbiAgcHJvZHVjdE5hbWU/OiBzdHJpbmdcbiAgYnJhbmROYW1lPzogc3RyaW5nXG4gIGluY29tZVR5cGU/OiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGZlZUlkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgdHlwZSBQcm9qZWN0U2V0dGVyID0ge1xuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIC8qKiBSYW5nbyBkZWwgdMOpcm1pbm8gYnVzY2FkbyBkZW50cm8gZGUgYHRpdGxlYCAoc29sbyByZXN1bHRhZG9zIGRlIGLDunNxdWVkYSkgKi9cbiAgdGl0bGVIaWdobGlnaHQ/OiB7IHN0YXJ0OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyIH1cbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGZlZUlkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxuICBjbGllbnQ/OiB7XG4gICAgbmFtZTogc3RyaW5nIHwgbnVsbFxuICB9XG4gIHByb2R1Y3ROYW1lPzogc3RyaW5nXG4gIGJyYW5kTmFtZT86IHN0cmluZ1xuICBpbmNvbWVUeXBlPzogc3RyaW5nXG59XG5cbnR5cGUgUHJvamVjdFNlYXJjaFJlc3VsdCA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICB0aXRsZTogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICBjbGllbnRJZD86IG51bWJlciB8IHN0cmluZyB8IG51bGxcbiAgZmVlSWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGNsaWVudE5hbWU6IHN0cmluZ1xuICBicmFuZE5hbWU6IHN0cmluZ1xuICBwcm9kdWN0TmFtZTogc3RyaW5nXG4gIHByb2plY3ROYW1lOiBzdHJpbmdcbiAgc3RhdHVzOiBzdHJpbmdcbiAgZGVhZGxpbmU6IHN0cmluZ1xuICBkYXRldGltZTogc3RyaW5nXG4gIGFyY2hpdmVkOiBib29sZWFuXG4gIF9fdHlwZW5hbWU6IHN0cmluZ1xufVxuXG50eXBlIFF1ZXJ5U2VhcmNoUHJvamVjdERhdGEgPSB7IHNlYXJjaDogUHJvamVjdFNlYXJjaFJlc3VsdFtdIHwgbnVsbCB9XG5cbmNvbnN0IFRZUEVfUFJPSkVDVCA9IHsgcHJvamVjdDogJ3RydWUnLCBhcmNoaXZlZDogJ2FsbCcgfVxuXG5jb25zdCBtYXBwZXJQcm9qZWN0c1NlYXJjaCA9ICh2YWx1ZXM6IFByb2plY3RTZWFyY2hSZXN1bHRbXSk6IFByb2plY3RHcmFwaFFMW10gPT4ge1xuICByZXR1cm4gdmFsdWVzPy5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdmFsdWUuaWQsXG4gICAgdGl0bGU6IHZhbHVlLnRpdGxlLFxuICAgIGNsaWVudE5hbWU6IHZhbHVlLmNsaWVudE5hbWUsXG4gICAgcHJvZHVjdE5hbWU6IHZhbHVlLnByb2R1Y3ROYW1lLFxuICAgIGJyYW5kTmFtZTogdmFsdWUuYnJhbmROYW1lLFxuICAgIGluY29tZVR5cGU6ICcnLFxuICAgIGNsaWVudElkOiB2YWx1ZS5jbGllbnRJZCA/PyBudWxsLFxuICAgIGZlZUlkOiB2YWx1ZS5mZWVJZCA/PyBudWxsLFxuICB9KSlcbn1cblxuZXhwb3J0IGNvbnN0IERhdGFQYXJzZWRUb1Byb2plY3RzID0gKCkgPT4ge1xuICBjb25zdCBbcHJvamVjdHMsIHNldFByb2plY3RzXSA9IHVzZVN0YXRlPFByb2plY3RTZXR0ZXJbXT4oW10pXG4gIGNvbnN0IHNldHRlckRhdGEgPSAoYXJnczogUHJvamVjdEdyYXBoUUxbXSwgc2VhcmNoVmFsdWU/OiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIWFyZ3MubGVuZ3RoKSB7XG4gICAgICBzZXRQcm9qZWN0cyhbXSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0UHJvamVjdHMoXG4gICAgICAgIGFyZ3MubWFwKGFyZyA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvamVjdE5hbWUgPSBhcmcudGl0bGUgfHwgJydcbiAgICAgICAgICBsZXQgdGl0bGVIaWdobGlnaHQ6IHsgc3RhcnQ6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXIgfSB8IHVuZGVmaW5lZFxuICAgICAgICAgIGlmIChzZWFyY2hWYWx1ZSAmJiBwcm9qZWN0TmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0SW5kZXggPSBwcm9qZWN0TmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIHRpdGxlSGlnaGxpZ2h0ID0geyBzdGFydDogdGV4dEluZGV4LCBsZW5ndGg6IHNlYXJjaFZhbHVlLmxlbmd0aCB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogYXJnLmlkLFxuICAgICAgICAgICAgbmFtZTogYXJnLnRpdGxlLFxuICAgICAgICAgICAgdGl0bGU6IHByb2plY3ROYW1lLFxuICAgICAgICAgICAgLi4uKHRpdGxlSGlnaGxpZ2h0ICYmIHsgdGl0bGVIaWdobGlnaHQgfSksXG4gICAgICAgICAgICAuLi4oYXJnLmNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkOiBhcmcuY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihhcmcuZmVlSWQgIT0gbnVsbCA/IHsgZmVlSWQ6IGFyZy5mZWVJZCB9IDoge30pLFxuICAgICAgICAgICAgY2xpZW50OiB7XG4gICAgICAgICAgICAgIG5hbWU6IGFyZy5jbGllbnROYW1lID8/IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJvZHVjdE5hbWU6IGFyZy5wcm9kdWN0TmFtZSB8fCAnJyxcbiAgICAgICAgICAgIGJyYW5kTmFtZTogYXJnLmJyYW5kTmFtZSB8fCAnJyxcbiAgICAgICAgICAgIGluY29tZVR5cGU6IGFyZy5pbmNvbWVUeXBlIHx8ICcnLFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgcHJvamVjdHMsIHNldHRlckRhdGEgfVxufVxuXG5leHBvcnQgY29uc3QgdXNlUHJvamVjdFNlYXJjaCA9ICgpID0+IHtcbiAgY29uc3QgeyBwcm9qZWN0cywgc2V0dGVyRGF0YSB9ID0gRGF0YVBhcnNlZFRvUHJvamVjdHMoKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNRdWVyeUluUHJvZ3Jlc3MsIHNldElzUXVlcnlJblByb2dyZXNzXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IGRlYm91bmNlZFNlYXJjaFZhbHVlID0gdXNlRGVib3VuY2Uoc2VhcmNoVmFsdWUsIFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUylcblxuICBjb25zdCBbcmVjZW50UHJvamVjdHNEYXRhLCBzZXRSZWNlbnRQcm9qZWN0c0RhdGFdID0gdXNlU3RhdGU8UHJvamVjdEdyYXBoUUxbXSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtsb2FkaW5nUmVjZW50UHJvamVjdHMsIHNldExvYWRpbmdSZWNlbnRQcm9qZWN0c10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3JlY2VudEVycm9yLCBzZXRSZWNlbnRFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBmZXRjaFJlY2VudFByb2plY3RzV2l0aExvYWRpbmcgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0TG9hZGluZyh0cnVlKVxuICAgIHNldEVycm9yKGZhbHNlKVxuICAgIHNldFJlY2VudEVycm9yKGZhbHNlKVxuICAgIHNldElzUXVlcnlJblByb2dyZXNzKHRydWUpXG4gICAgc2V0TG9hZGluZ1JlY2VudFByb2plY3RzKHRydWUpXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBtYWlhLlJlY2VudFByb2plY3RzLmdldFJlY2VudFByb2plY3RzKClcbiAgICAgIHNldFJlY2VudFByb2plY3RzRGF0YShBcnJheS5pc0FycmF5KGRhdGEpID8gZGF0YSA6IFtdKVxuICAgIH0gY2F0Y2gge1xuICAgICAgc2V0UmVjZW50RXJyb3IodHJ1ZSlcbiAgICAgIHNldFJlY2VudFByb2plY3RzRGF0YShudWxsKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRMb2FkaW5nUmVjZW50UHJvamVjdHMoZmFsc2UpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBbZmV0Y2hTZWFyY2hQcm9qZWN0cywgeyBkYXRhOiBzZWFyY2hEYXRhLCBsb2FkaW5nOiBsb2FkaW5nU2VhcmNoUHJvamVjdHMsIGVycm9yOiBzZWFyY2hFcnJvciB9XSA9XG4gICAgdXNlTGF6eVF1ZXJ5PFF1ZXJ5U2VhcmNoUHJvamVjdERhdGE+KFNFQVJDSF9QUk9KRUNUUywge1xuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGxpbWl0OiAyMCxcbiAgICAgIH0sXG4gICAgfSlcblxuICBjb25zdCBoYW5kbGVGZXRjaFNlYXJjaFByb2plY3RzID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBmZXRjaFNlYXJjaFByb2plY3RzKHsgdmFyaWFibGVzOiB7IHE6IHZhbHVlLCBmaWx0ZXJzOiBKU09OLnN0cmluZ2lmeShUWVBFX1BST0pFQ1QpIH0gfSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvYWRpbmdSZWNlbnRQcm9qZWN0cyB8fCBsb2FkaW5nU2VhcmNoUHJvamVjdHMpIHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgIH1cbiAgICBpZiAocmVjZW50RXJyb3IgfHwgc2VhcmNoRXJyb3IpIHtcbiAgICAgIHNldEVycm9yKHRydWUpXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0SXNRdWVyeUluUHJvZ3Jlc3MoZmFsc2UpXG4gICAgfVxuICB9LCBbc2VhcmNoRXJyb3IsIGxvYWRpbmdTZWFyY2hQcm9qZWN0cywgbG9hZGluZ1JlY2VudFByb2plY3RzLCByZWNlbnRFcnJvcl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxvYWRpbmdSZWNlbnRQcm9qZWN0cyAmJiAhbG9hZGluZ1NlYXJjaFByb2plY3RzICYmIGlzUXVlcnlJblByb2dyZXNzKSB7XG4gICAgICBzZXRJc1F1ZXJ5SW5Qcm9ncmVzcyhmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoc2VhcmNoRGF0YT8uc2VhcmNoICYmIGRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKSAmJiAhbG9hZGluZ1NlYXJjaFByb2plY3RzKSB7XG4gICAgICBjb25zdCBtYXBwZWRQcm9qZWN0cyA9IG1hcHBlclByb2plY3RzU2VhcmNoKHNlYXJjaERhdGEuc2VhcmNoKVxuICAgICAgc2V0dGVyRGF0YShtYXBwZWRQcm9qZWN0cywgZGVib3VuY2VkU2VhcmNoVmFsdWUpXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgfVxuICAgIGlmIChyZWNlbnRQcm9qZWN0c0RhdGEgIT09IG51bGwgJiYgIWRlYm91bmNlZFNlYXJjaFZhbHVlLnRyaW0oKSAmJiAhbG9hZGluZ1JlY2VudFByb2plY3RzICYmICFpc1F1ZXJ5SW5Qcm9ncmVzcykge1xuICAgICAgc2V0dGVyRGF0YShyZWNlbnRQcm9qZWN0c0RhdGEpXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0RXJyb3IoZmFsc2UpXG4gICAgfVxuICB9LCBbXG4gICAgc2VhcmNoRGF0YSxcbiAgICByZWNlbnRQcm9qZWN0c0RhdGEsXG4gICAgZGVib3VuY2VkU2VhcmNoVmFsdWUsXG4gICAgbG9hZGluZ1JlY2VudFByb2plY3RzLFxuICAgIGxvYWRpbmdTZWFyY2hQcm9qZWN0cyxcbiAgICBpc1F1ZXJ5SW5Qcm9ncmVzcyxcbiAgXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChkZWJvdW5jZWRTZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgIGhhbmRsZUZldGNoU2VhcmNoUHJvamVjdHMoZGVib3VuY2VkU2VhcmNoVmFsdWUpXG4gICAgfVxuICB9LCBbZGVib3VuY2VkU2VhcmNoVmFsdWUsIHJlY2VudFByb2plY3RzRGF0YV0pXG5cbiAgY29uc3QgdXBkYXRlU2VhcmNoVmFsdWUgPSAobmV3U2VhcmNoVmFsdWU6IHN0cmluZykgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKG5ld1NlYXJjaFZhbHVlKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmZXRjaFJlY2VudFByb2plY3RzOiBmZXRjaFJlY2VudFByb2plY3RzV2l0aExvYWRpbmcsXG4gICAgcmVjZW50UHJvamVjdHNMb2FkaW5nOiBsb2FkaW5nLFxuICAgIHJlY2VudFByb2plY3RzRXJyb3I6IGVycm9yLFxuICAgIHJlY2VudFByb2plY3RzOiBwcm9qZWN0cyxcbiAgICB1cGRhdGVTZWFyY2hWYWx1ZSxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxT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
|
|
208
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXp5UXVlcnkiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwibWFpYSIsIlNFQVJDSF9QUk9KRUNUUyIsIlNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyIsInVzZURlYm91bmNlIiwiVFlQRV9QUk9KRUNUIiwicHJvamVjdCIsImFyY2hpdmVkIiwibWFwcGVyUHJvamVjdHNTZWFyY2giLCJ2YWx1ZXMiLCJtYXAiLCJ2YWx1ZSIsIl92YWx1ZSRjbGllbnRJZCIsIl92YWx1ZSRmZWVJZCIsImlkIiwidGl0bGUiLCJjbGllbnROYW1lIiwicHJvZHVjdE5hbWUiLCJicmFuZE5hbWUiLCJpbmNvbWVUeXBlIiwiY2xpZW50SWQiLCJmZWVJZCIsIkRhdGFQYXJzZWRUb1Byb2plY3RzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwicHJvamVjdHMiLCJzZXRQcm9qZWN0cyIsInNldHRlckRhdGEiLCJhcmdzIiwic2VhcmNoVmFsdWUiLCJsZW5ndGgiLCJhcmciLCJfYXJnJGNsaWVudE5hbWUiLCJwcm9qZWN0TmFtZSIsInRpdGxlSGlnaGxpZ2h0IiwidG9Mb2NhbGVMb3dlckNhc2UiLCJpbmNsdWRlcyIsInRleHRJbmRleCIsInRvTG93ZXJDYXNlIiwiaW5kZXhPZiIsInN0YXJ0IiwiX29iamVjdFNwcmVhZCIsIm5hbWUiLCJjbGllbnQiLCJ1c2VQcm9qZWN0U2VhcmNoIiwiX0RhdGFQYXJzZWRUb1Byb2plY3RzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZXJyb3IiLCJzZXRFcnJvciIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2V0U2VhcmNoVmFsdWUiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsImlzUXVlcnlJblByb2dyZXNzIiwic2V0SXNRdWVyeUluUHJvZ3Jlc3MiLCJkZWJvdW5jZWRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsInJlY2VudFByb2plY3RzRGF0YSIsInNldFJlY2VudFByb2plY3RzRGF0YSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJsb2FkaW5nUmVjZW50UHJvamVjdHMiLCJzZXRMb2FkaW5nUmVjZW50UHJvamVjdHMiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwicmVjZW50RXJyb3IiLCJzZXRSZWNlbnRFcnJvciIsImZldGNoUmVjZW50UHJvamVjdHNXaXRoTG9hZGluZyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiZGF0YSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJSZWNlbnRQcm9qZWN0cyIsImdldFJlY2VudFByb2plY3RzIiwiY29yRXZlbnRzIiwic2VudCIsIkFycmF5IiwiaXNBcnJheSIsImZpbmlzaCIsInN0b3AiLCJfdXNlTGF6eVF1ZXJ5IiwidmFyaWFibGVzIiwibGltaXQiLCJfdXNlTGF6eVF1ZXJ5MiIsImZldGNoU2VhcmNoUHJvamVjdHMiLCJfdXNlTGF6eVF1ZXJ5MiQiLCJzZWFyY2hEYXRhIiwibG9hZGluZ1NlYXJjaFByb2plY3RzIiwic2VhcmNoRXJyb3IiLCJoYW5kbGVGZXRjaFNlYXJjaFByb2plY3RzIiwicSIsImZpbHRlcnMiLCJKU09OIiwic3RyaW5naWZ5Iiwic2VhcmNoIiwidHJpbSIsIm1hcHBlZFByb2plY3RzIiwidXBkYXRlU2VhcmNoVmFsdWUiLCJuZXdTZWFyY2hWYWx1ZSIsImZldGNoUmVjZW50UHJvamVjdHMiLCJyZWNlbnRQcm9qZWN0c0xvYWRpbmciLCJyZWNlbnRQcm9qZWN0c0Vycm9yIiwicmVjZW50UHJvamVjdHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlUHJvamVjdFNlYXJjaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VMYXp5UXVlcnkgfSBmcm9tICdAYXBvbGxvL2NsaWVudCdcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgbWFpYSBmcm9tICcuLi9zZXJ2aWNlcy9tYWlhJ1xuaW1wb3J0IHsgU0VBUkNIX1BST0pFQ1RTIH0gZnJvbSAnLi4vc2VydmljZXMvcXVlcnkvcHJvamVjdFNlYXJjaEJ5VmFsdWVRdWVyeSdcbmltcG9ydCB7IFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUyB9IGZyb20gJy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VEZWJvdW5jZSB9IGZyb20gJy4vdXNlRGVib3VuY2UnXG5cbmV4cG9ydCB0eXBlIFByb2plY3RHcmFwaFFMID0ge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyXG4gIHRpdGxlOiBzdHJpbmdcbiAgY2xpZW50TmFtZT86IHN0cmluZyB8IG51bGxcbiAgcHJvZHVjdE5hbWU/OiBzdHJpbmdcbiAgYnJhbmROYW1lPzogc3RyaW5nXG4gIGluY29tZVR5cGU/OiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGZlZUlkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgdHlwZSBQcm9qZWN0U2V0dGVyID0ge1xuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIC8qKiBSYW5nbyBkZWwgdMOpcm1pbm8gYnVzY2FkbyBkZW50cm8gZGUgYHRpdGxlYCAoc29sbyByZXN1bHRhZG9zIGRlIGLDunNxdWVkYSkgKi9cbiAgdGl0bGVIaWdobGlnaHQ/OiB7IHN0YXJ0OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyIH1cbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGZlZUlkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxuICBjbGllbnQ/OiB7XG4gICAgbmFtZTogc3RyaW5nIHwgbnVsbFxuICB9XG4gIHByb2R1Y3ROYW1lPzogc3RyaW5nXG4gIGJyYW5kTmFtZT86IHN0cmluZ1xuICBpbmNvbWVUeXBlPzogc3RyaW5nXG59XG5cbnR5cGUgUHJvamVjdFNlYXJjaFJlc3VsdCA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICB0aXRsZTogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICBjbGllbnRJZD86IG51bWJlciB8IHN0cmluZyB8IG51bGxcbiAgZmVlSWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsXG4gIGNsaWVudE5hbWU6IHN0cmluZ1xuICBicmFuZE5hbWU6IHN0cmluZ1xuICBwcm9kdWN0TmFtZTogc3RyaW5nXG4gIHByb2plY3ROYW1lOiBzdHJpbmdcbiAgc3RhdHVzOiBzdHJpbmdcbiAgZGVhZGxpbmU6IHN0cmluZ1xuICBkYXRldGltZTogc3RyaW5nXG4gIGFyY2hpdmVkOiBib29sZWFuXG4gIF9fdHlwZW5hbWU6IHN0cmluZ1xufVxuXG50eXBlIFF1ZXJ5U2VhcmNoUHJvamVjdERhdGEgPSB7IHNlYXJjaDogUHJvamVjdFNlYXJjaFJlc3VsdFtdIHwgbnVsbCB9XG5cbmNvbnN0IFRZUEVfUFJPSkVDVCA9IHsgcHJvamVjdDogJ3RydWUnLCBhcmNoaXZlZDogJ2FsbCcgfVxuXG5jb25zdCBtYXBwZXJQcm9qZWN0c1NlYXJjaCA9ICh2YWx1ZXM6IFByb2plY3RTZWFyY2hSZXN1bHRbXSk6IFByb2plY3RHcmFwaFFMW10gPT4ge1xuICByZXR1cm4gdmFsdWVzPy5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdmFsdWUuaWQsXG4gICAgdGl0bGU6IHZhbHVlLnRpdGxlLFxuICAgIGNsaWVudE5hbWU6IHZhbHVlLmNsaWVudE5hbWUsXG4gICAgcHJvZHVjdE5hbWU6IHZhbHVlLnByb2R1Y3ROYW1lLFxuICAgIGJyYW5kTmFtZTogdmFsdWUuYnJhbmROYW1lLFxuICAgIGluY29tZVR5cGU6ICcnLFxuICAgIGNsaWVudElkOiB2YWx1ZS5jbGllbnRJZCA/PyBudWxsLFxuICAgIGZlZUlkOiB2YWx1ZS5mZWVJZCA/PyBudWxsLFxuICB9KSlcbn1cblxuZXhwb3J0IGNvbnN0IERhdGFQYXJzZWRUb1Byb2plY3RzID0gKCkgPT4ge1xuICBjb25zdCBbcHJvamVjdHMsIHNldFByb2plY3RzXSA9IHVzZVN0YXRlPFByb2plY3RTZXR0ZXJbXT4oW10pXG4gIGNvbnN0IHNldHRlckRhdGEgPSAoYXJnczogUHJvamVjdEdyYXBoUUxbXSwgc2VhcmNoVmFsdWU/OiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIWFyZ3MubGVuZ3RoKSB7XG4gICAgICBzZXRQcm9qZWN0cyhbXSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0UHJvamVjdHMoXG4gICAgICAgIGFyZ3MubWFwKGFyZyA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvamVjdE5hbWUgPSBhcmcudGl0bGUgfHwgJydcbiAgICAgICAgICBsZXQgdGl0bGVIaWdobGlnaHQ6IHsgc3RhcnQ6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXIgfSB8IHVuZGVmaW5lZFxuICAgICAgICAgIGlmIChzZWFyY2hWYWx1ZSAmJiBwcm9qZWN0TmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0SW5kZXggPSBwcm9qZWN0TmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIHRpdGxlSGlnaGxpZ2h0ID0geyBzdGFydDogdGV4dEluZGV4LCBsZW5ndGg6IHNlYXJjaFZhbHVlLmxlbmd0aCB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogYXJnLmlkLFxuICAgICAgICAgICAgbmFtZTogYXJnLnRpdGxlLFxuICAgICAgICAgICAgdGl0bGU6IHByb2plY3ROYW1lLFxuICAgICAgICAgICAgLi4uKHRpdGxlSGlnaGxpZ2h0ICYmIHsgdGl0bGVIaWdobGlnaHQgfSksXG4gICAgICAgICAgICAuLi4oYXJnLmNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkOiBhcmcuY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihhcmcuZmVlSWQgIT0gbnVsbCA/IHsgZmVlSWQ6IGFyZy5mZWVJZCB9IDoge30pLFxuICAgICAgICAgICAgY2xpZW50OiB7XG4gICAgICAgICAgICAgIG5hbWU6IGFyZy5jbGllbnROYW1lID8/IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJvZHVjdE5hbWU6IGFyZy5wcm9kdWN0TmFtZSB8fCAnJyxcbiAgICAgICAgICAgIGJyYW5kTmFtZTogYXJnLmJyYW5kTmFtZSB8fCAnJyxcbiAgICAgICAgICAgIGluY29tZVR5cGU6IGFyZy5pbmNvbWVUeXBlIHx8ICcnLFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgcHJvamVjdHMsIHNldHRlckRhdGEgfVxufVxuXG5leHBvcnQgY29uc3QgdXNlUHJvamVjdFNlYXJjaCA9ICgpID0+IHtcbiAgY29uc3QgeyBwcm9qZWN0cywgc2V0dGVyRGF0YSB9ID0gRGF0YVBhcnNlZFRvUHJvamVjdHMoKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNRdWVyeUluUHJvZ3Jlc3MsIHNldElzUXVlcnlJblByb2dyZXNzXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IGRlYm91bmNlZFNlYXJjaFZhbHVlID0gdXNlRGVib3VuY2Uoc2VhcmNoVmFsdWUsIFNFQVJDSF9RVUVSWV9ERUJPVU5DRV9NUylcblxuICBjb25zdCBbcmVjZW50UHJvamVjdHNEYXRhLCBzZXRSZWNlbnRQcm9qZWN0c0RhdGFdID0gdXNlU3RhdGU8UHJvamVjdEdyYXBoUUxbXSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtsb2FkaW5nUmVjZW50UHJvamVjdHMsIHNldExvYWRpbmdSZWNlbnRQcm9qZWN0c10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3JlY2VudEVycm9yLCBzZXRSZWNlbnRFcnJvcl0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBmZXRjaFJlY2VudFByb2plY3RzV2l0aExvYWRpbmcgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0TG9hZGluZyh0cnVlKVxuICAgIHNldEVycm9yKGZhbHNlKVxuICAgIHNldFJlY2VudEVycm9yKGZhbHNlKVxuICAgIHNldElzUXVlcnlJblByb2dyZXNzKHRydWUpXG4gICAgc2V0TG9hZGluZ1JlY2VudFByb2plY3RzKHRydWUpXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBtYWlhLlJlY2VudFByb2plY3RzLmdldFJlY2VudFByb2plY3RzKHsgY29yRXZlbnRzOiB0cnVlIH0pXG4gICAgICBzZXRSZWNlbnRQcm9qZWN0c0RhdGEoQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEgOiBbXSlcbiAgICB9IGNhdGNoIHtcbiAgICAgIHNldFJlY2VudEVycm9yKHRydWUpXG4gICAgICBzZXRSZWNlbnRQcm9qZWN0c0RhdGEobnVsbClcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZ1JlY2VudFByb2plY3RzKGZhbHNlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgW2ZldGNoU2VhcmNoUHJvamVjdHMsIHsgZGF0YTogc2VhcmNoRGF0YSwgbG9hZGluZzogbG9hZGluZ1NlYXJjaFByb2plY3RzLCBlcnJvcjogc2VhcmNoRXJyb3IgfV0gPVxuICAgIHVzZUxhenlRdWVyeTxRdWVyeVNlYXJjaFByb2plY3REYXRhPihTRUFSQ0hfUFJPSkVDVFMsIHtcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBsaW1pdDogMjAsXG4gICAgICB9LFxuICAgIH0pXG5cbiAgY29uc3QgaGFuZGxlRmV0Y2hTZWFyY2hQcm9qZWN0cyA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgZmV0Y2hTZWFyY2hQcm9qZWN0cyh7IHZhcmlhYmxlczogeyBxOiB2YWx1ZSwgZmlsdGVyczogSlNPTi5zdHJpbmdpZnkoVFlQRV9QUk9KRUNUKSB9IH0pXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsb2FkaW5nUmVjZW50UHJvamVjdHMgfHwgbG9hZGluZ1NlYXJjaFByb2plY3RzKSB7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB9XG4gICAgaWYgKHJlY2VudEVycm9yIHx8IHNlYXJjaEVycm9yKSB7XG4gICAgICBzZXRFcnJvcih0cnVlKVxuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIHNldElzUXVlcnlJblByb2dyZXNzKGZhbHNlKVxuICAgIH1cbiAgfSwgW3NlYXJjaEVycm9yLCBsb2FkaW5nU2VhcmNoUHJvamVjdHMsIGxvYWRpbmdSZWNlbnRQcm9qZWN0cywgcmVjZW50RXJyb3JdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFsb2FkaW5nUmVjZW50UHJvamVjdHMgJiYgIWxvYWRpbmdTZWFyY2hQcm9qZWN0cyAmJiBpc1F1ZXJ5SW5Qcm9ncmVzcykge1xuICAgICAgc2V0SXNRdWVyeUluUHJvZ3Jlc3MoZmFsc2UpXG4gICAgfVxuXG4gICAgaWYgKHNlYXJjaERhdGE/LnNlYXJjaCAmJiBkZWJvdW5jZWRTZWFyY2hWYWx1ZS50cmltKCkgJiYgIWxvYWRpbmdTZWFyY2hQcm9qZWN0cykge1xuICAgICAgY29uc3QgbWFwcGVkUHJvamVjdHMgPSBtYXBwZXJQcm9qZWN0c1NlYXJjaChzZWFyY2hEYXRhLnNlYXJjaClcbiAgICAgIHNldHRlckRhdGEobWFwcGVkUHJvamVjdHMsIGRlYm91bmNlZFNlYXJjaFZhbHVlKVxuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgIH1cbiAgICBpZiAocmVjZW50UHJvamVjdHNEYXRhICE9PSBudWxsICYmICFkZWJvdW5jZWRTZWFyY2hWYWx1ZS50cmltKCkgJiYgIWxvYWRpbmdSZWNlbnRQcm9qZWN0cyAmJiAhaXNRdWVyeUluUHJvZ3Jlc3MpIHtcbiAgICAgIHNldHRlckRhdGEocmVjZW50UHJvamVjdHNEYXRhKVxuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIHNldEVycm9yKGZhbHNlKVxuICAgIH1cbiAgfSwgW1xuICAgIHNlYXJjaERhdGEsXG4gICAgcmVjZW50UHJvamVjdHNEYXRhLFxuICAgIGRlYm91bmNlZFNlYXJjaFZhbHVlLFxuICAgIGxvYWRpbmdSZWNlbnRQcm9qZWN0cyxcbiAgICBsb2FkaW5nU2VhcmNoUHJvamVjdHMsXG4gICAgaXNRdWVyeUluUHJvZ3Jlc3MsXG4gIF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZGVib3VuY2VkU2VhcmNoVmFsdWUudHJpbSgpKSB7XG4gICAgICBoYW5kbGVGZXRjaFNlYXJjaFByb2plY3RzKGRlYm91bmNlZFNlYXJjaFZhbHVlKVxuICAgIH1cbiAgfSwgW2RlYm91bmNlZFNlYXJjaFZhbHVlLCByZWNlbnRQcm9qZWN0c0RhdGFdKVxuXG4gIGNvbnN0IHVwZGF0ZVNlYXJjaFZhbHVlID0gKG5ld1NlYXJjaFZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRTZWFyY2hWYWx1ZShuZXdTZWFyY2hWYWx1ZSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZmV0Y2hSZWNlbnRQcm9qZWN0czogZmV0Y2hSZWNlbnRQcm9qZWN0c1dpdGhMb2FkaW5nLFxuICAgIHJlY2VudFByb2plY3RzTG9hZGluZzogbG9hZGluZyxcbiAgICByZWNlbnRQcm9qZWN0c0Vycm9yOiBlcnJvcixcbiAgICByZWNlbnRQcm9qZWN0czogcHJvamVjdHMsXG4gICAgdXBkYXRlU2VhcmNoVmFsdWUsXG4gIH1c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
|
|
@@ -5,12 +5,16 @@ import { fetchMaia } from '../client';
|
|
|
5
5
|
/** Formato de respuesta del API: { data: Array<{ id, title, clientId, feeId, clientName }> } */
|
|
6
6
|
|
|
7
7
|
var buildPath = function buildPath(opts) {
|
|
8
|
+
var params = new URLSearchParams();
|
|
8
9
|
var clientId = opts === null || opts === void 0 ? void 0 : opts.clientId;
|
|
9
|
-
if (clientId
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
if (clientId !== null && clientId !== undefined && clientId !== '') {
|
|
11
|
+
params.set('clientId', String(clientId));
|
|
12
|
+
}
|
|
13
|
+
if (opts !== null && opts !== void 0 && opts.corEvents) {
|
|
14
|
+
params.set('cor-events', 'true');
|
|
15
|
+
}
|
|
16
|
+
var qs = params.toString();
|
|
17
|
+
return qs ? "recent-projects?".concat(qs) : 'recent-projects';
|
|
14
18
|
};
|
|
15
19
|
export var getRecentProjects = /*#__PURE__*/function () {
|
|
16
20
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(opts) {
|
|
@@ -48,4 +52,4 @@ export var getRecentProjects = /*#__PURE__*/function () {
|
|
|
48
52
|
return _ref.apply(this, arguments);
|
|
49
53
|
};
|
|
50
54
|
}();
|
|
51
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJidWlsZFBhdGgiLCJvcHRzIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiY2xpZW50SWQiLCJ1bmRlZmluZWQiLCJzZXQiLCJTdHJpbmciLCJjb3JFdmVudHMiLCJxcyIsInRvU3RyaW5nIiwiY29uY2F0IiwiZ2V0UmVjZW50UHJvamVjdHMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfcmVmMiIsIl9qc29uJGRhdGEiLCJyZXNwb25zZSIsImpzb24iLCJpdGVtcyIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwicGF0aCIsIm1ldGhvZCIsInNlbnQiLCJvayIsIkVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiZGF0YSIsInByb2plY3RzIiwiYWJydXB0Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9SZWNlbnRQcm9qZWN0cy9nZXRSZWNlbnRQcm9qZWN0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5cbi8qKiBGb3JtYXRvIGRlIHJlc3B1ZXN0YSBkZWwgQVBJOiB7IGRhdGE6IEFycmF5PHsgaWQsIHRpdGxlLCBjbGllbnRJZCwgZmVlSWQsIGNsaWVudE5hbWUgfT4gfSAqL1xuZXhwb3J0IHR5cGUgUmVjZW50UHJvamVjdEl0ZW0gPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgdGl0bGU6IHN0cmluZ1xuICBjbGllbnRJZD86IHN0cmluZyB8IG51bWJlciB8IG51bGxcbiAgZmVlSWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsXG4gIGNsaWVudE5hbWU/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIEdldFJlY2VudFByb2plY3RzT3B0aW9ucyA9IHtcbiAgLyoqIEZpbHRyYSBsb3MgcmVjZW50cyBwb3IgY2xpZW50LiBTaSBlbCBiYWNrZW5kIG5vIGxvIHNvcG9ydGEgbG8gaWdub3JhIHkgZGV2dWVsdmUgcmVjZW50cyBnbG9iYWxlcy4gKi9cbiAgY2xpZW50SWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsXG4gIC8qKiBJbmNsdXllIGV2ZW50b3MgQ09SIGVuIGxhIHJlc3B1ZXN0YSAoc29sbyBidXNjYWRvciBkZSBwcm95ZWN0b3MgZGVsIGNoYXQpLiAqL1xuICBjb3JFdmVudHM/OiBib29sZWFuXG59XG5cbmNvbnN0IGJ1aWxkUGF0aCA9IChvcHRzPzogR2V0UmVjZW50UHJvamVjdHNPcHRpb25zKSA9PiB7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICBjb25zdCBjbGllbnRJZCA9IG9wdHM/LmNsaWVudElkXG4gIGlmIChjbGllbnRJZCAhPT0gbnVsbCAmJiBjbGllbnRJZCAhPT0gdW5kZWZpbmVkICYmIGNsaWVudElkICE9PSAnJykge1xuICAgIHBhcmFtcy5zZXQoJ2NsaWVudElkJywgU3RyaW5nKGNsaWVudElkKSlcbiAgfVxuICBpZiAob3B0cz8uY29yRXZlbnRzKSB7XG4gICAgcGFyYW1zLnNldCgnY29yLWV2ZW50cycsICd0cnVlJylcbiAgfVxuICBjb25zdCBxcyA9IHBhcmFtcy50b1N0cmluZygpXG4gIHJldHVybiBxcyA/IGByZWNlbnQtcHJvamVjdHM/JHtxc31gIDogJ3JlY2VudC1wcm9qZWN0cydcbn1cblxuZXhwb3J0IGNvbnN0IGdldFJlY2VudFByb2plY3RzID0gYXN5bmMgKG9wdHM/OiBHZXRSZWNlbnRQcm9qZWN0c09wdGlvbnMpOiBQcm9taXNlPFJlY2VudFByb2plY3RJdGVtW10+ID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6IGJ1aWxkUGF0aChvcHRzKSxcbiAgICBtZXRob2Q6ICdHRVQnLFxuICB9KVxuXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCBmZXRjaGluZyByZWNlbnQgcHJvamVjdHMnKVxuICB9XG5cbiAgY29uc3QganNvbiA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICBjb25zdCBpdGVtcyA9IEFycmF5LmlzQXJyYXkoanNvbikgPyBqc29uIDogKGpzb24/LmRhdGEgPz8ganNvbj8ucHJvamVjdHMgPz8gW10pXG4gIHJldHVybiBpdGVtc1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsUUFBUSxXQUFXOztBQUVyQzs7QUFnQkEsSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUlDLElBQStCLEVBQUs7RUFDckQsSUFBTUMsTUFBTSxHQUFHLElBQUlDLGVBQWUsQ0FBQyxDQUFDO0VBQ3BDLElBQU1DLFFBQVEsR0FBR0gsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVHLFFBQVE7RUFDL0IsSUFBSUEsUUFBUSxLQUFLLElBQUksSUFBSUEsUUFBUSxLQUFLQyxTQUFTLElBQUlELFFBQVEsS0FBSyxFQUFFLEVBQUU7SUFDbEVGLE1BQU0sQ0FBQ0ksR0FBRyxDQUFDLFVBQVUsRUFBRUMsTUFBTSxDQUFDSCxRQUFRLENBQUMsQ0FBQztFQUMxQztFQUNBLElBQUlILElBQUksYUFBSkEsSUFBSSxlQUFKQSxJQUFJLENBQUVPLFNBQVMsRUFBRTtJQUNuQk4sTUFBTSxDQUFDSSxHQUFHLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQztFQUNsQztFQUNBLElBQU1HLEVBQUUsR0FBR1AsTUFBTSxDQUFDUSxRQUFRLENBQUMsQ0FBQztFQUM1QixPQUFPRCxFQUFFLHNCQUFBRSxNQUFBLENBQXNCRixFQUFFLElBQUssaUJBQWlCO0FBQ3pELENBQUM7QUFFRCxPQUFPLElBQU1HLGlCQUFpQjtFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9oQixJQUErQjtJQUFBLElBQUFpQixLQUFBLEVBQUFDLFVBQUE7SUFBQSxJQUFBQyxRQUFBLEVBQUFDLElBQUEsRUFBQUMsS0FBQTtJQUFBLE9BQUFQLG1CQUFBLENBQUFRLElBQUEsV0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1FBQUE7VUFBQUYsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FDOUMzQixTQUFTLENBQUM7WUFDL0I0QixJQUFJLEVBQUUzQixTQUFTLENBQUNDLElBQUksQ0FBQztZQUNyQjJCLE1BQU0sRUFBRTtVQUNWLENBQUMsQ0FBQztRQUFBO1VBSElSLFFBQVEsR0FBQUksUUFBQSxDQUFBSyxJQUFBO1VBQUEsSUFLVFQsUUFBUSxDQUFDVSxFQUFFO1lBQUFOLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQSxNQUNSLElBQUlLLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztRQUFBO1VBQUFQLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BR2pDTixRQUFRLENBQUNDLElBQUksQ0FBQyxDQUFDO1FBQUE7VUFBNUJBLElBQUksR0FBQUcsUUFBQSxDQUFBSyxJQUFBO1VBQ0pQLEtBQUssR0FBR1UsS0FBSyxDQUFDQyxPQUFPLENBQUNaLElBQUksQ0FBQyxHQUFHQSxJQUFJLElBQUFILEtBQUEsSUFBQUMsVUFBQSxHQUFJRSxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRWEsSUFBSSxjQUFBZixVQUFBLGNBQUFBLFVBQUEsR0FBSUUsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVjLFFBQVEsY0FBQWpCLEtBQUEsY0FBQUEsS0FBQSxHQUFJLEVBQUc7VUFBQSxPQUFBTSxRQUFBLENBQUFZLE1BQUEsV0FDeEVkLEtBQUs7UUFBQTtRQUFBO1VBQUEsT0FBQUUsUUFBQSxDQUFBYSxJQUFBO01BQUE7SUFBQSxHQUFBcEIsT0FBQTtFQUFBLENBQ2I7RUFBQSxnQkFiWUwsaUJBQWlCQSxDQUFBMEIsRUFBQTtJQUFBLE9BQUF6QixJQUFBLENBQUEwQixLQUFBLE9BQUFDLFNBQUE7RUFBQTtBQUFBLEdBYTdCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -20,4 +20,11 @@ export var parseSlashCommandMarkers = function parseSlashCommandMarkers(text) {
|
|
|
20
20
|
}
|
|
21
21
|
return out;
|
|
22
22
|
};
|
|
23
|
-
|
|
23
|
+
export var quickActionTitleToType = function quickActionTitleToType(id, title) {
|
|
24
|
+
var words = title.toLowerCase().replace(/[^a-z0-9\s]+/g, ' ').split(/\s+/).filter(Boolean);
|
|
25
|
+
if (words.length === 0) return id;
|
|
26
|
+
return words.map(function (word, i) {
|
|
27
|
+
return i === 0 ? word : "".concat(word.charAt(0).toUpperCase()).concat(word.slice(1));
|
|
28
|
+
}).join('');
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTTEFTSF9DT01NQU5EX01BUktFUl9SRUdFWCIsInNlcmlhbGl6ZVNsYXNoQ29tbWFuZCIsIm1hcmtlciIsImNvbmNhdCIsImlkIiwibGFiZWwiLCJoYXNTbGFzaENvbW1hbmRNYXJrZXIiLCJ0ZXh0IiwiaW5jbHVkZXMiLCJwYXJzZVNsYXNoQ29tbWFuZE1hcmtlcnMiLCJvdXQiLCJyZWdleCIsIlJlZ0V4cCIsInNvdXJjZSIsIm1hdGNoIiwiZXhlYyIsInB1c2giLCJxdWlja0FjdGlvblRpdGxlVG9UeXBlIiwidGl0bGUiLCJ3b3JkcyIsInRvTG93ZXJDYXNlIiwicmVwbGFjZSIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImxlbmd0aCIsIm1hcCIsIndvcmQiLCJpIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImpvaW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc2xhc2hDb21tYW5kTWFya2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNsYXNoQ29tbWFuZE1hcmtlciA9IHtcbiAgaWQ6IHN0cmluZ1xuICBsYWJlbDogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBTTEFTSF9DT01NQU5EX01BUktFUl9SRUdFWCA9IC9cXFtcXFtzbGFzaF9jb21tYW5kOihbXnxcXF1dKylcXHwoW1xcc1xcU10qPylcXF1cXF0vZ1xuXG5leHBvcnQgY29uc3Qgc2VyaWFsaXplU2xhc2hDb21tYW5kID0gKG1hcmtlcjogU2xhc2hDb21tYW5kTWFya2VyKTogc3RyaW5nID0+XG4gIGBbW3NsYXNoX2NvbW1hbmQ6JHttYXJrZXIuaWR9fCR7bWFya2VyLmxhYmVsfV1dYFxuXG5leHBvcnQgY29uc3QgaGFzU2xhc2hDb21tYW5kTWFya2VyID0gKHRleHQ6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBpZiAoIXRleHQpIHJldHVybiBmYWxzZVxuICByZXR1cm4gdGV4dC5pbmNsdWRlcygnW1tzbGFzaF9jb21tYW5kOicpXG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVNsYXNoQ29tbWFuZE1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogU2xhc2hDb21tYW5kTWFya2VyW10gPT4ge1xuICBpZiAoIWhhc1NsYXNoQ29tbWFuZE1hcmtlcih0ZXh0KSkgcmV0dXJuIFtdXG4gIGNvbnN0IG91dDogU2xhc2hDb21tYW5kTWFya2VyW10gPSBbXVxuICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVguc291cmNlLCAnZycpXG4gIGxldCBtYXRjaDogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCA9IHJlZ2V4LmV4ZWModGV4dClcbiAgd2hpbGUgKG1hdGNoKSB7XG4gICAgb3V0LnB1c2goeyBpZDogbWF0Y2hbMV0sIGxhYmVsOiBtYXRjaFsyXSB9KVxuICAgIG1hdGNoID0gcmVnZXguZXhlYyh0ZXh0KVxuICB9XG4gIHJldHVybiBvdXRcbn1cblxuZXhwb3J0IGNvbnN0IHF1aWNrQWN0aW9uVGl0bGVUb1R5cGUgPSAoaWQ6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHdvcmRzID0gdGl0bGVcbiAgICAudG9Mb3dlckNhc2UoKVxuICAgIC5yZXBsYWNlKC9bXmEtejAtOVxcc10rL2csICcgJylcbiAgICAuc3BsaXQoL1xccysvKVxuICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgaWYgKHdvcmRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGlkXG4gIHJldHVybiB3b3Jkcy5tYXAoKHdvcmQsIGkpID0+IChpID09PSAwID8gd29yZCA6IGAke3dvcmQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHt3b3JkLnNsaWNlKDEpfWApKS5qb2luKCcnKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLElBQU1BLDBCQUEwQixHQUFHLDhDQUE4QztBQUV4RixPQUFPLElBQU1DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUlDLE1BQTBCO0VBQUEsMEJBQUFDLE1BQUEsQ0FDM0NELE1BQU0sQ0FBQ0UsRUFBRSxPQUFBRCxNQUFBLENBQUlELE1BQU0sQ0FBQ0csS0FBSztBQUFBLENBQUk7QUFFbEQsT0FBTyxJQUFNQyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFJQyxJQUFZLEVBQWM7RUFDOUQsSUFBSSxDQUFDQSxJQUFJLEVBQUUsT0FBTyxLQUFLO0VBQ3ZCLE9BQU9BLElBQUksQ0FBQ0MsUUFBUSxDQUFDLGtCQUFrQixDQUFDO0FBQzFDLENBQUM7QUFFRCxPQUFPLElBQU1DLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUlGLElBQVksRUFBMkI7RUFDOUUsSUFBSSxDQUFDRCxxQkFBcUIsQ0FBQ0MsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFO0VBQzNDLElBQU1HLEdBQXlCLEdBQUcsRUFBRTtFQUNwQyxJQUFNQyxLQUFLLEdBQUcsSUFBSUMsTUFBTSxDQUFDWiwwQkFBMEIsQ0FBQ2EsTUFBTSxFQUFFLEdBQUcsQ0FBQztFQUNoRSxJQUFJQyxLQUE2QixHQUFHSCxLQUFLLENBQUNJLElBQUksQ0FBQ1IsSUFBSSxDQUFDO0VBQ3BELE9BQU9PLEtBQUssRUFBRTtJQUNaSixHQUFHLENBQUNNLElBQUksQ0FBQztNQUFFWixFQUFFLEVBQUVVLEtBQUssQ0FBQyxDQUFDLENBQUM7TUFBRVQsS0FBSyxFQUFFUyxLQUFLLENBQUMsQ0FBQztJQUFFLENBQUMsQ0FBQztJQUMzQ0EsS0FBSyxHQUFHSCxLQUFLLENBQUNJLElBQUksQ0FBQ1IsSUFBSSxDQUFDO0VBQzFCO0VBQ0EsT0FBT0csR0FBRztBQUNaLENBQUM7QUFFRCxPQUFPLElBQU1PLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBc0JBLENBQUliLEVBQVUsRUFBRWMsS0FBYSxFQUFhO0VBQzNFLElBQU1DLEtBQUssR0FBR0QsS0FBSyxDQUNoQkUsV0FBVyxDQUFDLENBQUMsQ0FDYkMsT0FBTyxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FDN0JDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDWkMsTUFBTSxDQUFDQyxPQUFPLENBQUM7RUFDbEIsSUFBSUwsS0FBSyxDQUFDTSxNQUFNLEtBQUssQ0FBQyxFQUFFLE9BQU9yQixFQUFFO0VBQ2pDLE9BQU9lLEtBQUssQ0FBQ08sR0FBRyxDQUFDLFVBQUNDLElBQUksRUFBRUMsQ0FBQztJQUFBLE9BQU1BLENBQUMsS0FBSyxDQUFDLEdBQUdELElBQUksTUFBQXhCLE1BQUEsQ0FBTXdCLElBQUksQ0FBQ0UsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDQyxXQUFXLENBQUMsQ0FBQyxFQUFBM0IsTUFBQSxDQUFHd0IsSUFBSSxDQUFDSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUU7RUFBQSxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUM5RyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|