@spytecgps/nova-orm 1.0.109 → 1.0.110
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/index.js +1 -1
- package/dist/repositories/deviceBehaviors/index.d.ts +1 -23
- package/dist/repositories/deviceBehaviors/index.js +0 -36
- package/dist/repositories/deviceBehaviors/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/repositories/deviceBehaviors/getDevicesLastBehaviorTask.d.ts +0 -5
- package/dist/repositories/deviceBehaviors/getDevicesLastBehaviorTask.js +0 -48
- package/dist/repositories/deviceBehaviors/getDevicesLastBehaviorTask.js.map +0 -1
- package/dist/repositories/deviceBehaviors/getLatestDeviceBehaviorTasks.d.ts +0 -4
- package/dist/repositories/deviceBehaviors/getLatestDeviceBehaviorTasks.js +0 -49
- package/dist/repositories/deviceBehaviors/getLatestDeviceBehaviorTasks.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DeviceBehavior, UserDeviceBehaviorTask } from '../../entities';
|
|
2
|
-
import { CreateDeviceBehaviorTaskParams, GetDeviceBehaviorsByIdsParams, GetDeviceBehaviorsParams, GetDeviceBehaviorTasksParams,
|
|
2
|
+
import { CreateDeviceBehaviorTaskParams, GetDeviceBehaviorsByIdsParams, GetDeviceBehaviorsParams, GetDeviceBehaviorTasksParams, UpdateDeviceBehaviorTaskParams, UpsertDeviceBehaviorParams } from '../../types/deviceBehaviors';
|
|
3
3
|
import { BaseRepository } from '../baseRepository';
|
|
4
4
|
export declare class DeviceBehaviorsRepository extends BaseRepository {
|
|
5
5
|
/**
|
|
@@ -35,19 +35,6 @@ export declare class DeviceBehaviorsRepository extends BaseRepository {
|
|
|
35
35
|
* @returns The device behavior tasks list
|
|
36
36
|
*/
|
|
37
37
|
getDeviceBehaviorTasks(params: GetDeviceBehaviorTasksParams): Promise<UserDeviceBehaviorTask[]>;
|
|
38
|
-
/**
|
|
39
|
-
* Get the devices last behavior task
|
|
40
|
-
* @param {GettDevicesLastBehaviorTaskParams} params containing information to get device behavior tasks
|
|
41
|
-
* Filters (One of taskId or imeiList is required):
|
|
42
|
-
* - filters.imeiList: The imei list
|
|
43
|
-
* - filters.status: The status, optional
|
|
44
|
-
* - filters.deviceBehaviorIdList: The device behavior id list, optional
|
|
45
|
-
* Paging options:
|
|
46
|
-
* - pagingOptions.offset: The offset, optional. Default is 0
|
|
47
|
-
* - pagingOptions.limit: The limit, optional. Default is 100
|
|
48
|
-
* @returns The device behavior tasks list
|
|
49
|
-
*/
|
|
50
|
-
getDevicesLastBehaviorTask(params: GettDevicesLastBehaviorTaskParams): Promise<UserDeviceBehaviorTask[]>;
|
|
51
38
|
/**
|
|
52
39
|
* Create device behavior task
|
|
53
40
|
* @param {CreateDeviceBehaviorTaskParams} params containing information to create a device behavior task
|
|
@@ -74,15 +61,6 @@ export declare class DeviceBehaviorsRepository extends BaseRepository {
|
|
|
74
61
|
* @returns Whether the device behavior task was updated
|
|
75
62
|
*/
|
|
76
63
|
updateDeviceBehaviorTask(params: UpdateDeviceBehaviorTaskParams): Promise<boolean>;
|
|
77
|
-
/**
|
|
78
|
-
* Get latest device behavior tasks
|
|
79
|
-
* @param {GetLatestDeviceBehaviorTasksParams} params containing information to get latest device behavior tasks
|
|
80
|
-
* - params.filters.clientId: The client id
|
|
81
|
-
* - params.filters.type: The device behavior type
|
|
82
|
-
* - params.filters.status: The task status
|
|
83
|
-
* @returns The latest device behavior tasks list
|
|
84
|
-
*/
|
|
85
|
-
getLatestDeviceBehaviorTasks(params: GetLatestDeviceBehaviorTasksParams): Promise<GetLatestDeviceBehaviorTasksResult[]>;
|
|
86
64
|
/**
|
|
87
65
|
* Upsert device behavior
|
|
88
66
|
* @param {UpsertDeviceBehaviorParams} params containing information to upsert a device behavior
|
|
@@ -4,8 +4,6 @@ import { createDeviceBehaviorTask } from './createDeviceBehaviorTask';
|
|
|
4
4
|
import { getDeviceBehaviors } from './getDeviceBehaviors';
|
|
5
5
|
import { getDeviceBehaviorsByIds } from './getDeviceBehaviorsByIds';
|
|
6
6
|
import { getDeviceBehaviorTasks } from './getDeviceBehaviorTasks';
|
|
7
|
-
import { getDevicesLastBehaviorTask } from './getDevicesLastBehaviorTask';
|
|
8
|
-
import { getLatestDeviceBehaviorTasks } from './getLatestDeviceBehaviorTasks';
|
|
9
7
|
import { updateDeviceBehaviorTask } from './updateDeviceBehaviorTask';
|
|
10
8
|
import { upsertDeviceBehavior } from './upsertDeviceBehavior';
|
|
11
9
|
export class DeviceBehaviorsRepository extends BaseRepository {
|
|
@@ -60,25 +58,6 @@ export class DeviceBehaviorsRepository extends BaseRepository {
|
|
|
60
58
|
this.logger.trace(result, 'DeviceBehaviorsRepository::getDeviceBehaviorTasks result');
|
|
61
59
|
return result;
|
|
62
60
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Get the devices last behavior task
|
|
65
|
-
* @param {GettDevicesLastBehaviorTaskParams} params containing information to get device behavior tasks
|
|
66
|
-
* Filters (One of taskId or imeiList is required):
|
|
67
|
-
* - filters.imeiList: The imei list
|
|
68
|
-
* - filters.status: The status, optional
|
|
69
|
-
* - filters.deviceBehaviorIdList: The device behavior id list, optional
|
|
70
|
-
* Paging options:
|
|
71
|
-
* - pagingOptions.offset: The offset, optional. Default is 0
|
|
72
|
-
* - pagingOptions.limit: The limit, optional. Default is 100
|
|
73
|
-
* @returns The device behavior tasks list
|
|
74
|
-
*/
|
|
75
|
-
async getDevicesLastBehaviorTask(params) {
|
|
76
|
-
this.logger.trace(params, 'DeviceBehaviorsRepository::getDevicesLastBehaviorTask started with params');
|
|
77
|
-
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
78
|
-
const result = await getDevicesLastBehaviorTask(novaDataSource, params, this.logger);
|
|
79
|
-
this.logger.trace(result, 'DeviceBehaviorsRepository::getDevicesLastBehaviorTask result');
|
|
80
|
-
return result;
|
|
81
|
-
}
|
|
82
61
|
/**
|
|
83
62
|
* Create device behavior task
|
|
84
63
|
* @param {CreateDeviceBehaviorTaskParams} params containing information to create a device behavior task
|
|
@@ -117,21 +96,6 @@ export class DeviceBehaviorsRepository extends BaseRepository {
|
|
|
117
96
|
this.logger.trace({ result }, 'DeviceBehaviorsRepository::updateDeviceBehaviorTask result');
|
|
118
97
|
return result;
|
|
119
98
|
}
|
|
120
|
-
/**
|
|
121
|
-
* Get latest device behavior tasks
|
|
122
|
-
* @param {GetLatestDeviceBehaviorTasksParams} params containing information to get latest device behavior tasks
|
|
123
|
-
* - params.filters.clientId: The client id
|
|
124
|
-
* - params.filters.type: The device behavior type
|
|
125
|
-
* - params.filters.status: The task status
|
|
126
|
-
* @returns The latest device behavior tasks list
|
|
127
|
-
*/
|
|
128
|
-
async getLatestDeviceBehaviorTasks(params) {
|
|
129
|
-
this.logger.trace(params, 'DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks started with params');
|
|
130
|
-
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
131
|
-
const result = await getLatestDeviceBehaviorTasks(novaDataSource, params, this.logger);
|
|
132
|
-
this.logger.trace(result, 'DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks result');
|
|
133
|
-
return result;
|
|
134
|
-
}
|
|
135
99
|
/**
|
|
136
100
|
* Upsert device behavior
|
|
137
101
|
* @param {UpsertDeviceBehaviorParams} params containing information to upsert a device behavior
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/deviceBehaviors/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/deviceBehaviors/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { UserDeviceBehaviorTask } from '../../entities';
|
|
2
|
-
import { NovaDataSource } from '../../novaDataSource';
|
|
3
|
-
import { GettDevicesLastBehaviorTaskParams } from '../../types/deviceBehaviors';
|
|
4
|
-
import { Logger } from '../../types/logger';
|
|
5
|
-
export declare const getDevicesLastBehaviorTask: (novaDataSource: NovaDataSource, params: GettDevicesLastBehaviorTaskParams, logger: Logger) => Promise<UserDeviceBehaviorTask[]>;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { UserDeviceBehaviorTask } from '../../entities';
|
|
2
|
-
export const getDevicesLastBehaviorTask = async (novaDataSource, params, logger) => {
|
|
3
|
-
if (!params?.filters?.imeiList?.length) {
|
|
4
|
-
logger.warn({ params }, 'DeviceBehaviorsRepository::getDevicesLastBehaviorTask - missing required parameters');
|
|
5
|
-
return [];
|
|
6
|
-
}
|
|
7
|
-
// Force the query to run on master or slave
|
|
8
|
-
const dbQueryRunner = novaDataSource.createQueryRunnerFromParams(params);
|
|
9
|
-
return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
|
|
10
|
-
const deviceBehaviorsRepository = dataSource.getRepository(UserDeviceBehaviorTask);
|
|
11
|
-
let queryBuilder = deviceBehaviorsRepository.createQueryBuilder('userDeviceBehaviorTask');
|
|
12
|
-
if (queryRunner) {
|
|
13
|
-
queryBuilder.setQueryRunner(queryRunner);
|
|
14
|
-
}
|
|
15
|
-
if (params.filters.imeiList?.length) {
|
|
16
|
-
queryBuilder = queryBuilder.andWhere('userDeviceBehaviorTask.imei IN (:...imeiList)', {
|
|
17
|
-
imeiList: params.filters.imeiList,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
if (params.filters.status) {
|
|
21
|
-
queryBuilder = queryBuilder.andWhere('userDeviceBehaviorTask.status = :status', {
|
|
22
|
-
status: params.filters.status,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
if (params.filters.deviceBehaviorIdList?.length) {
|
|
26
|
-
queryBuilder = queryBuilder.andWhere('userDeviceBehaviorTask.deviceBehaviorId IN (:...deviceBehaviorIdList)', {
|
|
27
|
-
deviceBehaviorIdList: params.filters.deviceBehaviorIdList,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
queryBuilder.andWhere(subQuery => {
|
|
31
|
-
const subQueryAlias = subQuery
|
|
32
|
-
.subQuery()
|
|
33
|
-
.select('MAX(modifiedAt)')
|
|
34
|
-
.from(UserDeviceBehaviorTask, 'subTask')
|
|
35
|
-
.where('subTask.imei = userDeviceBehaviorTask.imei')
|
|
36
|
-
.getQuery();
|
|
37
|
-
return `userDeviceBehaviorTask.modifiedAt = (${subQueryAlias})`;
|
|
38
|
-
});
|
|
39
|
-
queryBuilder = queryBuilder.orderBy('userDeviceBehaviorTask.modifiedAt', 'DESC');
|
|
40
|
-
if (params?.pagingOptions?.offset) {
|
|
41
|
-
queryBuilder = queryBuilder.offset(params?.pagingOptions?.offset);
|
|
42
|
-
}
|
|
43
|
-
queryBuilder = queryBuilder.limit(params?.pagingOptions?.limit ?? 100);
|
|
44
|
-
const result = await queryBuilder.getMany();
|
|
45
|
-
return result;
|
|
46
|
-
}, 'DeviceBehaviorsRepository::getDevicesLastBehaviorTask', dbQueryRunner);
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=getDevicesLastBehaviorTask.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getDevicesLastBehaviorTask.js","sourceRoot":"","sources":["../../../src/repositories/deviceBehaviors/getDevicesLastBehaviorTask.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAKvD,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,cAA8B,EAC9B,MAAyC,EACzC,MAAc,EACqB,EAAE;IACrC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;QACtC,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,qFAAqF,CACtF,CAAA;QACD,OAAO,EAAE,CAAA;KACV;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EACH,UAA0B,EAC1B,WAAyB,EACU,EAAE;QACrC,MAAM,yBAAyB,GAAG,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAA;QAElF,IAAI,YAAY,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAA;QAEzF,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;YACnC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,+CAA+C,EAAE;gBACpF,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;aAClC,CAAC,CAAA;SACH;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YACzB,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,yCAAyC,EAAE;gBAC9E,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;aAC9B,CAAC,CAAA;SACH;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE;YAC/C,YAAY,GAAG,YAAY,CAAC,QAAQ,CAClC,uEAAuE,EACvE;gBACE,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB;aAC1D,CACF,CAAA;SACF;QAED,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC/B,MAAM,aAAa,GAAG,QAAQ;iBAC3B,QAAQ,EAAE;iBACV,MAAM,CAAC,iBAAiB,CAAC;iBACzB,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC;iBACvC,KAAK,CAAC,4CAA4C,CAAC;iBACnD,QAAQ,EAAE,CAAA;YACb,OAAO,wCAAwC,aAAa,GAAG,CAAA;QACjE,CAAC,CAAC,CAAA;QAEF,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAA;QAEhF,IAAI,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE;YACjC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;SAClE;QAED,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,GAAG,CAAC,CAAA;QAEtE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE3C,OAAO,MAAM,CAAA;IACf,CAAC,EACD,uDAAuD,EACvD,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
-
import { GetLatestDeviceBehaviorTasksParams, GetLatestDeviceBehaviorTasksResult } from '../../types/deviceBehaviors';
|
|
3
|
-
import { Logger } from '../../types/logger';
|
|
4
|
-
export declare const getLatestDeviceBehaviorTasks: (novaDataSource: NovaDataSource, params: GetLatestDeviceBehaviorTasksParams, logger: Logger) => Promise<GetLatestDeviceBehaviorTasksResult[]>;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { UserDeviceBehaviorTask } from '../../entities';
|
|
2
|
-
import { binaryBufferToUuidString } from '../../utils/uuidHelpers';
|
|
3
|
-
export const getLatestDeviceBehaviorTasks = async (novaDataSource, params, logger) => {
|
|
4
|
-
if (!params?.filters?.clientId && !params?.filters?.type && !params?.filters?.status) {
|
|
5
|
-
logger.warn({ params }, 'DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks - missing required parameters');
|
|
6
|
-
return [];
|
|
7
|
-
}
|
|
8
|
-
// Force the query to run on master or slave
|
|
9
|
-
const dbQueryRunner = novaDataSource.createQueryRunnerFromParams(params);
|
|
10
|
-
return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
|
|
11
|
-
const deviceBehaviorsRepository = dataSource.getRepository(UserDeviceBehaviorTask);
|
|
12
|
-
const query = `SELECT sub.imei AS imei,
|
|
13
|
-
sub.name AS name,
|
|
14
|
-
sub.description AS description,
|
|
15
|
-
sub.modifiedAt AS modifiedAt,
|
|
16
|
-
sub.taskId AS taskId
|
|
17
|
-
FROM (
|
|
18
|
-
SELECT userDeviceBehaviorTask.imei AS imei,
|
|
19
|
-
deviceBehavior.name as name,
|
|
20
|
-
deviceBehavior.description as description,
|
|
21
|
-
userDeviceBehaviorTask.modifiedAt AS modifiedAt,
|
|
22
|
-
userDeviceBehaviorTask.id AS taskId,
|
|
23
|
-
RANK() OVER (PARTITION BY userDeviceBehaviorTask.imei ORDER BY userDeviceBehaviorTask.modifiedAt DESC) AS rk
|
|
24
|
-
FROM userDeviceBehaviorTask
|
|
25
|
-
INNER JOIN deviceBehavior ON userDeviceBehaviorTask.deviceBehaviorId = deviceBehavior.id AND deviceBehavior.type = ?
|
|
26
|
-
WHERE userDeviceBehaviorTask.clientId = ? AND userDeviceBehaviorTask.status = ?
|
|
27
|
-
) AS sub
|
|
28
|
-
WHERE sub.rk = 1`;
|
|
29
|
-
const result = queryRunner
|
|
30
|
-
? await queryRunner.query(query, [
|
|
31
|
-
params.filters.type,
|
|
32
|
-
params.filters.clientId,
|
|
33
|
-
params.filters.status,
|
|
34
|
-
])
|
|
35
|
-
: await deviceBehaviorsRepository.query(query, [
|
|
36
|
-
params.filters.type,
|
|
37
|
-
params.filters.clientId,
|
|
38
|
-
params.filters.status,
|
|
39
|
-
]);
|
|
40
|
-
return result.map(item => ({
|
|
41
|
-
imei: item.imei,
|
|
42
|
-
name: item.name,
|
|
43
|
-
description: item.description,
|
|
44
|
-
modifiedAt: item.modifiedAt,
|
|
45
|
-
taskId: binaryBufferToUuidString(item.taskId),
|
|
46
|
-
}));
|
|
47
|
-
}, 'DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks', dbQueryRunner);
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=getLatestDeviceBehaviorTasks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getLatestDeviceBehaviorTasks.js","sourceRoot":"","sources":["../../../src/repositories/deviceBehaviors/getLatestDeviceBehaviorTasks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAOvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAC/C,cAA8B,EAC9B,MAA0C,EAC1C,MAAc,EACiC,EAAE;IACjD,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;QACpF,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,uFAAuF,CACxF,CAAA;QACD,OAAO,EAAE,CAAA;KACV;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EACH,UAA0B,EAC1B,WAAyB,EACsB,EAAE;QACjD,MAAM,yBAAyB,GAAG,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAA;QAElF,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;qCAgBiB,CAAA;QAE/B,MAAM,MAAM,GAAG,WAAW;YACxB,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE;gBAC7B,MAAM,CAAC,OAAO,CAAC,IAAI;gBACnB,MAAM,CAAC,OAAO,CAAC,QAAQ;gBACvB,MAAM,CAAC,OAAO,CAAC,MAAM;aACtB,CAAC;YACJ,CAAC,CAAC,MAAM,yBAAyB,CAAC,KAAK,CAAC,KAAK,EAAE;gBAC3C,MAAM,CAAC,OAAO,CAAC,IAAI;gBACnB,MAAM,CAAC,OAAO,CAAC,QAAQ;gBACvB,MAAM,CAAC,OAAO,CAAC,MAAM;aACtB,CAAC,CAAA;QAEN,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC;SAC9C,CAAC,CAAC,CAAA;IACL,CAAC,EACD,yDAAyD,EACzD,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|