@projectcor/maia-components 2.11.26-9 → 2.11.26

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.
@@ -1,26 +1,18 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
5
  /* eslint-disable @typescript-eslint/no-explicit-any */
7
- import { useState, useEffect, useRef, useCallback } from 'react';
8
- import { Alert } from '@projectcor/icons/lib/components/Alert';
6
+ import { useState, useEffect, useRef, useCallback, useMemo } from 'react';
9
7
  import { CheckCircle } from '@projectcor/icons/lib/components/CheckCircle';
10
8
  import { CrossCircle } from '@projectcor/icons/lib/components/CrossCircle';
11
- import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
12
9
  import { useTranslation } from 'react-i18next';
13
- import { SCApprovalBox, SCABHeader, SCABTitle, SCABDescription, SCABActionsList, SCABActionItem, SCABActionName, SCABButtonsContainer, SCABButton, SCABStatusBadge, SCABStatusWarningIcon } from './ApprovalBox.styles';
10
+ import { SCApprovalBox, SCABHeader, SCABTitle, SCABDescription, SCABActionsList, SCABActionItem, SCABActionName, SCABButtonsContainer, SCABButton, SCABStatusBadge } from './ApprovalBox.styles';
14
11
  import { SECTIONS } from '../../../constants/config';
15
12
  import { useGlobalContext } from '../../../context/global-context';
16
13
  import { EVENTS, useEvent } from '../../../hooks/useEvent';
14
+ import { buildHitlActionTypeList, getHitlAnalyticsAgentType, hitlBatchIncludesCreateAgent, normalizeHitlToolName } from '../../../utils/hitlAnalytics';
17
15
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
18
- /** Alineado con TOOL_PERMISSION_MAP / TOOL_DISPLAY_NAMES en maia (snake_case). */
19
- function normalizeHitlToolName(toolName) {
20
- var n = (toolName || 'unknown').toLowerCase().trim();
21
- if (n === 'assign') return 'task_assign';
22
- return n;
23
- }
24
16
  function formatToolNameFallback(toolName) {
25
17
  var normalized = normalizeHitlToolName(toolName || 'unknown');
26
18
  var withSpaces = normalized.replace(/_/g, ' ').trim();
@@ -35,34 +27,10 @@ function getActionLabel(t, toolName, displayName) {
35
27
  if (displayName !== null && displayName !== void 0 && displayName.trim()) return displayName;
36
28
  return formatToolNameFallback(normalizedToolName);
37
29
  }
38
- function getDeliverableMode(toolArgs) {
39
- if (!toolArgs || Array.isArray(toolArgs)) return '';
40
- return String(toolArgs.deliverableType || toolArgs.deliverable_type || '').toLowerCase();
41
- }
42
- function getSpecialActionCopy(t, action) {
43
- var normalizedToolName = normalizeHitlToolName(action.tool_name);
44
- var deliverableMode = getDeliverableMode(action.tool_args);
45
- if (normalizedToolName === 'create_rework') {
46
- return {
47
- title: t('approvalBox.special.createRework.title'),
48
- description: t('approvalBox.special.createRework.description')
49
- };
50
- }
51
- if (normalizedToolName === 'update_deliverable' && ['children', 'checkbox'].includes(deliverableMode)) {
52
- return {
53
- title: t('approvalBox.special.updateDeliverableChildren.title'),
54
- description: t('approvalBox.special.updateDeliverableChildren.description')
55
- };
56
- }
57
- return {};
58
- }
59
- function buildHitlAnalyticsPayload(agentType, actions) {
60
- var actionTypes = _toConsumableArray(new Set(actions.map(function (a) {
61
- return normalizeHitlToolName(a.tool_name);
62
- }))).sort();
30
+ function buildHitlAnalyticsPayload(agentTypeForEvent, actions) {
63
31
  return {
64
- agent_type: agentType !== null && agentType !== void 0 ? agentType : 'custom',
65
- action_type: actionTypes.join(',')
32
+ agent_type: agentTypeForEvent,
33
+ action_type: buildHitlActionTypeList(actions)
66
34
  };
67
35
  }
68
36
  export var ApprovalBox = function ApprovalBox(_ref) {
@@ -77,10 +45,7 @@ export var ApprovalBox = function ApprovalBox(_ref) {
77
45
  isProjectDeleted = _ref$isProjectDeleted === void 0 ? false : _ref$isProjectDeleted,
78
46
  _ref$isExpanded = _ref.isExpanded,
79
47
  isExpanded = _ref$isExpanded === void 0 ? false : _ref$isExpanded,
80
- hitlInstanceId = _ref.hitlInstanceId,
81
- warningMessage = _ref.warningMessage,
82
- _ref$manualApprovalDe = _ref.manualApprovalDetected,
83
- manualApprovalDetected = _ref$manualApprovalDe === void 0 ? false : _ref$manualApprovalDe;
48
+ hitlInstanceId = _ref.hitlInstanceId;
84
49
  var _useTranslation = useTranslation([SECTIONS.chatAI]),
85
50
  t = _useTranslation.t;
86
51
  var _useState = useState(status),
@@ -91,6 +56,11 @@ export var ApprovalBox = function ApprovalBox(_ref) {
91
56
  agent = _useGlobalContext.agent;
92
57
  var eventAmplitude = useEvent();
93
58
  var lastHitlImpressionKeyRef = useRef(null);
59
+ var hitlBatchKey = useMemo(function () {
60
+ return hitlInstanceId !== null && hitlInstanceId !== void 0 ? hitlInstanceId : actions.map(function (a) {
61
+ return "".concat(a.thread_id, ":").concat(a.tool_call_id);
62
+ }).sort().join('|');
63
+ }, [hitlInstanceId, actions]);
94
64
 
95
65
  // Sincronizar localStatus con el prop status cuando cambia desde el padre (solo por value, evita bucles)
96
66
  useEffect(function () {
@@ -98,26 +68,26 @@ export var ApprovalBox = function ApprovalBox(_ref) {
98
68
  return prev !== status ? status : prev;
99
69
  });
100
70
  }, [status]);
101
- var agentType = agent === null || agent === void 0 ? void 0 : agent.type;
71
+ var hitlAnalyticsAgentType = getHitlAnalyticsAgentType(agent);
102
72
 
103
73
  // CA1: card de confirmación HITL visible (solo pendiente, no histórico ya resuelto)
104
74
  useEffect(function () {
105
75
  if (localStatus !== 'pending' || !actions.length) return;
106
- var impressionKey = hitlInstanceId !== null && hitlInstanceId !== void 0 ? hitlInstanceId : actions.map(function (a) {
107
- return "".concat(a.thread_id, ":").concat(a.tool_call_id);
108
- }).sort().join('|');
76
+ var impressionKey = hitlBatchKey;
109
77
  if (lastHitlImpressionKeyRef.current === impressionKey) return;
110
78
  lastHitlImpressionKeyRef.current = impressionKey;
111
- eventAmplitude(EVENTS.aiChatHitl, buildHitlAnalyticsPayload(agentType, actions));
112
- }, [actions, agentType, eventAmplitude, localStatus, hitlInstanceId]);
79
+ eventAmplitude(EVENTS.aiChatHitl, buildHitlAnalyticsPayload(hitlAnalyticsAgentType, actions));
80
+ }, [eventAmplitude, hitlAnalyticsAgentType, hitlBatchKey, localStatus, actions.length]);
113
81
  var trackHitlDecision = useCallback(function (decision) {
114
- eventAmplitude(EVENTS.aiChatHitlOption, _objectSpread(_objectSpread({}, buildHitlAnalyticsPayload(agentType, actions)), {}, {
82
+ eventAmplitude(EVENTS.aiChatHitlOption, _objectSpread(_objectSpread({}, buildHitlAnalyticsPayload(hitlAnalyticsAgentType, actions)), {}, {
115
83
  decision: decision
116
84
  }));
117
- }, [actions, agentType, eventAmplitude]);
85
+ }, [actions, hitlAnalyticsAgentType, eventAmplitude]);
118
86
  var handleApprove = function handleApprove() {
119
87
  if (isLoading || localStatus !== 'pending') return;
120
- trackHitlDecision('accept');
88
+ if (!hitlBatchIncludesCreateAgent(actions)) {
89
+ trackHitlDecision('accept');
90
+ }
121
91
  setLocalStatus('approved');
122
92
  onApprove(actions.map(function (a) {
123
93
  return a.thread_id;
@@ -141,11 +111,9 @@ export var ApprovalBox = function ApprovalBox(_ref) {
141
111
  }), /*#__PURE__*/_jsx(SCABActionsList, {
142
112
  $expanded: isExpanded,
143
113
  children: actions.map(function (action) {
144
- var specialCopy = getSpecialActionCopy(t, action);
145
- var label = specialCopy.title || getActionLabel(t, action.tool_name, action.display_name);
146
114
  return /*#__PURE__*/_jsx(SCABActionItem, {
147
115
  children: /*#__PURE__*/_jsx(SCABActionName, {
148
- children: label
116
+ children: getActionLabel(t, action.tool_name, action.display_name)
149
117
  })
150
118
  }, action.thread_id);
151
119
  })
@@ -165,28 +133,18 @@ export var ApprovalBox = function ApprovalBox(_ref) {
165
133
  $status: localStatus,
166
134
  children: localStatus === 'approved' ? /*#__PURE__*/_jsxs(_Fragment, {
167
135
  children: [/*#__PURE__*/_jsx(CheckCircle, {
168
- width: 14,
169
- height: 14,
170
- color: "#5d5d5c"
171
- }), t('approvalBox.status.approved'), manualApprovalDetected && /*#__PURE__*/_jsx(Tooltip, {
172
- title: warningMessage || t('approvalBox.manualApprovalWarning'),
173
- placement: "right",
174
- children: /*#__PURE__*/_jsx(SCABStatusWarningIcon, {
175
- children: /*#__PURE__*/_jsx(Alert, {
176
- color: "#EAA11A",
177
- width: "13px",
178
- height: "13px"
179
- })
180
- })
181
- })]
136
+ width: 22,
137
+ height: 22,
138
+ color: "#008400"
139
+ }), t('approvalBox.status.approved')]
182
140
  }) : /*#__PURE__*/_jsxs(_Fragment, {
183
141
  children: [/*#__PURE__*/_jsx(CrossCircle, {
184
- width: 14,
185
- height: 14,
186
- color: "#8a8a89"
142
+ width: 22,
143
+ height: 22,
144
+ color: "#C70505"
187
145
  }), t('approvalBox.status.denied')]
188
146
  })
189
147
  })]
190
148
  });
191
149
  };
