rez_core 1.0.35 → 1.0.37
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/module/auth/guards/role.guard.js +3 -3
- package/dist/module/enterprise/controller/organization.controller.d.ts +6 -2
- package/dist/module/enterprise/controller/organization.controller.js +10 -3
- package/dist/module/enterprise/controller/organization.controller.js.map +1 -1
- package/dist/module/enterprise/service/organization.service.d.ts +1 -0
- package/dist/module/enterprise/service/organization.service.js +3 -0
- package/dist/module/enterprise/service/organization.service.js.map +1 -1
- package/dist/module/layout/repository/header-section.repository.d.ts +1 -0
- package/dist/module/layout/repository/header-section.repository.js +3 -0
- package/dist/module/layout/repository/header-section.repository.js.map +1 -1
- package/dist/module/layout/service/header-section.service.js +1 -1
- package/dist/module/layout/service/header-section.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/module/auth/guards/jwt.guard.ts +22 -22
- package/src/module/auth/guards/role.guard.ts +68 -68
- package/src/module/auth/services/auth.service.ts +29 -29
- package/src/module/auth/services/jwt.service.ts +11 -11
- package/src/module/auth/strategies/local.strategy.ts +13 -13
- package/src/module/dev/dev.module.ts +12 -12
- package/src/module/dev/service/dev.service.ts +7 -7
- package/src/module/enterprise/controller/organization.controller.ts +11 -4
- package/src/module/enterprise/entity/enterprise.entity.ts +37 -37
- package/src/module/enterprise/entity/organization.entity.ts +80 -80
- package/src/module/enterprise/service/organization.service.ts +4 -0
- package/src/module/layout/repository/header-section.repository.ts +4 -0
- package/src/module/layout/service/header-section.service.ts +1 -1
- package/src/module/master/controller/master.controller.ts +22 -22
- package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
- package/src/module/meta/entity/attribute-master.entity.ts +67 -67
- package/src/module/meta/entity/preference.entity.ts +65 -65
- package/src/module/meta/repository/attribute-master.repository.ts +28 -28
- package/src/module/meta/repository/preference.repository.ts +20 -20
- package/src/module/module/controller/menu.controller.ts +15 -15
- package/src/module/module/entity/module-access.entity.ts +22 -22
- package/src/module/module/entity/module-action.entity.ts +19 -19
- package/src/module/user/controller/user.controller.ts +28 -28
- package/src/module/user/dto/update-user.dto.ts +4 -4
- package/src/module/user/entity/user-role-mapping.entity.ts +21 -21
- package/src/module/user/entity/user-session.entity.ts +61 -61
- package/src/module/user/entity/user.entity.ts +35 -35
- package/src/module/user/repository/role.repository.ts +16 -16
- package/src/module/user/repository/userSession.repository.ts +33 -33
- package/src/utils/service/encryptUtil.service.ts +97 -97
- package/src/utils/service/excelUtil.service.ts +15 -15
- package/src/utils/service/reflection-helper.service.ts +53 -53
- package/.idea/250218_nodejs_core.iml +0 -12
- package/.idea/codeStyles/Project.xml +0 -59
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/dataSources.xml +0 -12
- package/.idea/modules.xml +0 -8
- package/.idea/prettier.xml +0 -6
- package/.idea/vcs.xml +0 -6
|
@@ -34,9 +34,9 @@ let RolesGuard = class RolesGuard {
|
|
|
34
34
|
}
|
|
35
35
|
const requiredModule = this.reflector.get('moduleCode', context.getHandler());
|
|
36
36
|
const requiredActions = this.reflector.get('actions', context.getHandler());
|
|
37
|
-
const roleAccess = await this.entityManager.query(`SELECT *
|
|
38
|
-
FROM cr_module_access
|
|
39
|
-
WHERE role_id = ${user['role_id']}
|
|
37
|
+
const roleAccess = await this.entityManager.query(`SELECT *
|
|
38
|
+
FROM cr_module_access
|
|
39
|
+
WHERE role_id = ${user['role_id']}
|
|
40
40
|
AND module_code = '${requiredModule}'`);
|
|
41
41
|
if (!roleAccess || roleAccess.length === 0) {
|
|
42
42
|
throw new common_1.ForbiddenException('Access denied: No permissions found for this module');
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { OrganizationService } from '../service/organization.service';
|
|
2
2
|
import { Request } from 'express';
|
|
3
|
+
import { UserService } from 'src/module/user/service/user.service';
|
|
3
4
|
export declare class OrganizationController {
|
|
4
5
|
private readonly orgService;
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
private readonly userService;
|
|
7
|
+
constructor(orgService: OrganizationService, userService: UserService);
|
|
8
|
+
getOrganizationDropdown(req: Request & {
|
|
9
|
+
user: any;
|
|
10
|
+
}): Promise<import("../entity/organization.entity").OrganizationData[]>;
|
|
7
11
|
}
|
|
@@ -16,12 +16,17 @@ exports.OrganizationController = void 0;
|
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const organization_service_1 = require("../service/organization.service");
|
|
18
18
|
const jwt_guard_1 = require("../../auth/guards/jwt.guard");
|
|
19
|
+
const user_service_1 = require("../../user/service/user.service");
|
|
20
|
+
const global_constant_1 = require("../../../constant/global.constant");
|
|
19
21
|
let OrganizationController = class OrganizationController {
|
|
20
|
-
constructor(orgService) {
|
|
22
|
+
constructor(orgService, userService) {
|
|
21
23
|
this.orgService = orgService;
|
|
24
|
+
this.userService = userService;
|
|
22
25
|
}
|
|
23
26
|
async getOrganizationDropdown(req) {
|
|
24
|
-
|
|
27
|
+
const userId = req.user.userId;
|
|
28
|
+
const userData = await this.userService.getEntityData(global_constant_1.ENTITYTYPE_USER, userId);
|
|
29
|
+
return this.orgService.findById(userData?.organization_id);
|
|
25
30
|
}
|
|
26
31
|
};
|
|
27
32
|
exports.OrganizationController = OrganizationController;
|
|
@@ -35,6 +40,8 @@ __decorate([
|
|
|
35
40
|
], OrganizationController.prototype, "getOrganizationDropdown", null);
|
|
36
41
|
exports.OrganizationController = OrganizationController = __decorate([
|
|
37
42
|
(0, common_1.Controller)('organization'),
|
|
38
|
-
|
|
43
|
+
__param(1, (0, common_1.Inject)('UserService')),
|
|
44
|
+
__metadata("design:paramtypes", [organization_service_1.OrganizationService,
|
|
45
|
+
user_service_1.UserService])
|
|
39
46
|
], OrganizationController);
|
|
40
47
|
//# sourceMappingURL=organization.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.controller.js","sourceRoot":"","sources":["../../../../src/module/enterprise/controller/organization.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"organization.controller.js","sourceRoot":"","sources":["../../../../src/module/enterprise/controller/organization.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAyE;AACzE,0EAAsE;AAEtE,2DAAgE;AAChE,kEAAmE;AACnE,uEAAoE;AAI7D,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YAA6B,UAA+B,EACjB,WAAwB;QADtC,eAAU,GAAV,UAAU,CAAqB;QACjB,gBAAW,GAAX,WAAW,CAAa;IAChE,CAAC;IAIE,AAAN,KAAK,CAAC,uBAAuB,CAAQ,GAA4B;QAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,iCAAe,EAAE,MAAM,CAAC,CAAC;QAE/E,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;CACF,CAAA;AAbY,wDAAsB;AAO3B;IAFL,IAAA,kBAAS,EAAC,wBAAY,CAAC;IACvB,IAAA,YAAG,EAAC,UAAU,CAAC;IACe,WAAA,IAAA,YAAG,GAAE,CAAA;;;;qEAKnC;iCAZU,sBAAsB;IADlC,IAAA,mBAAU,EAAC,cAAc,CAAC;IAGtB,WAAA,IAAA,eAAM,EAAC,aAAa,CAAC,CAAA;qCADiB,0CAAmB;QACJ,0BAAW;GAFxD,sBAAsB,CAalC"}
|
|
@@ -8,6 +8,7 @@ export declare class OrganizationService {
|
|
|
8
8
|
create(organizationDto: Partial<OrganizationData>, manager?: EntityManager): Promise<OrganizationData>;
|
|
9
9
|
findAll(manager?: EntityManager): Promise<OrganizationData[]>;
|
|
10
10
|
findOne(id: number, manager?: EntityManager): Promise<OrganizationData | null>;
|
|
11
|
+
findById(id: number | undefined): Promise<OrganizationData[]>;
|
|
11
12
|
update(id: number, organizationDto: Partial<OrganizationData>, manager?: EntityManager): Promise<OrganizationData | null>;
|
|
12
13
|
remove(id: number, manager?: EntityManager): Promise<void>;
|
|
13
14
|
}
|
|
@@ -45,6 +45,9 @@ let OrganizationService = class OrganizationService {
|
|
|
45
45
|
: this.organizationRepository;
|
|
46
46
|
return await repo.findOne({ where: { id } });
|
|
47
47
|
}
|
|
48
|
+
async findById(id) {
|
|
49
|
+
return await this.organizationRepository.find({ where: { id } });
|
|
50
|
+
}
|
|
48
51
|
async update(id, organizationDto, manager) {
|
|
49
52
|
const repo = manager
|
|
50
53
|
? manager.getRepository(organization_entity_1.OrganizationData)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.service.js","sourceRoot":"","sources":["../../../../src/module/enterprise/service/organization.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAoD;AACpD,uEAAiE;AACjE,0FAA6E;AAGtE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAEmB,sBAAoD,EACpD,KAAwB;QADxB,2BAAsB,GAAtB,sBAAsB,CAA8B;QACpD,UAAK,GAAL,KAAK,CAAmB;IACxC,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,eAA0C,EAC1C,OAAuB;QAEvB,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sCAAgB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAEhC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACrD,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC;QAClC,eAAe,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAClD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sCAAgB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAEhC,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,EAAU,EACV,OAAuB;QAEvB,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sCAAgB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAEhC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CACV,EAAU,EACV,eAA0C,EAC1C,OAAuB;QAEvB,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sCAAgB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAEhC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QACvC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAuB;QAC9C,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sCAAgB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAEhC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"organization.service.js","sourceRoot":"","sources":["../../../../src/module/enterprise/service/organization.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAoD;AACpD,uEAAiE;AACjE,0FAA6E;AAGtE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAEmB,sBAAoD,EACpD,KAAwB;QADxB,2BAAsB,GAAtB,sBAAsB,CAA8B;QACpD,UAAK,GAAL,KAAK,CAAmB;IACxC,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,eAA0C,EAC1C,OAAuB;QAEvB,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sCAAgB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAEhC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACrD,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC;QAClC,eAAe,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAClD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sCAAgB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAEhC,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,EAAU,EACV,OAAuB;QAEvB,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sCAAgB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAEhC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAqB;QAClC,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,MAAM,CACV,EAAU,EACV,eAA0C,EAC1C,OAAuB;QAEvB,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sCAAgB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAEhC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QACvC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAuB;QAC9C,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,sCAAgB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAEhC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;CACF,CAAA;AAjEY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,sCAAgB,CAAC,CAAA;qCACM,oBAAU;QAC3B,0CAAiB;GAJhC,mBAAmB,CAiE/B"}
|
|
@@ -4,4 +4,5 @@ export declare class HeaderSectionRepository {
|
|
|
4
4
|
private readonly headerSectionRepository;
|
|
5
5
|
constructor(headerSectionRepository: Repository<HeaderSection>);
|
|
6
6
|
findByOrganizationId(organizationId: number): Promise<HeaderSection[]>;
|
|
7
|
+
getHeaders(): Promise<HeaderSection[]>;
|
|
7
8
|
}
|
|
@@ -26,6 +26,9 @@ let HeaderSectionRepository = class HeaderSectionRepository {
|
|
|
26
26
|
where: { organization_id: organizationId },
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
+
async getHeaders() {
|
|
30
|
+
return await this.headerSectionRepository.find();
|
|
31
|
+
}
|
|
29
32
|
};
|
|
30
33
|
exports.HeaderSectionRepository = HeaderSectionRepository;
|
|
31
34
|
exports.HeaderSectionRepository = HeaderSectionRepository = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-section.repository.js","sourceRoot":"","sources":["../../../../src/module/layout/repository/header-section.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AACrC,2EAAgE;AAGzD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YAEmB,uBAAkD;QAAlD,4BAAuB,GAAvB,uBAAuB,CAA2B;IAClE,CAAC;IAEJ,KAAK,CAAC,oBAAoB,CAAC,cAAsB;QAC/C,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAC7C,KAAK,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"header-section.repository.js","sourceRoot":"","sources":["../../../../src/module/layout/repository/header-section.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AACrC,2EAAgE;AAGzD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YAEmB,uBAAkD;QAAlD,4BAAuB,GAAvB,uBAAuB,CAA2B;IAClE,CAAC;IAEJ,KAAK,CAAC,oBAAoB,CAAC,cAAsB;QAC/C,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAC7C,KAAK,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAA;IAClD,CAAC;CACF,CAAA;AAfY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,qCAAa,CAAC,CAAA;qCACU,oBAAU;GAH3C,uBAAuB,CAenC"}
|
|
@@ -19,7 +19,7 @@ let HeaderSectionService = class HeaderSectionService {
|
|
|
19
19
|
this.headerItemsRepository = headerItemsRepository;
|
|
20
20
|
}
|
|
21
21
|
async findByOrganizationId(organizationId) {
|
|
22
|
-
let headerSections = await this.headerSectionRepository.
|
|
22
|
+
let headerSections = await this.headerSectionRepository.getHeaders();
|
|
23
23
|
let response = {};
|
|
24
24
|
await Promise.all(headerSections.map(async (headerSection) => {
|
|
25
25
|
response[headerSection.section_name] =
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-section.service.js","sourceRoot":"","sources":["../../../../src/module/layout/service/header-section.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,uFAAkF;AAClF,mFAA8E;AAGvE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YACmB,uBAAgD,EAChD,qBAA4C;QAD5C,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,0BAAqB,GAArB,qBAAqB,CAAuB;IAC5D,CAAC;IAEJ,KAAK,CAAC,oBAAoB,CAAC,cAAsB;QAC/C,IAAI,cAAc,GAChB,MAAM,IAAI,CAAC,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"header-section.service.js","sourceRoot":"","sources":["../../../../src/module/layout/service/header-section.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,uFAAkF;AAClF,mFAA8E;AAGvE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YACmB,uBAAgD,EAChD,qBAA4C;QAD5C,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,0BAAqB,GAArB,qBAAqB,CAAuB;IAC5D,CAAC;IAEJ,KAAK,CAAC,oBAAoB,CAAC,cAAsB;QAC/C,IAAI,cAAc,GAChB,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,MAAM,OAAO,CAAC,GAAG,CACf,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;YACzC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC;gBAClC,MAAM,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAA;AApBY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAGiC,mDAAuB;QACzB,+CAAqB;GAHpD,oBAAoB,CAoBhC"}
|