@burdenoff/fe-libs 2026.717.5 → 2026.718.1
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/dist/shared/graphql/fetch.d.ts.map +1 -1
- package/dist/shared/graphql/fetch.js +31 -10
- package/dist/shared/providers/shell/ActiveContextProvider.d.ts.map +1 -1
- package/dist/shared/providers/shell/ActiveContextProvider.js +30 -29
- package/dist/shared/providers/shell/AuthProvider.d.ts +3 -1
- package/dist/shared/providers/shell/AuthProvider.d.ts.map +1 -1
- package/dist/shared/providers/shell/AuthProvider.js +87 -86
- package/dist/shared/providers/shell/authProvider/useAuthActions.d.ts +16 -1
- package/dist/shared/providers/shell/authProvider/useAuthActions.d.ts.map +1 -1
- package/dist/shared/providers/shell/authProvider/useAuthActions.js +8 -7
- package/dist/shared/providers/shell/authProvider/useRemoteSLO.d.ts +3 -1
- package/dist/shared/providers/shell/authProvider/useRemoteSLO.d.ts.map +1 -1
- package/dist/shared/providers/shell/authProvider/useRemoteSLO.js +1 -1
- package/dist/shared/providers/shell/authProvider/useSsoDepositBootGuard.d.ts +14 -0
- package/dist/shared/providers/shell/authProvider/useSsoDepositBootGuard.d.ts.map +1 -0
- package/dist/shared/providers/shell/authProvider/useSsoDepositBootGuard.js +52 -0
- package/dist/shared/utils/index.d.ts +2 -0
- package/dist/shared/utils/index.d.ts.map +1 -1
- package/dist/shared/utils/ssoDeposit.d.ts +92 -0
- package/dist/shared/utils/ssoDeposit.d.ts.map +1 -0
- package/dist/shared/utils/ssoDeposit.js +115 -0
- package/dist/shared-utils.js +10 -9
- package/dist/shared.js +92 -91
- package/dist/utils/index.js +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/shared/graphql/fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAY,KAAK,OAAO,EAAsB,MAAM,WAAW,CAAC;AAuBvE,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,mCAAmC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAG,2BAAoC,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACtC,CAAC,CAAC;CACJ;AAmBD,yEAAyE;AACzE,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAWlD;AAED,4EAA4E;AAC5E,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAMvD;
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/shared/graphql/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,16 @@ function x() {
|
|
|
35
35
|
return null;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
+
function ee() {
|
|
39
|
+
try {
|
|
40
|
+
let e = sessionStorage.getItem("bf-active-profile");
|
|
41
|
+
if (!e) return !1;
|
|
42
|
+
let t = localStorage.getItem(`bf-p-${e}-tokens`);
|
|
43
|
+
return !t || !JSON.parse(t)?.accessToken ? !1 : c(t) === null;
|
|
44
|
+
} catch {
|
|
45
|
+
return !1;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
38
48
|
function S(e) {
|
|
39
49
|
try {
|
|
40
50
|
let [, t] = e.split(".");
|
|
@@ -169,30 +179,30 @@ function R() {
|
|
|
169
179
|
function z() {
|
|
170
180
|
L().clear(), R().clear(), n();
|
|
171
181
|
}
|
|
172
|
-
var B = 10, V = 600, H = 100, U = 1e4, W = 15e3,
|
|
182
|
+
var B = 10, V = 600, H = 100, U = 1e4, W = 15e3, te = new Set([
|
|
173
183
|
"traceparent",
|
|
174
184
|
"tracestate",
|
|
175
185
|
"baggage"
|
|
176
186
|
]), G = "Apollo-Require-Preflight";
|
|
177
|
-
function
|
|
187
|
+
function ne() {
|
|
178
188
|
if (typeof performance > "u") return H;
|
|
179
189
|
let e = F();
|
|
180
190
|
return e.__graphqlFetchBurstStartedAt ??= performance.now(), performance.now() - e.__graphqlFetchBurstStartedAt < U ? V : H;
|
|
181
191
|
}
|
|
182
|
-
function
|
|
192
|
+
function re(e) {
|
|
183
193
|
return typeof e.query == "string" ? /^\s*query\b/.test(e.query) : !1;
|
|
184
194
|
}
|
|
185
|
-
function
|
|
195
|
+
function ie(e) {
|
|
186
196
|
return typeof e.operationName == "string" && e.operationName.length > 0 ? {
|
|
187
197
|
operationName: e.operationName,
|
|
188
198
|
variables: e.variables ?? null
|
|
189
199
|
} : e;
|
|
190
200
|
}
|
|
191
|
-
function
|
|
201
|
+
function ae(e) {
|
|
192
202
|
let t = /* @__PURE__ */ new Map();
|
|
193
203
|
for (let [n, r] of Object.entries(e)) {
|
|
194
204
|
let e = n.toLowerCase();
|
|
195
|
-
|
|
205
|
+
te.has(e) || t.set(e, r);
|
|
196
206
|
}
|
|
197
207
|
return Object.fromEntries(Array.from(t.entries()).sort(([e], [t]) => e.localeCompare(t)));
|
|
198
208
|
}
|
|
@@ -205,13 +215,13 @@ function K(t) {
|
|
|
205
215
|
};
|
|
206
216
|
}
|
|
207
217
|
function q(e) {
|
|
208
|
-
return
|
|
218
|
+
return oe(e) && Array.isArray(e.errors);
|
|
209
219
|
}
|
|
210
220
|
function J(e) {
|
|
211
221
|
let t = e.status;
|
|
212
222
|
return t === 401 ? "Invalid email or password." : t === 403 ? "You do not have permission to do that." : t === 404 ? "We could not find what you were looking for." : t === 408 || t === 504 ? "The server took too long to respond. Please try again." : t === 429 ? "Too many requests. Please wait a moment and try again." : t >= 500 && t < 600 ? "The server is having trouble right now. Please try again in a moment." : t >= 400 && t < 500 ? "The request could not be processed. Please refresh and try again." : "We could not reach the server. Please check your connection and try again.";
|
|
213
223
|
}
|
|
214
|
-
function
|
|
224
|
+
function oe(e) {
|
|
215
225
|
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
216
226
|
}
|
|
217
227
|
async function Y(e) {
|
|
@@ -269,7 +279,7 @@ async function X(e, t, n) {
|
|
|
269
279
|
}
|
|
270
280
|
}
|
|
271
281
|
function Z(e, t, n, r, i) {
|
|
272
|
-
let a =
|
|
282
|
+
let a = ae(t), o = Math.max(1, i?.batchMax ?? B), s = Math.max(0, i?.batchInterval ?? ne()), c = `${e}|${JSON.stringify(a)}`, l = re(n) ? `${c}|${JSON.stringify(ie(n))}` : void 0;
|
|
273
283
|
if (l) {
|
|
274
284
|
let e = L(), t = e.get(l);
|
|
275
285
|
if (t) {
|
|
@@ -317,7 +327,18 @@ function Q(e, t, n) {
|
|
|
317
327
|
i && (r.delete(n), i.timer &&= (clearTimeout(i.timer), null), X(e, t, i.requests));
|
|
318
328
|
}
|
|
319
329
|
async function $(e) {
|
|
320
|
-
let { gateway: n, query: r, variables: i, operationName: a, authToken: o, workspaceToken: s, workspaceId: c, organizationId: u, tenantId: h, projectId: _, locale: v, baseUrl: x, extraHeaders: S, signal: E, suppressGlobalErrorEvent: D } = e, k = d(P(n, x)), A = o && !C(o) ? o : y()
|
|
330
|
+
let { gateway: n, query: r, variables: i, operationName: a, authToken: o, workspaceToken: s, workspaceId: c, organizationId: u, tenantId: h, projectId: _, locale: v, baseUrl: x, extraHeaders: S, signal: E, suppressGlobalErrorEvent: D } = e, k = d(P(n, x)), A = o && !C(o) ? o : y();
|
|
331
|
+
if (!A && !e.skipAuthRetry && typeof window < "u" && !window.location.pathname.startsWith("/auth/") && ee()) {
|
|
332
|
+
let e = await import("../utils/authErrorHandling.js");
|
|
333
|
+
await e.attemptTokenRefresh({
|
|
334
|
+
globalBaseUrl: n === "global" && x ? x : t().globalBaseUrl,
|
|
335
|
+
...e.getSharedTokenRefreshRefs()
|
|
336
|
+
}) ? A = y() : g({
|
|
337
|
+
operationName: a,
|
|
338
|
+
gateway: n
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
let M = v ?? T(), F = j({
|
|
321
342
|
workspaceId: c,
|
|
322
343
|
organizationId: u,
|
|
323
344
|
tenantId: h,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActiveContextProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/shell/ActiveContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ActiveContextProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/shell/ActiveContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAiBf;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,sCAAsC;IACtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oCAAoC;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,kCAAkC;IAClC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,+BAA+B;IAC/B,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,6BAA6B;IAC7B,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,4BAA4B;IAC5B,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAE7C,qCAAqC;IACrC,UAAU,EAAE,CACV,OAAO,EAAE,OAAO,CAAC;QACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC,KACC,IAAI,CAAC;IAEV,+BAA+B;IAC/B,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB,kCAAkC;IAClC,cAAc,EAAE,OAAO,CAAC;CACzB;AAID,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,SAAS,CAAC;IACpB,8BAA8B;IAC9B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,SAAS,CAAC,EAAE;QACV,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAiCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,qBAA4B,EAC5B,kBAAyB,EACzB,gBAAuB,EACvB,eAAsB,EACtB,UAAuC,EACvC,SAAiB,EACjB,SAA6C,GAC9C,EAAE,0BAA0B,2CAkS5B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,uBAM/B"}
|
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
import { getProfileContext as e, resolveActiveProfileId as t, setProfileContext as n } from "./ProfileStorageManager.js";
|
|
2
2
|
import { ACTIVE_CONTEXT_STORAGE_KEY as r, DEFAULT_ACTIVE_CONTEXT_URL_PARAMS as i, clearActiveContextStorage as a, getUrlParam as o, readActiveContextStorageValue as s, writeActiveContextFallback as c, writeActiveContextStorageValue as l } from "./ActiveContextStorage.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { isSsoNavigationPending as u } from "../../utils/ssoDeposit.js";
|
|
4
|
+
import { createContext as d, use as f, useCallback as p, useEffect as m, useMemo as h, useState as g } from "react";
|
|
5
|
+
import { jsx as _ } from "react/jsx-runtime";
|
|
5
6
|
//#region src/shared/providers/shell/ActiveContextProvider.tsx
|
|
6
|
-
var
|
|
7
|
-
function
|
|
8
|
-
if (typeof window > "u") return;
|
|
7
|
+
var v = d(null);
|
|
8
|
+
function y(e) {
|
|
9
|
+
if (typeof window > "u" || u() || window.location.pathname.startsWith("/auth/")) return;
|
|
9
10
|
let t = new URL(window.location.href);
|
|
10
11
|
Object.entries(e).forEach(([e, n]) => {
|
|
11
12
|
n ? t.searchParams.set(e, n) : t.searchParams.delete(e);
|
|
12
13
|
}), window.history.replaceState({}, "", t.toString());
|
|
13
14
|
}
|
|
14
|
-
function
|
|
15
|
-
let [T, E] =
|
|
15
|
+
function b({ children: u, defaultOrganizationId: d = null, defaultWorkspaceId: f = null, defaultProjectId: b = null, defaultTenantId: x = null, storageKey: S = r, syncToUrl: C = !1, urlParams: w = i }) {
|
|
16
|
+
let [T, E] = g(() => {
|
|
16
17
|
if (typeof window > "u") return d;
|
|
17
18
|
if (C) {
|
|
18
19
|
let e = o(w.organization);
|
|
19
20
|
if (e) return e;
|
|
20
21
|
}
|
|
21
22
|
return s("organization", S) || d;
|
|
22
|
-
}), [D, O] =
|
|
23
|
-
if (typeof window > "u") return
|
|
23
|
+
}), [D, O] = g(() => {
|
|
24
|
+
if (typeof window > "u") return f;
|
|
24
25
|
if (C) {
|
|
25
26
|
let e = o(w.workspace);
|
|
26
27
|
if (e) return e;
|
|
27
28
|
}
|
|
28
|
-
let r = s("workspace", S) ||
|
|
29
|
+
let r = s("workspace", S) || f;
|
|
29
30
|
if (r) {
|
|
30
31
|
let i = t();
|
|
31
32
|
if (i) {
|
|
@@ -37,14 +38,14 @@ function y({ children: u, defaultOrganizationId: d = null, defaultWorkspaceId: y
|
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
return r;
|
|
40
|
-
}), [k, A] =
|
|
41
|
+
}), [k, A] = g(() => {
|
|
41
42
|
if (typeof window > "u") return b;
|
|
42
43
|
if (C) {
|
|
43
44
|
let e = o(w.project);
|
|
44
45
|
if (e) return e;
|
|
45
46
|
}
|
|
46
47
|
return s("project", S) || b;
|
|
47
|
-
}), [j, M] =
|
|
48
|
+
}), [j, M] = g(() => {
|
|
48
49
|
if (typeof window > "u") return x;
|
|
49
50
|
if (C) {
|
|
50
51
|
let e = o(w.tenant);
|
|
@@ -52,7 +53,7 @@ function y({ children: u, defaultOrganizationId: d = null, defaultWorkspaceId: y
|
|
|
52
53
|
}
|
|
53
54
|
return s("tenant", S) || x;
|
|
54
55
|
});
|
|
55
|
-
|
|
56
|
+
m(() => {
|
|
56
57
|
l("organization", T, S), l("workspace", D, S), l("project", k, S), l("tenant", j, S);
|
|
57
58
|
}, [
|
|
58
59
|
T,
|
|
@@ -60,7 +61,7 @@ function y({ children: u, defaultOrganizationId: d = null, defaultWorkspaceId: y
|
|
|
60
61
|
k,
|
|
61
62
|
j,
|
|
62
63
|
S
|
|
63
|
-
]),
|
|
64
|
+
]), m(() => {
|
|
64
65
|
let r = t();
|
|
65
66
|
if (!r) return;
|
|
66
67
|
let i = e(r), a = {
|
|
@@ -76,8 +77,8 @@ function y({ children: u, defaultOrganizationId: d = null, defaultWorkspaceId: y
|
|
|
76
77
|
D,
|
|
77
78
|
k,
|
|
78
79
|
j
|
|
79
|
-
]),
|
|
80
|
-
C &&
|
|
80
|
+
]), m(() => {
|
|
81
|
+
C && y({
|
|
81
82
|
[w.organization]: T,
|
|
82
83
|
[w.workspace]: D,
|
|
83
84
|
[w.project]: k,
|
|
@@ -90,7 +91,7 @@ function y({ children: u, defaultOrganizationId: d = null, defaultWorkspaceId: y
|
|
|
90
91
|
j,
|
|
91
92
|
C,
|
|
92
93
|
w
|
|
93
|
-
]),
|
|
94
|
+
]), m(() => {
|
|
94
95
|
if (!C) return;
|
|
95
96
|
let e = () => {
|
|
96
97
|
let e = o(w.organization), t = o(w.workspace), n = o(w.project), r = o(w.tenant);
|
|
@@ -105,14 +106,14 @@ function y({ children: u, defaultOrganizationId: d = null, defaultWorkspaceId: y
|
|
|
105
106
|
k,
|
|
106
107
|
j
|
|
107
108
|
]);
|
|
108
|
-
let N =
|
|
109
|
+
let N = p((r) => {
|
|
109
110
|
E(r);
|
|
110
111
|
let i = t();
|
|
111
112
|
i && n(i, {
|
|
112
113
|
...e(i),
|
|
113
114
|
organizationId: r
|
|
114
115
|
}), typeof window < "u" && window.dispatchEvent(new CustomEvent("burdenoff:organization-changed", { detail: { organizationId: r } }));
|
|
115
|
-
}, []), P =
|
|
116
|
+
}, []), P = p((r, i) => {
|
|
116
117
|
let a = {
|
|
117
118
|
organization: "organizationId",
|
|
118
119
|
workspace: "workspaceId",
|
|
@@ -125,24 +126,24 @@ function y({ children: u, defaultOrganizationId: d = null, defaultWorkspaceId: y
|
|
|
125
126
|
...e(o),
|
|
126
127
|
[a[r]]: i
|
|
127
128
|
}) : typeof window < "u" && c(r, i, S);
|
|
128
|
-
}, [S]), F =
|
|
129
|
+
}, [S]), F = p((e) => {
|
|
129
130
|
O(e), P("workspace", e), typeof window < "u" && window.dispatchEvent(new CustomEvent("burdenoff:workspace-changed", { detail: { workspaceId: e } }));
|
|
130
|
-
}, [P]), I =
|
|
131
|
+
}, [P]), I = p((e) => {
|
|
131
132
|
A(e), P("project", e), typeof window < "u" && window.dispatchEvent(new CustomEvent("burdenoff:project-changed", { detail: { projectId: e } }));
|
|
132
|
-
}, [P]), L =
|
|
133
|
+
}, [P]), L = p((e) => {
|
|
133
134
|
M(e), P("tenant", e);
|
|
134
|
-
}, [P]), R =
|
|
135
|
+
}, [P]), R = p((e) => {
|
|
135
136
|
e.organizationId !== void 0 && N(e.organizationId), e.workspaceId !== void 0 && F(e.workspaceId), e.projectId !== void 0 && I(e.projectId), e.tenantId !== void 0 && L(e.tenantId);
|
|
136
137
|
}, [
|
|
137
138
|
N,
|
|
138
139
|
F,
|
|
139
140
|
I,
|
|
140
141
|
L
|
|
141
|
-
]), z =
|
|
142
|
+
]), z = p(() => {
|
|
142
143
|
E(null), O(null), A(null), M(null), a(S);
|
|
143
144
|
let e = t();
|
|
144
145
|
e && n(e, {});
|
|
145
|
-
}, [S]), B =
|
|
146
|
+
}, [S]), B = h(() => ({
|
|
146
147
|
organizationId: T,
|
|
147
148
|
workspaceId: D,
|
|
148
149
|
projectId: k,
|
|
@@ -167,15 +168,15 @@ function y({ children: u, defaultOrganizationId: d = null, defaultWorkspaceId: y
|
|
|
167
168
|
z,
|
|
168
169
|
C
|
|
169
170
|
]);
|
|
170
|
-
return /* @__PURE__ */
|
|
171
|
+
return /* @__PURE__ */ _(v.Provider, {
|
|
171
172
|
value: B,
|
|
172
173
|
children: u
|
|
173
174
|
});
|
|
174
175
|
}
|
|
175
|
-
function
|
|
176
|
-
let e =
|
|
176
|
+
function x() {
|
|
177
|
+
let e = f(v);
|
|
177
178
|
if (!e) throw Error("useActiveContext must be used within an ActiveContextProvider");
|
|
178
179
|
return e;
|
|
179
180
|
}
|
|
180
181
|
//#endregion
|
|
181
|
-
export {
|
|
182
|
+
export { b as ActiveContextProvider, x as useActiveContext };
|
|
@@ -17,7 +17,9 @@ export interface AuthContextValue {
|
|
|
17
17
|
isAuthenticated: boolean;
|
|
18
18
|
isLoading: boolean;
|
|
19
19
|
login: (user: ProfileUser, accessToken: string, refreshToken?: string) => void;
|
|
20
|
-
logout: (
|
|
20
|
+
logout: (options?: {
|
|
21
|
+
authoritative?: boolean;
|
|
22
|
+
}) => void;
|
|
21
23
|
updateUser: (user: Partial<ProfileUser>) => void;
|
|
22
24
|
refreshAccessToken: () => Promise<void>;
|
|
23
25
|
hasPermission: (permission: string) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/shell/AuthProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnG,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAOjB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/shell/AuthProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
import { getActiveProfileId as e, getProfileTokens as t, getProfileUser as n, getProfileWorkspaceToken as r, getProfiles as i, resolveActiveProfileId as
|
|
2
|
-
import { readShellSsoCookie as
|
|
3
|
-
import { useBridgeInitialization as
|
|
4
|
-
import { useTokenExpiryTimer as
|
|
5
|
-
import { useStorageSync as
|
|
6
|
-
import { useRemoteSLO as
|
|
7
|
-
import { useAuthActions as
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
1
|
+
import { getActiveProfileId as e, getProfileTokens as t, getProfileUser as n, getProfileWorkspaceToken as r, getProfiles as i, resolveActiveProfileId as a } from "./ProfileStorageManager.js";
|
|
2
|
+
import { readShellSsoCookie as o } from "../../utils/authCookie.js";
|
|
3
|
+
import { useBridgeInitialization as ee } from "./authProvider/useBridgeInitialization.js";
|
|
4
|
+
import { useTokenExpiryTimer as te } from "./authProvider/useTokenExpiryTimer.js";
|
|
5
|
+
import { useStorageSync as s } from "./authProvider/useStorageSync.js";
|
|
6
|
+
import { useRemoteSLO as c } from "./authProvider/useRemoteSLO.js";
|
|
7
|
+
import { useAuthActions as l } from "./authProvider/useAuthActions.js";
|
|
8
|
+
import { useSsoDepositBootGuard as u } from "./authProvider/useSsoDepositBootGuard.js";
|
|
9
|
+
import { createContext as d, use as f, useCallback as p, useMemo as m, useRef as h, useState as g } from "react";
|
|
10
|
+
import { jsx as _ } from "react/jsx-runtime";
|
|
10
11
|
//#region src/shared/providers/shell/AuthProvider.tsx
|
|
11
|
-
var
|
|
12
|
-
function
|
|
13
|
-
let
|
|
14
|
-
if (
|
|
15
|
-
if (
|
|
16
|
-
let e =
|
|
12
|
+
var v = d(null);
|
|
13
|
+
function y({ children: d, onTokenExpired: f, onSessionExpiringSoon: y, onRefreshToken: b, bridgeUrl: x, bridgeAllowedOrigins: S, bridgeDebug: C, onBridgeReady: w }) {
|
|
14
|
+
let T = h(!1), [E, D] = g(() => a()), [O, k] = g(() => E ? n(E) : null), [A, j] = g(() => E ? t(E) : null), [M, N] = g(() => E ? r(E) : null), [P, F] = g(() => {
|
|
15
|
+
if (E && n(E)) return !1;
|
|
16
|
+
if (x) try {
|
|
17
|
+
let e = o()?.id ?? null;
|
|
17
18
|
if (e && localStorage.getItem(`bf-p-${e}-tokens`)) return !1;
|
|
18
19
|
} catch {}
|
|
19
|
-
return !!
|
|
20
|
-
}), [
|
|
20
|
+
return !!x;
|
|
21
|
+
}), [I, ne] = g(!1), [L, re] = g(null), [R, z] = g(() => i().map((e) => ({
|
|
21
22
|
id: e.id,
|
|
22
23
|
email: e.email,
|
|
23
24
|
name: e.name,
|
|
24
25
|
avatar: e.avatar,
|
|
25
|
-
isActive: e.id ===
|
|
26
|
+
isActive: e.id === E,
|
|
26
27
|
lastLogin: e.lastLogin
|
|
27
|
-
}))), B =
|
|
28
|
+
}))), B = p(() => {
|
|
28
29
|
z([]);
|
|
29
|
-
}, []), V =
|
|
30
|
+
}, []), V = p(() => {
|
|
30
31
|
let t = e();
|
|
31
32
|
z(i().map((e) => ({
|
|
32
33
|
id: e.id,
|
|
@@ -37,117 +38,117 @@ function v({ children: u, onTokenExpired: d, onSessionExpiringSoon: v, onRefresh
|
|
|
37
38
|
lastLogin: e.lastLogin
|
|
38
39
|
})));
|
|
39
40
|
}, []);
|
|
40
|
-
|
|
41
|
-
bridgeUrl:
|
|
42
|
-
bridgeAllowedOrigins:
|
|
43
|
-
bridgeDebug:
|
|
44
|
-
onBridgeReady:
|
|
45
|
-
bridgeSyncInProgress:
|
|
46
|
-
setIsLoading:
|
|
47
|
-
setActiveId:
|
|
48
|
-
setUser:
|
|
49
|
-
setTokens:
|
|
50
|
-
setWorkspaceTokenLocal:
|
|
41
|
+
ee({
|
|
42
|
+
bridgeUrl: x,
|
|
43
|
+
bridgeAllowedOrigins: S,
|
|
44
|
+
bridgeDebug: C,
|
|
45
|
+
onBridgeReady: w,
|
|
46
|
+
bridgeSyncInProgress: T,
|
|
47
|
+
setIsLoading: F,
|
|
48
|
+
setActiveId: D,
|
|
49
|
+
setUser: k,
|
|
50
|
+
setTokens: j,
|
|
51
|
+
setWorkspaceTokenLocal: N,
|
|
51
52
|
clearAccounts: B,
|
|
52
53
|
refreshAccounts: V
|
|
53
54
|
});
|
|
54
|
-
let { login: H, logout: U, logoutAll: W, updateUser: G, refreshAccessToken: K, hasPermission: q, setWorkspaceToken: J, setMfaState: Y, switchAccount: X, addAccount: Z, removeAccount: Q } =
|
|
55
|
-
user:
|
|
56
|
-
tokens:
|
|
57
|
-
activeId:
|
|
58
|
-
bridgeSyncInProgress:
|
|
59
|
-
onRefreshToken:
|
|
60
|
-
onTokenExpired:
|
|
61
|
-
setActiveId:
|
|
62
|
-
setUser:
|
|
63
|
-
setTokens:
|
|
64
|
-
setWorkspaceTokenLocal:
|
|
65
|
-
setMfaRequiredState:
|
|
66
|
-
setMfaChallengeIdState:
|
|
67
|
-
setIsLoading:
|
|
55
|
+
let { login: H, logout: U, logoutAll: W, updateUser: G, refreshAccessToken: K, hasPermission: q, setWorkspaceToken: J, setMfaState: Y, switchAccount: X, addAccount: Z, removeAccount: Q } = l({
|
|
56
|
+
user: O,
|
|
57
|
+
tokens: A,
|
|
58
|
+
activeId: E,
|
|
59
|
+
bridgeSyncInProgress: T,
|
|
60
|
+
onRefreshToken: b,
|
|
61
|
+
onTokenExpired: f,
|
|
62
|
+
setActiveId: D,
|
|
63
|
+
setUser: k,
|
|
64
|
+
setTokens: j,
|
|
65
|
+
setWorkspaceTokenLocal: N,
|
|
66
|
+
setMfaRequiredState: ne,
|
|
67
|
+
setMfaChallengeIdState: re,
|
|
68
|
+
setIsLoading: F,
|
|
68
69
|
clearAccounts: B,
|
|
69
70
|
refreshAccounts: V
|
|
70
71
|
});
|
|
71
|
-
|
|
72
|
-
tokens:
|
|
73
|
-
onRefreshToken:
|
|
74
|
-
onTokenExpired:
|
|
75
|
-
onSessionExpiringSoon:
|
|
72
|
+
te({
|
|
73
|
+
tokens: A,
|
|
74
|
+
onRefreshToken: b,
|
|
75
|
+
onTokenExpired: f,
|
|
76
|
+
onSessionExpiringSoon: y,
|
|
76
77
|
refreshAccessToken: K
|
|
77
|
-
}),
|
|
78
|
-
user:
|
|
79
|
-
tokens:
|
|
80
|
-
workspaceToken:
|
|
81
|
-
activeId:
|
|
82
|
-
setUser:
|
|
83
|
-
setTokens:
|
|
84
|
-
setWorkspaceTokenLocal:
|
|
85
|
-
setActiveId:
|
|
78
|
+
}), s({
|
|
79
|
+
user: O,
|
|
80
|
+
tokens: A,
|
|
81
|
+
workspaceToken: M,
|
|
82
|
+
activeId: E,
|
|
83
|
+
setUser: k,
|
|
84
|
+
setTokens: j,
|
|
85
|
+
setWorkspaceTokenLocal: N,
|
|
86
|
+
setActiveId: D,
|
|
86
87
|
clearAccounts: B,
|
|
87
88
|
refreshAccounts: V
|
|
88
|
-
}),
|
|
89
|
-
tokens:
|
|
90
|
-
bridgeUrl:
|
|
89
|
+
}), u(), c({
|
|
90
|
+
tokens: A,
|
|
91
|
+
bridgeUrl: x,
|
|
91
92
|
logout: U,
|
|
92
|
-
setActiveId:
|
|
93
|
-
setUser:
|
|
94
|
-
setTokens:
|
|
95
|
-
setWorkspaceTokenLocal:
|
|
93
|
+
setActiveId: D,
|
|
94
|
+
setUser: k,
|
|
95
|
+
setTokens: j,
|
|
96
|
+
setWorkspaceTokenLocal: N,
|
|
96
97
|
clearAccounts: B
|
|
97
98
|
});
|
|
98
|
-
let $ =
|
|
99
|
-
user:
|
|
100
|
-
tokens:
|
|
99
|
+
let $ = m(() => !!O && !!A, [O, A]), ie = m(() => ({
|
|
100
|
+
user: O,
|
|
101
|
+
tokens: A,
|
|
101
102
|
isAuthenticated: $,
|
|
102
|
-
isLoading:
|
|
103
|
+
isLoading: P,
|
|
103
104
|
login: H,
|
|
104
105
|
logout: U,
|
|
105
106
|
updateUser: G,
|
|
106
107
|
refreshAccessToken: K,
|
|
107
108
|
hasPermission: q,
|
|
108
109
|
setWorkspaceToken: J,
|
|
109
|
-
workspaceToken:
|
|
110
|
-
mfaRequired:
|
|
110
|
+
workspaceToken: M,
|
|
111
|
+
mfaRequired: I,
|
|
111
112
|
mfaChallengeId: L,
|
|
112
113
|
setMfaState: Y,
|
|
113
|
-
activeProfileId:
|
|
114
|
+
activeProfileId: E,
|
|
114
115
|
accounts: R,
|
|
115
116
|
switchAccount: X,
|
|
116
117
|
addAccount: Z,
|
|
117
118
|
removeAccount: Q,
|
|
118
119
|
logoutAll: W,
|
|
119
|
-
currentUser:
|
|
120
|
+
currentUser: O
|
|
120
121
|
}), [
|
|
121
|
-
|
|
122
|
-
|
|
122
|
+
O,
|
|
123
|
+
A,
|
|
123
124
|
$,
|
|
124
|
-
|
|
125
|
+
P,
|
|
125
126
|
H,
|
|
126
127
|
U,
|
|
127
128
|
G,
|
|
128
129
|
K,
|
|
129
130
|
q,
|
|
130
131
|
J,
|
|
131
|
-
|
|
132
|
-
|
|
132
|
+
M,
|
|
133
|
+
I,
|
|
133
134
|
L,
|
|
134
135
|
Y,
|
|
135
|
-
|
|
136
|
+
E,
|
|
136
137
|
R,
|
|
137
138
|
X,
|
|
138
139
|
Z,
|
|
139
140
|
Q,
|
|
140
141
|
W
|
|
141
142
|
]);
|
|
142
|
-
return /* @__PURE__ */
|
|
143
|
-
value:
|
|
144
|
-
children:
|
|
143
|
+
return /* @__PURE__ */ _(v.Provider, {
|
|
144
|
+
value: ie,
|
|
145
|
+
children: d
|
|
145
146
|
});
|
|
146
147
|
}
|
|
147
|
-
function
|
|
148
|
-
let e =
|
|
148
|
+
function b() {
|
|
149
|
+
let e = f(v);
|
|
149
150
|
if (!e) throw Error("useAuth must be used within an AuthProvider");
|
|
150
151
|
return e;
|
|
151
152
|
}
|
|
152
153
|
//#endregion
|
|
153
|
-
export {
|
|
154
|
+
export { y as AuthProvider, b as useAuth };
|
|
@@ -21,9 +21,24 @@ export interface AuthActionsDeps {
|
|
|
21
21
|
clearAccounts: () => void;
|
|
22
22
|
refreshAccounts: () => void;
|
|
23
23
|
}
|
|
24
|
+
export interface LogoutOptions {
|
|
25
|
+
/**
|
|
26
|
+
* `true` (default) = an EXPLICIT user sign-out: revoke ALL server-side
|
|
27
|
+
* sessions (authoritative single-logout) and detour through the bridge
|
|
28
|
+
* host's /auth/sso-clear so its stored session is wiped too.
|
|
29
|
+
*
|
|
30
|
+
* `false` = a failure-driven local logout (expired session, failed token
|
|
31
|
+
* refresh, remote-SLO detection). Only THIS origin's state is cleared.
|
|
32
|
+
* BOFF-4463: these paths used to fire the authoritative signOut mutation,
|
|
33
|
+
* so one shell holding a stale relayed token would revoke the user's
|
|
34
|
+
* sessions platform-wide and cascade-logout every product within the 90s
|
|
35
|
+
* remote-SLO poll.
|
|
36
|
+
*/
|
|
37
|
+
authoritative?: boolean;
|
|
38
|
+
}
|
|
24
39
|
export interface AuthActions {
|
|
25
40
|
login: (user: ProfileUser, accessToken: string, refreshToken?: string) => void;
|
|
26
|
-
logout: () => void;
|
|
41
|
+
logout: (options?: LogoutOptions) => void;
|
|
27
42
|
logoutAll: () => void;
|
|
28
43
|
updateUser: (updates: Partial<ProfileUser>) => void;
|
|
29
44
|
refreshAccessToken: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthActions.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/shell/authProvider/useAuthActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,UAAU,EAchB,MAAM,0BAA0B,CAAC;AAqClC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,oBAAoB,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,cAAc,EACV,CAAC,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;QACjC,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC,GACH,SAAS,CAAC;IACd,cAAc,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,sBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/E,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"useAuthActions.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/shell/authProvider/useAuthActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,16 +52,17 @@ function x({ user: e, tokens: x, activeId: S, bridgeSyncInProgress: C, onRefresh
|
|
|
52
52
|
k,
|
|
53
53
|
A,
|
|
54
54
|
j
|
|
55
|
-
]), I = y(() => {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
]), I = y((e) => {
|
|
56
|
+
let t = e?.authoritative !== !1;
|
|
57
|
+
t && !C.current && b(x?.accessToken ?? (S ? n(S)?.accessToken : void 0)), S && c(S);
|
|
58
|
+
let a = l();
|
|
59
|
+
a ? (E(a), D(r(a)), O(n(a)), k(i(a))) : (E(null), D(null), O(null), k(null)), A(!1), j(null), P();
|
|
59
60
|
try {
|
|
60
61
|
m();
|
|
61
62
|
} catch {}
|
|
62
63
|
C.current || g()?.notifyLogout();
|
|
63
|
-
let
|
|
64
|
-
|
|
64
|
+
let o = t ? _() : null;
|
|
65
|
+
o && !C.current && window.location.replace(o);
|
|
65
66
|
}, [
|
|
66
67
|
S,
|
|
67
68
|
x,
|
|
@@ -108,7 +109,7 @@ function x({ user: e, tokens: x, activeId: S, bridgeSyncInProgress: C, onRefresh
|
|
|
108
109
|
expiresAt: i.expiresAt
|
|
109
110
|
});
|
|
110
111
|
} catch (e) {
|
|
111
|
-
console.error("Failed to refresh token:", e), x?.expiresAt && x.expiresAt - Date.now() > 0 || (I(), T?.());
|
|
112
|
+
console.error("Failed to refresh token:", e), x?.expiresAt && x.expiresAt - Date.now() > 0 || (I({ authoritative: !1 }), T?.());
|
|
112
113
|
} finally {
|
|
113
114
|
M(!1);
|
|
114
115
|
}
|
|
@@ -2,7 +2,9 @@ import { ProfileUser, AuthTokens } from '../ProfileStorageManager';
|
|
|
2
2
|
export interface RemoteSLODeps {
|
|
3
3
|
tokens: AuthTokens | null;
|
|
4
4
|
bridgeUrl: string | undefined;
|
|
5
|
-
logout: (
|
|
5
|
+
logout: (options?: {
|
|
6
|
+
authoritative?: boolean;
|
|
7
|
+
}) => void;
|
|
6
8
|
setActiveId: (id: string | null) => void;
|
|
7
9
|
setUser: (user: ProfileUser | null) => void;
|
|
8
10
|
setTokens: (tokens: AuthTokens | null) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRemoteSLO.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/shell/authProvider/useRemoteSLO.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK7E,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"useRemoteSLO.d.ts","sourceRoot":"","sources":["../../../../../src/shared/providers/shell/authProvider/useRemoteSLO.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK7E,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,SAAS,EACT,MAAM,EACN,WAAW,EACX,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,aAAa,GACd,EAAE,aAAa,GAAG,IAAI,CA0DtB"}
|