192
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNhbGxiYWNrIiwiQWxlcnQiLCJDaGVja0NpcmNsZSIsIkNyb3NzQ2lyY2xlIiwiVG9vbHRpcCIsInVzZVRyYW5zbGF0aW9uIiwiU0NBcHByb3ZhbEJveCIsIlNDQUJIZWFkZXIiLCJTQ0FCVGl0bGUiLCJTQ0FCRGVzY3JpcHRpb24iLCJTQ0FCQWN0aW9uc0xpc3QiLCJTQ0FCQWN0aW9uSXRlbSIsIlNDQUJBY3Rpb25OYW1lIiwiU0NBQkJ1dHRvbnNDb250YWluZXIiLCJTQ0FCQnV0dG9uIiwiU0NBQlN0YXR1c0JhZGdlIiwiU0NBQlN0YXR1c1dhcm5pbmdJY29uIiwiU0VDVElPTlMiLCJ1c2VHbG9iYWxDb250ZXh0IiwiRVZFTlRTIiwidXNlRXZlbnQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJ0b29sTmFtZSIsIm4iLCJ0b0xvd2VyQ2FzZSIsInRyaW0iLCJmb3JtYXRUb29sTmFtZUZhbGxiYWNrIiwibm9ybWFsaXplZCIsIndpdGhTcGFjZXMiLCJyZXBsYWNlIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImdldEFjdGlvbkxhYmVsIiwidCIsImRpc3BsYXlOYW1lIiwibm9ybWFsaXplZFRvb2xOYW1lIiwidHJhbnNsYXRpb25LZXkiLCJjb25jYXQiLCJ0cmFuc2xhdGVkTGFiZWwiLCJnZXREZWxpdmVyYWJsZU1vZGUiLCJ0b29sQXJncyIsIkFycmF5IiwiaXNBcnJheSIsIlN0cmluZyIsImRlbGl2ZXJhYmxlVHlwZSIsImRlbGl2ZXJhYmxlX3R5cGUiLCJnZXRTcGVjaWFsQWN0aW9uQ29weSIsImFjdGlvbiIsInRvb2xfbmFtZSIsImRlbGl2ZXJhYmxlTW9kZSIsInRvb2xfYXJncyIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJpbmNsdWRlcyIsImJ1aWxkSGl0bEFuYWx5dGljc1BheWxvYWQiLCJhZ2VudFR5cGUiLCJhY3Rpb25zIiwiYWN0aW9uVHlwZXMiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJTZXQiLCJtYXAiLCJhIiwic29ydCIsImFnZW50X3R5cGUiLCJhY3Rpb25fdHlwZSIsImpvaW4iLCJBcHByb3ZhbEJveCIsIl9yZWYiLCJvbkFwcHJvdmUiLCJvblJlamVjdCIsIl9yZWYkc3RhdHVzIiwic3RhdHVzIiwiX3JlZiRpc0xvYWRpbmciLCJpc0xvYWRpbmciLCJfcmVmJGlzUHJvamVjdERlbGV0ZWQiLCJpc1Byb2plY3REZWxldGVkIiwiX3JlZiRpc0V4cGFuZGVkIiwiaXNFeHBhbmRlZCIsImhpdGxJbnN0YW5jZUlkIiwid2FybmluZ01lc3NhZ2UiLCJfcmVmJG1hbnVhbEFwcHJvdmFsRGUiLCJtYW51YWxBcHByb3ZhbERldGVjdGVkIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibG9jYWxTdGF0dXMiLCJzZXRMb2NhbFN0YXR1cyIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJldmVudEFtcGxpdHVkZSIsImxhc3RIaXRsSW1wcmVzc2lvbktleVJlZiIsInByZXYiLCJ0eXBlIiwibGVuZ3RoIiwiaW1wcmVzc2lvbktleSIsInRocmVhZF9pZCIsInRvb2xfY2FsbF9pZCIsImN1cnJlbnQiLCJhaUNoYXRIaXRsIiwidHJhY2tIaXRsRGVjaXNpb24iLCJkZWNpc2lvbiIsImFpQ2hhdEhpdGxPcHRpb24iLCJfb2JqZWN0U3ByZWFkIiwiaGFuZGxlQXBwcm92ZSIsImhhbmRsZVJlamVjdCIsImNoaWxkcmVuIiwiJGV4cGFuZGVkIiwic3BlY2lhbENvcHkiLCJsYWJlbCIsImRpc3BsYXlfbmFtZSIsIiR2YXJpYW50Iiwib25DbGljayIsIiRkaXNhYmxlZCIsIiRzdGF0dXMiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwicGxhY2VtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQXBwcm92YWxCb3gvQXBwcm92YWxCb3gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQWxlcnQnXG5pbXBvcnQgeyBDaGVja0NpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZWNrQ2lyY2xlJ1xuaW1wb3J0IHsgQ3Jvc3NDaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9Dcm9zc0NpcmNsZSdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IFBlbmRpbmdBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9DaGF0J1xuaW1wb3J0IHtcbiAgU0NBcHByb3ZhbEJveCxcbiAgU0NBQkhlYWRlcixcbiAgU0NBQlRpdGxlLFxuICBTQ0FCRGVzY3JpcHRpb24sXG4gIFNDQUJBY3Rpb25zTGlzdCxcbiAgU0NBQkFjdGlvbkl0ZW0sXG4gIFNDQUJBY3Rpb25OYW1lLFxuICBTQ0FCQnV0dG9uc0NvbnRhaW5lcixcbiAgU0NBQkJ1dHRvbixcbiAgU0NBQlN0YXR1c0JhZGdlLFxuICBTQ0FCU3RhdHVzV2FybmluZ0ljb24sXG59IGZyb20gJy4vQXBwcm92YWxCb3guc3R5bGVzJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgdHlwZSB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5cbi8qKiBBbGluZWFkbyBjb24gVE9PTF9QRVJNSVNTSU9OX01BUCAvIFRPT0xfRElTUExBWV9OQU1FUyBlbiBtYWlhIChzbmFrZV9jYXNlKS4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZUhpdGxUb29sTmFtZSh0b29sTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbiA9ICh0b29sTmFtZSB8fCAndW5rbm93bicpLnRvTG93ZXJDYXNlKCkudHJpbSgpXG4gIGlmIChuID09PSAnYXNzaWduJykgcmV0dXJuICd0YXNrX2Fzc2lnbidcbiAgcmV0dXJuIG5cbn1cblxuZnVuY3Rpb24gZm9ybWF0VG9vbE5hbWVGYWxsYmFjayh0b29sTmFtZT86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUodG9vbE5hbWUgfHwgJ3Vua25vd24nKVxuICBjb25zdCB3aXRoU3BhY2VzID0gbm9ybWFsaXplZC5yZXBsYWNlKC9fL2csICcgJykudHJpbSgpXG4gIGlmICghd2l0aFNwYWNlcykgcmV0dXJuICdVbmtub3duJ1xuICByZXR1cm4gd2l0aFNwYWNlcy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdpdGhTcGFjZXMuc2xpY2UoMSlcbn1cblxuZnVuY3Rpb24gZ2V0QWN0aW9uTGFiZWwodDogKGtleTogc3RyaW5nKSA9PiBzdHJpbmcsIHRvb2xOYW1lPzogc3RyaW5nLCBkaXNwbGF5TmFtZT86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRUb29sTmFtZSA9IG5vcm1hbGl6ZUhpdGxUb29sTmFtZSh0b29sTmFtZSB8fCAndW5rbm93bicpXG4gIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gYGFwcHJvdmFsQm94LmFjdGlvbnMuJHtub3JtYWxpemVkVG9vbE5hbWV9YFxuICBjb25zdCB0cmFuc2xhdGVkTGFiZWwgPSB0KHRyYW5zbGF0aW9uS2V5KVxuXG4gIGlmICh0cmFuc2xhdGVkTGFiZWwgIT09IHRyYW5zbGF0aW9uS2V5KSByZXR1cm4gdHJhbnNsYXRlZExhYmVsXG4gIGlmIChkaXNwbGF5TmFtZT8udHJpbSgpKSByZXR1cm4gZGlzcGxheU5hbWVcbiAgcmV0dXJuIGZvcm1hdFRvb2xOYW1lRmFsbGJhY2sobm9ybWFsaXplZFRvb2xOYW1lKVxufVxuXG5mdW5jdGlvbiBnZXREZWxpdmVyYWJsZU1vZGUodG9vbEFyZ3M6IFBlbmRpbmdBY3Rpb25bJ3Rvb2xfYXJncyddKTogc3RyaW5nIHtcbiAgaWYgKCF0b29sQXJncyB8fCBBcnJheS5pc0FycmF5KHRvb2xBcmdzKSkgcmV0dXJuICcnXG4gIHJldHVybiBTdHJpbmcodG9vbEFyZ3MuZGVsaXZlcmFibGVUeXBlIHx8IHRvb2xBcmdzLmRlbGl2ZXJhYmxlX3R5cGUgfHwgJycpLnRvTG93ZXJDYXNlKClcbn1cblxuZnVuY3Rpb24gZ2V0U3BlY2lhbEFjdGlvbkNvcHkoXG4gIHQ6IChrZXk6IHN0cmluZykgPT4gc3RyaW5nLFxuICBhY3Rpb246IFBlbmRpbmdBY3Rpb25cbik6IHsgdGl0bGU/OiBzdHJpbmc7IGRlc2NyaXB0aW9uPzogc3RyaW5nIH0ge1xuICBjb25zdCBub3JtYWxpemVkVG9vbE5hbWUgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUoYWN0aW9uLnRvb2xfbmFtZSlcbiAgY29uc3QgZGVsaXZlcmFibGVNb2RlID0gZ2V0RGVsaXZlcmFibGVNb2RlKGFjdGlvbi50b29sX2FyZ3MpXG5cbiAgaWYgKG5vcm1hbGl6ZWRUb29sTmFtZSA9PT0gJ2NyZWF0ZV9yZXdvcmsnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0KCdhcHByb3ZhbEJveC5zcGVjaWFsLmNyZWF0ZVJld29yay50aXRsZScpLFxuICAgICAgZGVzY3JpcHRpb246IHQoJ2FwcHJvdmFsQm94LnNwZWNpYWwuY3JlYXRlUmV3b3JrLmRlc2NyaXB0aW9uJyksXG4gICAgfVxuICB9XG5cbiAgaWYgKG5vcm1hbGl6ZWRUb29sTmFtZSA9PT0gJ3VwZGF0ZV9kZWxpdmVyYWJsZScgJiYgWydjaGlsZHJlbicsICdjaGVja2JveCddLmluY2x1ZGVzKGRlbGl2ZXJhYmxlTW9kZSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IHQoJ2FwcHJvdmFsQm94LnNwZWNpYWwudXBkYXRlRGVsaXZlcmFibGVDaGlsZHJlbi50aXRsZScpLFxuICAgICAgZGVzY3JpcHRpb246IHQoJ2FwcHJvdmFsQm94LnNwZWNpYWwudXBkYXRlRGVsaXZlcmFibGVDaGlsZHJlbi5kZXNjcmlwdGlvbicpLFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7fVxufVxuXG5mdW5jdGlvbiBidWlsZEhpdGxBbmFseXRpY3NQYXlsb2FkKGFnZW50VHlwZTogQWdlbnRbJ3R5cGUnXSB8IHVuZGVmaW5lZCwgYWN0aW9uczogUGVuZGluZ0FjdGlvbltdKSB7XG4gIGNvbnN0IGFjdGlvblR5cGVzID0gWy4uLm5ldyBTZXQoYWN0aW9ucy5tYXAoYSA9PiBub3JtYWxpemVIaXRsVG9vbE5hbWUoYS50b29sX25hbWUpKSldLnNvcnQoKVxuICByZXR1cm4ge1xuICAgIGFnZW50X3R5cGU6IGFnZW50VHlwZSA/PyAnY3VzdG9tJyxcbiAgICBhY3Rpb25fdHlwZTogYWN0aW9uVHlwZXMuam9pbignLCcpLFxuICB9XG59XG5cbmludGVyZmFjZSBBcHByb3ZhbEJveFByb3BzIHtcbiAgYWN0aW9uczogUGVuZGluZ0FjdGlvbltdXG4gIG9uQXBwcm92ZTogKHRocmVhZElkczogc3RyaW5nW10pID0+IHZvaWRcbiAgb25SZWplY3Q6ICh0aHJlYWRJZHM6IHN0cmluZ1tdKSA9PiB2b2lkXG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnXG4gIGlzTG9hZGluZz86IGJvb2xlYW5cbiAgLyoqIFNpIGVsIGNoYXQvcHJveWVjdG8gZXN0w6EgZWxpbWluYWRvLCBzZSBvY3VsdGFuIGxvcyBib3RvbmVzIGRlIGFwcm9iYXIvcmVjaGF6YXIgKi9cbiAgaXNQcm9qZWN0RGVsZXRlZD86IGJvb2xlYW5cbiAgLyoqIFNpIGVsIGNoYXQgZXN0w6EgZXhwYW5kaWRvICh0cnVlKSBvIGNvbGFwc2FkbyAoZmFsc2UpLiBBZmVjdGEgZWwgYW5jaG8gZGVsIGNvbnRlbmVkb3IuICovXG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuXG4gIC8qKiBJZCBlc3RhYmxlIHBvciBsb3RlIEhJVEwgKHAuIGVqLiBvcmlnaW5hbF90aHJlYWRfaWQpIHBhcmEgZWwgZXZlbnRvIGRlIGltcHJlc2nDs24gKi9cbiAgaGl0bEluc3RhbmNlSWQ/OiBzdHJpbmdcbiAgd2FybmluZ01lc3NhZ2U/OiBzdHJpbmdcbiAgbWFudWFsQXBwcm92YWxEZXRlY3RlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEFwcHJvdmFsQm94ID0gKHtcbiAgYWN0aW9ucyxcbiAgb25BcHByb3ZlLFxuICBvblJlamVjdCxcbiAgc3RhdHVzID0gJ3BlbmRpbmcnLFxuICBpc0xvYWRpbmcgPSBmYWxzZSxcbiAgaXNQcm9qZWN0RGVsZXRlZCA9IGZhbHNlLFxuICBpc0V4cGFuZGVkID0gZmFsc2UsXG4gIGhpdGxJbnN0YW5jZUlkLFxuICB3YXJuaW5nTWVzc2FnZSxcbiAgbWFudWFsQXBwcm92YWxEZXRlY3RlZCA9IGZhbHNlLFxufTogQXBwcm92YWxCb3hQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuICBjb25zdCBbbG9jYWxTdGF0dXMsIHNldExvY2FsU3RhdHVzXSA9IHVzZVN0YXRlPCdwZW5kaW5nJyB8ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnPihzdGF0dXMpXG4gIGNvbnN0IHsgYWdlbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBldmVudEFtcGxpdHVkZSA9IHVzZUV2ZW50KClcbiAgY29uc3QgbGFzdEhpdGxJbXByZXNzaW9uS2V5UmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgLy8gU2luY3Jvbml6YXIgbG9jYWxTdGF0dXMgY29uIGVsIHByb3Agc3RhdHVzIGN1YW5kbyBjYW1iaWEgZGVzZGUgZWwgcGFkcmUgKHNvbG8gcG9yIHZhbHVlLCBldml0YSBidWNsZXMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TG9jYWxTdGF0dXMocHJldiA9PiAocHJldiAhPT0gc3RhdHVzID8gc3RhdHVzIDogcHJldikpXG4gIH0sIFtzdGF0dXNdKVxuXG4gIGNvbnN0IGFnZW50VHlwZSA9IGFnZW50Py50eXBlXG5cbiAgLy8gQ0ExOiBjYXJkIGRlIGNvbmZpcm1hY2nDs24gSElUTCB2aXNpYmxlIChzb2xvIHBlbmRpZW50ZSwgbm8gaGlzdMOzcmljbyB5YSByZXN1ZWx0bylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJyB8fCAhYWN0aW9ucy5sZW5ndGgpIHJldHVyblxuICAgIGNvbnN0IGltcHJlc3Npb25LZXkgPVxuICAgICAgaGl0bEluc3RhbmNlSWQgPz9cbiAgICAgIGFjdGlvbnNcbiAgICAgICAgLm1hcChhID0+IGAke2EudGhyZWFkX2lkfToke2EudG9vbF9jYWxsX2lkfWApXG4gICAgICAgIC5zb3J0KClcbiAgICAgICAgLmpvaW4oJ3wnKVxuICAgIGlmIChsYXN0SGl0bEltcHJlc3Npb25LZXlSZWYuY3VycmVudCA9PT0gaW1wcmVzc2lvbktleSkgcmV0dXJuXG4gICAgbGFzdEhpdGxJbXByZXNzaW9uS2V5UmVmLmN1cnJlbnQgPSBpbXByZXNzaW9uS2V5XG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdEhpdGwsIGJ1aWxkSGl0bEFuYWx5dGljc1BheWxvYWQoYWdlbnRUeXBlLCBhY3Rpb25zKSlcbiAgfSwgW2FjdGlvbnMsIGFnZW50VHlwZSwgZXZlbnRBbXBsaXR1ZGUsIGxvY2FsU3RhdHVzLCBoaXRsSW5zdGFuY2VJZF0pXG5cbiAgY29uc3QgdHJhY2tIaXRsRGVjaXNpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoZGVjaXNpb246ICdhY2NlcHQnIHwgJ2RlbnknKSA9PiB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0SGl0bE9wdGlvbiwge1xuICAgICAgICAuLi5idWlsZEhpdGxBbmFseXRpY3NQYXlsb2FkKGFnZW50VHlwZSwgYWN0aW9ucyksXG4gICAgICAgIGRlY2lzaW9uLFxuICAgICAgfSlcbiAgICB9LFxuICAgIFthY3Rpb25zLCBhZ2VudFR5cGUsIGV2ZW50QW1wbGl0dWRlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlQXBwcm92ZSA9ICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nIHx8IGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycpIHJldHVyblxuICAgIHRyYWNrSGl0bERlY2lzaW9uKCdhY2NlcHQnKVxuICAgIHNldExvY2FsU3RhdHVzKCdhcHByb3ZlZCcpXG4gICAgb25BcHByb3ZlKGFjdGlvbnMubWFwKGEgPT4gYS50aHJlYWRfaWQpKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUmVqZWN0ID0gKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmcgfHwgbG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJykgcmV0dXJuXG4gICAgdHJhY2tIaXRsRGVjaXNpb24oJ2RlbnknKVxuICAgIHNldExvY2FsU3RhdHVzKCdyZWplY3RlZCcpXG4gICAgb25SZWplY3QoYWN0aW9ucy5tYXAoYSA9PiBhLnRocmVhZF9pZCkpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0FwcHJvdmFsQm94PlxuICAgICAgPFNDQUJIZWFkZXI+XG4gICAgICAgIDxTQ0FCVGl0bGU+e3QoJ2FwcHJvdmFsQm94LnRpdGxlJyl9PC9TQ0FCVGl0bGU+XG4gICAgICA8L1NDQUJIZWFkZXI+XG5cbiAgICAgIDxTQ0FCRGVzY3JpcHRpb24+e3QoJ2FwcHJvdmFsQm94LmRlc2NyaXB0aW9uJyl9PC9TQ0FCRGVzY3JpcHRpb24+XG5cbiAgICAgIDxTQ0FCQWN0aW9uc0xpc3QgJGV4cGFuZGVkPXtpc0V4cGFuZGVkfT5cbiAgICAgICAge2FjdGlvbnMubWFwKGFjdGlvbiA9PiB7XG4gICAgICAgICAgY29uc3Qgc3BlY2lhbENvcHkgPSBnZXRTcGVjaWFsQWN0aW9uQ29weSh0LCBhY3Rpb24pXG4gICAgICAgICAgY29uc3QgbGFiZWwgPSBzcGVjaWFsQ29weS50aXRsZSB8fCBnZXRBY3Rpb25MYWJlbCh0LCBhY3Rpb24udG9vbF9uYW1lLCAoYWN0aW9uIGFzIGFueSkuZGlzcGxheV9uYW1lKVxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8U0NBQkFjdGlvbkl0ZW0ga2V5PXthY3Rpb24udGhyZWFkX2lkfT5cbiAgICAgICAgICAgICAgPFNDQUJBY3Rpb25OYW1lPntsYWJlbH08L1NDQUJBY3Rpb25OYW1lPlxuICAgICAgICAgICAgPC9TQ0FCQWN0aW9uSXRlbT5cbiAgICAgICAgICApXG4gICAgICAgIH0pfVxuICAgICAgPC9TQ0FCQWN0aW9uc0xpc3Q+XG5cbiAgICAgIHtsb2NhbFN0YXR1cyA9PT0gJ3BlbmRpbmcnICYmICFpc1Byb2plY3REZWxldGVkICYmIChcbiAgICAgICAgPFNDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwicmVqZWN0XCIgb25DbGljaz17aGFuZGxlUmVqZWN0fSAkZGlzYWJsZWQ9e2lzTG9hZGluZ30+XG4gICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guZGVueScpfVxuICAgICAgICAgIDwvU0NBQkJ1dHRvbj5cbiAgICAgICAgICA8U0NBQkJ1dHRvbiAkdmFyaWFudD1cImFwcHJvdmVcIiBvbkNsaWNrPXtoYW5kbGVBcHByb3ZlfSAkZGlzYWJsZWQ9e2lzTG9hZGluZ30+XG4gICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guYXBwcm92ZScpfVxuICAgICAgICAgIDwvU0NBQkJ1dHRvbj5cbiAgICAgICAgPC9TQ0FCQnV0dG9uc0NvbnRhaW5lcj5cbiAgICAgICl9XG4gICAgICB7bG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJyAmJiAoXG4gICAgICAgIDxTQ0FCU3RhdHVzQmFkZ2UgJHN0YXR1cz17bG9jYWxTdGF0dXN9PlxuICAgICAgICAgIHtsb2NhbFN0YXR1cyA9PT0gJ2FwcHJvdmVkJyA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDaGVja0NpcmNsZSB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzVkNWQ1Y1wiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuYXBwcm92ZWQnKX1cbiAgICAgICAgICAgICAge21hbnVhbEFwcHJvdmFsRGV0ZWN0ZWQgJiYgKFxuICAgICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt3YXJuaW5nTWVzc2FnZSB8fCB0KCdhcHByb3ZhbEJveC5tYW51YWxBcHByb3ZhbFdhcm5pbmcnKX0gcGxhY2VtZW50PVwicmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgIDxTQ0FCU3RhdHVzV2FybmluZ0ljb24+XG4gICAgICAgICAgICAgICAgICAgIDxBbGVydCBjb2xvcj1cIiNFQUExMUFcIiB3aWR0aD1cIjEzcHhcIiBoZWlnaHQ9XCIxM3B4XCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NBQlN0YXR1c1dhcm5pbmdJY29uPlxuICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8Q3Jvc3NDaXJjbGUgd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiM4YThhODlcIiAvPlxuICAgICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guc3RhdHVzLmRlbmllZCcpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0FCU3RhdHVzQmFkZ2U+XG4gICAgICApfVxuICAgIDwvU0NBcHByb3ZhbEJveD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0EsU0FBU0EsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsV0FBVyxRQUFRLE9BQU87QUFDaEUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUU5QyxTQUNFQyxhQUFhLEVBQ2JDLFVBQVUsRUFDVkMsU0FBUyxFQUNUQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxlQUFlLEVBQ2ZDLHFCQUFxQixRQUNoQixzQkFBc0I7QUFDN0IsU0FBU0MsUUFBUSxRQUFRLDJCQUEyQjtBQUNwRCxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEseUJBQXlCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUE7QUFHMUQ7QUFDQSxTQUFTQyxxQkFBcUJBLENBQUNDLFFBQWdCLEVBQVU7RUFDdkQsSUFBTUMsQ0FBQyxHQUFHLENBQUNELFFBQVEsSUFBSSxTQUFTLEVBQUVFLFdBQVcsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDO0VBQ3RELElBQUlGLENBQUMsS0FBSyxRQUFRLEVBQUUsT0FBTyxhQUFhO0VBQ3hDLE9BQU9BLENBQUM7QUFDVjtBQUVBLFNBQVNHLHNCQUFzQkEsQ0FBQ0osUUFBaUIsRUFBVTtFQUN6RCxJQUFNSyxVQUFVLEdBQUdOLHFCQUFxQixDQUFDQyxRQUFRLElBQUks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
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIkNoZWNrQ2lyY2xlIiwiQ3Jvc3NDaXJjbGUiLCJ1c2VUcmFuc2xhdGlvbiIsIlNDQXBwcm92YWxCb3giLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiU0NBQkRlc2NyaXB0aW9uIiwiU0NBQkFjdGlvbnNMaXN0IiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsIlNDQUJCdXR0b25zQ29udGFpbmVyIiwiU0NBQkJ1dHRvbiIsIlNDQUJTdGF0dXNCYWRnZSIsIlNFQ1RJT05TIiwidXNlR2xvYmFsQ29udGV4dCIsIkVWRU5UUyIsInVzZUV2ZW50IiwiYnVpbGRIaXRsQWN0aW9uVHlwZUxpc3QiLCJnZXRIaXRsQW5hbHl0aWNzQWdlbnRUeXBlIiwiaGl0bEJhdGNoSW5jbHVkZXNDcmVhdGVBZ2VudCIsIm5vcm1hbGl6ZUhpdGxUb29sTmFtZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImZvcm1hdFRvb2xOYW1lRmFsbGJhY2siLCJ0b29sTmFtZSIsIm5vcm1hbGl6ZWQiLCJ3aXRoU3BhY2VzIiwicmVwbGFjZSIsInRyaW0iLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiZ2V0QWN0aW9uTGFiZWwiLCJ0IiwiZGlzcGxheU5hbWUiLCJub3JtYWxpemVkVG9vbE5hbWUiLCJ0cmFuc2xhdGlvbktleSIsImNvbmNhdCIsInRyYW5zbGF0ZWRMYWJlbCIsImJ1aWxkSGl0bEFuYWx5dGljc1BheWxvYWQiLCJhZ2VudFR5cGVGb3JFdmVudCIsImFjdGlvbnMiLCJhZ2VudF90eXBlIiwiYWN0aW9uX3R5cGUiLCJBcHByb3ZhbEJveCIsIl9yZWYiLCJvbkFwcHJvdmUiLCJvblJlamVjdCIsIl9yZWYkc3RhdHVzIiwic3RhdHVzIiwiX3JlZiRpc0xvYWRpbmciLCJpc0xvYWRpbmciLCJfcmVmJGlzUHJvamVjdERlbGV0ZWQiLCJpc1Byb2plY3REZWxldGVkIiwiX3JlZiRpc0V4cGFuZGVkIiwiaXNFeHBhbmRlZCIsImhpdGxJbnN0YW5jZUlkIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibG9jYWxTdGF0dXMiLCJzZXRMb2NhbFN0YXR1cyIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJldmVudEFtcGxpdHVkZSIsImxhc3RIaXRsSW1wcmVzc2lvbktleVJlZiIsImhpdGxCYXRjaEtleSIsIm1hcCIsImEiLCJ0aHJlYWRfaWQiLCJ0b29sX2NhbGxfaWQiLCJzb3J0Iiwiam9pbiIsInByZXYiLCJoaXRsQW5hbHl0aWNzQWdlbnRUeXBlIiwibGVuZ3RoIiwiaW1wcmVzc2lvbktleSIsImN1cnJlbnQiLCJhaUNoYXRIaXRsIiwidHJhY2tIaXRsRGVjaXNpb24iLCJkZWNpc2lvbiIsImFpQ2hhdEhpdGxPcHRpb24iLCJfb2JqZWN0U3ByZWFkIiwiaGFuZGxlQXBwcm92ZSIsImhhbmRsZVJlamVjdCIsImNoaWxkcmVuIiwiJGV4cGFuZGVkIiwiYWN0aW9uIiwidG9vbF9uYW1lIiwiZGlzcGxheV9uYW1lIiwiJHZhcmlhbnQiLCJvbkNsaWNrIiwiJGRpc2FibGVkIiwiJHN0YXR1cyIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9BcHByb3ZhbEJveC9BcHByb3ZhbEJveC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ2hlY2tDaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGVja0NpcmNsZSdcbmltcG9ydCB7IENyb3NzQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3NDaXJjbGUnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBQZW5kaW5nQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7XG4gIFNDQXBwcm92YWxCb3gsXG4gIFNDQUJIZWFkZXIsXG4gIFNDQUJUaXRsZSxcbiAgU0NBQkRlc2NyaXB0aW9uLFxuICBTQ0FCQWN0aW9uc0xpc3QsXG4gIFNDQUJBY3Rpb25JdGVtLFxuICBTQ0FCQWN0aW9uTmFtZSxcbiAgU0NBQkJ1dHRvbnNDb250YWluZXIsXG4gIFNDQUJCdXR0b24sXG4gIFNDQUJTdGF0dXNCYWRnZSxcbn0gZnJvbSAnLi9BcHByb3ZhbEJveC5zdHlsZXMnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIGJ1aWxkSGl0bEFjdGlvblR5cGVMaXN0LFxuICBnZXRIaXRsQW5hbHl0aWNzQWdlbnRUeXBlLFxuICBoaXRsQmF0Y2hJbmNsdWRlc0NyZWF0ZUFnZW50LFxuICBub3JtYWxpemVIaXRsVG9vbE5hbWUsXG59IGZyb20gJy4uLy4uLy4uL3V0aWxzL2hpdGxBbmFseXRpY3MnXG5cbmZ1bmN0aW9uIGZvcm1hdFRvb2xOYW1lRmFsbGJhY2sodG9vbE5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplSGl0bFRvb2xOYW1lKHRvb2xOYW1lIHx8ICd1bmtub3duJylcbiAgY29uc3Qgd2l0aFNwYWNlcyA9IG5vcm1hbGl6ZWQucmVwbGFjZSgvXy9nLCAnICcpLnRyaW0oKVxuICBpZiAoIXdpdGhTcGFjZXMpIHJldHVybiAnVW5rbm93bidcbiAgcmV0dXJuIHdpdGhTcGFjZXMuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3aXRoU3BhY2VzLnNsaWNlKDEpXG59XG5cbmZ1bmN0aW9uIGdldEFjdGlvbkxhYmVsKHQ6IChrZXk6IHN0cmluZykgPT4gc3RyaW5nLCB0b29sTmFtZT86IHN0cmluZywgZGlzcGxheU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBub3JtYWxpemVkVG9vbE5hbWUgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUodG9vbE5hbWUgfHwgJ3Vua25vd24nKVxuICBjb25zdCB0cmFuc2xhdGlvbktleSA9IGBhcHByb3ZhbEJveC5hY3Rpb25zLiR7bm9ybWFsaXplZFRvb2xOYW1lfWBcbiAgY29uc3QgdHJhbnNsYXRlZExhYmVsID0gdCh0cmFuc2xhdGlvbktleSlcblxuICBpZiAodHJhbnNsYXRlZExhYmVsICE9PSB0cmFuc2xhdGlvbktleSkgcmV0dXJuIHRyYW5zbGF0ZWRMYWJlbFxuICBpZiAoZGlzcGxheU5hbWU/LnRyaW0oKSkgcmV0dXJuIGRpc3BsYXlOYW1lXG4gIHJldHVybiBmb3JtYXRUb29sTmFtZUZhbGxiYWNrKG5vcm1hbGl6ZWRUb29sTmFtZSlcbn1cblxuZnVuY3Rpb24gYnVpbGRIaXRsQW5hbHl0aWNzUGF5bG9hZChhZ2VudFR5cGVGb3JFdmVudDogc3RyaW5nLCBhY3Rpb25zOiBQZW5kaW5nQWN0aW9uW10pIHtcbiAgcmV0dXJuIHtcbiAgICBhZ2VudF90eXBlOiBhZ2VudFR5cGVGb3JFdmVudCxcbiAgICBhY3Rpb25fdHlwZTogYnVpbGRIaXRsQWN0aW9uVHlwZUxpc3QoYWN0aW9ucyksXG4gIH1cbn1cblxuaW50ZXJmYWNlIEFwcHJvdmFsQm94UHJvcHMge1xuICBhY3Rpb25zOiBQZW5kaW5nQWN0aW9uW11cbiAgb25BcHByb3ZlOiAodGhyZWFkSWRzOiBzdHJpbmdbXSkgPT4gdm9pZFxuICBvblJlamVjdDogKHRocmVhZElkczogc3RyaW5nW10pID0+IHZvaWRcbiAgc3RhdHVzPzogJ3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCdcbiAgaXNMb2FkaW5nPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdC9wcm95ZWN0byBlc3TDoSBlbGltaW5hZG8sIHNlIG9jdWx0YW4gbG9zIGJvdG9uZXMgZGUgYXByb2Jhci9yZWNoYXphciAqL1xuICBpc1Byb2plY3REZWxldGVkPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdCBlc3TDoSBleHBhbmRpZG8gKHRydWUpIG8gY29sYXBzYWRvIChmYWxzZSkuIEFmZWN0YSBlbCBhbmNobyBkZWwgY29udGVuZWRvci4gKi9cbiAgaXNFeHBhbmRlZD86IGJvb2xlYW5cbiAgLyoqIElkIGVzdGFibGUgcG9yIGxvdGUgSElUTCAocC4gZWouIG9yaWdpbmFsX3RocmVhZF9pZCkgcGFyYSBlbCBldmVudG8gZGUgaW1wcmVzacOzbiAqL1xuICBoaXRsSW5zdGFuY2VJZD86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgQXBwcm92YWxCb3ggPSAoe1xuICBhY3Rpb25zLFxuICBvbkFwcHJvdmUsXG4gIG9uUmVqZWN0LFxuICBzdGF0dXMgPSAncGVuZGluZycsXG4gIGlzTG9hZGluZyA9IGZhbHNlLFxuICBpc1Byb2plY3REZWxldGVkID0gZmFsc2UsXG4gIGlzRXhwYW5kZWQgPSBmYWxzZSxcbiAgaGl0bEluc3RhbmNlSWQsXG59OiBBcHByb3ZhbEJveFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IFtsb2NhbFN0YXR1cywgc2V0TG9jYWxTdGF0dXNdID0gdXNlU3RhdGU8J3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCc+KHN0YXR1cylcbiAgY29uc3QgeyBhZ2VudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCBsYXN0SGl0bEltcHJlc3Npb25LZXlSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbClcblxuICBjb25zdCBoaXRsQmF0Y2hLZXkgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBoaXRsSW5zdGFuY2VJZCA/P1xuICAgICAgYWN0aW9uc1xuICAgICAgICAubWFwKGEgPT4gYCR7YS50aHJlYWRfaWR9OiR7YS50b29sX2NhbGxfaWR9YClcbiAgICAgICAgLnNvcnQoKVxuICAgICAgICAuam9pbignfCcpLFxuICAgIFtoaXRsSW5zdGFuY2VJZCwgYWN0aW9uc11cbiAgKVxuXG4gIC8vIFNpbmNyb25pemFyIGxvY2FsU3RhdHVzIGNvbiBlbCBwcm9wIHN0YXR1cyBjdWFuZG8gY2FtYmlhIGRlc2RlIGVsIHBhZHJlIChzb2xvIHBvciB2YWx1ZSwgZXZpdGEgYnVjbGVzKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldExvY2FsU3RhdHVzKHByZXYgPT4gKHByZXYgIT09IHN0YXR1cyA/IHN0YXR1cyA6IHByZXYpKVxuICB9LCBbc3RhdHVzXSlcblxuICBjb25zdCBoaXRsQW5hbHl0aWNzQWdlbnRUeXBlID0gZ2V0SGl0bEFuYWx5dGljc0FnZW50VHlwZShhZ2VudClcblxuICAvLyBDQTE6IGNhcmQgZGUgY29uZmlybWFjacOzbiBISVRMIHZpc2libGUgKHNvbG8gcGVuZGllbnRlLCBubyBoaXN0w7NyaWNvIHlhIHJlc3VlbHRvKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnIHx8ICFhY3Rpb25zLmxlbmd0aCkgcmV0dXJuXG4gICAgY29uc3QgaW1wcmVzc2lvbktleSA9IGhpdGxCYXRjaEtleVxuICAgIGlmIChsYXN0SGl0bEltcHJlc3Npb25LZXlSZWYuY3VycmVudCA9PT0gaW1wcmVzc2lvbktleSkgcmV0dXJuXG4gICAgbGFzdEhpdGxJbXByZXNzaW9uS2V5UmVmLmN1cnJlbnQgPSBpbXByZXNzaW9uS2V5XG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdEhpdGwsIGJ1aWxkSGl0bEFuYWx5dGljc1BheWxvYWQoaGl0bEFuYWx5dGljc0FnZW50VHlwZSwgYWN0aW9ucykpXG4gIH0sIFtldmVudEFtcGxpdHVkZSwgaGl0bEFuYWx5dGljc0FnZW50VHlwZSwgaGl0bEJhdGNoS2V5LCBsb2NhbFN0YXR1cywgYWN0aW9ucy5sZW5ndGhdKVxuXG4gIGNvbnN0IHRyYWNrSGl0bERlY2lzaW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKGRlY2lzaW9uOiAnYWNjZXB0JyB8ICdkZW55JykgPT4ge1xuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdEhpdGxPcHRpb24sIHtcbiAgICAgICAgLi4uYnVpbGRIaXRsQW5hbHl0aWNzUGF5bG9hZChoaXRsQW5hbHl0aWNzQWdlbnRUeXBlLCBhY3Rpb25zKSxcbiAgICAgICAgZGVjaXNpb24sXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2FjdGlvbnMsIGhpdGxBbmFseXRpY3NBZ2VudFR5cGUsIGV2ZW50QW1wbGl0dWRlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlQXBwcm92ZSA9ICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nIHx8IGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycpIHJldHVyblxuICAgIGlmICghaGl0bEJhdGNoSW5jbHVkZXNDcmVhdGVBZ2VudChhY3Rpb25zKSkge1xuICAgICAgdHJhY2tIaXRsRGVjaXNpb24oJ2FjY2VwdCcpXG4gICAgfVxuICAgIHNldExvY2FsU3RhdHVzKCdhcHByb3ZlZCcpXG4gICAgb25BcHByb3ZlKGFjdGlvbnMubWFwKGEgPT4gYS50aHJlYWRfaWQpKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUmVqZWN0ID0gKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmcgfHwgbG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJykgcmV0dXJuXG4gICAgdHJhY2tIaXRsRGVjaXNpb24oJ2RlbnknKVxuICAgIHNldExvY2FsU3RhdHVzKCdyZWplY3RlZCcpXG4gICAgb25SZWplY3QoYWN0aW9ucy5tYXAoYSA9PiBhLnRocmVhZF9pZCkpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0FwcHJvdmFsQm94PlxuICAgICAgPFNDQUJIZWFkZXI+XG4gICAgICAgIDxTQ0FCVGl0bGU+e3QoJ2FwcHJvdmFsQm94LnRpdGxlJyl9PC9TQ0FCVGl0bGU+XG4gICAgICA8L1NDQUJIZWFkZXI+XG5cbiAgICAgIDxTQ0FCRGVzY3JpcHRpb24+e3QoJ2FwcHJvdmFsQm94LmRlc2NyaXB0aW9uJyl9PC9TQ0FCRGVzY3JpcHRpb24+XG5cbiAgICAgIDxTQ0FCQWN0aW9uc0xpc3QgJGV4cGFuZGVkPXtpc0V4cGFuZGVkfT5cbiAgICAgICAge2FjdGlvbnMubWFwKGFjdGlvbiA9PiAoXG4gICAgICAgICAgPFNDQUJBY3Rpb25JdGVtIGtleT17YWN0aW9uLnRocmVhZF9pZH0+XG4gICAgICAgICAgICA8U0NBQkFjdGlvbk5hbWU+e2dldEFjdGlvbkxhYmVsKHQsIGFjdGlvbi50b29sX25hbWUsIChhY3Rpb24gYXMgYW55KS5kaXNwbGF5X25hbWUpfTwvU0NBQkFjdGlvbk5hbWU+XG4gICAgICAgICAgPC9TQ0FCQWN0aW9uSXRlbT5cbiAgICAgICAgKSl9XG4gICAgICA8L1NDQUJBY3Rpb25zTGlzdD5cblxuICAgICAge2xvY2FsU3RhdHVzID09PSAncGVuZGluZycgJiYgIWlzUHJvamVjdERlbGV0ZWQgJiYgKFxuICAgICAgICA8U0NBQkJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgPFNDQUJCdXR0b24gJHZhcmlhbnQ9XCJyZWplY3RcIiBvbkNsaWNrPXtoYW5kbGVSZWplY3R9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5kZW55Jyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwiYXBwcm92ZVwiIG9uQ2xpY2s9e2hhbmRsZUFwcHJvdmV9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5hcHByb3ZlJyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICA8L1NDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIHtsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnICYmIChcbiAgICAgICAgPFNDQUJTdGF0dXNCYWRnZSAkc3RhdHVzPXtsb2NhbFN0YXR1c30+XG4gICAgICAgICAge2xvY2FsU3RhdHVzID09PSAnYXBwcm92ZWQnID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlIHdpZHRoPXsyMn0gaGVpZ2h0PXsyMn0gY29sb3I9XCIjMDA4NDAwXCIgLz5cbiAgICAgICAgICAgICAge3QoJ2FwcHJvdmFsQm94LnN0YXR1cy5hcHByb3ZlZCcpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDcm9zc0NpcmNsZSB3aWR0aD17MjJ9IGhlaWdodD17MjJ9IGNvbG9yPVwiI0M3MDUwNVwiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuZGVuaWVkJyl9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQUJTdGF0dXNCYWRnZT5cbiAgICAgICl9XG4gICAgPC9TQ0FwcHJvdmFsQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxRQUFRLE9BQU87QUFDekUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLGNBQWMsUUFBUSxl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
@@ -1,80 +1,81 @@
1
- import styled, { keyframes } from 'styled-components';
2
- var fadeIn = keyframes(["from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}"]);
1
+ import styled from 'styled-components';
2
+ import { BLUE_IA_COLORS } from '../../../styles/config';
3
3
  export var SCApprovalBox = styled.div.withConfig({
4
4
  displayName: "ApprovalBoxstyles__SCApprovalBox",
5
5
  componentId: "sc-1vnmjr4-0"
6
- })(["display:inline-flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:12px;background:#f7f7f6;min-width:0;max-width:340px;animation:", " 200ms ease;"], fadeIn);
6
+ })(["padding:0px;max-width:100%;min-width:0;"]);
7
7
  export var SCABHeader = styled.div.withConfig({
8
8
  displayName: "ApprovalBoxstyles__SCABHeader",
9
9
  componentId: "sc-1vnmjr4-1"
10
- })(["display:none;"]);
11
- export var SCABTitle = styled.span.withConfig({
10
+ })(["display:flex;align-items:center;gap:8px;"]);
11
+ export var SCABTitle = styled.h4.withConfig({
12
12
  displayName: "ApprovalBoxstyles__SCABTitle",
13
13
  componentId: "sc-1vnmjr4-2"
14
- })(["display:none;"]);
15
- export var SCABDescription = styled.span.withConfig({
14
+ })(["margin:0;color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-weight:700;line-height:1.6;letter-spacing:0px;"]);
15
+ export var SCABDescription = styled.p.withConfig({
16
16
  displayName: "ApprovalBoxstyles__SCABDescription",
17
17
  componentId: "sc-1vnmjr4-3"
18
- })(["display:none;"]);
19
- export var SCABStatusWarningIcon = styled.span.withConfig({
20
- displayName: "ApprovalBoxstyles__SCABStatusWarningIcon",
21
- componentId: "sc-1vnmjr4-4"
22
- })(["display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;margin-left:2px;cursor:help;flex-shrink:0;"]);
18
+ })(["margin:0 0 12px 0;color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:1.6;letter-spacing:0px;"]);
23
19
  export var SCABActionsList = styled.div.withConfig({
24
20
  displayName: "ApprovalBoxstyles__SCABActionsList",
25
- componentId: "sc-1vnmjr4-5"
26
- })(["display:flex;flex-direction:column;gap:2px;"]);
21
+ componentId: "sc-1vnmjr4-4"
22
+ })(["background:white;border-radius:8px;padding:12px;margin-bottom:16px;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #d5d5d5;background:#fff;max-width:100%;overflow:hidden;", ""], function (_ref) {
23
+ var $expanded = _ref.$expanded;
24
+ return $expanded ? "\n min-width: 480px;\n width: fit-content;\n " : "\n width: 100%;\n ";
25
+ });
27
26
  export var SCABActionItem = styled.div.withConfig({
28
27
  displayName: "ApprovalBoxstyles__SCABActionItem",
29
- componentId: "sc-1vnmjr4-6"
30
- })(["display:flex;align-items:center;min-width:0;"]);
28
+ componentId: "sc-1vnmjr4-5"
29
+ })(["display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid #eee;min-width:0;&:last-child{border-bottom:none;padding-bottom:0;}&:first-child{padding-top:0;}"]);
31
30
  export var SCABActionName = styled.span.withConfig({
32
31
  displayName: "ApprovalBoxstyles__SCABActionName",
33
- componentId: "sc-1vnmjr4-7"
34
- })(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:-0.1px;min-width:0;overflow-wrap:break-word;word-break:break-word;"]);
35
- export var SCABActionDescription = styled.p.withConfig({
36
- displayName: "ApprovalBoxstyles__SCABActionDescription",
37
- componentId: "sc-1vnmjr4-8"
38
- })(["display:none;"]);
32
+ componentId: "sc-1vnmjr4-6"
33
+ })(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-weight:500;font-style:normal;line-height:140%;letter-spacing:-0.21px;overflow-wrap:break-word;word-break:break-word;min-width:0;"]);
39
34
  export var SCABActionArgs = styled.ul.withConfig({
40
35
  displayName: "ApprovalBoxstyles__SCABActionArgs",
41
- componentId: "sc-1vnmjr4-9"
42
- })(["display:none;"]);
36
+ componentId: "sc-1vnmjr4-7"
37
+ })(["font-size:16px;color:#666;list-style-type:disc;list-style-position:outside;padding-left:20px;margin:0;min-width:0;"]);
43
38
  export var SCABArgItem = styled.li.withConfig({
44
39
  displayName: "ApprovalBoxstyles__SCABArgItem",
45
- componentId: "sc-1vnmjr4-10"
46
- })(["display:none;"]);
40
+ componentId: "sc-1vnmjr4-8"
41
+ })(["display:list-item;margin:0;padding-left:4px;min-width:0;overflow-wrap:break-word;word-break:break-word;"]);
47
42
  export var SCABArgKey = styled.span.withConfig({
48
43
  displayName: "ApprovalBoxstyles__SCABArgKey",
49
- componentId: "sc-1vnmjr4-11"
50
- })(["display:none;"]);
44
+ componentId: "sc-1vnmjr4-9"
45
+ })(["color:#999;"]);
51
46
  export var SCABArgValue = styled.span.withConfig({
52
47
  displayName: "ApprovalBoxstyles__SCABArgValue",
53
- componentId: "sc-1vnmjr4-12"
54
- })(["display:none;"]);
48
+ componentId: "sc-1vnmjr4-10"
49
+ })(["color:#20201f;font-family:'Work Sans',sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:140%;letter-spacing:-0.21px;overflow-wrap:break-word;word-break:break-word;min-width:0;"]);
55
50
  export var SCABButtonsContainer = styled.div.withConfig({
56
51
  displayName: "ApprovalBoxstyles__SCABButtonsContainer",
57
- componentId: "sc-1vnmjr4-13"
58
- })(["display:flex;align-items:center;gap:8px;"]);
52
+ componentId: "sc-1vnmjr4-11"
53
+ })(["display:flex;align-items:flex-start;gap:18px;align-self:stretch;max-width:480px;width:100%;"]);
59
54
  export var SCABButton = styled.button.withConfig({
60
55
  displayName: "ApprovalBoxstyles__SCABButton",
61
- componentId: "sc-1vnmjr4-14"
62
- })(["display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:18px;border:1px solid var(--Gray-100,#d9d9d9);font-family:'Work Sans',sans-serif;font-size:14px;font-weight:500;line-height:140%;letter-spacing:-0.21px;white-space:nowrap;cursor:", ";opacity:", ";transition:background 160ms ease;", ""], function (_ref) {
63
- var $disabled = _ref.$disabled;
64
- return $disabled ? 'not-allowed' : 'pointer';
65
- }, function (_ref2) {
56
+ componentId: "sc-1vnmjr4-12"
57
+ })(["display:flex;padding:10px 12px;height:36px;justify-content:center;align-items:center;flex:1 0 0;border-radius:4px;font-family:'Work Sans',sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:14px;text-align:center;cursor:", ";transition:all 0.2s ease;opacity:", ";", ""], function (_ref2) {
66
58
  var $disabled = _ref2.$disabled;
67
- return $disabled ? 0.5 : 1;
59
+ return $disabled ? 'not-allowed' : 'pointer';
68
60
  }, function (_ref3) {
69
- var $variant = _ref3.$variant;
70
- return $variant === 'approve' ? "\n background: #d4d4d3;\n color: #20201f;\n\n &:hover:not(:disabled) {\n background: #c4c4c3;\n }\n " : "\n background: transparent;\n color: #5d5d5c;\n\n &:hover:not(:disabled) {\n background: #f2f2f2;\n }\n ";
61
+ var $disabled = _ref3.$disabled;
62
+ return $disabled ? 0.6 : 1;
63
+ }, function (_ref4) {
64
+ var $variant = _ref4.$variant;
65
+ return $variant === 'approve' ? "\n background: ".concat(BLUE_IA_COLORS[500], ";\n color: #FFF;\n border: none;\n\n &:hover:not(:disabled) {\n background: ").concat(BLUE_IA_COLORS[700], ";\n }\n ") : "\n background: transparent;\n color: ".concat(BLUE_IA_COLORS[500], ";\n border: 1px solid ").concat(BLUE_IA_COLORS[500], ";\n\n &:hover:not(:disabled) {\n background: ").concat(BLUE_IA_COLORS[50], ";\n }\n ");
71
66
  });
