@devtron-labs/devtron-fe-common-lib 0.0.55-beta-1 → 0.0.55-beta-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/{CodeEditor-0a5bfd53.js → CodeEditor-3c2aaef5.js} +11082 -11082
  2. package/dist/Common/AddCDButton/AddCDButton.js +24 -24
  3. package/dist/Common/AppStatus/AppStatus.js +16 -16
  4. package/dist/Common/BreadCrumb/BreadCrumb.js +43 -43
  5. package/dist/Common/BreadCrumb/BreadcrumbStore.js +9 -9
  6. package/dist/Common/ChartVersionAndTypeSelector.js +42 -42
  7. package/dist/Common/Checkbox.js +8 -8
  8. package/dist/Common/ClipboardButton/ClipboardButton.js +17 -17
  9. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.js +10 -10
  10. package/dist/Common/CodeEditor/CodeEditor.js +4 -4
  11. package/dist/Common/Common.service.js +1 -1
  12. package/dist/Common/CustomInput/CustomInput.js +56 -56
  13. package/dist/Common/CustomTagSelector/PropagateTagInfo.js +22 -22
  14. package/dist/Common/CustomTagSelector/ResizableTagTextArea.js +22 -22
  15. package/dist/Common/CustomTagSelector/TagDetails.js +33 -33
  16. package/dist/Common/CustomTagSelector/TagLabelSelect.js +33 -33
  17. package/dist/Common/CustomTagSelector/TagLabelValueSelector.js +83 -83
  18. package/dist/Common/DebouncedSearch/DebouncedSearch.js +24 -24
  19. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.js +16 -16
  20. package/dist/Common/DeleteComponentModal/DeleteComponent.js +49 -49
  21. package/dist/Common/DevtronProgressing/DevtronProgressing.js +2 -2
  22. package/dist/Common/Dialogs/ConfirmationDialog.js +14 -14
  23. package/dist/Common/Dialogs/DeleteDialog.js +24 -24
  24. package/dist/Common/Dialogs/DialogForm.js +21 -21
  25. package/dist/Common/Dialogs/ForceDeleteDialog.js +12 -12
  26. package/dist/Common/DraggableWrapper/DraggableButton.js +6 -6
  27. package/dist/Common/DraggableWrapper/DraggableWrapper.js +42 -1468
  28. package/dist/Common/Drawer/Drawer.js +6 -6
  29. package/dist/Common/EmptyState/EmptyState.js +19 -19
  30. package/dist/Common/EmptyState/GenericEmptyState.js +25 -25
  31. package/dist/Common/Error.js +6 -6
  32. package/dist/Common/ErrorScreenNotFound.js +3 -3
  33. package/dist/Common/Grid/Grid.js +11 -11
  34. package/dist/Common/Helper.js +3 -3
  35. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.js +1 -1
  36. package/dist/Common/ImageTags.js +224 -221
  37. package/dist/Common/InfoColorBar/InfoColourbar.js +37 -37
  38. package/dist/Common/Modals/Modal.js +8 -8
  39. package/dist/Common/Modals/OpaqueModal.js +13 -13
  40. package/dist/Common/Modals/VisibleModal.js +3 -3
  41. package/dist/Common/Modals/VisibleModal2.js +8 -8
  42. package/dist/Common/MultiSelectCustomization.js +45 -45
  43. package/dist/Common/Pagination/PageSizeSelector.js +37 -34
  44. package/dist/Common/Pagination/Pagination.js +60 -57
  45. package/dist/Common/PopupMenu.js +32 -32
  46. package/dist/Common/Progressing.js +20 -20
  47. package/dist/Common/RJSF/Form.js +14 -9877
  48. package/dist/Common/RJSF/common/FieldRow.js +16 -16
  49. package/dist/Common/RJSF/config.js +3 -3
  50. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.js +13 -13
  51. package/dist/Common/RJSF/templates/ArrayFieldTemplate.js +37 -40
  52. package/dist/Common/RJSF/templates/BaseInput.js +14 -6
  53. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.js +6 -6
  54. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.js +3 -3
  55. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.js +6 -8
  56. package/dist/Common/RJSF/templates/Description.js +6 -6
  57. package/dist/Common/RJSF/templates/Field.js +12 -15
  58. package/dist/Common/RJSF/templates/FieldErrorTemplate.js +8 -10
  59. package/dist/Common/RJSF/templates/ObjectFieldTemplate.js +35 -40
  60. package/dist/Common/RJSF/templates/TitleField.js +5 -5
  61. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.js +23 -24
  62. package/dist/Common/RJSF/templates/index.js +3 -3
  63. package/dist/Common/RJSF/utils.js +9 -12
  64. package/dist/Common/RJSF/widgets/Checkbox.js +20 -20
  65. package/dist/Common/RJSF/widgets/Select.js +609 -40
  66. package/dist/Common/RadioGroup/RadioGroup.js +32 -32
  67. package/dist/Common/RadioGroup.js +17 -17
  68. package/dist/Common/Reload.js +10 -10
  69. package/dist/Common/ResizableTextarea.js +11 -11
  70. package/dist/Common/SearchBar/SearchBar.component.js +26 -26
  71. package/dist/Common/Security/ScanVulnerabilitiesTable.js +20 -20
  72. package/dist/Common/Select/Select.js +93 -93
  73. package/dist/Common/TippyCustomized.js +4 -4
  74. package/dist/Common/ToastBody.js +22 -22
  75. package/dist/Common/Toggle/Toggle.js +15 -15
  76. package/dist/Common/index.js +3 -3
  77. package/dist/{Helper-e1262739.js → Helper-a0caa238.js} +916 -916
  78. package/dist/TippyCustomized-7b9b46b9.js +124 -0
  79. package/dist/{_commonjsHelpers-c5d32002.js → _commonjsHelpers-aeeeeb92.js} +2 -2
  80. package/dist/{cssMode-c259da7f.js → cssMode-c5cae484.js} +1 -1
  81. package/dist/{freemarker2-d852fa33.js → freemarker2-b9a8615c.js} +1 -1
  82. package/dist/{handlebars-7e868cd0.js → handlebars-3803af36.js} +1 -1
  83. package/dist/{html-1faea799.js → html-498f0150.js} +1 -1
  84. package/dist/{htmlMode-175871d9.js → htmlMode-a8ae8cc5.js} +1 -1
  85. package/dist/index.js +3 -3
  86. package/dist/{javascript-46245cbe.js → javascript-4363ced3.js} +1 -1
  87. package/dist/{jsonMode-bbe5176f.js → jsonMode-80290b9e.js} +1 -1
  88. package/dist/jsx-runtime-0dcb030c.js +667 -0
  89. package/dist/{liquid-e6b820e1.js → liquid-1398df0a.js} +1 -1
  90. package/dist/{python-7d292338.js → python-dd2d43e8.js} +1 -1
  91. package/dist/{razor-c6ab49dd.js → razor-20a66096.js} +1 -1
  92. package/dist/{react-select.esm-27b8d563.js → react-select.esm-97f26847.js} +1280 -1112
  93. package/dist/{react-toastify.esm-e28f7200.js → react-toastify.esm-1042de65.js} +149 -155
  94. package/dist/{react.esm-5465a283.js → react.esm-2c92920f.js} +4929 -4393
  95. package/dist/{tippy-react.esm-d5c56a0a.js → tippy-react.esm-8dc66a75.js} +89 -89
  96. package/dist/{tsMode-4d1329d1.js → tsMode-3fa4eb6a.js} +1 -1
  97. package/dist/{typescript-402306e6.js → typescript-1bbaf605.js} +1 -1
  98. package/dist/{xml-8975e1f9.js → xml-a2693dbd.js} +1 -1
  99. package/dist/{yaml-680c02bf.js → yaml-01ce4fdd.js} +1 -1
  100. package/package.json +3 -12
  101. package/dist/BaseInput-8101e714.js +0 -1686
  102. package/dist/Common/UseWindowSize.d.ts +0 -4
  103. package/dist/Common/UseWindowSize.js +0 -20
  104. package/dist/TippyCustomized-c58fd46a.js +0 -124
  105. package/dist/canExpand-ab1f6741.js +0 -10
  106. package/dist/englishStringTranslator-2c9a30fc.js +0 -17
  107. package/dist/enums-d0bd3f97.js +0 -6618
  108. package/dist/getSubmitButtonOptions-a1be9bb0.js +0 -20
  109. package/dist/getTemplate-91d3260d.js +0 -11
  110. package/dist/getUiOptions-844b45a7.js +0 -10
  111. package/dist/idGenerators-0b33693c.js +0 -35
  112. package/dist/index-5a231705.js +0 -17417
  113. package/dist/index-c855d89c.js +0 -173
