@projectcor/maia-components 2.11.31 → 2.11.32-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/icons/MaiaChatLayoutMenuIcon.js +33 -0
- package/lib/components/atoms/icons/index.js +2 -1
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +178 -165
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +196 -61
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +28 -15
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +91 -18
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +17 -2
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +16 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +12 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
- package/lib/components/molecules/ChatAIModal/layout.js +35 -0
- package/lib/hooks/useChatManager/useChatManager.js +78 -16
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +139 -70
- package/lib/hooks/useSmoothStreamText/index.js +2 -0
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +189 -0
- package/lib/hooks/useStreamingMessage/index.js +3 -0
- package/lib/hooks/useStreamingMessage/streamingStore.js +69 -0
- package/lib/hooks/useStreamingMessage/useStreamingMessage.js +22 -0
- package/lib/lang/br/index.js +5 -1
- package/lib/lang/en/index.js +5 -1
- package/lib/lang/es/index.js +5 -1
- package/lib/lang/fr/index.js +5 -1
- package/package.json +1 -1
|
@@ -1,31 +1,44 @@
|
|
|
1
|
-
import styled from 'styled-components';
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { MAIA_FLOATING_BREAKPOINT_LARGE, MAIA_FLOATING_BREAKPOINT_XXL, MAIA_FLOATING_PANEL_HEIGHT_PX, MAIA_FLOATING_PANEL_WIDTH_PX } from './layout';
|
|
2
3
|
export var SCCAIMWrapper = styled.div.withConfig({
|
|
3
4
|
displayName: "ChatAIModalstyles__SCCAIMWrapper",
|
|
4
5
|
componentId: "sc-7bgzxb-0"
|
|
5
|
-
})(["
|
|
6
|
+
})(["box-sizing:border-box;z-index:1099;height:100vh;display:flex;justify-content:flex-end;align-items:center;position:fixed;padding:16px;top:0;right:0;transition:width 0.1s ease-out-in;", " ", ""], function (_ref) {
|
|
6
7
|
var expanded = _ref.expanded;
|
|
7
|
-
return expanded
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
return expanded && css(["left:0;right:0;width:100%;max-width:100vw;"]);
|
|
9
|
+
}, function (_ref2) {
|
|
10
|
+
var layoutMode = _ref2.layoutMode,
|
|
11
|
+
dragPosition = _ref2.dragPosition,
|
|
12
|
+
expanded = _ref2.expanded;
|
|
13
|
+
return layoutMode === 'floating' && dragPosition && !expanded && css(["top:", "px;left:", "px;right:auto;padding:0;width:auto;height:auto;max-height:none;align-items:flex-start;justify-content:flex-start;transition:none;"], dragPosition.y, dragPosition.x);
|
|
10
14
|
});
|
|
11
15
|
export var SCCAIMContentWrapper = styled.div.withConfig({
|
|
12
16
|
displayName: "ChatAIModalstyles__SCCAIMContentWrapper",
|
|
13
17
|
componentId: "sc-7bgzxb-1"
|
|
14
|
-
})(["height:100%;display:flex;border-radius:8px;box-shadow:0px 4px 16px rgba(18,18,18,0.24);font-family:Work Sans;transition:
|
|
15
|
-
var expanded =
|
|
18
|
+
})(["height:100%;display:flex;border-radius:8px;box-shadow:0px 4px 16px rgba(18,18,18,0.24);font-family:Work Sans;transition:width 0.1s ease-out-in;", " ", ""], function (_ref3) {
|
|
19
|
+
var expanded = _ref3.expanded;
|
|
16
20
|
return expanded ? {
|
|
17
21
|
width: '100%'
|
|
18
22
|
} : {};
|
|
23
|
+
}, function (_ref4) {
|
|
24
|
+
var floating = _ref4.floating;
|
|
25
|
+
return floating && css(["height:", "px;max-height:85vh;@media (min-width:", "px){height:", "px;}@media (min-width:", "px){height:", "px;}"], MAIA_FLOATING_PANEL_HEIGHT_PX["default"], MAIA_FLOATING_BREAKPOINT_LARGE, MAIA_FLOATING_PANEL_HEIGHT_PX.large, MAIA_FLOATING_BREAKPOINT_XXL, MAIA_FLOATING_PANEL_HEIGHT_PX.xxl);
|
|
19
26
|
});
|
|
20
27
|
export var SCCAIMContent = styled.div.withConfig({
|
|
21
28
|
displayName: "ChatAIModalstyles__SCCAIMContent",
|
|
22
29
|
componentId: "sc-7bgzxb-2"
|
|
23
|
-
})(["background:white;border-radius:inherit;border-top-left-radius:0;border-bottom-left-radius:0;display:flex;flex-direction:column;height:100%;overflow:hidden;overscroll-behavior:contain;transition:all 0.3s ease-out-in;", ""], function (
|
|
24
|
-
var expanded =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
})(["background:white;border-radius:inherit;border-top-left-radius:0;border-bottom-left-radius:0;display:flex;flex-direction:column;height:100%;overflow:hidden;overscroll-behavior:contain;transition:all 0.3s ease-out-in;", " ", ""], function (_ref5) {
|
|
31
|
+
var expanded = _ref5.expanded,
|
|
32
|
+
floating = _ref5.floating;
|
|
33
|
+
if (expanded) {
|
|
34
|
+
return css(["flex:1;"]);
|
|
35
|
+
}
|
|
36
|
+
if (floating) {
|
|
37
|
+
return css(["width:", "px;@media (min-width:", "px){width:", "px;}@media (min-width:", "px){width:", "px;}"], MAIA_FLOATING_PANEL_WIDTH_PX["default"], MAIA_FLOATING_BREAKPOINT_LARGE, MAIA_FLOATING_PANEL_WIDTH_PX.large, MAIA_FLOATING_BREAKPOINT_XXL, MAIA_FLOATING_PANEL_WIDTH_PX.xxl);
|
|
38
|
+
}
|
|
39
|
+
return css(["width:480px;"]);
|
|
40
|
+
}, function (_ref6) {
|
|
41
|
+
var floating = _ref6.floating;
|
|
42
|
+
return floating && css(["border-radius:8px;border-top-left-radius:8px;border-bottom-left-radius:8px;"]);
|
|
30
43
|
});
|
|
31
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UiLCJNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMIiwiTUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgiLCJNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYIiwiU0NDQUlNV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsImV4cGFuZGVkIiwiX3JlZjIiLCJsYXlvdXRNb2RlIiwiZHJhZ1Bvc2l0aW9uIiwieSIsIngiLCJTQ0NBSU1Db250ZW50V3JhcHBlciIsIl9yZWYzIiwid2lkdGgiLCJfcmVmNCIsImZsb2F0aW5nIiwibGFyZ2UiLCJ4eGwiLCJTQ0NBSU1Db250ZW50IiwiX3JlZjUiLCJfcmVmNiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9DaGF0QUlNb2RhbC5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi9sYXlvdXQnXG5pbXBvcnQge1xuICBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UsXG4gIE1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEwsXG4gIE1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYLFxuICBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLFxufSBmcm9tICcuL2xheW91dCdcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTVdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgbGF5b3V0TW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbiAgZHJhZ1Bvc2l0aW9uPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHwgbnVsbFxufT5gXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDEwOTk7XG4gIGhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZzogMTZweDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4xcyBlYXNlLW91dC1pbjtcbiAgJHsoeyBleHBhbmRlZCB9KSA9PlxuICAgIGV4cGFuZGVkICYmXG4gICAgY3NzYFxuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIGB9XG4gICR7KHsgbGF5b3V0TW9kZSwgZHJhZ1Bvc2l0aW9uLCBleHBhbmRlZCB9KSA9PlxuICAgIGxheW91dE1vZGUgPT09ICdmbG9hdGluZycgJiZcbiAgICBkcmFnUG9zaXRpb24gJiZcbiAgICAhZXhwYW5kZWQgJiZcbiAgICBjc3NgXG4gICAgICB0b3A6ICR7ZHJhZ1Bvc2l0aW9uLnl9cHg7XG4gICAgICBsZWZ0OiAke2RyYWdQb3NpdGlvbi54fXB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1Db250ZW50V3JhcHBlciA9IHN0eWxlZC5kaXY8e1xuICBleHBhbmRlZDogYm9vbGVhblxuICBmbG9hdGluZz86IGJvb2xlYW5cbn0+YFxuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNnB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yNCk7XG4gIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1vdXQtaW47XG4gICR7KHsgZXhwYW5kZWQgfSkgPT4gKGV4cGFuZGVkID8geyB3aWR0aDogJzEwMCUnIH0gOiB7fSl9XG4gICR7KHsgZmxvYXRpbmcgfSkgPT5cbiAgICBmbG9hdGluZyAmJlxuICAgIGNzc2BcbiAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC5kZWZhdWx0fXB4O1xuICAgICAgbWF4LWhlaWdodDogODV2aDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRX1weCkge1xuICAgICAgICBoZWlnaHQ6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9IRUlHSFRfUFgubGFyZ2V9cHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMfXB4KSB7XG4gICAgICAgIGhlaWdodDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWC54eGx9cHg7XG4gICAgICB9XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUNvbnRlbnQgPSBzdHlsZWQuZGl2PHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZmxvYXRpbmc/OiBib29sZWFuXG59PmBcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQtaW47XG4gICR7KHsgZXhwYW5kZWQsIGZsb2F0aW5nIH0pID0+IHtcbiAgICBpZiAoZXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiBjc3NgXG4gICAgICAgIGZsZXg6IDE7XG4gICAgICBgXG4gICAgfVxuICAgIGlmIChmbG9hdGluZykge1xuICAgICAgcmV0dXJuIGNzc2BcbiAgICAgICAgd2lkdGg6ICR7TUFJQV9GTE9BVElOR19QQU5FTF9XSURUSF9QWC5kZWZhdWx0fXB4O1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHtNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0V9cHgpIHtcbiAgICAgICAgICB3aWR0aDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmxhcmdlfXB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAke01BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEx9cHgpIHtcbiAgICAgICAgICB3aWR0aDogJHtNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLnh4bH1weDtcbiAgICAgICAgfVxuICAgICAgYFxuICAgIH1cbiAgICByZXR1cm4gY3NzYFxuICAgICAgd2lkdGg6IDQ4MHB4O1xuICAgIGBcbiAgfX1cbiAgJHsoeyBmbG9hdGluZyB9KSA9PlxuICAgIGZsb2F0aW5nICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4O1xuICAgIGB9XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxRQUFRLG1CQUFtQjtBQUUvQyxTQUNFQyw4QkFBOEIsRUFDOUJDLDRCQUE0QixFQUM1QkMsNkJBQTZCLEVBQzdCQyw0QkFBNEIsUUFDdkIsVUFBVTtBQUVqQixPQUFPLElBQU1DLGFBQWEsR0FBR04sTUFBTSxDQUFDTyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsdU1BZ0JuQyxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLElBQ1JYLEdBQUcsZ0RBS0Y7QUFBQSxHQUNELFVBQUFZLEtBQUE7RUFBQSxJQUFHQyxVQUFVLEdBQUFELEtBQUEsQ0FBVkMsVUFBVTtJQUFFQyxZQUFZLEdBQUFGLEtBQUEsQ0FBWkUsWUFBWTtJQUFFSCxRQUFRLEdBQUFDLEtBQUEsQ0FBUkQsUUFBUTtFQUFBLE9BQ3JDRSxVQUFVLEtBQUssVUFBVSxJQUN6QkMsWUFBWSxJQUNaLENBQUNILFFBQVEsSUFDVFgsR0FBRyw0SkFDTWMsWUFBWSxDQUFDQyxDQUFDLEVBQ2JELFlBQVksQ0FBQ0UsQ0FBQyxDQVN2QjtBQUFBLEVBQ0o7QUFFRCxPQUFPLElBQU1DLG9CQUFvQixHQUFHbEIsTUFBTSxDQUFDTyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaUtBVTFDLFVBQUFTLEtBQUE7RUFBQSxJQUFHUCxRQUFRLEdBQUFPLEtBQUEsQ0FBUlAsUUFBUTtFQUFBLE9BQVFBLFFBQVEsR0FBRztJQUFFUSxLQUFLLEVBQUU7RUFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQUEsQ0FBQyxFQUNyRCxVQUFBQyxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLElBQ1JyQixHQUFHLHVIQUNTRyw2QkFBNkIsV0FBUSxFQUUxQkYsOEJBQThCLEVBQ3ZDRSw2QkFBNkIsQ0FBQ21CLEtBQUssRUFFMUJwQiw0QkFBNEIsRUFDckNDLDZCQUE2QixDQUFDb0IsR0FBRyxDQUU5QztBQUFBLEVBQ0o7QUFFRCxPQUFPLElBQU1DLGFBQWEsR0FBR3pCLE1BQU0sQ0FBQ08sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHlPQWNuQyxVQUFBZ0IsS0FBQSxFQUE0QjtFQUFBLElBQXpCZCxRQUFRLEdBQUFjLEtBQUEsQ0FBUmQsUUFBUTtJQUFFVSxRQUFRLEdBQUFJLEtBQUEsQ0FBUkosUUFBUTtFQUNyQixJQUFJVixRQUFRLEVBQUU7SUFDWixPQUFPWCxHQUFHO0VBR1o7RUFDQSxJQUFJcUIsUUFBUSxFQUFFO0lBQ1osT0FBT3JCLEdBQUcsb0dBQ0NJLDRCQUE0QixXQUFRLEVBQ3hCSCw4QkFBOEIsRUFDeENHLDRCQUE0QixDQUFDa0IsS0FBSyxFQUV4QnBCLDRCQUE0QixFQUN0Q0UsNEJBQTRCLENBQUNtQixHQUFHO0VBRy9DO0VBQ0EsT0FBT3ZCLEdBQUc7QUFHWixDQUFDLEVBQ0MsVUFBQTBCLEtBQUE7RUFBQSxJQUFHTCxRQUFRLEdBQUFLLEtBQUEsQ0FBUkwsUUFBUTtFQUFBLE9BQ1hBLFFBQVEsSUFDUnJCLEdBQUcsaUZBSUY7QUFBQSxFQUNKIiwiaWdub3JlTGlzdCI6W119
|
package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js
CHANGED
|
@@ -9,19 +9,24 @@ import { useTranslation } from 'react-i18next';
|
|
|
9
9
|
import { SECTIONS } from '../../../../../constants/config';
|
|
10
10
|
import { useGlobalContext } from '../../../../../context/global-context';
|
|
11
11
|
import { useResizeListener } from '../../../../../hooks/useResize';
|
|
12
|
-
import { Expand } from '../../../../atoms/Expand';
|
|
13
12
|
import { IconButton } from '../../../../atoms/IconButton';
|
|
14
|
-
import { MAIAIcon } from '../../../../atoms/icons';
|
|
13
|
+
import { MAIAIcon, MaiaChatLayoutMenuIcon } from '../../../../atoms/icons';
|
|
15
14
|
import { ChatAIAgentOption } from '../ChatAiAgentOptions/ChatAiAgentOptions';
|
|
16
|
-
import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIWrapper } from './ChatAiModalHeader.styles';
|
|
15
|
+
import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIWrapper, SCCAIMHLayoutMenuAnchor, SCCAIMHLayoutMenuPanel, SCCAIMHLayoutMenuRow } from './ChatAiModalHeader.styles';
|
|
17
16
|
import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
|
|
18
17
|
import { CORUserRole, useUser } from '../../../../../context/cor-user';
|
|
19
18
|
import { ChipLlm } from '../../../../atoms/ChipLlm';
|
|
20
19
|
import { Loader } from '../../../../atoms/Loader';
|
|
21
20
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
22
21
|
export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
23
|
-
var
|
|
24
|
-
|
|
22
|
+
var layoutMode = _ref.layoutMode,
|
|
23
|
+
onLayoutModeChange = _ref.onLayoutModeChange,
|
|
24
|
+
expanded = _ref.expanded,
|
|
25
|
+
_ref$draggable = _ref.draggable,
|
|
26
|
+
draggable = _ref$draggable === void 0 ? false : _ref$draggable,
|
|
27
|
+
onDragStart = _ref.onDragStart,
|
|
28
|
+
onDragMove = _ref.onDragMove,
|
|
29
|
+
onDragEnd = _ref.onDragEnd,
|
|
25
30
|
_ref$handleClose = _ref.handleClose,
|
|
26
31
|
handleClose = _ref$handleClose === void 0 ? function () {
|
|
27
32
|
return null;
|
|
@@ -41,7 +46,8 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
41
46
|
loadMoreAgents = _ref.loadMoreAgents,
|
|
42
47
|
sortAgentsList = _ref.sortAgentsList,
|
|
43
48
|
_ref$hideAgentSelecto = _ref.hideAgentSelector,
|
|
44
|
-
hideAgentSelector = _ref$hideAgentSelecto === void 0 ? false : _ref$hideAgentSelecto
|
|
49
|
+
hideAgentSelector = _ref$hideAgentSelecto === void 0 ? false : _ref$hideAgentSelecto,
|
|
50
|
+
onAgentSelected = _ref.onAgentSelected;
|
|
45
51
|
var _useTranslation = useTranslation([SECTIONS.abmAgent]),
|
|
46
52
|
t = _useTranslation.t;
|
|
47
53
|
var user = useUser();
|
|
@@ -57,6 +63,11 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
57
63
|
setIsExpanded = _useState2[1];
|
|
58
64
|
var textRefAgent = useRef(null);
|
|
59
65
|
var dropdownRef = useRef(null);
|
|
66
|
+
var layoutMenuRef = useRef(null);
|
|
67
|
+
var _useState3 = useState(false),
|
|
68
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
69
|
+
layoutMenuOpen = _useState4[0],
|
|
70
|
+
setLayoutMenuOpen = _useState4[1];
|
|
60
71
|
var _useResizeListener = useResizeListener(textRefAgent, [selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.name]),
|
|
61
72
|
showTooltipAgent = _useResizeListener.showTooltip;
|
|
62
73
|
var agentsRef = useRef(null);
|
|
@@ -124,8 +135,15 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
124
135
|
setClient === null || setClient === void 0 || setClient(null);
|
|
125
136
|
setTimeout(function () {
|
|
126
137
|
handleResetChat();
|
|
138
|
+
// Si el agente no depende de una entity (custom o clone+global) ya podemos
|
|
139
|
+
// resolver si existe una sesión previa y, en ese caso, navegar a ella.
|
|
140
|
+
// Para clone+project|client, la resolución ocurre en los selectors de entity.
|
|
141
|
+
var needsEntity = (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone' && ((agent === null || agent === void 0 ? void 0 : agent.entity) === 'project' || (agent === null || agent === void 0 ? void 0 : agent.entity) === 'client');
|
|
142
|
+
if (!needsEntity) {
|
|
143
|
+
onAgentSelected === null || onAgentSelected === void 0 || onAgentSelected(agent);
|
|
144
|
+
}
|
|
127
145
|
}, 100);
|
|
128
|
-
}, [selectAgent, amplitudEvent, handleResetChat, setProject, setClient]);
|
|
146
|
+
}, [selectAgent, amplitudEvent, handleResetChat, setProject, setClient, onAgentSelected]);
|
|
129
147
|
var handleExpandModal = function handleExpandModal() {
|
|
130
148
|
if (!isExpanded) {
|
|
131
149
|
amplitudEvent(EVENTS.aiChatOpenAgentSelect);
|
|
@@ -139,22 +157,35 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
139
157
|
});
|
|
140
158
|
};
|
|
141
159
|
useEffect(function () {
|
|
160
|
+
if (!isExpanded && !layoutMenuOpen) {
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
142
163
|
var handleClickOutside = function handleClickOutside(event) {
|
|
143
|
-
|
|
164
|
+
var target = event.target;
|
|
165
|
+
if (isExpanded && dropdownRef.current && !dropdownRef.current.contains(target)) {
|
|
144
166
|
setIsExpanded(false);
|
|
145
167
|
}
|
|
168
|
+
if (layoutMenuOpen && layoutMenuRef.current && !layoutMenuRef.current.contains(target)) {
|
|
169
|
+
setLayoutMenuOpen(false);
|
|
170
|
+
}
|
|
146
171
|
};
|
|
147
|
-
|
|
148
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
149
|
-
}
|
|
172
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
150
173
|
return function () {
|
|
151
174
|
document.removeEventListener('mousedown', handleClickOutside);
|
|
152
175
|
};
|
|
153
|
-
}, [isExpanded]);
|
|
176
|
+
}, [isExpanded, layoutMenuOpen]);
|
|
177
|
+
var handlePickLayout = useCallback(function (mode) {
|
|
178
|
+
amplitudEvent(EVENTS.projectResumeExpand, {
|
|
179
|
+
expanded: mode === 'fullscreen'
|
|
180
|
+
});
|
|
181
|
+
onLayoutModeChange(mode);
|
|
182
|
+
setLayoutMenuOpen(false);
|
|
183
|
+
}, [amplitudEvent, onLayoutModeChange]);
|
|
154
184
|
var userRolesDisabled = [CORUserRole.COLLABORATOR, CORUserRole.FREELANCER, CORUserRole.CLIENT];
|
|
155
185
|
var renderModal = function renderModal() {
|
|
156
186
|
return /*#__PURE__*/_jsxs(SCCAIMHWrapper, {
|
|
157
187
|
ref: dropdownRef,
|
|
188
|
+
"data-no-drag": "true",
|
|
158
189
|
onClick: agents.length ? handleExpandModal : undefined,
|
|
159
190
|
id: "chat-ai-modal-header-wrapper",
|
|
160
191
|
children: [/*#__PURE__*/_jsx(SCCAIMHSelectedAgent, {
|
|
@@ -250,15 +281,57 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
250
281
|
$hasError: hasError,
|
|
251
282
|
$loading: loading,
|
|
252
283
|
$hasAgents: !!agents.length,
|
|
284
|
+
onPointerDown: draggable ? onDragStart : undefined,
|
|
285
|
+
onPointerMove: draggable ? onDragMove : undefined,
|
|
286
|
+
onPointerUp: draggable ? onDragEnd : undefined,
|
|
287
|
+
onPointerCancel: draggable ? onDragEnd : undefined,
|
|
288
|
+
onLostPointerCapture: draggable ? onDragEnd : undefined,
|
|
289
|
+
style: {
|
|
290
|
+
cursor: draggable ? 'grab' : undefined,
|
|
291
|
+
touchAction: draggable ? 'manipulation' : undefined
|
|
292
|
+
},
|
|
253
293
|
children: [shouldRenderSelector ? renderModal() : /*#__PURE__*/_jsx("div", {}), /*#__PURE__*/_jsxs(SCCAIMHWrapperButton, {
|
|
294
|
+
"data-no-drag": "true",
|
|
254
295
|
children: [selectedAgentType && selectedModelLlm && /*#__PURE__*/_jsx(ChipLlm, {
|
|
255
296
|
model: selectedModelLlm,
|
|
256
297
|
expanded: expanded
|
|
257
|
-
}), /*#__PURE__*/
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
298
|
+
}), /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuAnchor, {
|
|
299
|
+
ref: layoutMenuRef,
|
|
300
|
+
"data-no-drag": "true",
|
|
301
|
+
children: [/*#__PURE__*/_jsx(IconButton, {
|
|
302
|
+
buttonId: "btn-maia-layout-menu",
|
|
303
|
+
handleClick: function handleClick() {
|
|
304
|
+
return setLayoutMenuOpen(function (prev) {
|
|
305
|
+
return !prev;
|
|
306
|
+
});
|
|
307
|
+
},
|
|
308
|
+
tooltip: t('layoutMenuTooltip'),
|
|
309
|
+
children: /*#__PURE__*/_jsx(MaiaChatLayoutMenuIcon, {})
|
|
310
|
+
}), layoutMenuOpen ? /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuPanel, {
|
|
311
|
+
role: "menu",
|
|
312
|
+
children: [/*#__PURE__*/_jsx(SCCAIMHLayoutMenuRow, {
|
|
313
|
+
type: "button",
|
|
314
|
+
$active: layoutMode === 'sidebar',
|
|
315
|
+
onClick: function onClick() {
|
|
316
|
+
return handlePickLayout('sidebar');
|
|
317
|
+
},
|
|
318
|
+
children: t('layoutSidebar')
|
|
319
|
+
}), /*#__PURE__*/_jsx(SCCAIMHLayoutMenuRow, {
|
|
320
|
+
type: "button",
|
|
321
|
+
$active: layoutMode === 'fullscreen',
|
|
322
|
+
onClick: function onClick() {
|
|
323
|
+
return handlePickLayout('fullscreen');
|
|
324
|
+
},
|
|
325
|
+
children: t('layoutFullscreen')
|
|
326
|
+
}), /*#__PURE__*/_jsx(SCCAIMHLayoutMenuRow, {
|
|
327
|
+
type: "button",
|
|
328
|
+
$active: layoutMode === 'floating',
|
|
329
|
+
onClick: function onClick() {
|
|
330
|
+
return handlePickLayout('floating');
|
|
331
|
+
},
|
|
332
|
+
children: t('layoutFloating')
|
|
333
|
+
})]
|
|
334
|
+
}) : null]
|
|
262
335
|
}), /*#__PURE__*/_jsx(IconButton, {
|
|
263
336
|
handleClick: handleClose,
|
|
264
337
|
tooltip: t('globals.close'),
|
|
@@ -267,4 +340,4 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
267
340
|
})]
|
|
268
341
|
});
|
|
269
342
|
};
|
|
270
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkV4cGFuZCIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIkNoYXRBSUFnZW50T3B0aW9uIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFNlbGVjdGVkQWdlbnQiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQiLCJTQ0NBSU1IV3JhcHBlciIsIlNDQ0FJTUhXcmFwcGVyQnV0dG9uIiwiU0NDQUlNSFdyYXBwZXJJY29uIiwiU0NDQUlNSFdyYXBwZXJNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50IiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJV3JhcHBlciIsIkVWRU5UUyIsInVzZUV2ZW50IiwiQ09SVXNlclJvbGUiLCJ1c2VVc2VyIiwiQ2hpcExsbSIsIkxvYWRlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkNoYXRBSU1vZGFsSGVhZGVyIiwiX3JlZiIsImV4cGFuZGVkIiwic2V0RXhwYW5kZWQiLCJfcmVmJGhhbmRsZUNsb3NlIiwiaGFuZGxlQ2xvc2UiLCJfcmVmJGFnZW50cyIsImFnZW50cyIsIl9yZWYkaGFzRXJyb3IiLCJoYXNFcnJvciIsIl9yZWYkbG9hZGluZyIsImxvYWRpbmciLCJfcmVmJGxvYWRpbmdNb3JlIiwibG9hZGluZ01vcmUiLCJfcmVmJGhhc01vcmUiLCJoYXNNb3JlIiwiaGFuZGxlUmVzZXRDaGF0Iiwib25BZ2VudFVwZGF0ZSIsImxvYWRNb3JlQWdlbnRzIiwic29ydEFnZW50c0xpc3QiLCJfcmVmJGhpZGVBZ2VudFNlbGVjdG8iLCJoaWRlQWdlbnRTZWxlY3RvciIsIl91c2VUcmFuc2xhdGlvbiIsImFibUFnZW50IiwidCIsInVzZXIiLCJhbXBsaXR1ZEV2ZW50IiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RlZEFnZW50IiwiYWdlbnQiLCJzZWxlY3RBZ2VudCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0V4cGFuZGVkIiwic2V0SXNFeHBhbmRlZCIsInRleHRSZWZBZ2VudCIsImRyb3Bkb3duUmVmIiwiX3VzZVJlc2l6ZUxpc3RlbmVyIiwibmFtZSIsInNob3dUb29sdGlwQWdlbnQiLCJzaG93VG9vbHRpcCIsImFnZW50c1JlZiIsImFnZW50c0ZvclNlbGVjdG9yIiwiZmlsdGVyIiwiYWdlbnRJdGVtIiwiZW50aXR5IiwidW5kZWZpbmVkIiwiaGFuZGxlU2Nyb2xsIiwiY3VycmVudCIsIl9hZ2VudHNSZWYkY3VycmVudCIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImRpc3RhbmNlRnJvbUJvdHRvbSIsInRpbWVvdXRJZCIsInNldFRpbWVvdXQiLCJzY3JvbGxFbGVtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2NhbEFnZW50cyIsIl9yZWYyIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsImlzX2Zyb21fY29udmVyc2F0aW9uIiwiZnJvbUxpc3QiLCJmaW5kIiwiaWQiLCJoYW5kbGVTZWxlY3RBZ2VudCIsImFpQ2hhdEFnZW50U2VsZWN0IiwiYWdlbnRfdHlwZSIsInR5cGUiLCJoYW5kbGVFeHBhbmRNb2RhbCIsImFpQ2hhdE9wZW5BZ2VudFNlbGVjdCIsInByZXYiLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZG9jdW1lbnQiLCJ1c2VyUm9sZXNEaXNhYmxlZCIsIkNPTExBQk9SQVRPUiIsIkZSRUVMQU5DRVIiLCJDTElFTlQiLCJyZW5kZXJNb2RhbCIsInJlZiIsIm9uQ2xpY2siLCJsZW5ndGgiLCJjaGlsZHJlbiIsInRpdGxlIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImdhcCIsImVtb2ppIiwicGxhY2VtZW50IiwiaXNBZ2VudERlbGV0ZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiaW5jbHVkZXMiLCJyb2xlX2lkIiwiY2xvbmVBZ2VudHMiLCJhZyIsImlzQ2xvbmUiLCJtYXAiLCJjbG9uZUFnZW50IiwiaW5kZXgiLCJpc1NlbGVjdGVkIiwiaXNNYWlhIiwib25GYXZvcml0ZVRvZ2dsZSIsImNvbmNhdCIsInNvbWUiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiY29tcGFueSIsImFnZW50c0NvdW50Iiwic2l6ZSIsInNlbGVjdGVkTW9kZWxMbG0iLCJtb2RlbF9kaXNwbGF5X25hbWUiLCJzZWxlY3RlZEFnZW50VHlwZSIsInNob3VsZFJlbmRlclNlbGVjdG9yIiwiJGhhc0Vycm9yIiwiJGxvYWRpbmciLCIkaGFzQWdlbnRzIiwibW9kZWwiLCJoYW5kbGVDbGljayIsInRvb2x0aXAiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IEV4cGFuZCB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0V4cGFuZCdcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9JY29uQnV0dG9uJ1xuaW1wb3J0IHsgTUFJQUljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IENoYXRBSUFnZW50T3B0aW9uIH0gZnJvbSAnLi4vQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucydcbmltcG9ydCB7XG4gIFNDQ0FJTUhNb2RhbCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnQsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCxcbiAgU0NDQUlNSFdyYXBwZXIsXG4gIFNDQ0FJTUhXcmFwcGVyQnV0dG9uLFxuICBTQ0NBSU1IV3JhcHBlckljb24sXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWwsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50LFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlLFxuICBTQ0NBSU1IRGl2aWRlcixcbiAgU0NDQUlNSEFnZW50c0xpc3QsXG4gIFNDQ0FJTUhMb2FkZXJXcmFwcGVyLFxuICBTQ0NBSVdyYXBwZXIsXG59IGZyb20gJy4vQ2hhdEFpTW9kYWxIZWFkZXIuc3R5bGVzJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgQ09SVXNlclJvbGUsIHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENoaXBMbG0gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9DaGlwTGxtJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvTG9hZGVyJ1xuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWxIZWFkZXIgPSAoe1xuICBleHBhbmRlZCxcbiAgc2V0RXhwYW5kZWQsXG4gIGhhbmRsZUNsb3NlID0gKCkgPT4gbnVsbCxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaGlkZUFnZW50U2VsZWN0b3IgPSBmYWxzZSxcbn06IHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgc2V0RXhwYW5kZWQ6IChleHBhbmRlZDogYm9vbGVhbikgPT4gdm9pZFxuICBoYW5kbGVDbG9zZT86ICgpID0+IHZvaWRcbiAgYWdlbnRzOiBBZ2VudFtdXG4gIGhhc0Vycm9yOiBib29sZWFuXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgbG9hZGluZ01vcmU/OiBib29sZWFuXG4gIGhhc01vcmU/OiBib29sZWFuXG4gIGhhbmRsZVJlc2V0Q2hhdDogKCkgPT4gdm9pZFxuICBvbkFnZW50VXBkYXRlPzogKHVwZGF0ZWRBZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgbG9hZE1vcmVBZ2VudHM/OiAoKSA9PiB2b2lkXG4gIHNvcnRBZ2VudHNMaXN0PzogKCkgPT4gdm9pZFxuICBoaWRlQWdlbnRTZWxlY3Rvcj86IGJvb2xlYW5cbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBbaXNFeHBhbmRlZCwgc2V0SXNFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdGV4dFJlZkFnZW50ID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgZHJvcGRvd25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWZBZ2VudCwgW3NlbGVjdGVkQWdlbnQ/Lm5hbWVdKVxuICBjb25zdCBhZ2VudHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgYWdlbnRzRm9yU2VsZWN0b3IgPSB1c2VNZW1vKCgpID0+IGFnZW50cy5maWx0ZXIoYWdlbnRJdGVtID0+IGFnZW50SXRlbS5lbnRpdHkgIT09ICdnbG9iYWwnKSwgW2FnZW50c10pXG5cbiAgLy8gTWFuZWphciBzY3JvbGwgaW5maW5pdG8gcGFyYSBjYXJnYXIgbcOhcyBhZ2VudHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTb2xvIGN1YW5kbyBlbCBkcm9wZG93biBlc3TDqSBhYmllcnRvXG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFhZ2VudHNSZWYuY3VycmVudCB8fCAhbG9hZE1vcmVBZ2VudHMgfHwgIWhhc01vcmUgfHwgbG9hZGluZ01vcmUpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGRpc3RhbmNlRnJvbUJvdHRvbSA9IHNjcm9sbEhlaWdodCAtIHNjcm9sbFRvcCAtIGNsaWVudEhlaWdodFxuXG4gICAgICAvLyBDYXJnYXIgbcOhcyAoNTBweCBhbnRlcylcbiAgICAgIGlmIChkaXN0YW5jZUZyb21Cb3R0b20gPCA1MCkge1xuICAgICAgICBsb2FkTW9yZUFnZW50cygpXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZGVsYXkgcGFyYSBhc2VndXJhciBxdWUgZWwgRE9NIGVzdMOpIHJlbmRlcml6YWRvXG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH0sIDEwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBsb2FkTW9yZUFnZW50cywgaGFzTW9yZSwgbG9hZGluZ01vcmVdKVxuXG4gIGNvbnN0IGxvY2FsQWdlbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2Zyb21fY29udmVyc2F0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRBZ2VudFxuICAgIH1cbiAgICBjb25zdCBmcm9tTGlzdCA9IGFnZW50cy5maW5kKFxuICAgICAgYWdlbnQgPT5cbiAgICAgICAgIWFnZW50LmlzX2RlbGV0ZWQgJiYgIWFnZW50Lmhhc19ub3RfcGVybWlzc2lvbnMgJiYgIWFnZW50Lmhhc19ub3RfYWNjZXNzICYmIGFnZW50LmlkID09PSBzZWxlY3RlZEFnZW50Py5pZFxuICAgIClcbiAgICAvLyBBZ2VudGUgaGlkcmF0YWRvIHBvciBHRVQgKHAuIGVqLiBudWV2byBjaGF0IHRyYXMgY3JlYXRlX2FnZW50KSBwdWVkZSBubyBlc3RhciBhw7puIGVuIGxhIGxpc3RhIHBhZ2luYWRhXG4gICAgcmV0dXJuIGZyb21MaXN0ID8/IHNlbGVjdGVkQWdlbnQgPz8gbnVsbFxuICB9LCBbYWdlbnRzLCBzZWxlY3RlZEFnZW50XSlcblxuICBjb25zdCBoYW5kbGVTZWxlY3RBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChhZ2VudDogQWdlbnQpID0+IHtcbiAgICAgIHNlbGVjdEFnZW50KGFnZW50KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0QWdlbnRTZWxlY3QsIHtcbiAgICAgICAgYWdlbnRfdHlwZTogYWdlbnQ/LnR5cGUsXG4gICAgICB9KVxuICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIHNldFByb2plY3QobnVsbClcbiAgICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaGFuZGxlUmVzZXRDaGF0KClcbiAgICAgIH0sIDEwMClcbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgYW1wbGl0dWRFdmVudCwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnRdXG4gIClcblxuICBjb25zdCBoYW5kbGVFeHBhbmRNb2RhbCA9ICgpID0+IHtcbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5BZ2VudFNlbGVjdClcbiAgICAgIC8vIEN1YW5kbyBzZSBhYnJlIGVsIHNlbGVjdG9yLCBvcmRlbmFyIGxvcyBhZ2VudGVzXG4gICAgICBpZiAoc29ydEFnZW50c0xpc3QpIHtcbiAgICAgICAgc29ydEFnZW50c0xpc3QoKVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRJc0V4cGFuZGVkKHByZXYgPT4gIXByZXYpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGRyb3Bkb3duUmVmLmN1cnJlbnQgJiYgIWRyb3Bkb3duUmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlzRXhwYW5kZWQpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWRdKVxuXG4gIGNvbnN0IHVzZXJSb2xlc0Rpc2FibGVkID0gW0NPUlVzZXJSb2xlLkNPTExBQk9SQVRPUiwgQ09SVXNlclJvbGUuRlJFRUxBTkNFUiwgQ09SVXNlclJvbGUuQ0xJRU5UXVxuXG4gIGNvbnN0IHJlbmRlck1vZGFsID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNSFdyYXBwZXJcbiAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgb25DbGljaz17YWdlbnRzLmxlbmd0aCA/IGhhbmRsZUV4cGFuZE1vZGFsIDogdW5kZWZpbmVkfVxuICAgICAgICBpZD1cImNoYXQtYWktbW9kYWwtaGVhZGVyLXdyYXBwZXJcIlxuICAgICAgPlxuICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgc2hvd1Rvb2x0aXBBZ2VudCA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyA/IGxvY2FsQWdlbnRzPy5lbW9qaSA6IDxNQUlBSWNvbiAvPn0ge2xvY2FsQWdlbnRzPy5uYW1lfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9e2lzRXhwYW5kZWQgPyAnbGVmdCcgOiAndG9wJ31cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0XG4gICAgICAgICAgICAgIHJlZj17dGV4dFJlZkFnZW50fVxuICAgICAgICAgICAgICBpc0FnZW50RGVsZXRlZD17XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8ICEhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fCAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnNHB4JyB9fT5cbiAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nID8gbG9jYWxBZ2VudHM/LmVtb2ppIDogPE1BSUFJY29uIC8+fSB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgPFNDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICA8L1NDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAge2lzRXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgICB7d2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhdXNlclJvbGVzRGlzYWJsZWQuaW5jbHVkZXModXNlci5yb2xlX2lkKSAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9uZUFnZW50cyA9IGFnZW50c0ZvclNlbGVjdG9yLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlID09PSAnY2xvbmUnKVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWNsb25lQWdlbnRzLmxlbmd0aCkgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNDQ0FJV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1BSUFJY29uIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIGlzQ2xvbmU+TUFJQSBieSBDT1I8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IRGl2aWRlciAvPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvbmVBZ2VudHMubWFwKChjbG9uZUFnZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke2Nsb25lQWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17Y2xvbmVBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBjbG9uZUFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTWFpYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yLnNvbWUoYWdlbnQgPT4gYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScpICYmXG4gICAgICAgICAgICAgICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgJiYgKFxuICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2FnZW50cycpfSBieSB7dXNlci5jb21wYW55fVxuICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IRGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPFNDQ0FJTUhBZ2VudHNMaXN0IGhhc01vcmU9e2hhc01vcmV9IGFnZW50c0NvdW50PXthZ2VudHNGb3JTZWxlY3Rvci5sZW5ndGh9IHJlZj17YWdlbnRzUmVmfT5cbiAgICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3I/Lm1hcCgoYWdlbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyB8fFxuICAgICAgICAgICAgICAgICAgICAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmICF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUylcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17YGFnZW50LSR7YWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17YWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gYWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgb25GYXZvcml0ZVRvZ2dsZT17b25BZ2VudFVwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkPXtzZXRJc0V4cGFuZGVkfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIHtsb2FkaW5nTW9yZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1IQWdlbnRzTGlzdD5cbiAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSU1IV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBjb25zdCBzZWxlY3RlZE1vZGVsTGxtID0gc2VsZWN0ZWRBZ2VudD8ubW9kZWxfZGlzcGxheV9uYW1lXG4gIGNvbnN0IHNlbGVjdGVkQWdlbnRUeXBlID0gc2VsZWN0ZWRBZ2VudD8udHlwZSA9PT0gJ2N1c3RvbSdcbiAgY29uc3Qgc2hvdWxkUmVuZGVyU2VsZWN0b3IgPVxuICAgICFoYXNFcnJvciAmJlxuICAgICFsb2FkaW5nICYmXG4gICAgIWhpZGVBZ2VudFNlbGVjdG9yICYmXG4gICAgISFzZWxlY3RlZEFnZW50ICYmXG4gICAgKCEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgfHwgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUhNb2RhbCAkaGFzRXJyb3I9e2hhc0Vycm9yfSAkbG9hZGluZz17bG9hZGluZ30gJGhhc0FnZW50cz17ISFhZ2VudHMubGVuZ3RofT5cbiAgICAgIHtzaG91bGRSZW5kZXJTZWxlY3RvciA/IHJlbmRlck1vZGFsKCkgOiA8ZGl2IC8+fVxuICAgICAgPFNDQ0FJTUhXcmFwcGVyQnV0dG9uPlxuICAgICAgICB7c2VsZWN0ZWRBZ2VudFR5cGUgJiYgc2VsZWN0ZWRNb2RlbExsbSAmJiA8Q2hpcExsbSBtb2RlbD17c2VsZWN0ZWRNb2RlbExsbX0gZXhwYW5kZWQ9e2V4cGFuZGVkfSAvPn1cbiAgICAgICAgPEV4cGFuZCBleHBhbmRlZD17ZXhwYW5kZWR9IGhhbmRsZUNsaWNrPXsoKSA9PiBzZXRFeHBhbmRlZCghZXhwYW5kZWQpfSAvPlxuICAgICAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlQ2xvc2V9IHRvb2x0aXA9e3QoJ2dsb2JhbHMuY2xvc2UnKX0+XG4gICAgICAgICAgPENyb3NzIC8+XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXJCdXR0b24+XG4gICAgPC9TQ0NBSU1ITW9kYWw+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBUSxPQUFPO0FBQ3pFLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFFBQVEsUUFBUSxpQ0FBaUM7QUFDMUQsU0FBU0MsZ0JBQWdCLFFBQVEsdUNBQXVDO0FBQ3hFLFNBQVNDLGlCQUFpQixRQUFRLGdDQUFnQztBQUNsRSxTQUFTQyxNQUFNLFFBQVEsMEJBQTBCO0FBQ2pELFNBQVNDLFVBQVUsUUFBUSw4QkFBOEI7QUFDekQsU0FBU0MsUUFBUSxRQUFRLHlCQUF5QjtBQUNsRCxTQUFTQyxpQkFBaUIsUUFBUSwwQ0FBMEM7QUFDNUUsU0FDRUMsWUFBWSxFQUNaQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixFQUN4QkMsY0FBYyxFQUNkQyxvQkFBb0IsRUFDcEJDLGtCQUFr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
|
|
343
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJDaGF0QUlBZ2VudE9wdGlvbiIsIlNDQ0FJTUhNb2RhbCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiU0NDQUlNSFdyYXBwZXIiLCJTQ0NBSU1IV3JhcHBlckJ1dHRvbiIsIlNDQ0FJTUhXcmFwcGVySWNvbiIsIlNDQ0FJTUhXcmFwcGVyTW9kYWwiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUiLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSExvYWRlcldyYXBwZXIiLCJTQ0NBSVdyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIkVWRU5UUyIsInVzZUV2ZW50IiwiQ09SVXNlclJvbGUiLCJ1c2VVc2VyIiwiQ2hpcExsbSIsIkxvYWRlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkNoYXRBSU1vZGFsSGVhZGVyIiwiX3JlZiIsImxheW91dE1vZGUiLCJvbkxheW91dE1vZGVDaGFuZ2UiLCJleHBhbmRlZCIsIl9yZWYkZHJhZ2dhYmxlIiwiZHJhZ2dhYmxlIiwib25EcmFnU3RhcnQiLCJvbkRyYWdNb3ZlIiwib25EcmFnRW5kIiwiX3JlZiRoYW5kbGVDbG9zZSIsImhhbmRsZUNsb3NlIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGhhc0Vycm9yIiwiaGFzRXJyb3IiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImhhbmRsZVJlc2V0Q2hhdCIsIm9uQWdlbnRVcGRhdGUiLCJsb2FkTW9yZUFnZW50cyIsInNvcnRBZ2VudHNMaXN0IiwiX3JlZiRoaWRlQWdlbnRTZWxlY3RvIiwiaGlkZUFnZW50U2VsZWN0b3IiLCJvbkFnZW50U2VsZWN0ZWQiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiYW1wbGl0dWRFdmVudCIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImxheW91dE1lbnVSZWYiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxheW91dE1lbnVPcGVuIiwic2V0TGF5b3V0TWVudU9wZW4iLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXBBZ2VudCIsInNob3dUb29sdGlwIiwiYWdlbnRzUmVmIiwiYWdlbnRzRm9yU2VsZWN0b3IiLCJmaWx0ZXIiLCJhZ2VudEl0ZW0iLCJlbnRpdHkiLCJ1bmRlZmluZWQiLCJoYW5kbGVTY3JvbGwiLCJjdXJyZW50IiwiX2FnZW50c1JlZiRjdXJyZW50Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiZGlzdGFuY2VGcm9tQm90dG9tIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInNjcm9sbEVsZW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiY2xlYXJUaW1lb3V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxvY2FsQWdlbnRzIiwiX3JlZjIiLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiaXNfZnJvbV9jb252ZXJzYXRpb24iLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsImhhbmRsZVNlbGVjdEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwidHlwZSIsIm5lZWRzRW50aXR5IiwiaGFuZGxlRXhwYW5kTW9kYWwiLCJhaUNoYXRPcGVuQWdlbnRTZWxlY3QiLCJwcmV2IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZXZlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImRvY3VtZW50IiwiaGFuZGxlUGlja0xheW91dCIsIm1vZGUiLCJwcm9qZWN0UmVzdW1lRXhwYW5kIiwidXNlclJvbGVzRGlzYWJsZWQiLCJDT0xMQUJPUkFUT1IiLCJGUkVFTEFOQ0VSIiwiQ0xJRU5UIiwicmVuZGVyTW9kYWwiLCJyZWYiLCJvbkNsaWNrIiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJ0aXRsZSIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJnYXAiLCJlbW9qaSIsInBsYWNlbWVudCIsImlzQWdlbnREZWxldGVkIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyIsImluY2x1ZGVzIiwicm9sZV9pZCIsImNsb25lQWdlbnRzIiwiYWciLCJpc0Nsb25lIiwibWFwIiwiY2xvbmVBZ2VudCIsImluZGV4IiwiaXNTZWxlY3RlZCIsImlzTWFpYSIsIm9uRmF2b3JpdGVUb2dnbGUiLCJjb25jYXQiLCJzb21lIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsImNvbXBhbnkiLCJhZ2VudHNDb3VudCIsInNpemUiLCJzZWxlY3RlZE1vZGVsTGxtIiwibW9kZWxfZGlzcGxheV9uYW1lIiwic2VsZWN0ZWRBZ2VudFR5cGUiLCJzaG91bGRSZW5kZXJTZWxlY3RvciIsIiRoYXNFcnJvciIsIiRsb2FkaW5nIiwiJGhhc0FnZW50cyIsIm9uUG9pbnRlckRvd24iLCJvblBvaW50ZXJNb3ZlIiwib25Qb2ludGVyVXAiLCJvblBvaW50ZXJDYW5jZWwiLCJvbkxvc3RQb2ludGVyQ2FwdHVyZSIsImN1cnNvciIsInRvdWNoQWN0aW9uIiwibW9kZWwiLCJidXR0b25JZCIsImhhbmRsZUNsaWNrIiwidG9vbHRpcCIsInJvbGUiLCIkYWN0aXZlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxIZWFkZXIvQ2hhdEFpTW9kYWxIZWFkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLW5lc3RlZC10ZXJuYXJ5ICovXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vLCBQb2ludGVyRXZlbnQgYXMgUmVhY3RQb2ludGVyRXZlbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9JY29uQnV0dG9uJ1xuaW1wb3J0IHsgTUFJQUljb24sIE1haWFDaGF0TGF5b3V0TWVudUljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IENoYXRBSUFnZW50T3B0aW9uIH0gZnJvbSAnLi4vQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucydcbmltcG9ydCB7XG4gIFNDQ0FJTUhNb2RhbCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnQsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCxcbiAgU0NDQUlNSFdyYXBwZXIsXG4gIFNDQ0FJTUhXcmFwcGVyQnV0dG9uLFxuICBTQ0NBSU1IV3JhcHBlckljb24sXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWwsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50LFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlLFxuICBTQ0NBSU1IRGl2aWRlcixcbiAgU0NDQUlNSEFnZW50c0xpc3QsXG4gIFNDQ0FJTUhMb2FkZXJXcmFwcGVyLFxuICBTQ0NBSVdyYXBwZXIsXG4gIFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yLFxuICBTQ0NBSU1ITGF5b3V0TWVudVBhbmVsLFxuICBTQ0NBSU1ITGF5b3V0TWVudVJvdyxcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEhlYWRlci5zdHlsZXMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgQ09SVXNlclJvbGUsIHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENoaXBMbG0gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9DaGlwTGxtJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvTG9hZGVyJ1xuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWxIZWFkZXIgPSAoe1xuICBsYXlvdXRNb2RlLFxuICBvbkxheW91dE1vZGVDaGFuZ2UsXG4gIGV4cGFuZGVkLFxuICBkcmFnZ2FibGUgPSBmYWxzZSxcbiAgb25EcmFnU3RhcnQsXG4gIG9uRHJhZ01vdmUsXG4gIG9uRHJhZ0VuZCxcbiAgaGFuZGxlQ2xvc2UgPSAoKSA9PiBudWxsLFxuICBhZ2VudHMgPSBbXSxcbiAgaGFzRXJyb3IgPSBmYWxzZSxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBsb2FkaW5nTW9yZSA9IGZhbHNlLFxuICBoYXNNb3JlID0gZmFsc2UsXG4gIGhhbmRsZVJlc2V0Q2hhdCxcbiAgb25BZ2VudFVwZGF0ZSxcbiAgbG9hZE1vcmVBZ2VudHMsXG4gIHNvcnRBZ2VudHNMaXN0LFxuICBoaWRlQWdlbnRTZWxlY3RvciA9IGZhbHNlLFxuICBvbkFnZW50U2VsZWN0ZWQsXG59OiB7XG4gIGxheW91dE1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlXG4gIG9uTGF5b3V0TW9kZUNoYW5nZTogKG1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlKSA9PiB2b2lkXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGRyYWdnYWJsZT86IGJvb2xlYW5cbiAgb25EcmFnU3RhcnQ/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyYWdNb3ZlPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnRW5kPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgaGFuZGxlQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIGFnZW50czogQWdlbnRbXVxuICBoYXNFcnJvcjogYm9vbGVhblxuICBsb2FkaW5nOiBib29sZWFuXG4gIGxvYWRpbmdNb3JlPzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBoYW5kbGVSZXNldENoYXQ6ICgpID0+IHZvaWRcbiAgb25BZ2VudFVwZGF0ZT86ICh1cGRhdGVkQWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIGxvYWRNb3JlQWdlbnRzPzogKCkgPT4gdm9pZFxuICBzb3J0QWdlbnRzTGlzdD86ICgpID0+IHZvaWRcbiAgaGlkZUFnZW50U2VsZWN0b3I/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZSBpbnZvY2EgZGVzcHXDqXMgZGVsIHJlc2V0IGN1YW5kbyBlbCBhZ2VudGUgc2VsZWNjaW9uYWRvIE5PIHJlcXVpZXJlIHNlbGVjY2nDs25cbiAgICogZGUgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpLiBQZXJtaXRlIHJlc29sdmVyIGBHRVQgL3YyL3Nlc3Npb25zL2FnZW50L3tpZH1gXG4gICAqIHkgbmF2ZWdhciBhIHVuYSBjb252ZXJzYWNpw7NuIGV4aXN0ZW50ZSBzaSBsYSBoYXkuXG4gICAqL1xuICBvbkFnZW50U2VsZWN0ZWQ/OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkIHwgUHJvbWlzZTx1bmtub3duPlxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5hYm1BZ2VudF0pXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgYW1wbGl0dWRFdmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgeyBhZ2VudDogc2VsZWN0ZWRBZ2VudCwgc2VsZWN0QWdlbnQsIHNldFByb2plY3QsIHNldENsaWVudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IFtpc0V4cGFuZGVkLCBzZXRJc0V4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB0ZXh0UmVmQWdlbnQgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgbGF5b3V0TWVudVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgW2xheW91dE1lbnVPcGVuLCBzZXRMYXlvdXRNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgeyBzaG93VG9vbHRpcDogc2hvd1Rvb2x0aXBBZ2VudCB9ID0gdXNlUmVzaXplTGlzdGVuZXIodGV4dFJlZkFnZW50LCBbc2VsZWN0ZWRBZ2VudD8ubmFtZV0pXG4gIGNvbnN0IGFnZW50c1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcblxuICBjb25zdCBhZ2VudHNGb3JTZWxlY3RvciA9IHVzZU1lbW8oKCkgPT4gYWdlbnRzLmZpbHRlcihhZ2VudEl0ZW0gPT4gYWdlbnRJdGVtLmVudGl0eSAhPT0gJ2dsb2JhbCcpLCBbYWdlbnRzXSlcblxuICAvLyBNYW5lamFyIHNjcm9sbCBpbmZpbml0byBwYXJhIGNhcmdhciBtw6FzIGFnZW50c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFNvbG8gY3VhbmRvIGVsIGRyb3Bkb3duIGVzdMOpIGFiaWVydG9cbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBpZiAoIWFnZW50c1JlZi5jdXJyZW50IHx8ICFsb2FkTW9yZUFnZW50cyB8fCAhaGFzTW9yZSB8fCBsb2FkaW5nTW9yZSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgY29uc3QgZGlzdGFuY2VGcm9tQm90dG9tID0gc2Nyb2xsSGVpZ2h0IC0gc2Nyb2xsVG9wIC0gY2xpZW50SGVpZ2h0XG5cbiAgICAgIC8vIENhcmdhciBtw6FzICg1MHB4IGFudGVzKVxuICAgICAgaWYgKGRpc3RhbmNlRnJvbUJvdHRvbSA8IDUwKSB7XG4gICAgICAgIGxvYWRNb3JlQWdlbnRzKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkZWxheSBwYXJhIGFzZWd1cmFyIHF1ZSBlbCBET00gZXN0w6kgcmVuZGVyaXphZG9cbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfSwgMTAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxvYWRNb3JlQWdlbnRzLCBoYXNNb3JlLCBsb2FkaW5nTW9yZV0pXG5cbiAgY29uc3QgbG9jYWxBZ2VudHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZnJvbV9jb252ZXJzYXRpb25cbiAgICApIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZEFnZW50XG4gICAgfVxuICAgIGNvbnN0IGZyb21MaXN0ID0gYWdlbnRzLmZpbmQoXG4gICAgICBhZ2VudCA9PlxuICAgICAgICAhYWdlbnQuaXNfZGVsZXRlZCAmJiAhYWdlbnQuaGFzX25vdF9wZXJtaXNzaW9ucyAmJiAhYWdlbnQuaGFzX25vdF9hY2Nlc3MgJiYgYWdlbnQuaWQgPT09IHNlbGVjdGVkQWdlbnQ/LmlkXG4gICAgKVxuICAgIC8vIEFnZW50ZSBoaWRyYXRhZG8gcG9yIEdFVCAocC4gZWouIG51ZXZvIGNoYXQgdHJhcyBjcmVhdGVfYWdlbnQpIHB1ZWRlIG5vIGVzdGFyIGHDum4gZW4gbGEgbGlzdGEgcGFnaW5hZGFcbiAgICByZXR1cm4gZnJvbUxpc3QgPz8gc2VsZWN0ZWRBZ2VudCA/PyBudWxsXG4gIH0sIFthZ2VudHMsIHNlbGVjdGVkQWdlbnRdKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgICAgc2VsZWN0QWdlbnQoYWdlbnQpXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRBZ2VudFNlbGVjdCwge1xuICAgICAgICBhZ2VudF90eXBlOiBhZ2VudD8udHlwZSxcbiAgICAgIH0pXG4gICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBoYW5kbGVSZXNldENoYXQoKVxuICAgICAgICAvLyBTaSBlbCBhZ2VudGUgbm8gZGVwZW5kZSBkZSB1bmEgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpIHlhIHBvZGVtb3NcbiAgICAgICAgLy8gcmVzb2x2ZXIgc2kgZXhpc3RlIHVuYSBzZXNpw7NuIHByZXZpYSB5LCBlbiBlc2UgY2FzbywgbmF2ZWdhciBhIGVsbGEuXG4gICAgICAgIC8vIFBhcmEgY2xvbmUrcHJvamVjdHxjbGllbnQsIGxhIHJlc29sdWNpw7NuIG9jdXJyZSBlbiBsb3Mgc2VsZWN0b3JzIGRlIGVudGl0eS5cbiAgICAgICAgY29uc3QgbmVlZHNFbnRpdHkgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnKVxuICAgICAgICBpZiAoIW5lZWRzRW50aXR5KSB7XG4gICAgICAgICAgb25BZ2VudFNlbGVjdGVkPy4oYWdlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sIDEwMClcbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgYW1wbGl0dWRFdmVudCwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIG9uQWdlbnRTZWxlY3RlZF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZE1vZGFsID0gKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0T3BlbkFnZW50U2VsZWN0KVxuICAgICAgLy8gQ3VhbmRvIHNlIGFicmUgZWwgc2VsZWN0b3IsIG9yZGVuYXIgbG9zIGFnZW50ZXNcbiAgICAgIGlmIChzb3J0QWdlbnRzTGlzdCkge1xuICAgICAgICBzb3J0QWdlbnRzTGlzdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHNldElzRXhwYW5kZWQocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0V4cGFuZGVkICYmICFsYXlvdXRNZW51T3Blbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGVcbiAgICAgIGlmIChpc0V4cGFuZGVkICYmIGRyb3Bkb3duUmVmLmN1cnJlbnQgJiYgIWRyb3Bkb3duUmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgfVxuICAgICAgaWYgKGxheW91dE1lbnVPcGVuICYmIGxheW91dE1lbnVSZWYuY3VycmVudCAmJiAhbGF5b3V0TWVudVJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbGF5b3V0TWVudU9wZW5dKVxuXG4gIGNvbnN0IGhhbmRsZVBpY2tMYXlvdXQgPSB1c2VDYWxsYmFjayhcbiAgICAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLnByb2plY3RSZXN1bWVFeHBhbmQsIHtcbiAgICAgICAgZXhwYW5kZWQ6IG1vZGUgPT09ICdmdWxsc2NyZWVuJyxcbiAgICAgIH0pXG4gICAgICBvbkxheW91dE1vZGVDaGFuZ2UobW9kZSlcbiAgICAgIHNldExheW91dE1lbnVPcGVuKGZhbHNlKVxuICAgIH0sXG4gICAgW2FtcGxpdHVkRXZlbnQsIG9uTGF5b3V0TW9kZUNoYW5nZV1cbiAgKVxuXG4gIGNvbnN0IHVzZXJSb2xlc0Rpc2FibGVkID0gW0NPUlVzZXJSb2xlLkNPTExBQk9SQVRPUiwgQ09SVXNlclJvbGUuRlJFRUxBTkNFUiwgQ09SVXNlclJvbGUuQ0xJRU5UXVxuXG4gIGNvbnN0IHJlbmRlck1vZGFsID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNSFdyYXBwZXJcbiAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgZGF0YS1uby1kcmFnPVwidHJ1ZVwiXG4gICAgICAgIG9uQ2xpY2s9e2FnZW50cy5sZW5ndGggPyBoYW5kbGVFeHBhbmRNb2RhbCA6IHVuZGVmaW5lZH1cbiAgICAgICAgaWQ9XCJjaGF0LWFpLW1vZGFsLWhlYWRlci13cmFwcGVyXCJcbiAgICAgID5cbiAgICAgICAgPFNDQ0FJTUhTZWxlY3RlZEFnZW50PlxuICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICAgIHNob3dUb29sdGlwQWdlbnQgPyAoXG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnNHB4JyB9fT5cbiAgICAgICAgICAgICAgICAgIHtsb2NhbEFnZW50cz8udHlwZSA9PT0gJ2N1c3RvbScgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz59IHtsb2NhbEFnZW50cz8ubmFtZX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgJydcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGxhY2VtZW50PXtpc0V4cGFuZGVkID8gJ2xlZnQnIDogJ3RvcCd9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dFxuICAgICAgICAgICAgICByZWY9e3RleHRSZWZBZ2VudH1cbiAgICAgICAgICAgICAgaXNBZ2VudERlbGV0ZWQ9e1xuICAgICAgICAgICAgICAgICEhc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCB8fCAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHwgISFzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2Vzc1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyA/IGxvY2FsQWdlbnRzPy5lbW9qaSA6IDxNQUlBSWNvbiAvPn0ge2xvY2FsQWdlbnRzPy5uYW1lfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L1NDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgIDxTQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgICAgPENoZXZyb25Eb3duIHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gY29sb3I9XCIjMjAyMDFGXCIgLz5cbiAgICAgICAgPC9TQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgIHtpc0V4cGFuZGVkICYmIChcbiAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICAgICAge3dpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIXVzZXJSb2xlc0Rpc2FibGVkLmluY2x1ZGVzKHVzZXIucm9sZV9pZCkgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmVBZ2VudHMgPSBhZ2VudHNGb3JTZWxlY3Rvci5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gYWcudHlwZSA9PT0gJ2Nsb25lJylcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjbG9uZUFnZW50cy5sZW5ndGgpIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNQUlBSWNvbiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSBpc0Nsb25lPk1BSUEgYnkgQ09SPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAge2Nsb25lQWdlbnRzLm1hcCgoY2xvbmVBZ2VudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHtjbG9uZUFnZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnQ9e2Nsb25lQWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gY2xvbmVBZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01haWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvci5zb21lKGFnZW50ID0+IGFnZW50LnR5cGUgPT09ICdjdXN0b20nKSAmJlxuICAgICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTICYmIChcbiAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdhZ2VudHMnKX0gYnkge3VzZXIuY29tcGFueX1cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxTQ0NBSU1IQWdlbnRzTGlzdCBoYXNNb3JlPXtoYXNNb3JlfSBhZ2VudHNDb3VudD17YWdlbnRzRm9yU2VsZWN0b3IubGVuZ3RofSByZWY9e2FnZW50c1JlZn0+XG4gICAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yPy5tYXAoKGFnZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgfHxcbiAgICAgICAgICAgICAgICAgICAgKGFnZW50Py50eXBlID09PSAnY3VzdG9tJyAmJiAhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMpXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke2FnZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgYWdlbnQ9e2FnZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBZ2VudD17aGFuZGxlU2VsZWN0QWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IGFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgc2V0SXNFeHBhbmRlZD17c2V0SXNFeHBhbmRlZH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICB7bG9hZGluZ01vcmUgJiYgKFxuICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhMb2FkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMb2FkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSEFnZW50c0xpc3Q+XG4gICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgKX1cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgY29uc3Qgc2VsZWN0ZWRNb2RlbExsbSA9IHNlbGVjdGVkQWdlbnQ/Lm1vZGVsX2Rpc3BsYXlfbmFtZVxuICBjb25zdCBzZWxlY3RlZEFnZW50VHlwZSA9IHNlbGVjdGVkQWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nXG4gIGNvbnN0IHNob3VsZFJlbmRlclNlbGVjdG9yID1cbiAgICAhaGFzRXJyb3IgJiZcbiAgICAhbG9hZGluZyAmJlxuICAgICFoaWRlQWdlbnRTZWxlY3RvciAmJlxuICAgICEhc2VsZWN0ZWRBZ2VudCAmJlxuICAgICghIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIHx8ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUylcblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSU1ITW9kYWxcbiAgICAgICRoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAkbG9hZGluZz17bG9hZGluZ31cbiAgICAgICRoYXNBZ2VudHM9eyEhYWdlbnRzLmxlbmd0aH1cbiAgICAgIG9uUG9pbnRlckRvd249e2RyYWdnYWJsZSA/IG9uRHJhZ1N0YXJ0IDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyTW92ZT17ZHJhZ2dhYmxlID8gb25EcmFnTW92ZSA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlclVwPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJDYW5jZWw9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uTG9zdFBvaW50ZXJDYXB0dXJlPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBzdHlsZT17eyBjdXJzb3I6IGRyYWdnYWJsZSA/ICdncmFiJyA6IHVuZGVmaW5lZCwgdG91Y2hBY3Rpb246IGRyYWdnYWJsZSA/ICdtYW5pcHVsYXRpb24nIDogdW5kZWZpbmVkIH19XG4gICAgPlxuICAgICAge3Nob3VsZFJlbmRlclNlbGVjdG9yID8gcmVuZGVyTW9kYWwoKSA6IDxkaXYgLz59XG4gICAgICA8U0NDQUlNSFdyYXBwZXJCdXR0b24gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICB7c2VsZWN0ZWRBZ2VudFR5cGUgJiYgc2VsZWN0ZWRNb2RlbExsbSAmJiA8Q2hpcExsbSBtb2RlbD17c2VsZWN0ZWRNb2RlbExsbX0gZXhwYW5kZWQ9e2V4cGFuZGVkfSAvPn1cbiAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIHJlZj17bGF5b3V0TWVudVJlZn0gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICBidXR0b25JZD1cImJ0bi1tYWlhLWxheW91dC1tZW51XCJcbiAgICAgICAgICAgIGhhbmRsZUNsaWNrPXsoKSA9PiBzZXRMYXlvdXRNZW51T3BlbihwcmV2ID0+ICFwcmV2KX1cbiAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2xheW91dE1lbnVUb29sdGlwJyl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPE1haWFDaGF0TGF5b3V0TWVudUljb24gLz5cbiAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAge2xheW91dE1lbnVPcGVuID8gKFxuICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ3NpZGViYXInfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ3NpZGViYXInKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRTaWRlYmFyJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmdWxsc2NyZWVuJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdmdWxsc2NyZWVuJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0RnVsbHNjcmVlbicpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnZmxvYXRpbmcnfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Zsb2F0aW5nJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0RmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVQYW5lbD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudUFuY2hvcj5cbiAgICAgICAgPEljb25CdXR0b24gaGFuZGxlQ2xpY2s9e2hhbmRsZUNsb3NlfSB0b29sdGlwPXt0KCdnbG9iYWxzLmNsb3NlJyl9PlxuICAgICAgICAgIDxDcm9zcyAvPlxuICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyQnV0dG9uPlxuICAgIDwvU0NDQUlNSE1vZGFsPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0EsU0FBU0EsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQTJDLE9BQU87QUFDNUcsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsUUFBUSxRQUFRLGlDQUFpQztBQUMxRCxTQUFTQyxnQkFBZ0IsUUFBUSx1Q0FBdUM7QUFDeEUsU0FBU0MsaUJBQWlCLFFBQVEsZ0NBQWdDO0FBQ2xFLFNBQVNDLFVBQVUsUUFBUSw4QkFBOEI7QUFDekQsU0FBU0MsUUFBUSxFQUFFQyxzQkFBc0IsUUFBUSx5QkFBeUI7QUFDMUUsU0FBU0MsaUJBQWlCLFFBQVEsMENBQTBDO0FBQzVFLFNBQ0VDLFlBQVksRUFDWkMsb0JBQW9CLEVBQ3BCQyx3QkFBd0IsRUFDeEJDLGNBQWMsRUFDZEMsb0JBQW9CLEVBQ3BCQyxrQkFBa0IsRUFDbEJDLG1CQUFtQixFQUNuQkMsMEJBQTBCLEVBQzFCQywrQkFBK0IsRUFDL0JDLGNBQWMsRUFDZEMsaUJBQWlCLEVBQ2pCQyxvQkFBb0IsRUFDcEJDLFlBQVksRUFDWkMsdUJBQXVCLEVBQ3ZCQyxzQkFBc0IsRUFDdEJDLG9CQUFvQixRQUNmLDRCQUE0QjtBQUVuQyxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSwrQkFBK0I7QUFDaEUsU0FBU0MsV0FBVyxFQUFFQyxPQUFPLFFBQVEsaUNBQWlDO0FBRXRFLFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFDbkQsU0FBU0MsTUFBTSxRQUFRLDBCQUEwQjtBQUFBLFNBQUFDLEdB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
|
|
@@ -65,8 +65,23 @@ export var SCCAIMHLoaderWrapper = styled.div.withConfig({
|
|
|
65
65
|
displayName: "ChatAiModalHeaderstyles__SCCAIMHLoaderWrapper",
|
|
66
66
|
componentId: "sc-r6xbtc-14"
|
|
67
67
|
})(["padding:8px;display:flex;justify-content:center;align-items:center;"]);
|
|
68
|
+
export var SCCAIMHLayoutMenuAnchor = styled.div.withConfig({
|
|
69
|
+
displayName: "ChatAiModalHeaderstyles__SCCAIMHLayoutMenuAnchor",
|
|
70
|
+
componentId: "sc-r6xbtc-15"
|
|
71
|
+
})(["position:relative;"]);
|
|
72
|
+
export var SCCAIMHLayoutMenuPanel = styled.div.withConfig({
|
|
73
|
+
displayName: "ChatAiModalHeaderstyles__SCCAIMHLayoutMenuPanel",
|
|
74
|
+
componentId: "sc-r6xbtc-16"
|
|
75
|
+
})(["position:absolute;top:calc(100% + 8px);right:0;z-index:1100;display:inline-flex;padding:12px 0;flex-direction:column;align-items:flex-start;border-radius:4px;border:0.5px solid #e0e0e0;background:#fff;box-shadow:0 1px 4px 0 rgba(0,0,0,0.08),0 1px 4px 0 rgba(0,0,0,0.04);min-width:max-content;"]);
|
|
76
|
+
export var SCCAIMHLayoutMenuRow = styled.button.withConfig({
|
|
77
|
+
displayName: "ChatAiModalHeaderstyles__SCCAIMHLayoutMenuRow",
|
|
78
|
+
componentId: "sc-r6xbtc-17"
|
|
79
|
+
})(["display:flex;padding:4px 16px;align-items:center;gap:6px;align-self:stretch;border:none;background:", ";cursor:pointer;font-family:var(--cor-typography-font-family,'Work Sans'),sans-serif;font-size:var(--cor-typography-font-size-sm,14px);font-weight:400;line-height:var(--cor-typography-line-height-20,20px);letter-spacing:var(--cor-typography-letter-spacing-0,0);color:var(--Text-Secondary,#666);text-align:left;&:hover{background:var(--cor-color-grey-100,#f2f2f2);}"], function (_ref3) {
|
|
80
|
+
var $active = _ref3.$active;
|
|
81
|
+
return $active ? 'var(--cor-color-grey-100, #f2f2f2)' : 'transparent';
|
|
82
|
+
});
|
|
68
83
|
export var SCCAIMHPlusIconWrapper = styled.div.withConfig({
|
|
69
84
|
displayName: "ChatAiModalHeaderstyles__SCCAIMHPlusIconWrapper",
|
|
70
|
-
componentId: "sc-r6xbtc-
|
|
85
|
+
componentId: "sc-r6xbtc-18"
|
|
71
86
|
})(["display:flex;align-items:center;justify-content:center;"]);
|
|
72
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJTQ0NBSU1IV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsInNwYW4iLCJfcmVmIiwiaXNBZ2VudERlbGV0ZWQiLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiX3JlZjIiLCJpc0Nsb25lIiwiU0NDQUlNTUFJQVRleHQiLCJoMyIsIlNDQ0FJTUhBZGRBZ2VudCIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlXcmFwcGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDZweCA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGdhcDogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiA5MHB4O1xuICBtYXgtd2lkdGg6IDI1MnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSE1vZGFsID0gc3R5bGVkLmRpdjx7ICRoYXNFcnJvcj86IGJvb2xlYW47ICRsb2FkaW5nPzogYm9vbGVhbjsgJGhhc0FnZW50cz86IGJvb2xlYW4gfT5gXG4gIHBhZGRpbmc6IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlckJ1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMjRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhTZWxlY3RlZEFnZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCA9IHN0eWxlZC5zcGFuPHsgaXNBZ2VudERlbGV0ZWQ/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjb2xvcjogIzM0MzQzMztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgJHsoeyBpc0FnZW50RGVsZXRlZCB9KSA9PlxuICAgIGlzQWdlbnREZWxldGVkICYmXG4gICAgY3NzYFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVySWNvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzOHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDMzNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3gtc2hhZG93OiAwcHggNHB4IDE2cHggMHB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yNCk7XG4gIHBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlID0gc3R5bGVkLnNwYW48eyBpc0Nsb25lPzogYm9vbGVhbiB9PmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMyYjJiMmI7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICR7KHsgaXNDbG9uZSB9KSA9PiAoaXNDbG9uZSA/ICcwcHgnIDogJzBweCAxMnB4Jyl9O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1NQUlBVGV4dCA9IHN0eWxlZC5oM2BcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2JhNDNmZiAwJSwgI2ZmNDNjYSA1MCUsICNiYTQzZmYgMTAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJSBhdXRvO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uOlxuICAgIHNoaW5lIDNzIGxpbmVhciBpbmZpbml0ZSxcbiAgICBmYWRlSW5TY2FsZSAwLjhzIGVhc2Utb3V0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcblxuICBAa2V5ZnJhbWVzIHNoaW5lIHtcbiAgICB0byB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSEFkZEFnZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDhjO1xuICBjb2xvcjogd2hpdGU7XG4gIGdhcDogOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhEaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAwLjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDlkOTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNHB4IDBweCAycHggMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjcpO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IQWdlbnRzTGlzdCA9IHN0eWxlZC5kaXY8eyBoYXNNb3JlPzogYm9vbGVhbjsgYWdlbnRzQ291bnQ/OiBudW1iZXIgfT5gXG4gIG1heC1oZWlnaHQ6IDI3NXB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSExvYWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFBsdXNJY29uV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFFL0MsT0FBTyxJQUFNQyxjQUFjLEdBQUdGLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtLQVd2QztBQUVELE9BQU8sSUFBTUMsWUFBWSxHQUFHUCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxpR0FNckM7QUFFRCxPQUFPLElBQU1FLG9CQUFvQixHQUFHUixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4QkFHN0M7QUFFRCxPQUFPLElBQU1HLG9CQUFvQixHQUFHVCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwyR0FPN0M7QUFFRCxPQUFPLElBQU1JLHdCQUF3QixHQUFHVixNQUFNLENBQUNXLElBQUksQ0FBQVAsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3S0FXL0MsVUFBQU0sSUFBQTtFQUFBLElBQUdDLGNBQWMsR0FBQUQsSUFBQSxDQUFkQyxjQUFjO0VBQUEsT0FDakJBLGNBQWMsSUFDZFosR0FBRyxtQ0FFRjtBQUFBLEVBQ0o7QUFFRCxPQUFPLElBQU1hLGtCQUFrQixHQUFHZCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrREFJM0M7QUFFRCxPQUFPLElBQU1TLG1CQUFtQixHQUFHZixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrRUFNNUM7QUFFRCxPQUFPLElBQU1VLDBCQUEwQixHQUFHaEIsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsb0tBU25EO0FBRUQsT0FBTyxJQUFNVywrQkFBK0IsR0FBR2pCLE1BQU0sQ0FBQ1csSUFBSSxDQUFBUCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1KQVE3QyxVQUFBWSxLQUFBO0VBQUEsSUFBR0MsT0FBTyxHQUFBRCxLQUFBLENBQVBDLE9BQU87RUFBQSxPQUFRQSxPQUFPLEdBQUcsS0FBSyxHQUFHLFVBQVU7QUFBQSxDQUFDLENBRTNEO0FBRUQsT0FBTyxJQUFNQyxjQUFjLEdBQUdwQixNQUFNLENBQUNxQixFQUFFLENBQUFqQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtmQStCdEM7QUFFRCxPQUFPLElBQU1nQixlQUFlLEdBQUd0QixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxT0FnQnhDO0FBRUQsT0FBTyxJQUFNaUIsY0FBYyxHQUFHdkIsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ0ZBS3ZDO0FBRUQsT0FBTyxJQUFNa0IsWUFBWSxHQUFHeEIsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbUhBU3JDO0FBRUQsT0FBTyxJQUFNbUIsaUJBQWlCLEdBQUd6QixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrSEFPMUM7QUFFRCxPQUFPLElBQU1vQixvQkFBb0IsR0FBRzFCLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDJFQUs3QztBQUVELE9BQU8sSUFBTXFCLHNCQUFzQixHQUFHM0IsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0RBSS9DIiwiaWdub3JlTGlzdCI6W119
|
|
87
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJTQ0NBSU1IV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsInNwYW4iLCJfcmVmIiwiaXNBZ2VudERlbGV0ZWQiLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiX3JlZjIiLCJpc0Nsb25lIiwiU0NDQUlNTUFJQVRleHQiLCJoMyIsIlNDQ0FJTUhBZGRBZ2VudCIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlXcmFwcGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIiwiU0NDQUlNSExheW91dE1lbnVQYW5lbCIsIlNDQ0FJTUhMYXlvdXRNZW51Um93IiwiYnV0dG9uIiwiX3JlZjMiLCIkYWN0aXZlIiwiU0NDQUlNSFBsdXNJY29uV3JhcHBlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsSGVhZGVyL0NoYXRBaU1vZGFsSGVhZGVyLnN0eWxlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZ2FwOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDkwcHg7XG4gIG1heC13aWR0aDogMjUycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITW9kYWwgPSBzdHlsZWQuZGl2PHsgJGhhc0Vycm9yPzogYm9vbGVhbjsgJGxvYWRpbmc/OiBib29sZWFuOyAkaGFzQWdlbnRzPzogYm9vbGVhbiB9PmBcbiAgcGFkZGluZzogMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyQnV0dG9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAyNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFNlbGVjdGVkQWdlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0ID0gc3R5bGVkLnNwYW48eyBpc0FnZW50RGVsZXRlZD86IGJvb2xlYW4gfT5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGNvbG9yOiAjMzQzNDMzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICAkeyh7IGlzQWdlbnREZWxldGVkIH0pID0+XG4gICAgaXNBZ2VudERlbGV0ZWQgJiZcbiAgICBjc3NgXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJJY29uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlck1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDM4cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMzM0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggMTZweCAwcHggcmdiYSgxOCwgMTgsIDE4LCAwLjI0KTtcbiAgcGFkZGluZzogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUgPSBzdHlsZWQuc3Bhbjx7IGlzQ2xvbmU/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzJiMmIyYjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHsoeyBpc0Nsb25lIH0pID0+IChpc0Nsb25lID8gJzBweCcgOiAnMHB4IDEycHgnKX07XG4gIGN1cnNvcjogZGVmYXVsdDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTU1BSUFUZXh0ID0gc3R5bGVkLmgzYFxuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYmE0M2ZmIDAlLCAjZmY0M2NhIDUwJSwgI2JhNDNmZiAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMDAlIGF1dG87XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb246XG4gICAgc2hpbmUgM3MgbGluZWFyIGluZmluaXRlLFxuICAgIGZhZGVJblNjYWxlIDAuOHMgZWFzZS1vdXQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuXG4gIEBrZXlmcmFtZXMgc2hpbmUge1xuICAgIHRvIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgZmFkZUluU2NhbGUge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IQWRkQWdlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwOGM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2OTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSERpdmlkZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDAuNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA0cHggMHB4IDJweCAwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNyk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhBZ2VudHNMaXN0ID0gc3R5bGVkLmRpdjx7IGhhc01vcmU/OiBib29sZWFuOyBhZ2VudHNDb3VudD86IG51bWJlciB9PmBcbiAgbWF4LWhlaWdodDogMjc1cHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITG9hZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgOHB4KTtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDExMDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwYWRkaW5nOiAxMnB4IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMC41cHggc29saWQgI2UwZTBlMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLFxuICAgIDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITGF5b3V0TWVudVJvdyA9IHN0eWxlZC5idXR0b248eyAkYWN0aXZlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNHB4IDE2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICR7KHsgJGFjdGl2ZSB9KSA9PiAoJGFjdGl2ZSA/ICd2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmMmYyZjIpJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUtc20sIDE0cHgpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG4gIGNvbG9yOiB2YXIoLS1UZXh0LVNlY29uZGFyeSwgIzY2Nik7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29yLWNvbG9yLWdyZXktMTAwLCAjZjJmMmYyKTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFBsdXNJY29uV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFFL0MsT0FBTyxJQUFNQyxjQUFjLEdBQUdGLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtLQVd2QztBQUVELE9BQU8sSUFBTUMsWUFBWSxHQUFHUCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxpR0FNckM7QUFFRCxPQUFPLElBQU1FLG9CQUFvQixHQUFHUixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4QkFHN0M7QUFFRCxPQUFPLElBQU1HLG9CQUFvQixHQUFHVCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFD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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SCCAIMFloatingPanelMotionRoot } from './FloatingPanelMotion.styles';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
export function FloatingPanelMotion(_ref) {
|
|
4
|
+
var tilt = _ref.tilt,
|
|
5
|
+
children = _ref.children,
|
|
6
|
+
_ref$expanded = _ref.expanded,
|
|
7
|
+
expanded = _ref$expanded === void 0 ? false : _ref$expanded;
|
|
8
|
+
return /*#__PURE__*/_jsx(SCCAIMFloatingPanelMotionRoot, {
|
|
9
|
+
$expanded: expanded,
|
|
10
|
+
style: {
|
|
11
|
+
rotate: tilt
|
|
12
|
+
},
|
|
13
|
+
children: children
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQ0NBSU1GbG9hdGluZ1BhbmVsTW90aW9uUm9vdCIsImpzeCIsIl9qc3giLCJGbG9hdGluZ1BhbmVsTW90aW9uIiwiX3JlZiIsInRpbHQiLCJjaGlsZHJlbiIsIl9yZWYkZXhwYW5kZWQiLCJleHBhbmRlZCIsIiRleHBhbmRlZCIsInN0eWxlIiwicm90YXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2Zsb2F0aW5nUGFuZWxNb3Rpb24vRmxvYXRpbmdQYW5lbE1vdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNb3Rpb25WYWx1ZSB9IGZyb20gJ2ZyYW1lci1tb3Rpb24nXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBTQ0NBSU1GbG9hdGluZ1BhbmVsTW90aW9uUm9vdCB9IGZyb20gJy4vRmxvYXRpbmdQYW5lbE1vdGlvbi5zdHlsZXMnXG5cbnR5cGUgRmxvYXRpbmdQYW5lbE1vdGlvblByb3BzID0ge1xuICB0aWx0OiBNb3Rpb25WYWx1ZTxudW1iZXI+XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbiAgZXhwYW5kZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBGbG9hdGluZ1BhbmVsTW90aW9uKHsgdGlsdCwgY2hpbGRyZW4sIGV4cGFuZGVkID0gZmFsc2UgfTogRmxvYXRpbmdQYW5lbE1vdGlvblByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUZsb2F0aW5nUGFuZWxNb3Rpb25Sb290ICRleHBhbmRlZD17ZXhwYW5kZWR9IHN0eWxlPXt7IHJvdGF0ZTogdGlsdCB9fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1NDQ0FJTUZsb2F0aW5nUGFuZWxNb3Rpb25Sb290PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUdBLFNBQVNBLDZCQUE2QixRQUFRLDhCQUE4QjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVE1RSxPQUFPLFNBQVNDLG1CQUFtQkEsQ0FBQUMsSUFBQSxFQUFpRTtFQUFBLElBQTlEQyxJQUFJLEdBQUFELElBQUEsQ0FBSkMsSUFBSTtJQUFFQyxRQUFRLEdBQUFGLElBQUEsQ0FBUkUsUUFBUTtJQUFBQyxhQUFBLEdBQUFILElBQUEsQ0FBRUksUUFBUTtJQUFSQSxRQUFRLEdBQUFELGFBQUEsY0FBRyxLQUFLLEdBQUFBLGFBQUE7RUFDcEUsb0JBQ0VMLElBQUEsQ0FBQ0YsNkJBQTZCO0lBQUNTLFNBQVMsRUFBRUQsUUFBUztJQUFDRSxLQUFLLEVBQUU7TUFBRUMsTUFBTSxFQUFFTjtJQUFLLENBQUU7SUFBQUMsUUFBQSxFQUN6RUE7RUFBUSxDQUNvQixDQUFDO0FBRXBDIiwiaWdub3JlTGlzdCI6W119
|
package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { motion } from 'framer-motion';
|
|
2
|
+
import styled, { css } from 'styled-components';
|
|
3
|
+
|
|
4
|
+
/** Contenedor motion del panel flotante: pivote inferior (cuelga desde abajo). */
|
|
5
|
+
export var SCCAIMFloatingPanelMotionRoot = styled(motion.div).withConfig({
|
|
6
|
+
displayName: "FloatingPanelMotionstyles__SCCAIMFloatingPanelMotionRoot",
|
|
7
|
+
componentId: "sc-1omxcem-0"
|
|
8
|
+
})(["display:flex;height:100%;transform-origin:50% 100%;", ""], function (_ref) {
|
|
9
|
+
var $expanded = _ref.$expanded;
|
|
10
|
+
return $expanded && css(["flex:1 1 0%;min-width:0;width:100%;max-width:100%;"]);
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtb3Rpb24iLCJzdHlsZWQiLCJjc3MiLCJTQ0NBSU1GbG9hdGluZ1BhbmVsTW90aW9uUm9vdCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsIiRleHBhbmRlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9mbG9hdGluZ1BhbmVsTW90aW9uL0Zsb2F0aW5nUGFuZWxNb3Rpb24uc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtb3Rpb24gfSBmcm9tICdmcmFtZXItbW90aW9uJ1xuaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcblxuLyoqIENvbnRlbmVkb3IgbW90aW9uIGRlbCBwYW5lbCBmbG90YW50ZTogcGl2b3RlIGluZmVyaW9yIChjdWVsZ2EgZGVzZGUgYWJham8pLiAqL1xuZXhwb3J0IGNvbnN0IFNDQ0FJTUZsb2F0aW5nUGFuZWxNb3Rpb25Sb290ID0gc3R5bGVkKG1vdGlvbi5kaXYpPHsgJGV4cGFuZGVkPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgLyogRW4gY2hhdCBjb21wbGV0byBlbCBtb3Rpb24gcm9vdCBkZWJlIGxsZW5hciBlbCBhbmNobyBkZWwgd3JhcHBlcjsgc2kgbm8sIHdpZHRoOjEwMCUgZGVsIGhpam8gY29sYXBzYS4gKi9cbiAgJHsoeyAkZXhwYW5kZWQgfSkgPT5cbiAgICAkZXhwYW5kZWQgJiZcbiAgICBjc3NgXG4gICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxNQUFNLFFBQVEsZUFBZTtBQUN0QyxPQUFPQyxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7O0FBRS9DO0FBQ0EsT0FBTyxJQUFNQyw2QkFBNkIsR0FBR0YsTUFBTSxDQUFDRCxNQUFNLENBQUNJLEdBQUcsQ0FBQyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGdFQUszRCxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsU0FBUyxHQUFBRCxJQUFBLENBQVRDLFNBQVM7RUFBQSxPQUNaQSxTQUFTLElBQ1RQLEdBQUcsd0RBS0Y7QUFBQSxFQUNKIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export var FLOATING_DRAG_TILT_SPRING = {
|
|
2
|
+
stiffness: 420,
|
|
3
|
+
damping: 34,
|
|
4
|
+
mass: 0.42
|
|
5
|
+
};
|
|
6
|
+
export var FLOATING_DRAG_TILT_DX = 0.11;
|
|
7
|
+
export var FLOATING_DRAG_TILT_DY = 0.035;
|
|
8
|
+
export var FLOATING_DRAG_TILT_MAX_DEG = 5.5;
|
|
9
|
+
export var FLOATING_DRAG_TILT_IDLE_MS = 48;
|
|
10
|
+
export function clampFloatingDragTilt(deg) {
|
|
11
|
+
return Math.max(-FLOATING_DRAG_TILT_MAX_DEG, Math.min(FLOATING_DRAG_TILT_MAX_DEG, deg));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGTE9BVElOR19EUkFHX1RJTFRfU1BSSU5HIiwic3RpZmZuZXNzIiwiZGFtcGluZyIsIm1hc3MiLCJGTE9BVElOR19EUkFHX1RJTFRfRFgiLCJGTE9BVElOR19EUkFHX1RJTFRfRFkiLCJGTE9BVElOR19EUkFHX1RJTFRfTUFYX0RFRyIsIkZMT0FUSU5HX0RSQUdfVElMVF9JRExFX01TIiwiY2xhbXBGbG9hdGluZ0RyYWdUaWx0IiwiZGVnIiwiTWF0aCIsIm1heCIsIm1pbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9mbG9hdGluZ1BhbmVsTW90aW9uL2NvbnN0YW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkxPQVRJTkdfRFJBR19USUxUX1NQUklORyA9IHtcbiAgc3RpZmZuZXNzOiA0MjAsXG4gIGRhbXBpbmc6IDM0LFxuICBtYXNzOiAwLjQyLFxufSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgRkxPQVRJTkdfRFJBR19USUxUX0RYID0gMC4xMVxuZXhwb3J0IGNvbnN0IEZMT0FUSU5HX0RSQUdfVElMVF9EWSA9IDAuMDM1XG5leHBvcnQgY29uc3QgRkxPQVRJTkdfRFJBR19USUxUX01BWF9ERUcgPSA1LjVcbmV4cG9ydCBjb25zdCBGTE9BVElOR19EUkFHX1RJTFRfSURMRV9NUyA9IDQ4XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGFtcEZsb2F0aW5nRHJhZ1RpbHQoZGVnOiBudW1iZXIpIHtcbiAgcmV0dXJuIE1hdGgubWF4KC1GTE9BVElOR19EUkFHX1RJTFRfTUFYX0RFRywgTWF0aC5taW4oRkxPQVRJTkdfRFJBR19USUxUX01BWF9ERUcsIGRlZykpXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBTUEseUJBQXlCLEdBQUc7RUFDdkNDLFNBQVMsRUFBRSxHQUFHO0VBQ2RDLE9BQU8sRUFBRSxFQUFFO0VBQ1hDLElBQUksRUFBRTtBQUNSLENBQVU7QUFFVixPQUFPLElBQU1DLHFCQUFxQixHQUFHLElBQUk7QUFDekMsT0FBTyxJQUFNQyxxQkFBcUIsR0FBRyxLQUFLO0FBQzFDLE9BQU8sSUFBTUMsMEJBQTBCLEdBQUcsR0FBRztBQUM3QyxPQUFPLElBQU1DLDBCQUEwQixHQUFHLEVBQUU7QUFFNUMsT0FBTyxTQUFTQyxxQkFBcUJBLENBQUNDLEdBQVcsRUFBRTtFQUNqRCxPQUFPQyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDTCwwQkFBMEIsRUFBRUksSUFBSSxDQUFDRSxHQUFHLENBQUNOLDBCQUEwQixFQUFFRyxHQUFHLENBQUMsQ0FBQztBQUN6RiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { FloatingPanelMotion } from './FloatingPanelMotion';
|
|
2
|
+
export { useFloatingPanelDragTilt } from './useFloatingPanelDragTilt';
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGbG9hdGluZ1BhbmVsTW90aW9uIiwidXNlRmxvYXRpbmdQYW5lbERyYWdUaWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2Zsb2F0aW5nUGFuZWxNb3Rpb24vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRmxvYXRpbmdQYW5lbE1vdGlvbiB9IGZyb20gJy4vRmxvYXRpbmdQYW5lbE1vdGlvbidcbmV4cG9ydCB7IHVzZUZsb2F0aW5nUGFuZWxEcmFnVGlsdCB9IGZyb20gJy4vdXNlRmxvYXRpbmdQYW5lbERyYWdUaWx0J1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxtQkFBbUIsUUFBUSx1QkFBdUI7QUFDM0QsU0FBU0Msd0JBQXdCLFFBQVEsNEJBQTRCIiwiaWdub3JlTGlzdCI6W119
|