72
67
  export var SCABStatusBadge = styled.div.withConfig({
73
68
  displayName: "ApprovalBoxstyles__SCABStatusBadge",
74
- componentId: "sc-1vnmjr4-15"
75
- })(["display:inline-flex;align-items:center;gap:5px;padding:6px 0;border:none;font-family:'Work Sans',sans-serif;font-size:13px;font-weight:400;line-height:1.4;letter-spacing:-0.1px;", ""], function (_ref4) {
76
- var $status = _ref4.$status;
77
- if ($status === 'rejected') return "color: #8a8a89;";
78
- return "color: #5d5d5c;";
69
+ componentId: "sc-1vnmjr4-13"
70
+ })(["display:inline-flex;align-items:center;gap:4px;color:#343433;font-family:'Work Sans',sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:140%;letter-spacing:-0.21px;", ""], function (_ref5) {
71
+ var $status = _ref5.$status;
72
+ switch ($status) {
73
+ case 'approved':
74
+ return "";
75
+ case 'rejected':
76
+ return "";
77
+ default:
78
+ return "\n background: ".concat(BLUE_IA_COLORS[50], ";\n color: ").concat(BLUE_IA_COLORS[500], ";\n ");
79
+ }
79
80
  });
80
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJrZXlmcmFtZXMiLCJmYWRlSW4iLCJTQ0FwcHJvdmFsQm94IiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwic3BhbiIsIlNDQUJEZXNjcmlwdGlvbiIsIlNDQUJTdGF0dXNXYXJuaW5nSWNvbiIsIlNDQUJBY3Rpb25zTGlzdCIsIlNDQUJBY3Rpb25JdGVtIiwiU0NBQkFjdGlvbk5hbWUiLCJTQ0FCQWN0aW9uRGVzY3JpcHRpb24iLCJwIiwiU0NBQkFjdGlvbkFyZ3MiLCJ1bCIsIlNDQUJBcmdJdGVtIiwibGkiLCJTQ0FCQXJnS2V5IiwiU0NBQkFyZ1ZhbHVlIiwiU0NBQkJ1dHRvbnNDb250YWluZXIiLCJTQ0FCQnV0dG9uIiwiYnV0dG9uIiwiX3JlZiIsIiRkaXNhYmxlZCIsIl9yZWYyIiwiX3JlZjMiLCIkdmFyaWFudCIsIlNDQUJTdGF0dXNCYWRnZSIsIl9yZWY0IiwiJHN0YXR1cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0FwcHJvdmFsQm94L0FwcHJvdmFsQm94LnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGtleWZyYW1lcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG5jb25zdCBmYWRlSW4gPSBrZXlmcmFtZXNgXG4gIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsgfVxuICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FwcHJvdmFsQm94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogMTRweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiAjZjdmN2Y2O1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMzQwcHg7XG4gIGFuaW1hdGlvbjogJHtmYWRlSW59IDIwMG1zIGVhc2U7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogbm9uZTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJUaXRsZSA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBub25lO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkRlc2NyaXB0aW9uID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IG5vbmU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCU3RhdHVzV2FybmluZ0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTNweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBjdXJzb3I6IGhlbHA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbnNMaXN0ID0gc3R5bGVkLmRpdjx7ICRleHBhbmRlZD86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbkl0ZW0gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQWN0aW9uTmFtZSA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogIzIwMjAxZjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xcHg7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBY3Rpb25EZXNjcmlwdGlvbiA9IHN0eWxlZC5wYFxuICBkaXNwbGF5OiBub25lO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbkFyZ3MgPSBzdHlsZWQudWxgXG4gIGRpc3BsYXk6IG5vbmU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQXJnSXRlbSA9IHN0eWxlZC5saWBcbiAgZGlzcGxheTogbm9uZTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBcmdLZXkgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogbm9uZTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBcmdWYWx1ZSA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBub25lO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkJ1dHRvbnNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJHZhcmlhbnQ6ICdhcHByb3ZlJyB8ICdyZWplY3QnOyAkZGlzYWJsZWQ/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1HcmF5LTEwMCwgI2Q5ZDlkOSk7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogJHsoeyAkZGlzYWJsZWQgfSkgPT4gKCRkaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicpfTtcbiAgb3BhY2l0eTogJHsoeyAkZGlzYWJsZWQgfSkgPT4gKCRkaXNhYmxlZCA/IDAuNSA6IDEpfTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlO1xuXG4gICR7KHsgJHZhcmlhbnQgfSkgPT5cbiAgICAkdmFyaWFudCA9PT0gJ2FwcHJvdmUnXG4gICAgICA/IGBcbiAgICBiYWNrZ3JvdW5kOiAjZDRkNGQzO1xuICAgIGNvbG9yOiAjMjAyMDFmO1xuXG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYzRjNGMzO1xuICAgIH1cbiAgYFxuICAgICAgOiBgXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM1ZDVkNWM7XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgfVxuICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBQlN0YXR1c0JhZGdlID0gc3R5bGVkLmRpdjx7ICRzdGF0dXM6ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnIHwgJ3BlbmRpbmcnIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHg7XG4gIHBhZGRpbmc6IDZweCAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMXB4O1xuXG4gICR7KHsgJHN0YXR1cyB9KSA9PiB7XG4gICAgaWYgKCRzdGF0dXMgPT09ICdyZWplY3RlZCcpIHJldHVybiBgY29sb3I6ICM4YThhODk7YFxuICAgIHJldHVybiBgY29sb3I6ICM1ZDVkNWM7YFxuICB9fVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLFNBQVMsUUFBUSxtQkFBbUI7QUFFckQsSUFBTUMsTUFBTSxHQUFHRCxTQUFTLHNGQUd2QjtBQUVELE9BQU8sSUFBTUUsYUFBYSxHQUFHSCxNQUFNLENBQUNJLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwwS0FTeEJMLE1BQU0sQ0FDcEI7QUFFRCxPQUFPLElBQU1NLFVBQVUsR0FBR1IsTUFBTSxDQUFDSSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEscUJBRW5DO0FBRUQsT0FBTyxJQUFNRSxTQUFTLEdBQUdULE1BQU0sQ0FBQ1UsSUFBSSxDQUFBTCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFCQUVuQztBQUVELE9BQU8sSUFBTUksZUFBZSxHQUFHWCxNQUFNLENBQUNVLElBQUksQ0FBQUwsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxQkFFekM7QUFFRCxPQUFPLElBQU1LLHFCQUFxQixHQUFHWixNQUFNLENBQUNVLElBQUksQ0FBQUwsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx1SUFTL0M7QUFFRCxPQUFPLElBQU1NLGVBQWUsR0FBR2IsTUFBTSxDQUFDSSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbURBSXhDO0FBRUQsT0FBTyxJQUFNTyxjQUFjLEdBQUdkLE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9EQUl2QztBQUVELE9BQU8sSUFBTVEsY0FBYyxHQUFHZixNQUFNLENBQUNVLElBQUksQ0FBQUwsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx5TEFVeEM7QUFFRCxPQUFPLElBQU1TLHFCQUFxQixHQUFHaEIsTUFBTSxDQUFDaUIsQ0FBQyxDQUFBWixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFCQUU1QztBQUVELE9BQU8sSUFBTVcsY0FBYyxHQUFHbEIsTUFBTSxDQUFDbUIsRUFBRSxDQUFBZCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFCQUV0QztBQUVELE9BQU8sSUFBTWEsV0FBVyxHQUFHcEIsTUFBTSxDQUFDcUIsRUFBRSxDQUFBaEIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxQkFFbkM7QUFFRCxPQUFPLElBQU1lLFVBQVUsR0FBR3RCLE1BQU0sQ0FBQ1UsSUFBSSxDQUFBTCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFCQUVwQztBQUVELE9BQU8sSUFBTWdCLFlBQVksR0FBR3ZCLE1BQU0sQ0FBQ1UsSUFBSSxDQUFBTCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFCQUV0QztBQUVELE9BQU8sSUFBTWlCLG9CQUFvQixHQUFHeEIsTUFBTSxDQUFDSSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ0RBSTdDO0FBRUQsT0FBTyxJQUFNa0IsVUFBVSxHQUFHekIsTUFBTSxDQUFDMEIsTUFBTSxDQUFBckIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrVUFhM0IsVUFBQW9CLElBQUE7RUFBQSxJQUFHQyxTQUFTLEdBQUFELElBQUEsQ0FBVEMsU0FBUztFQUFBLE9BQVFBLFNBQVMsR0FBRyxhQUFhLEdBQUcsU0FBUztBQUFBLENBQUMsRUFDekQsVUFBQUMsS0FBQTtFQUFBLElBQUdELFNBQVMsR0FBQUMsS0FBQSxDQUFURCxTQUFTO0VBQUEsT0FBUUEsU0FBUyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQUEsQ0FBQyxFQUdqRCxVQUFBRSxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLEtBQUssU0FBUywwUEFnQnZCO0FBQUEsRUFDRjtBQUVELE9BQU8sSUFBTUMsZUFBZSxHQUFHaEMsTUFBTSxDQUFDSSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsOExBWXJDLFVBQUEwQixLQUFBLEVBQWlCO0VBQUEsSUFBZEMsT0FBTyxHQUFBRCxLQUFBLENBQVBDLE9BQU87RUFDVixJQUFJQSxPQUFPLEtBQUssVUFBVSxFQUFFO0VBQzVCO0FBQ0YsQ0FBQyxDQUNGIiwiaWdub3JlTGlzdCI6W119
81
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJCTFVFX0lBX0NPTE9SUyIsIlNDQXBwcm92YWxCb3giLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDQUJIZWFkZXIiLCJTQ0FCVGl0bGUiLCJoNCIsIlNDQUJEZXNjcmlwdGlvbiIsInAiLCJTQ0FCQWN0aW9uc0xpc3QiLCJfcmVmIiwiJGV4cGFuZGVkIiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsInNwYW4iLCJTQ0FCQWN0aW9uQXJncyIsInVsIiwiU0NBQkFyZ0l0ZW0iLCJsaSIsIlNDQUJBcmdLZXkiLCJTQ0FCQXJnVmFsdWUiLCJTQ0FCQnV0dG9uc0NvbnRhaW5lciIsIlNDQUJCdXR0b24iLCJidXR0b24iLCJfcmVmMiIsIiRkaXNhYmxlZCIsIl9yZWYzIiwiX3JlZjQiLCIkdmFyaWFudCIsImNvbmNhdCIsIlNDQUJTdGF0dXNCYWRnZSIsIl9yZWY1IiwiJHN0YXR1cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0FwcHJvdmFsQm94L0FwcHJvdmFsQm94LnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgQkxVRV9JQV9DT0xPUlMgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuXG5leHBvcnQgY29uc3QgU0NBcHByb3ZhbEJveCA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCVGl0bGUgPSBzdHlsZWQuaDRgXG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkRlc2NyaXB0aW9uID0gc3R5bGVkLnBgXG4gIG1hcmdpbjogMCAwIDEycHggMDtcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQWN0aW9uc0xpc3QgPSBzdHlsZWQuZGl2PHsgJGV4cGFuZGVkPzogYm9vbGVhbiB9PmBcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDVkNWQ1O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7KHsgJGV4cGFuZGVkIH0pID0+XG4gICAgJGV4cGFuZGVkXG4gICAgICA/IGBcbiAgICBtaW4td2lkdGg6IDQ4MHB4O1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgYFxuICAgICAgOiBgXG4gICAgd2lkdGg6IDEwMCU7XG4gIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQWN0aW9uSXRlbSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiA4cHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gIG1pbi13aWR0aDogMDtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbk5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkFjdGlvbkFyZ3MgPSBzdHlsZWQudWxgXG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM2NjY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW46IDA7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBcmdJdGVtID0gc3R5bGVkLmxpYFxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJBcmdLZXkgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICM5OTk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FCQXJnVmFsdWUgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBQkJ1dHRvbnNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxOHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXgtd2lkdGg6IDQ4MHB4O1xuICB3aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQUJCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJHZhcmlhbnQ6ICdhcHByb3ZlJyB8ICdyZWplY3QnOyAkZGlzYWJsZWQ/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGhlaWdodDogMzZweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDEgMCAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogJHsoeyAkZGlzYWJsZWQgfSkgPT4gKCRkaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAncG9pbnRlcicpfTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgb3BhY2l0eTogJHsoeyAkZGlzYWJsZWQgfSkgPT4gKCRkaXNhYmxlZCA/IDAuNiA6IDEpfTtcblxuICAkeyh7ICR2YXJpYW50IH0pID0+XG4gICAgJHZhcmlhbnQgPT09ICdhcHByb3ZlJ1xuICAgICAgPyBgXG4gICAgYmFja2dyb3VuZDogJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICR7QkxVRV9JQV9DT0xPUlNbNzAwXX07XG4gICAgfVxuICBgXG4gICAgICA6IGBcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke0JMVUVfSUFfQ09MT1JTWzUwMF19O1xuXG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAke0JMVUVfSUFfQ09MT1JTWzUwXX07XG4gICAgfVxuICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBQlN0YXR1c0JhZGdlID0gc3R5bGVkLmRpdjx7ICRzdGF0dXM6ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnIHwgJ3BlbmRpbmcnIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG5cbiAgY29sb3I6ICMzNDM0MzM7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcblxuICAkeyh7ICRzdGF0dXMgfSkgPT4ge1xuICAgIHN3aXRjaCAoJHN0YXR1cykge1xuICAgICAgY2FzZSAnYXBwcm92ZWQnOlxuICAgICAgICByZXR1cm4gYGBcbiAgICAgIGNhc2UgJ3JlamVjdGVkJzpcbiAgICAgICAgcmV0dXJuIGBgXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gYFxuICAgICAgICAgIGJhY2tncm91bmQ6ICR7QkxVRV9JQV9DT0xPUlNbNTBdfTtcbiAgICAgICAgICBjb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICAgICAgYFxuICAgIH1cbiAgfX1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxTQUFTQyxjQUFjLFFBQVEsd0JBQXdCO0FBRXZELE9BQU8sSUFBTUMsYUFBYSxHQUFHRixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrQ0FJdEM7QUFFRCxPQUFPLElBQU1DLFVBQVUsR0FBR1AsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ0RBSW5DO0FBRUQsT0FBTyxJQUFNRSxTQUFTLEdBQUdSLE1BQU0sQ0FBQ1MsRUFBRSxDQUFBTCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9JQVFqQztBQUVELE9BQU8sSUFBTUksZUFBZSxHQUFHVixNQUFNLENBQUNXLENBQUMsQ0FBQVAsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrSkFTdEM7QUFFRCxPQUFPLElBQU1NLGVBQWUsR0FBR1osTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNk1BWXJDLFVBQUFPLElBQUE7RUFBQSxJQUFH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