@@ -0,0 +1,124 @@
1
+ import "./assets/TippyCustomized.css";
2
+ import { j as e } from "./jsx-runtime-0dcb030c.js";
3
+ import * as a from "react";
4
+ import { useRef as L, useState as M } from "react";
5
+ import { T as O } from "./tippy-react.esm-8dc66a75.js";
6
+ import { S as B } from "./ic-cross-0e71861d.js";
7
+ import { TippyTheme as D } from "./Common/Types.js";
8
+ import { e as F } from "./Helper-a0caa238.js";
9
+ const P = (n) => /* @__PURE__ */ a.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, viewBox: "0 0 24 24", ...n }, /* @__PURE__ */ a.createElement("path", { fill: "#767D84", fillRule: "evenodd", d: "M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm-.205 12.868c-.615 0-1.12.505-1.12 1.12 0 .617.505 1.121 1.12 1.121.615 0 1.12-.504 1.12-1.12 0-.616-.506-1.12-1.12-1.12zM11.863 7c-1.667 0-3.197 1.187-3.196 2.527 0 .546.41.833.888.833 1.325 0 .642-1.803 2.39-1.803.82 0 1.311.438 1.311 1.175 0 1.34-2.39 1.708-2.39 3.334 0 .438.287.915.874.915.902 0 .792-.67 1.12-1.148.438-.642 2.473-1.325 2.473-3.101 0-1.927-1.721-2.732-3.47-2.732z" })), W = (n) => /* @__PURE__ */ a.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 17 16", ...n }, /* @__PURE__ */ a.createElement("path", { fill: "#767D84", fillRule: "evenodd", d: "M9 1.333c3.682 0 6.667 2.985 6.667 6.667S12.682 14.667 9 14.667 2.333 11.682 2.333 8 5.318 1.333 9 1.333zm0 1.334C6.054 2.667 3.667 5.054 3.667 8S6.054 13.333 9 13.333 14.333 10.946 14.333 8 11.946 2.667 9 2.667zm-.137 7.245c.41 0 .747.337.747.747s-.337.747-.747.747-.747-.336-.747-.747c0-.41.338-.747.747-.747zm.046-5.245c1.166 0 2.313.537 2.313 1.82 0 1.185-1.357 1.64-1.648 2.068-.22.319-.146.766-.747.766-.392 0-.583-.319-.583-.61 0-1.085 1.593-1.33 1.593-2.223 0-.492-.327-.783-.873-.783-1.166 0-.711 1.202-1.594 1.202-.319 0-.592-.191-.592-.556 0-.893 1.02-1.684 2.13-1.684z" }));
10
+ function V(n) {
11
+ const s = L(null), [x, l] = M(!1), t = n.theme === D.white, v = (i) => {
12
+ s.current = i, document.addEventListener("keydown", j);
13
+ }, o = () => {
14
+ s.current?.hide && (s.current.hide(), s.current = null, n.onClose && n.onClose()), l(!1);
15
+ }, j = (i) => {
16
+ i.keyCode === 27 && o();
17
+ }, b = (i) => {
18
+ l(F);
19
+ }, N = () => {
20
+ const {
21
+ Icon: i,
22
+ iconPath: d,
23
+ iconClass: m,
24
+ iconSize: c,
25
+ onImageLoadError: H,
26
+ heading: p,
27
+ headingInfo: h,
28
+ infoTextHeading: f,
29
+ hideHeading: I,
30
+ infoText: u,
31
+ showCloseButton: w,
32
+ additionalContent: g,
33
+ documentationLink: r,
34
+ documentationLinkText: R
35
+ } = n;
36
+ return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
37
+ !I && /* @__PURE__ */ e.jsxs(
38
+ "div",
39
+ {
40
+ className: `dc__word-break dc__hyphens-auto flex left ${t ? `p-12 cn-9 ${n.noHeadingBorder ? "" : "dc__border-bottom-n1"}` : "pt-20 pb-12 pr-20 pl-20 cn-0 top"}`,
41
+ children: [
42
+ d ? /* @__PURE__ */ e.jsx(
43
+ "img",
44
+ {
45
+ className: `icon-dim-${c || 20} mr-6 ${m || ""}`,
46
+ src: d,
47
+ alt: "Heading",
48
+ onError: H
49
+ }
50
+ ) : i && /* @__PURE__ */ e.jsx("div", { className: `icon-dim-${c || 20} mr-6`, children: /* @__PURE__ */ e.jsx(i, { className: `icon-dim-${c || 20} ${m || ""}` }) }),
51
+ p && /* @__PURE__ */ e.jsx("span", { className: `fs-14 fw-6 lh-20 ${w ? "mr-6" : ""}`, children: p }),
52
+ h && /* @__PURE__ */ e.jsx("div", { className: "icon-dim-20 cursor", onClick: b, children: /* @__PURE__ */ e.jsx(W, { className: "icon-dim-20" }) }),
53
+ w && /* @__PURE__ */ e.jsx("div", { className: "icon-dim-16 ml-auto", children: /* @__PURE__ */ e.jsx(
54
+ B,
55
+ {
56
+ className: `icon-dim-16 cursor ${t ? "fcn-9" : "fcn-0"}`,
57
+ onClick: o
58
+ }
59
+ ) })
60
+ ]
61
+ }
62
+ ),
63
+ x && /* @__PURE__ */ e.jsxs(
64
+ "div",
65
+ {
66
+ className: `flex left top bcv-1 fs-13 fw-4 lh-20 pt-8 pb-8 ${t ? "pl-12 pr-12" : "pl-20 pr-20"}`,
67
+ children: [
68
+ /* @__PURE__ */ e.jsx("div", { className: "icon-dim-20 mr-8", children: /* @__PURE__ */ e.jsx(P, { className: "icon-dim-20 fcv-5" }) }),
69
+ /* @__PURE__ */ e.jsx("div", { className: "dc__word-break dc__hyphens-auto", children: h })
70
+ ]
71
+ }
72
+ ),
73
+ f && /* @__PURE__ */ e.jsx(
74
+ "div",
75
+ {
76
+ className: `dc__word-break dc__hyphens-auto fs-14 fw-6 lh-20 ${t ? "pl-12 pr-12" : "pl-20 pr-20"}`,
77
+ children: f
78
+ }
79
+ ),
80
+ u && /* @__PURE__ */ e.jsx(
81
+ "div",
82
+ {
83
+ className: `dc__word-break dc__hyphens-auto fs-13 fw-4 lh-20 ${t ? "p-12" : `pl-20 pr-20 pt-4 ${g && r ? "pb-12" : "pb-20"}`}`,
84
+ children: u
85
+ }
86
+ ),
87
+ g,
88
+ r && /* @__PURE__ */ e.jsx("div", { className: "pl-12 pb-12", children: /* @__PURE__ */ e.jsx(
89
+ "a",
90
+ {
91
+ href: r,
92
+ target: "_blank",
93
+ rel: "noreferrer noopener",
94
+ className: "fs-13 cb-5",
95
+ onClick: o,
96
+ children: R || "Learn more"
97
+ }
98
+ ) })
99
+ ] });
100
+ }, { className: _, placement: y, arrow: C, interactive: k, showOnCreate: $, trigger: T, animation: S, duration: z, children: E } = n;
101
+ return /* @__PURE__ */ e.jsx(
102
+ O,
103
+ {
104
+ className: `${t ? "tippy-white-container default-white" : "tippy-black-container default-black"} no-content-padding tippy-shadow ${_}`,
105
+ arrow: C || !1,
106
+ interactive: k || !1,
107
+ placement: y || "top",
108
+ content: N(),
109
+ trigger: T || "mouseenter",
110
+ onMount: v,
111
+ onClickOutside: o,
112
+ showOnCreate: $ || !1,
113
+ animation: S || "fade",
114
+ duration: z || 300,
115
+ visible: n.visible,
116
+ children: E
117
+ }
118
+ );
119
+ }
120
+ export {
121
+ W as S,
122
+ V as T,
123
+ P as a
124
+ };
@@ -24,7 +24,7 @@ function l(e) {
24
24
  }), t;
