@lightdash/common 0.3316.1 → 0.3317.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,4 +9,12 @@ export declare const getScopes: ({ isEnterprise }?: {
9
9
  export declare const getAllScopeMap: ({ isEnterprise }?: {
10
10
  isEnterprise?: boolean | undefined;
11
11
  }) => Record<ScopeName, Scope>;
12
+ type ScopeGraphOptions = {
13
+ isEnterprise?: boolean;
14
+ };
15
+ export declare const getScopeAncestors: (scopeName: string, { isEnterprise }?: ScopeGraphOptions) => ScopeName[];
16
+ export declare const getScopeDescendants: (scopeName: string, { isEnterprise }?: ScopeGraphOptions) => ScopeName[];
17
+ export declare const getScopeSubstitutes: (scopeName: string, { isEnterprise }?: ScopeGraphOptions) => ScopeName[];
18
+ export declare const getUnsatisfiedScopeDependencies: (existingScopeNames: string[], scopeName: string, { isEnterprise }?: ScopeGraphOptions) => ScopeName[];
19
+ export {};
12
20
  //# sourceMappingURL=scopes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../../src/authorization/scopes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAEH,KAAK,KAAK,EAEV,KAAK,SAAS,EACjB,MAAM,iBAAiB,CAAC;AAk5CzB,eAAO,MAAM,sBAAsB,QAAO,SAAS,EACyB,CAAC;AAE7E,eAAO,MAAM,oBAAoB,GAAI,WAAW,MAAM,KAAG,OACZ,CAAC;AAE9C,eAAO,MAAM,wBAAwB,GACjC,WAAW,MAAM,EACjB,OAAO,SAAS,KACjB,OAGuC,CAAC;AAO3C,eAAO,MAAM,SAAS,GAAI;;CAA6B,KAAG,KAAK,EACX,CAAC;AAErD,eAAO,MAAM,cAAc,GAAI;;CAA6B,KAAG,MAAM,CACjE,SAAS,EACT,KAAK,CAQJ,CAAC"}
1
+ {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../../src/authorization/scopes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAEH,KAAK,KAAK,EAGV,KAAK,SAAS,EACjB,MAAM,iBAAiB,CAAC;AAm5CzB,eAAO,MAAM,sBAAsB,QAAO,SAAS,EACyB,CAAC;AAE7E,eAAO,MAAM,oBAAoB,GAAI,WAAW,MAAM,KAAG,OACZ,CAAC;AAE9C,eAAO,MAAM,wBAAwB,GACjC,WAAW,MAAM,EACjB,OAAO,SAAS,KACjB,OAGuC,CAAC;AAO3C,eAAO,MAAM,SAAS,GAAI;;CAA6B,KAAG,KAAK,EACX,CAAC;AAErD,eAAO,MAAM,cAAc,GAAI;;CAA6B,KAAG,MAAM,CACjE,SAAS,EACT,KAAK,CAQJ,CAAC;AAEN,KAAK,iBAAiB,GAAG;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAwFF,eAAO,MAAM,iBAAiB,GAC1B,WAAW,MAAM,EACjB,mBAA0B,iBAAsB,KACjD,SAAS,EASX,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC5B,WAAW,MAAM,EACjB,mBAA0B,iBAAsB,KACjD,SAAS,EAmBX,CAAC;AAqBF,eAAO,MAAM,mBAAmB,GAC5B,WAAW,MAAM,EACjB,mBAA0B,iBAAsB,KACjD,SAAS,EAyBX,CAAC;AAEF,eAAO,MAAM,+BAA+B,GACxC,oBAAoB,MAAM,EAAE,EAC5B,WAAW,MAAM,EACjB,mBAA0B,iBAAsB,KACjD,SAAS,EAmBX,CAAC"}
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAllScopeMap = exports.getScopes = exports.isScopeAssignableAtLevel = exports.isOrgAssignableScope = exports.getOrgAssignableScopes = void 0;
3
+ exports.getUnsatisfiedScopeDependencies = exports.getScopeSubstitutes = exports.getScopeDescendants = exports.getScopeAncestors = exports.getAllScopeMap = exports.getScopes = exports.isScopeAssignableAtLevel = exports.isOrgAssignableScope = exports.getOrgAssignableScopes = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const camelCase_1 = tslib_1.__importDefault(require("lodash/camelCase"));
5
6
  const flow_1 = tslib_1.__importDefault(require("lodash/flow"));
7
+ const upperFirst_1 = tslib_1.__importDefault(require("lodash/upperFirst"));
6
8
  const projects_1 = require("../types/projects");
7
9
  const scopes_1 = require("../types/scopes");
8
10
  const space_1 = require("../types/space");
@@ -1384,4 +1386,116 @@ const getAllScopeMap = ({ isEnterprise = false } = {}) => (0, exports.getScopes)
1384
1386
  return acc;
1385
1387
  }, Object.create({}));
1386
1388
  exports.getAllScopeMap = getAllScopeMap;
1389
+ const MANAGE_IMPLIED_ACTIONS = new Set([
1390
+ 'create',
1391
+ 'delete',
1392
+ 'export',
1393
+ 'update',
1394
+ 'view',
1395
+ ]);
1396
+ const parseScopeNameParts = (scopeName) => {
1397
+ const [action, subjectAndModifier] = scopeName.split(':');
1398
+ const [subject, modifier] = subjectAndModifier.split('@');
1399
+ return {
1400
+ action: action,
1401
+ subject: subject,
1402
+ modifier: modifier,
1403
+ };
1404
+ };
1405
+ const normalizeScopeName = (scopeName) => {
1406
+ const [action, predicate] = scopeName.split(':');
1407
+ if (!action || !predicate)
1408
+ return null;
1409
+ const [subjectPart, modifier] = predicate.split('@');
1410
+ return `${action}:${(0, upperFirst_1.default)((0, camelCase_1.default)(subjectPart))}${modifier ? `@${modifier}` : ''}`;
1411
+ };
1412
+ const getValidScopeName = (scopeName, scopeMap) => {
1413
+ const normalizedScopeName = normalizeScopeName(scopeName);
1414
+ if (normalizedScopeName &&
1415
+ Object.prototype.hasOwnProperty.call(scopeMap, normalizedScopeName)) {
1416
+ return normalizedScopeName;
1417
+ }
1418
+ return null;
1419
+ };
1420
+ const getValidScopeNames = (scopeNames, scopeMap) => scopeNames
1421
+ .map((scopeName) => getValidScopeName(scopeName, scopeMap))
1422
+ .filter((scopeName) => scopeName !== null);
1423
+ const collectReachableScopes = (rootScopeNames, getAdjacentScopeNames) => {
1424
+ const visited = new Set(rootScopeNames);
1425
+ const reachableScopeNames = [];
1426
+ const queue = [...rootScopeNames];
1427
+ let queueIndex = 0;
1428
+ while (queueIndex < queue.length) {
1429
+ const scopeName = queue[queueIndex];
1430
+ queueIndex += 1;
1431
+ getAdjacentScopeNames(scopeName).forEach((adjacentScopeName) => {
1432
+ if (visited.has(adjacentScopeName))
1433
+ return;
1434
+ visited.add(adjacentScopeName);
1435
+ reachableScopeNames.push(adjacentScopeName);
1436
+ queue.push(adjacentScopeName);
1437
+ });
1438
+ }
1439
+ return reachableScopeNames;
1440
+ };
1441
+ const getScopeAncestors = (scopeName, { isEnterprise = false } = {}) => {
1442
+ const scopeMap = (0, exports.getAllScopeMap)({ isEnterprise });
1443
+ const rootScopeNames = getValidScopeNames([scopeName], scopeMap);
1444
+ return collectReachableScopes(rootScopeNames, (dependencyRootScopeName) => scopeMap[dependencyRootScopeName].dependencies
1445
+ .map(({ name }) => name)
1446
+ .filter((dependencyName) => scopeMap[dependencyName]));
1447
+ };
1448
+ exports.getScopeAncestors = getScopeAncestors;
1449
+ const getScopeDescendants = (scopeName, { isEnterprise = false } = {}) => {
1450
+ const scopeMap = (0, exports.getAllScopeMap)({ isEnterprise });
1451
+ const rootScopeNames = getValidScopeNames([scopeName], scopeMap);
1452
+ const ancestorMap = (0, exports.getScopes)({ isEnterprise }).reduce((acc, scope) => {
1453
+ scope.dependencies.forEach(({ name }) => {
1454
+ if (!scopeMap[name])
1455
+ return;
1456
+ acc[name] = [...(acc[name] ?? []), scope.name];
1457
+ });
1458
+ return acc;
1459
+ }, Object.create({}));
1460
+ return collectReachableScopes(rootScopeNames, (ancestorRootScopeName) => ancestorMap[ancestorRootScopeName] ?? []);
1461
+ };
1462
+ exports.getScopeDescendants = getScopeDescendants;
1463
+ const canSubstituteActionSatisfy = (substituteAction, requiredAction) => substituteAction === requiredAction ||
1464
+ (substituteAction === 'manage' &&
1465
+ MANAGE_IMPLIED_ACTIONS.has(requiredAction));
1466
+ const canSubstituteModifierSatisfy = (substitute, required) => {
1467
+ if (substitute.modifier === required.modifier)
1468
+ return true;
1469
+ if (!substitute.modifier)
1470
+ return true;
1471
+ return !required.modifier && substitute.action !== required.action;
1472
+ };
1473
+ const getScopeSubstitutes = (scopeName, { isEnterprise = false } = {}) => {
1474
+ const scopeMap = (0, exports.getAllScopeMap)({ isEnterprise });
1475
+ const normalizedScopeName = getValidScopeName(scopeName, scopeMap);
1476
+ if (!normalizedScopeName)
1477
+ return [];
1478
+ const required = parseScopeNameParts(normalizedScopeName);
1479
+ return (0, exports.getScopes)({ isEnterprise })
1480
+ .map(({ name }) => name)
1481
+ .filter((substituteScopeName) => {
1482
+ if (substituteScopeName === normalizedScopeName)
1483
+ return false;
1484
+ const substitute = parseScopeNameParts(substituteScopeName);
1485
+ return (substitute.subject === required.subject &&
1486
+ canSubstituteActionSatisfy(substitute.action, required.action) &&
1487
+ canSubstituteModifierSatisfy(substitute, required));
1488
+ });
1489
+ };
1490
+ exports.getScopeSubstitutes = getScopeSubstitutes;
1491
+ const getUnsatisfiedScopeDependencies = (existingScopeNames, scopeName, { isEnterprise = false } = {}) => {
1492
+ const scopeMap = (0, exports.getAllScopeMap)({ isEnterprise });
1493
+ const normalizedScopeName = getValidScopeName(scopeName, scopeMap);
1494
+ if (!normalizedScopeName)
1495
+ return [];
1496
+ const existingScopes = new Set(getValidScopeNames(existingScopeNames, scopeMap));
1497
+ return (0, exports.getScopeAncestors)(normalizedScopeName, { isEnterprise }).filter((dependencyScopeName) => !existingScopes.has(dependencyScopeName) &&
1498
+ !(0, exports.getScopeSubstitutes)(dependencyScopeName, { isEnterprise }).some((substituteScopeName) => existingScopes.has(substituteScopeName)));
1499
+ };
1500
+ exports.getUnsatisfiedScopeDependencies = getUnsatisfiedScopeDependencies;
1387
1501
  //# sourceMappingURL=scopes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../../src/authorization/scopes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../../src/authorization/scopes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scopes.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.test.d.ts","sourceRoot":"","sources":["../../../src/authorization/scopes.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const scopes_1 = require("./scopes");
4
+ describe('scope dependency graph helpers', () => {
5
+ describe('getScopeAncestors', () => {
6
+ it('returns direct and transitive dependencies for a scope', () => {
7
+ expect((0, scopes_1.getScopeAncestors)('manage:Dashboard')).toEqual([
8
+ 'view:Project',
9
+ 'view:SavedChart',
10
+ 'view:Space',
11
+ ]);
12
+ });
13
+ it('ignores unknown scopes', () => {
14
+ expect((0, scopes_1.getScopeAncestors)('not:aScope')).toEqual([]);
15
+ expect((0, scopes_1.getScopeAncestors)('not-a-scope')).toEqual([]);
16
+ });
17
+ it('normalizes scope names before traversing dependencies', () => {
18
+ expect((0, scopes_1.getScopeAncestors)('manage:dashboard')).toEqual([
19
+ 'view:Project',
20
+ 'view:SavedChart',
21
+ 'view:Space',
22
+ ]);
23
+ });
24
+ it('does not return the input scope when the graph cycles back to it', () => {
25
+ const ancestors = (0, scopes_1.getScopeAncestors)('manage:CompileProject');
26
+ expect(ancestors).toContain('create:Job');
27
+ expect(ancestors).not.toContain('manage:CompileProject');
28
+ });
29
+ });
30
+ describe('getScopeDescendants', () => {
31
+ it('returns direct and transitive dependents for a scope', () => {
32
+ const descendants = (0, scopes_1.getScopeDescendants)('view:SavedChart');
33
+ expect(descendants).toEqual(expect.arrayContaining([
34
+ 'view:Dashboard',
35
+ 'manage:Dashboard',
36
+ 'manage:Dashboard@space',
37
+ 'manage:Dashboard@self',
38
+ ]));
39
+ expect(descendants).not.toContain('view:SavedChart');
40
+ });
41
+ it('ignores unknown scopes', () => {
42
+ expect((0, scopes_1.getScopeDescendants)('not:aScope')).toEqual([]);
43
+ expect((0, scopes_1.getScopeDescendants)('not-a-scope')).toEqual([]);
44
+ });
45
+ it('does not return the input scope when the graph cycles back to it', () => {
46
+ const descendants = (0, scopes_1.getScopeDescendants)('create:Job');
47
+ expect(descendants).toContain('manage:CompileProject');
48
+ expect(descendants).not.toContain('create:Job');
49
+ });
50
+ });
51
+ it('can traverse ancestors for every scope without looping forever', () => {
52
+ (0, scopes_1.getScopes)({ isEnterprise: true }).forEach((scope) => {
53
+ expect((0, scopes_1.getScopeAncestors)(scope.name, { isEnterprise: true })).not.toContain(scope.name);
54
+ });
55
+ });
56
+ describe('getScopeSubstitutes', () => {
57
+ it('returns stronger scope variations that can replace a view requirement', () => {
58
+ expect((0, scopes_1.getScopeSubstitutes)('view:Dashboard')).toEqual([
59
+ 'manage:Dashboard',
60
+ 'manage:Dashboard@space',
61
+ 'manage:Dashboard@self',
62
+ ]);
63
+ });
64
+ it('does not treat promote as a substitute for view or manage', () => {
65
+ expect((0, scopes_1.getScopeSubstitutes)('view:Dashboard')).not.toContain('promote:Dashboard');
66
+ expect((0, scopes_1.getScopeSubstitutes)('manage:Dashboard@space')).not.toContain('promote:Dashboard@space');
67
+ });
68
+ it('returns broader same-action variants that can replace a scoped requirement', () => {
69
+ expect((0, scopes_1.getScopeSubstitutes)('manage:Dashboard@space')).toContain('manage:Dashboard');
70
+ expect((0, scopes_1.getScopeSubstitutes)('view:DataApp@self', {
71
+ isEnterprise: true,
72
+ })).toContain('view:DataApp');
73
+ });
74
+ it('does not return weaker or narrower scopes as substitutes', () => {
75
+ expect((0, scopes_1.getScopeSubstitutes)('manage:Dashboard')).not.toContain('view:Dashboard');
76
+ expect((0, scopes_1.getScopeSubstitutes)('manage:Dashboard')).not.toContain('manage:Dashboard@space');
77
+ });
78
+ it('returns manage as a substitute for granular create and delete scopes', () => {
79
+ expect((0, scopes_1.getScopeSubstitutes)('create:VirtualView')).toEqual([
80
+ 'manage:VirtualView',
81
+ ]);
82
+ expect((0, scopes_1.getScopeSubstitutes)('delete:VirtualView')).toEqual([
83
+ 'manage:VirtualView',
84
+ ]);
85
+ });
86
+ it('returns stronger scoped variants for a scoped view requirement', () => {
87
+ expect((0, scopes_1.getScopeSubstitutes)('view:DataApp@self', {
88
+ isEnterprise: true,
89
+ })).toContain('manage:DataApp@self');
90
+ });
91
+ it('ignores unknown scopes', () => {
92
+ expect((0, scopes_1.getScopeSubstitutes)('not:aScope')).toEqual([]);
93
+ expect((0, scopes_1.getScopeSubstitutes)('not-a-scope')).toEqual([]);
94
+ });
95
+ it('normalizes scope names before finding substitutes', () => {
96
+ expect((0, scopes_1.getScopeSubstitutes)('view:dashboard')).toEqual([
97
+ 'manage:Dashboard',
98
+ 'manage:Dashboard@space',
99
+ 'manage:Dashboard@self',
100
+ ]);
101
+ });
102
+ });
103
+ describe('getUnsatisfiedScopeDependencies', () => {
104
+ it('returns missing dependencies for a new scope', () => {
105
+ expect((0, scopes_1.getUnsatisfiedScopeDependencies)(['view:Project', 'view:SavedChart'], 'manage:Dashboard')).toEqual(['view:Space']);
106
+ });
107
+ it('treats substitute scopes as satisfying dependencies', () => {
108
+ expect((0, scopes_1.getUnsatisfiedScopeDependencies)(['view:Project', 'manage:SavedChart', 'view:Space'], 'manage:Dashboard')).toEqual([]);
109
+ });
110
+ it('includes transitive dependencies', () => {
111
+ expect((0, scopes_1.getUnsatisfiedScopeDependencies)(['view:Project', 'manage:SavedChart@space'], 'manage:CustomFields')).toEqual(['view:Space', 'manage:Explore']);
112
+ });
113
+ it('ignores unknown existing scopes and unknown new scopes', () => {
114
+ expect((0, scopes_1.getUnsatisfiedScopeDependencies)(['not:aScope', 'view:Project'], 'view:SavedChart')).toEqual([]);
115
+ expect((0, scopes_1.getUnsatisfiedScopeDependencies)(['view:Project'], 'not:aScope')).toEqual([]);
116
+ expect((0, scopes_1.getUnsatisfiedScopeDependencies)(['not-a-scope', 'view:Project'], 'not-a-scope')).toEqual([]);
117
+ });
118
+ it('normalizes existing and new scope names before checking dependencies', () => {
119
+ expect((0, scopes_1.getUnsatisfiedScopeDependencies)(['view:project', 'manage:saved_chart', 'view:space'], 'manage:dashboard')).toEqual([]);
120
+ });
121
+ });
122
+ });
123
+ //# sourceMappingURL=scopes.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.test.js","sourceRoot":"","sources":["../../../src/authorization/scopes.test.ts"],"names":[],"mappings":";;AAAA,qCAMkB;AAElB,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAC9D,MAAM,CAAC,IAAA,0BAAiB,EAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClD,cAAc;gBACd,iBAAiB;gBACjB,YAAY;aACf,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAC9B,MAAM,CAAC,IAAA,0BAAiB,EAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,IAAA,0BAAiB,EAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC7D,MAAM,CAAC,IAAA,0BAAiB,EAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClD,cAAc;gBACd,iBAAiB;gBACjB,YAAY;aACf,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YACxE,MAAM,SAAS,GAAG,IAAA,0BAAiB,EAAC,uBAAuB,CAAC,CAAC;YAE7D,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC5D,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,CAAC,CAAC;YAE3D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CACvB,MAAM,CAAC,eAAe,CAAC;gBACnB,gBAAgB;gBAChB,kBAAkB;gBAClB,wBAAwB;gBACxB,uBAAuB;aAC1B,CAAC,CACL,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAC9B,MAAM,CAAC,IAAA,4BAAmB,EAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,IAAA,4BAAmB,EAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YACxE,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,YAAY,CAAC,CAAC;YAEtD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YACvD,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,IAAA,kBAAS,EAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAChD,MAAM,CACF,IAAA,0BAAiB,EAAC,KAAK,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CACxD,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC7E,MAAM,CAAC,IAAA,4BAAmB,EAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClD,kBAAkB;gBAClB,wBAAwB;gBACxB,uBAAuB;aAC1B,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACjE,MAAM,CAAC,IAAA,4BAAmB,EAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CACvD,mBAAmB,CACtB,CAAC;YACF,MAAM,CAAC,IAAA,4BAAmB,EAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAC/D,yBAAyB,CAC5B,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;YAClF,MAAM,CAAC,IAAA,4BAAmB,EAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAC3D,kBAAkB,CACrB,CAAC;YACF,MAAM,CACF,IAAA,4BAAmB,EAAC,mBAAmB,EAAE;gBACrC,YAAY,EAAE,IAAI;aACrB,CAAC,CACL,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAChE,MAAM,CAAC,IAAA,4BAAmB,EAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CACzD,gBAAgB,CACnB,CAAC;YACF,MAAM,CAAC,IAAA,4BAAmB,EAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CACzD,wBAAwB,CAC3B,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC5E,MAAM,CAAC,IAAA,4BAAmB,EAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtD,oBAAoB;aACvB,CAAC,CAAC;YACH,MAAM,CAAC,IAAA,4BAAmB,EAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtD,oBAAoB;aACvB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACtE,MAAM,CACF,IAAA,4BAAmB,EAAC,mBAAmB,EAAE;gBACrC,YAAY,EAAE,IAAI;aACrB,CAAC,CACL,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAC9B,MAAM,CAAC,IAAA,4BAAmB,EAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,IAAA,4BAAmB,EAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YACzD,MAAM,CAAC,IAAA,4BAAmB,EAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClD,kBAAkB;gBAClB,wBAAwB;gBACxB,uBAAuB;aAC1B,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACpD,MAAM,CACF,IAAA,wCAA+B,EAC3B,CAAC,cAAc,EAAE,iBAAiB,CAAC,EACnC,kBAAkB,CACrB,CACJ,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC3D,MAAM,CACF,IAAA,wCAA+B,EAC3B,CAAC,cAAc,EAAE,mBAAmB,EAAE,YAAY,CAAC,EACnD,kBAAkB,CACrB,CACJ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,CACF,IAAA,wCAA+B,EAC3B,CAAC,cAAc,EAAE,yBAAyB,CAAC,EAC3C,qBAAqB,CACxB,CACJ,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAC9D,MAAM,CACF,IAAA,wCAA+B,EAC3B,CAAC,YAAY,EAAE,cAAc,CAAC,EAC9B,iBAAiB,CACpB,CACJ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,MAAM,CACF,IAAA,wCAA+B,EAAC,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,CAClE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,MAAM,CACF,IAAA,wCAA+B,EAC3B,CAAC,aAAa,EAAE,cAAc,CAAC,EAC/B,aAAa,CAChB,CACJ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC5E,MAAM,CACF,IAAA,wCAA+B,EAC3B,CAAC,cAAc,EAAE,oBAAoB,EAAE,YAAY,CAAC,EACpD,kBAAkB,CACrB,CACJ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}