25
25
  }
26
26
  export {
27
- l as a,
27
+ f as a,
28
28
  u as c,
29
- f as g
29
+ l as g
30
30
  };
@@ -1,7 +1,7 @@
1
1
  var Le = Object.defineProperty;
2
2
  var je = (e, n, i) => n in e ? Le(e, n, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[n] = i;
3
3
  var k = (e, n, i) => (je(e, typeof n != "symbol" ? n + "" : n, i), i);
4
- import { m as Ne } from "./CodeEditor-0a5bfd53.js";
4
+ import { m as Ne } from "./CodeEditor-3c2aaef5.js";
5
5
  /*!-----------------------------------------------------------------------------
6
6
  * Copyright (c) Microsoft Corporation. All rights reserved.
7
7
  * Version: 0.39.0(ff3621a3fa6389873be5412d17554294ea1b0941)
@@ -1,4 +1,4 @@
1
- import { m as F } from "./CodeEditor-0a5bfd53.js";
1
+ import { m as F } from "./CodeEditor-3c2aaef5.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.39.0(ff3621a3fa6389873be5412d17554294ea1b0941)
@@ -1,4 +1,4 @@
1
- import { m as i } from "./CodeEditor-0a5bfd53.js";
1
+ import { m as i } from "./CodeEditor-3c2aaef5.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.39.0(ff3621a3fa6389873be5412d17554294ea1b0941)
@@ -1,4 +1,4 @@
1
- import { m as d } from "./CodeEditor-0a5bfd53.js";
1
+ import { m as d } from "./CodeEditor-3c2aaef5.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.39.0(ff3621a3fa6389873be5412d17554294ea1b0941)
@@ -1,7 +1,7 @@
1
1
  var $e = Object.defineProperty;
2
2
  var qe = (e, n, i) => n in e ? $e(e, n, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[n] = i;
3
3
  var k = (e, n, i) => (qe(e, typeof n != "symbol" ? n + "" : n, i), i);
4
- import { m as Qe } from "./CodeEditor-0a5bfd53.js";
4
+ import { m as Qe } from "./CodeEditor-3c2aaef5.js";
5
5
  /*!-----------------------------------------------------------------------------
6
6
  * Copyright (c) Microsoft Corporation. All rights reserved.
7
7
  * Version: 0.39.0(ff3621a3fa6389873be5412d17554294ea1b0941)
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import { get as K, post as z, put as W, trash as w } from "./Common/Api.js";
5
5
  import { ToastBody as q, ToastBody3 as J, ToastBodyWithButton as H, toastAccessDenied as Q } from "./Common/ToastBody.js";
6
6
  import { default as j } from "./Common/Reload.js";
7
7
  import { ErrorScreenManager as $, ErrorScreenNotAuthorized as ee } from "./Common/Error.js";
8
- import { C as re, p as te, m as ae, q as pe, x as se, B as le, c as ie, h as fe, d as me, y as ne, A as ue, i as de, g as xe, z as Te, v as ge, k as ce, w as Se, n as Ce, e as ye, t as Ee, s as De, a as Ae, b as Me, r as be, f as Re, j as he, o as Pe, l as Oe, u as Ie } from "./Helper-e1262739.js";
8
+ import { C as re, p as te, m as ae, q as pe, x as se, B as le, c as ie, h as fe, d as me, y as ne, A as ue, i as de, g as xe, z as Te, v as ge, k as ce, w as Se, n as Ce, e as ye, t as Ee, s as De, a as Ae, b as Me, r as be, f as Re, j as he, o as Pe, l as Oe, u as Ie } from "./Helper-a0caa238.js";
9
9
  import { DetailsProgressing as _e, Progressing as Ve } from "./Common/Progressing.js";
10
10
  import { Drawer as Ue } from "./Common/Drawer/Drawer.js";
11
11
  import { Modal as Le } from "./Common/Modals/Modal.js";
@@ -16,7 +16,7 @@ import { BreadCrumb as Ye, useBreadcrumb as qe } from "./Common/BreadCrumb/Bread
16
16
  import { default as He } from "./Common/BreadCrumb/BreadcrumbStore.js";
17
17
  import { RadioGroup as Xe, RadioGroupItem as je } from "./Common/RadioGroup.js";
18
18
  import { default as $e } from "./Common/PopupMenu.js";
19
- import { T as oo } from "./TippyCustomized-c58fd46a.js";
19
+ import { T as oo } from "./TippyCustomized-7b9b46b9.js";
20
20
  import { default as to } from "./Common/CustomTagSelector/PropagateTagInfo.js";
21
21
  import { TagDetails as po } from "./Common/CustomTagSelector/TagDetails.js";
22
22
  import { TagLabelSelect as lo } from "./Common/CustomTagSelector/TagLabelSelect.js";
@@ -43,7 +43,7 @@ import { ImageTagButton as cr, ImageTagsContainer as Sr } from "./Common/ImageTa
43
43
  import { ResizableTextarea as yr } from "./Common/ResizableTextarea.js";
44
44
  import { default as Dr } from "./Common/DebouncedSearch/DebouncedSearch.js";
45
45
  import { default as Mr } from "./Common/Grid/Grid.js";
46
- import { C as Rr } from "./CodeEditor-0a5bfd53.js";
46
+ import { C as Rr } from "./CodeEditor-3c2aaef5.js";
47
47
  import { default as Pr } from "./Common/Select/Select.js";
48
48
  import { default as Ir } from "./Common/ClipboardButton/ClipboardButton.js";
49
49
  import { useSuperAdmin as _r } from "./Common/Hooks/UseSuperAdmin/UseSuperAdmin.js";
@@ -1,4 +1,4 @@
1
- import { conf as t, language as e } from "./typescript-402306e6.js";
1
+ import { conf as t, language as e } from "./typescript-1bbaf605.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.39.0(ff3621a3fa6389873be5412d17554294ea1b0941)
@@ -1,7 +1,7 @@
1
1
  var Ge = Object.defineProperty;
2
2
  var Qe = (e, n, i) => n in e ? Ge(e, n, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[n] = i;
3
3
  var C = (e, n, i) => (Qe(e, typeof n != "symbol" ? n + "" : n, i), i);
4
- import { m as Ze } from "./CodeEditor-0a5bfd53.js";
4
+ import { m as Ze } from "./CodeEditor-3c2aaef5.js";
5
5
  /*!-----------------------------------------------------------------------------
6
6
  * Copyright (c) Microsoft Corporation. All rights reserved.
7
7
  * Version: 0.39.0(ff3621a3fa6389873be5412d17554294ea1b0941)