@things-factory/operato-hub 4.3.783 → 4.3.784
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/config.development.js
CHANGED
|
@@ -4,9 +4,15 @@ module.exports = {
|
|
|
4
4
|
useVirtualHostBasedDomain: false,
|
|
5
5
|
fallbackRoute: '/',
|
|
6
6
|
subdomainOffset: 2,
|
|
7
|
-
port:
|
|
7
|
+
port: 4445,
|
|
8
8
|
inspect: '9260',
|
|
9
|
-
|
|
9
|
+
storage: {
|
|
10
|
+
type: 's3',
|
|
11
|
+
accessKeyId: 'AKIAUQEOPWEJHCE4MTH4',
|
|
12
|
+
secretAccessKey: 'HkQ1engoFOhduKltXF4j6OakRmLY/9JhvyTWbc8b',
|
|
13
|
+
bucketName: 'opa-one',
|
|
14
|
+
region: 'ap-southeast-1'
|
|
15
|
+
},
|
|
10
16
|
// ormconfig: {
|
|
11
17
|
// name: 'default',
|
|
12
18
|
// type: 'postgres',
|
|
@@ -18,30 +24,7 @@ module.exports = {
|
|
|
18
24
|
// synchronize: false,
|
|
19
25
|
// logging: true
|
|
20
26
|
// },
|
|
21
|
-
|
|
22
|
-
// ormconfig: {
|
|
23
|
-
// name: 'default',
|
|
24
|
-
// type: 'postgres',
|
|
25
|
-
// database: 'operato',
|
|
26
|
-
// username: 'postgres',
|
|
27
|
-
// password: 'hatio',
|
|
28
|
-
// host: '192.168.0.151',
|
|
29
|
-
// port: 15432,
|
|
30
|
-
// synchronize: false,
|
|
31
|
-
// logging: true
|
|
32
|
-
// },
|
|
33
|
-
//eric2
|
|
34
|
-
// ormconfig: {
|
|
35
|
-
// name: 'default',
|
|
36
|
-
// type: 'postgres',
|
|
37
|
-
// database: 'eric2',
|
|
38
|
-
// username: 'postgres',
|
|
39
|
-
// password: 'hatio',
|
|
40
|
-
// host: '192.168.0.153',
|
|
41
|
-
// port: 15432,
|
|
42
|
-
// synchronize: false,
|
|
43
|
-
// logging: true
|
|
44
|
-
// },
|
|
27
|
+
|
|
45
28
|
// STAGING DATABASE
|
|
46
29
|
ormconfig: {
|
|
47
30
|
name: 'default',
|
|
@@ -54,30 +37,34 @@ module.exports = {
|
|
|
54
37
|
synchronize: false,
|
|
55
38
|
logging: true
|
|
56
39
|
},
|
|
57
|
-
|
|
40
|
+
|
|
58
41
|
// ormconfig: {
|
|
59
42
|
// name: 'default',
|
|
60
43
|
// type: 'postgres',
|
|
61
|
-
// database: '
|
|
44
|
+
// database: 'operato',
|
|
62
45
|
// username: 'postgres',
|
|
63
46
|
// password: 'hatio',
|
|
64
|
-
// host: '192.168.0.
|
|
47
|
+
// host: '192.168.0.153',
|
|
65
48
|
// port: 15432,
|
|
66
49
|
// synchronize: false,
|
|
67
50
|
// logging: true
|
|
68
51
|
// },
|
|
69
|
-
|
|
52
|
+
|
|
53
|
+
//db izzah
|
|
70
54
|
// ormconfig: {
|
|
71
55
|
// name: 'default',
|
|
72
56
|
// type: 'postgres',
|
|
73
|
-
// database: '
|
|
57
|
+
// database: '06072023',
|
|
74
58
|
// username: 'postgres',
|
|
75
59
|
// password: 'hatio',
|
|
76
|
-
// host: '192.168.0.
|
|
60
|
+
// host: '192.168.0.153',
|
|
77
61
|
// port: 15432,
|
|
78
62
|
// synchronize: true,
|
|
79
63
|
// logging: true
|
|
80
64
|
// },
|
|
65
|
+
//postgres
|
|
66
|
+
|
|
67
|
+
// //ERIC
|
|
81
68
|
// ormconfig: {
|
|
82
69
|
// name: 'default',
|
|
83
70
|
// type: 'postgres',
|
|
@@ -89,32 +76,33 @@ module.exports = {
|
|
|
89
76
|
// synchronize: true,
|
|
90
77
|
// logging: true
|
|
91
78
|
// },
|
|
92
|
-
|
|
79
|
+
|
|
80
|
+
//eric2
|
|
93
81
|
// ormconfig: {
|
|
94
82
|
// name: 'default',
|
|
95
83
|
// type: 'postgres',
|
|
96
|
-
// database: '
|
|
84
|
+
// database: 'eric2',
|
|
97
85
|
// username: 'postgres',
|
|
98
86
|
// password: 'hatio',
|
|
99
87
|
// host: '192.168.0.153',
|
|
100
88
|
// port: 15432,
|
|
101
|
-
// synchronize:
|
|
89
|
+
// synchronize: false,
|
|
102
90
|
// logging: true
|
|
103
91
|
// },
|
|
92
|
+
|
|
104
93
|
// ormconfig: {
|
|
105
94
|
// name: 'default',
|
|
106
95
|
// type: 'postgres',
|
|
107
|
-
//
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
//
|
|
112
|
-
// synchronize:
|
|
113
|
-
// logging:
|
|
96
|
+
// database: 'dev2', // dev2
|
|
97
|
+
// username: 'postgres',
|
|
98
|
+
// password: 'abcd1234',
|
|
99
|
+
// host: 'operatov3.cluster-cijhm4n1hbst.ap-southeast-1.rds.amazonaws.com',
|
|
100
|
+
// port: 55432,
|
|
101
|
+
// synchronize:false,
|
|
102
|
+
// logging: false,
|
|
114
103
|
// connectTimeoutMS: 30000,
|
|
115
104
|
// extra: { poolSize: 30 }
|
|
116
105
|
// },
|
|
117
|
-
|
|
118
106
|
// ormconfig: {
|
|
119
107
|
// name: 'default',
|
|
120
108
|
// type: 'postgres',
|
|
@@ -128,7 +116,6 @@ module.exports = {
|
|
|
128
116
|
// connectTimeoutMS: 30000,
|
|
129
117
|
// extra: { poolSize: 30 }
|
|
130
118
|
// },
|
|
131
|
-
|
|
132
119
|
password: {
|
|
133
120
|
lowerCase: true,
|
|
134
121
|
upperCase: false,
|
|
@@ -180,6 +167,11 @@ module.exports = {
|
|
|
180
167
|
ciphers: 'SSLv3'
|
|
181
168
|
}
|
|
182
169
|
},
|
|
170
|
+
jobQueue: {
|
|
171
|
+
// For JobQueueService/JobWorker (FIFO queue is supported)
|
|
172
|
+
queueUrl: 'https://sqs.ap-southeast-5.amazonaws.com/309536469266/operato-job-queue.fifo',
|
|
173
|
+
sqsRegion: 'ap-southeast-5'
|
|
174
|
+
},
|
|
183
175
|
sender: 'noreply@hatiolab.com',
|
|
184
176
|
notification: {
|
|
185
177
|
// fcm: {
|
|
@@ -218,8 +210,7 @@ module.exports = {
|
|
|
218
210
|
isUAT: false,
|
|
219
211
|
application: 'Operato MMS',
|
|
220
212
|
partnerId: 846025,
|
|
221
|
-
partnerKey: 'd34cfd85a603f196a0d74ebe08043280c1a27788bb36bdffd61e7e0bb1c90b64'
|
|
222
|
-
v2: true
|
|
213
|
+
partnerKey: 'd34cfd85a603f196a0d74ebe08043280c1a27788bb36bdffd61e7e0bb1c90b64'
|
|
223
214
|
},
|
|
224
215
|
marketplaceIntegrationLazada: {
|
|
225
216
|
platform: 'lazada',
|
|
@@ -228,16 +219,6 @@ module.exports = {
|
|
|
228
219
|
appSecret: 'HB3RTNEXHlVSlBr9SmWF8AjbSUT7a825',
|
|
229
220
|
callback: 'https://maybank.operato-m.com/lazada-callback'
|
|
230
221
|
},
|
|
231
|
-
|
|
232
|
-
//testinglazada
|
|
233
|
-
// marketplaceIntegrationLazada: {
|
|
234
|
-
// platform: 'lazada',
|
|
235
|
-
// application: 'powrup_bi',
|
|
236
|
-
// appKey: '117890',
|
|
237
|
-
// appSecret: 'tQVllnUa7irAHoNxAwXEVxoP1we1bUjE',
|
|
238
|
-
// callback: 'https://73c5-175-141-30-142.ngrok-free.app/lazada-callback'
|
|
239
|
-
// },
|
|
240
|
-
|
|
241
222
|
accountingIntegrationXero: {
|
|
242
223
|
platform: 'xero',
|
|
243
224
|
application: 'Operato WMS',
|
|
@@ -246,48 +227,23 @@ module.exports = {
|
|
|
246
227
|
callback: 'http://operato-h.com:3000/callback-xero',
|
|
247
228
|
hostname: 'http://operato-h.com:3000/'
|
|
248
229
|
},
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
230
|
+
lambda: {
|
|
231
|
+
region: 'ap-southeast-1',
|
|
232
|
+
accessKeyId: 'AKIAUQEOPWEJKL43OMZA',
|
|
233
|
+
secretAccessKey: 'OG2qS0Usg4wyjPWbfv1ahPZzP80/w8z4i8MYHl+e'
|
|
253
234
|
},
|
|
254
|
-
|
|
255
|
-
lmdIntegrationEms: { refreshThreshold: 43200 },
|
|
256
|
-
|
|
257
|
-
lmdIntegrationCitylink: { refreshThreshold: 172800000 },
|
|
258
235
|
awbFileStorage: {
|
|
259
236
|
type: 's3',
|
|
260
|
-
accessKeyId: '
|
|
261
|
-
secretAccessKey: '
|
|
237
|
+
accessKeyId: 'AKIAUQEOPWEJKL43OMZA',
|
|
238
|
+
secretAccessKey: 'OG2qS0Usg4wyjPWbfv1ahPZzP80/w8z4i8MYHl+e',
|
|
262
239
|
bucketName: 'operato-awb',
|
|
263
240
|
region: 'ap-southeast-1'
|
|
264
241
|
},
|
|
265
|
-
lambda: {
|
|
266
|
-
region: 'ap-southeast-1',
|
|
267
|
-
accessKeyId: 'AKIAUQEOPWEJPXIVER74',
|
|
268
|
-
secretAccessKey: 'I6uuS+6CMzIQlqBS9i+G8AYIeYj5RR7wb4fxjbLq'
|
|
269
|
-
},
|
|
270
|
-
lambdaMy: {
|
|
271
|
-
region: 'ap-southeast-5',
|
|
272
|
-
accessKeyId: 'AKIAUQEOPWEJHCE4MTH4',
|
|
273
|
-
secretAccessKey: 'HkQ1engoFOhduKltXF4j6OakRmLY/9JhvyTWbc8b'
|
|
274
|
-
},
|
|
275
|
-
lmdIntegrationConfig: {
|
|
276
|
-
version: {
|
|
277
|
-
v1: 'lmdMiddleware',
|
|
278
|
-
v2: 'lmdMiddlewareV2'
|
|
279
|
-
}
|
|
280
|
-
},
|
|
281
242
|
awsSesEmail: {
|
|
282
|
-
accessKeyId: '
|
|
283
|
-
secretAccessKey: '
|
|
243
|
+
accessKeyId: 'AKIAUQEOPWEJKQDJSEOG',
|
|
244
|
+
secretAccessKey: 'tMDPIxH1oe31d1TYsqWu+h2nhA8n5y5jRBjCmiK7',
|
|
284
245
|
email: 'support@hatio.asia'
|
|
285
246
|
},
|
|
286
|
-
jobQueue: {
|
|
287
|
-
// For JobQueueService/JobWorker (FIFO queue is supported)
|
|
288
|
-
queueUrl: 'https://sqs.ap-southeast-5.amazonaws.com/309536469266/operato-job-queue.fifo',
|
|
289
|
-
sqsRegion: 'ap-southeast-5'
|
|
290
|
-
},
|
|
291
247
|
reportApiUrl:
|
|
292
248
|
'http://k8s-default-operator-2fd6178d98-66c66a0f76c09575.elb.ap-southeast-1.amazonaws.com/rest/report/show_html'
|
|
293
249
|
}
|
|
@@ -27,6 +27,12 @@ exports.xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
|
|
|
27
27
|
var _a;
|
|
28
28
|
const { id, warehouseId } = context.query;
|
|
29
29
|
const { body, header } = context.request;
|
|
30
|
+
// Log raw webhook payload for debugging
|
|
31
|
+
env_1.logger.info(`xilnex-router[webhook-xilnex-po][raw-payload]: ${JSON.stringify({
|
|
32
|
+
query: context.query,
|
|
33
|
+
headers: header,
|
|
34
|
+
body
|
|
35
|
+
})}`);
|
|
30
36
|
// Detect source type and parse data accordingly
|
|
31
37
|
const sourceType = (body === null || body === void 0 ? void 0 : body.Source) || 'Classic';
|
|
32
38
|
let data = {};
|
|
@@ -40,8 +46,13 @@ exports.xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
|
|
|
40
46
|
}
|
|
41
47
|
}
|
|
42
48
|
else {
|
|
43
|
-
// Classic: body.Data
|
|
44
|
-
|
|
49
|
+
// Classic: body.Data might be a JSON string or already parsed object
|
|
50
|
+
if (typeof (body === null || body === void 0 ? void 0 : body.Data) === 'string') {
|
|
51
|
+
data = JSON.parse(body.Data);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
data = (body === null || body === void 0 ? void 0 : body.Data) || {};
|
|
55
|
+
}
|
|
45
56
|
}
|
|
46
57
|
const account = await integration_accounting_1.AccountingAPI.getAccounting(id);
|
|
47
58
|
if (!account) {
|
|
@@ -127,6 +138,22 @@ exports.xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
|
|
|
127
138
|
}
|
|
128
139
|
let accountInfo = (account === null || account === void 0 ? void 0 : account.accountInfo) ? JSON.parse(account.accountInfo) : {};
|
|
129
140
|
if (accountInfo.outlet == orderInfo.toOutlet) {
|
|
141
|
+
// Check for duplicate PO with the same refNo to prevent retries creating duplicates
|
|
142
|
+
const existingPO = await tx.getRepository(sales_base_1.PurchaseOrder).findOne({
|
|
143
|
+
where: {
|
|
144
|
+
domain: warehouseDomain,
|
|
145
|
+
bizplace: customerBizplace,
|
|
146
|
+
refNo: String(orderInfo.orderId),
|
|
147
|
+
source: 'XILNEX'
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
if (existingPO) {
|
|
151
|
+
env_1.logger.info(`xilnex-router[webhook-xilnex-po]: Duplicate PO skipped, refNo ${orderInfo.orderId} already exists as ${existingPO.name}`);
|
|
152
|
+
accountWebhookOrder.status = integration_accounting_1.ACCOUNT_SYNC_STATUS.SUCCESS;
|
|
153
|
+
await tx.getRepository(integration_accounting_1.AccountWebhookOrder).save(accountWebhookOrder);
|
|
154
|
+
context.status = 200;
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
130
157
|
const poNoSetting = await tx.getRepository(setting_base_1.Setting).findOne({
|
|
131
158
|
where: {
|
|
132
159
|
domain: warehouseDomain,
|
|
@@ -233,8 +260,13 @@ exports.xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next)
|
|
|
233
260
|
}
|
|
234
261
|
}
|
|
235
262
|
else {
|
|
236
|
-
// Classic: body.Data
|
|
237
|
-
|
|
263
|
+
// Classic: body.Data might be a JSON string or already parsed object
|
|
264
|
+
if (typeof (body === null || body === void 0 ? void 0 : body.Data) === 'string') {
|
|
265
|
+
data = JSON.parse(body.Data);
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
data = (body === null || body === void 0 ? void 0 : body.Data) || {};
|
|
269
|
+
}
|
|
238
270
|
}
|
|
239
271
|
const account = await integration_accounting_1.AccountingAPI.getAccounting(id);
|
|
240
272
|
if (!account) {
|
|
@@ -984,6 +1016,7 @@ async function massageOrderItems(releaseGood, inputOrderProducts, context) {
|
|
|
984
1016
|
}
|
|
985
1017
|
}
|
|
986
1018
|
async function assignToInventory(orderProducts, customerBizplace, warehouseDomain, context, tx) {
|
|
1019
|
+
var _a;
|
|
987
1020
|
const { client, domain, user } = context.state;
|
|
988
1021
|
for (let opIdx = 0; opIdx < orderProducts.length; opIdx++) {
|
|
989
1022
|
let orderProduct = orderProducts[opIdx];
|
|
@@ -1052,14 +1085,13 @@ async function assignToInventory(orderProducts, customerBizplace, warehouseDomai
|
|
|
1052
1085
|
break;
|
|
1053
1086
|
}
|
|
1054
1087
|
let queryFilters = [];
|
|
1055
|
-
|
|
1056
|
-
let queryStrings = queryFilters.reduce((acc, itm, idx, arr) => {
|
|
1088
|
+
let queryStrings = queryFilters.reduce((acc, itm) => {
|
|
1057
1089
|
acc.values.push(itm.filters);
|
|
1058
1090
|
switch (itm === null || itm === void 0 ? void 0 : itm.operator) {
|
|
1059
1091
|
case 'notin':
|
|
1060
1092
|
case 'in':
|
|
1061
|
-
acc.query.push(`${itm.query} ${itm.operator == 'notin' ? 'NOT IN' : 'IN'} (${itm.
|
|
1062
|
-
.map((
|
|
1093
|
+
acc.query.push(`${itm.query} ${itm.operator == 'notin' ? 'NOT IN' : 'IN'} (${itm.filters
|
|
1094
|
+
.map(() => {
|
|
1063
1095
|
return `$${acc.values.length + 1}`;
|
|
1064
1096
|
})
|
|
1065
1097
|
.join(',')})`);
|
|
@@ -1068,7 +1100,7 @@ async function assignToInventory(orderProducts, customerBizplace, warehouseDomai
|
|
|
1068
1100
|
acc.query.push(`${itm.query} ${(itm === null || itm === void 0 ? void 0 : itm.operator) ? itm.operator : '='} $${acc.values.length + 1}`);
|
|
1069
1101
|
break;
|
|
1070
1102
|
}
|
|
1071
|
-
|
|
1103
|
+
return acc;
|
|
1072
1104
|
}, {
|
|
1073
1105
|
query: [],
|
|
1074
1106
|
values: []
|
|
@@ -1078,85 +1110,114 @@ async function assignToInventory(orderProducts, customerBizplace, warehouseDomai
|
|
|
1078
1110
|
return `${itm.name} ${itm.desc ? 'DESC' : 'ASC'}`;
|
|
1079
1111
|
})
|
|
1080
1112
|
.join(`,`);
|
|
1081
|
-
let
|
|
1082
|
-
|
|
1113
|
+
let params = [
|
|
1114
|
+
(user === null || user === void 0 ? void 0 : user.id) || null,
|
|
1115
|
+
warehouseDomain.id,
|
|
1116
|
+
customerBizplace.id,
|
|
1117
|
+
orderInventory.packingType,
|
|
1118
|
+
orderInventory.packingSize,
|
|
1119
|
+
orderInventory.product.id,
|
|
1120
|
+
warehouse_base_1.INVENTORY_STATUS.STORED,
|
|
1121
|
+
warehouse_base_1.LOCATION_TYPE.QUARANTINE,
|
|
1122
|
+
warehouse_base_1.LOCATION_TYPE.RESERVE,
|
|
1123
|
+
...queryStrings.values
|
|
1124
|
+
];
|
|
1125
|
+
// Add seed row parameters to avoid SQL injection from template literals
|
|
1126
|
+
const seedUomIdx = params.length + 1;
|
|
1127
|
+
const seedPackingTypeIdx = params.length + 2;
|
|
1128
|
+
const seedPackingSizeIdx = params.length + 3;
|
|
1129
|
+
const seedReleaseQtyIdx = params.length + 4;
|
|
1130
|
+
const seedReleaseUomValueIdx = params.length + 5;
|
|
1131
|
+
params.push(orderInventory.uom, orderInventory.packingType, orderInventory.packingSize, orderInventory.releaseQty, orderInventory.releaseUomValue);
|
|
1132
|
+
const MAX_ASSIGN_RETRIES = 3;
|
|
1133
|
+
const RETRY_DELAY_MS = 10;
|
|
1134
|
+
const assignQuery = `
|
|
1135
|
+
update inventories tgt set locked_qty = coalesce(locked_qty,0) + src.reserve_qty,
|
|
1083
1136
|
locked_uom_value = coalesce(locked_uom_value,0) + src.reserve_uom_value,
|
|
1084
1137
|
updated_at = NOW(),
|
|
1085
1138
|
updater_id = $1
|
|
1086
1139
|
from (
|
|
1087
1140
|
select "id", "pallet_id","carton_id", "batch_id", "batch_id_ref", "unit", "uom", "packing_type", "packing_size", "manufacture_year",
|
|
1088
|
-
"reserve_qty", (("uom_value"/"qty") * "reserve_qty") as "reserve_uom_value" from (
|
|
1089
|
-
select "sort_seq", "id", "pallet_id", "batch_id", "batch_id_ref", "unit", "uom", "packing_type", "packing_size", "manufacture_year", "carton_id", "uom_value", "locked_uom_value", "qty", "locked_qty", "created_at",
|
|
1090
|
-
"release_qty", "release_uom_value", lock_amount,
|
|
1141
|
+
"reserve_qty", (("uom_value"/"qty") * "reserve_qty") as "reserve_uom_value" from (
|
|
1142
|
+
select "sort_seq", "id", "pallet_id", "batch_id", "batch_id_ref", "unit", "uom", "packing_type", "packing_size", "manufacture_year", "carton_id", "uom_value", "locked_uom_value", "qty", "locked_qty", "created_at",
|
|
1143
|
+
"release_qty", "release_uom_value", lock_amount,
|
|
1091
1144
|
case when "lock_amount" < 0 then "available_qty" else "available_qty" - "lock_amount" end as "reserve_qty"
|
|
1092
1145
|
from (
|
|
1093
1146
|
select *,
|
|
1094
1147
|
qty - locked_qty as available_qty,
|
|
1095
1148
|
sum(qty - locked_qty - release_qty) over (order by sort_seq asc rows between unbounded preceding and current row) as lock_amount
|
|
1096
1149
|
from (
|
|
1097
|
-
// TODO: Replace template literal interpolation with $N positional parameters (see unstable/add-release-order.ts for pattern)
|
|
1098
|
-
// String values (uom, packingType, packingSize) are SQL injection vectors; numeric values need ::numeric casts
|
|
1099
1150
|
SELECT 0 as sort_seq, null as id, null as pallet_id, null as batch_id, null as batch_id_ref,
|
|
1100
|
-
null as unit,
|
|
1151
|
+
null as unit, $${seedUomIdx} as uom, $${seedPackingTypeIdx} as packing_type, $${seedPackingSizeIdx} as packing_size,
|
|
1101
1152
|
null as manufacture_year, null as carton_id, 0 as uom_value, 0 as locked_uom_value, 0 as qty, 0 as locked_qty, null as created_at,
|
|
1102
|
-
|
|
1153
|
+
$${seedReleaseQtyIdx}::numeric as release_qty, $${seedReleaseUomValueIdx}::numeric as release_uom_value
|
|
1103
1154
|
UNION
|
|
1104
1155
|
(
|
|
1105
|
-
SELECT ROW_NUMBER() OVER(PARTITION BY iv.domain_id ORDER BY ${sortQuery}) as sort_seq,
|
|
1106
|
-
iv.id, iv.pallet_id, iv.batch_id, iv.batch_id_ref,
|
|
1107
|
-
iv.unit, iv.uom, iv.packing_type, iv.packing_size,
|
|
1108
|
-
iv.manufacture_year, iv.carton_id, iv.uom_value,
|
|
1156
|
+
SELECT ROW_NUMBER() OVER(PARTITION BY iv.domain_id ORDER BY ${sortQuery}) as sort_seq,
|
|
1157
|
+
iv.id, iv.pallet_id, iv.batch_id, iv.batch_id_ref,
|
|
1158
|
+
iv.unit, iv.uom, iv.packing_type, iv.packing_size,
|
|
1159
|
+
iv.manufacture_year, iv.carton_id, iv.uom_value,
|
|
1109
1160
|
coalesce(iv.locked_uom_value,0) as locked_uom_value, iv.qty, coalesce(iv.locked_qty,0) as locked_qty, iv.created_at,
|
|
1110
1161
|
0 as release_qty, 0 as release_uom_value
|
|
1111
|
-
FROM "inventories" "iv"
|
|
1112
|
-
INNER JOIN "locations" "loc" ON "loc"."id"="iv"."location_id"
|
|
1113
|
-
INNER JOIN "products" "p" ON "p"."id"="iv"."product_id"
|
|
1114
|
-
WHERE case when coalesce("iv"."locked_qty",0) < 0 then 0 else ("iv"."qty" - coalesce("iv"."locked_qty",0)) end > 0 AND
|
|
1162
|
+
FROM "inventories" "iv"
|
|
1163
|
+
INNER JOIN "locations" "loc" ON "loc"."id"="iv"."location_id"
|
|
1164
|
+
INNER JOIN "products" "p" ON "p"."id"="iv"."product_id"
|
|
1165
|
+
WHERE case when coalesce("iv"."locked_qty",0) < 0 then 0 else ("iv"."qty" - coalesce("iv"."locked_qty",0)) end > 0 AND
|
|
1115
1166
|
"iv"."domain_id" = $2 AND "iv"."bizplace_id" = $3 AND "iv"."packing_type" = $4 AND "iv"."packing_size" = $5 AND "iv"."product_id" = $6 AND "iv"."status" = $7 AND "loc"."type" NOT IN ($8, $9)
|
|
1116
1167
|
AND "iv"."obsolete" = false AND case when "iv"."expiration_date" is not null and "p"."min_outbound_shelf_life" is not null then CURRENT_DATE < "iv"."expiration_date" - "p"."min_outbound_shelf_life" else true end
|
|
1117
1168
|
${queryStrings.query.length > 0 ? `AND ${queryStrings.query.join(' AND ')}` : ''}
|
|
1118
1169
|
ORDER BY ${sortQuery}
|
|
1119
1170
|
)
|
|
1120
1171
|
) dt1
|
|
1121
|
-
) dt2 where case when "lock_amount" < 0 then "available_qty" else "available_qty" - "lock_amount" end > 0
|
|
1172
|
+
) dt2 where case when "lock_amount" < 0 then "available_qty" else "available_qty" - "lock_amount" end > 0
|
|
1122
1173
|
) dt3 where sort_seq > 0
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
tgt."
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
(
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1174
|
+
) src where src.id = tgt.id AND tgt.qty >= coalesce(tgt.locked_qty, 0) + src.reserve_qty
|
|
1175
|
+
returning
|
|
1176
|
+
tgt."id", tgt."qty", tgt."pallet_id", tgt."carton_id", tgt."batch_id", tgt."batch_id_ref", tgt."unit",
|
|
1177
|
+
tgt."uom", tgt."packing_type", tgt."packing_size", tgt."manufacture_year",
|
|
1178
|
+
tgt."locked_qty", tgt."uom_value", tgt."locked_uom_value", src."reserve_qty", src."reserve_uom_value";`;
|
|
1179
|
+
let updatedInventories;
|
|
1180
|
+
for (let attempt = 1; attempt <= MAX_ASSIGN_RETRIES; attempt++) {
|
|
1181
|
+
await tx.query('SAVEPOINT assign_retry');
|
|
1182
|
+
updatedInventories = await tx.getRepository(warehouse_base_1.Inventory).query(assignQuery, params);
|
|
1183
|
+
const assignedRows = (updatedInventories === null || updatedInventories === void 0 ? void 0 : updatedInventories[0]) || [];
|
|
1184
|
+
let totalAssigned = assignedRows.reduce((acc, inv) => {
|
|
1185
|
+
return acc + Number(inv.reserve_qty);
|
|
1186
|
+
}, 0);
|
|
1187
|
+
let opReleaseQty = orderProduct.releaseQty;
|
|
1188
|
+
if (!((_a = orderInventory.product) === null || _a === void 0 ? void 0 : _a.isInventoryDecimal)) {
|
|
1189
|
+
opReleaseQty = Math.round(opReleaseQty);
|
|
1190
|
+
totalAssigned = Math.round(totalAssigned);
|
|
1191
|
+
}
|
|
1192
|
+
else {
|
|
1193
|
+
opReleaseQty = Math.round(opReleaseQty * 1000) / 1000;
|
|
1194
|
+
totalAssigned = Math.round(totalAssigned * 1000) / 1000;
|
|
1195
|
+
}
|
|
1196
|
+
if (Math.abs(opReleaseQty - totalAssigned) > 0.001) {
|
|
1197
|
+
await tx.query('ROLLBACK TO SAVEPOINT assign_retry');
|
|
1198
|
+
if (attempt < MAX_ASSIGN_RETRIES) {
|
|
1199
|
+
await new Promise(resolve => setTimeout(resolve, RETRY_DELAY_MS));
|
|
1200
|
+
continue;
|
|
1201
|
+
}
|
|
1202
|
+
throw new index_1.ValidationError({
|
|
1203
|
+
errorCode: 'INSUFFICIENT_STOCK',
|
|
1204
|
+
message: 'insufficient stock',
|
|
1205
|
+
detail: JSON.stringify({
|
|
1206
|
+
code: 'insufficient stock',
|
|
1207
|
+
sku: orderProduct.product.sku,
|
|
1208
|
+
packingType: orderProduct.packingType,
|
|
1209
|
+
packingSize: orderProduct.packingSize,
|
|
1210
|
+
uom: orderProduct.uom,
|
|
1211
|
+
qty: orderProduct.releaseQty,
|
|
1212
|
+
uom_value: orderProduct.releaseUomValue
|
|
1213
|
+
})
|
|
1214
|
+
});
|
|
1215
|
+
}
|
|
1216
|
+
await tx.query('RELEASE SAVEPOINT assign_retry');
|
|
1217
|
+
break;
|
|
1158
1218
|
}
|
|
1159
|
-
|
|
1219
|
+
;
|
|
1220
|
+
((updatedInventories === null || updatedInventories === void 0 ? void 0 : updatedInventories[0]) || []).forEach(inv => {
|
|
1160
1221
|
let oi = Object.assign(Object.assign({}, orderInventory), { inventory: { id: inv.id }, uom: inv.uom, packingType: inv.packing_type, batchId: inv.batch_id, releaseQty: inv.reserve_qty, releaseUomValue: inv.reserve_uom_value, pickedQty: 0, packedQty: 0, type: sales_base_1.ORDER_TYPES.RELEASE_OF_GOODS, status: sales_base_1.ORDER_INVENTORY_STATUS.PENDING_WORKSHEET, domain: { id: warehouseDomain.id }, bizplace: { id: customerBizplace.id } });
|
|
1161
1222
|
assignedOrderInventories.push(oi);
|
|
1162
1223
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xilnex-router.js","sourceRoot":"","sources":["../../server/routers/xilnex-router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xilnex-router.js","sourceRoot":"","sources":["../../server/routers/xilnex-router.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAC/B,qCAAkG;AAClG,+BAAmC;AAEnC,uDAAuE;AACvE,6CAA4C;AAC5C,+DAAyD;AACzD,mFAM+C;AAC/C,mFAAmF;AACnF,+DAAoF;AACpF,2DAgBmC;AACnC,+DAAsD;AACtD,iDAA8C;AAC9C,mEAA2F;AAE3F,2CAAiD;AAEjD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,qDAAqD,CAAC,CAAA;AAExE,QAAA,YAAY,GAAG,IAAI,oBAAM,EAAE,CAAA;AAExC,oBAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC9D,MAAM,eAAe,GAAG,OAAO,CAAA;IAC/B,IAAI;QACF,MAAM,IAAA,uBAAa,GAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAiB,EAAE,EAAE;;YAC5D,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAA;YAExC,wCAAwC;YACxC,YAAM,CAAC,IAAI,CACT,kDAAkD,IAAI,CAAC,SAAS,CAAC;gBAC/D,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,MAAM;gBACf,IAAI;aACL,CAAC,EAAE,CACL,CAAA;YAED,gDAAgD;YAChD,MAAM,UAAU,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,SAAS,CAAA;YAC5C,IAAI,IAAI,GAAQ,EAAE,CAAA;YAElB,IAAI,UAAU,KAAK,cAAc,EAAE;gBACjC,8DAA8D;gBAC9D,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE;oBAClC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iBAC7B;qBAAM;oBACL,IAAI,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,EAAE,CAAA;iBACxB;aACF;iBAAM;gBACL,qEAAqE;gBACrE,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE;oBAClC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iBAC7B;qBAAM;oBACL,IAAI,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,EAAE,CAAA;iBACxB;aACF;YAED,MAAM,OAAO,GAAG,MAAM,sCAAa,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;YACrD,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAA;aACjD;YAED,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAA;YAEpD,MAAM,MAAM,GAAG,IAAI,+BAAM,CAAC,EAAE,CAAC,CAAA;YAE7B,oEAAoE;YACpE,+BAA+B;YAC/B,IAAI,OAAO,GAAQ,IAAI,CAAA;YACvB,IAAI,UAAU,KAAK,cAAc,EAAE;gBACjC,MAAM,cAAc,GAAI,OAAO,CAAC,OAAe,CAAC,cAA6C,CAAA;gBAC7F,IAAI,cAAc,EAAE;oBAClB,OAAO,GAAG,MAAM,cAAc,CAAA;iBAC/B;aACF;YAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;gBAC5D,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAA;aAClD;YAED,MAAM,cAAc,GAAW,OAAO,CAAC,MAAM,CAAA;YAC7C,MAAM,gBAAgB,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;gBAC1E,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;aAClC,CAAC,CAAA;YACF,MAAM,mBAAmB,GAAa,MAAM,IAAA,6BAAkB,EAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAEnG,MAAM,eAAe,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,OAAO,CAAC;gBACrE,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;aACjD,CAAC,CAAA;YAEF,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,WAAW,gCAAgC,CAAC,CAAA;aACnE;YAED,IAAI,mBAAmB,GAAQ;gBAC7B,IAAI,EAAE,IAAA,SAAM,GAAE;gBACd,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,yCAAgB,CAAC,MAAM;gBACjC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,4CAAmB,CAAC,MAAM;aACnC,CAAA;YAED,oCAAoC;YACpC,MAAM,OAAO,GAAG,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,0CAAE,EAAE,CAAC,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAA;YAElF,IAAI,OAAO,EAAE;gBACX,IAAI,SAAc,CAAA;gBAClB,IAAI,UAAiB,CAAA;gBAErB,IAAI,UAAU,KAAK,cAAc,EAAE;oBACjC,2DAA2D;oBAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;oBACxC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,EAAE,CAAA;oBAE3C,SAAS,GAAG;wBACV,OAAO,EAAE,aAAa,CAAC,EAAE;wBACzB,UAAU,EAAE,aAAa,CAAC,eAAe;wBACzC,QAAQ,EAAE,aAAa,CAAC,cAAc;wBACtC,OAAO,EAAE,aAAa,CAAC,qBAAqB;4BAC1C,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;4BAC1E,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;wBACzC,YAAY,EAAE,IAAI;wBAClB,WAAW,EAAE,KAAK;wBAClB,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,aAAa,CAAC,OAAO;wBAC7B,QAAQ,EAAE,aAAa,CAAC,YAAY,IAAI,KAAK;qBAC9C,CAAA;oBAED,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;;wBAChC,OAAO;4BACL,SAAS,EAAE,MAAM,CAAC,EAAE;4BACpB,OAAO,EAAE;gCACP,OAAO,EAAE,MAAA,MAAM,CAAC,MAAM,0CAAE,QAAQ,EAAE;gCAClC,GAAG,EAAE,MAAM,CAAC,QAAQ;6BACrB;4BACD,OAAO,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE;4BAChE,YAAY,EAAE,MAAM,CAAC,aAAa;4BAClC,QAAQ,EAAE,MAAM,CAAC,SAAS;4BAC1B,SAAS,EAAE,IAAI;4BACf,eAAe,EAAE,EAAE;4BACnB,SAAS,EAAE,MAAM,CAAC,SAAS;yBAC5B,CAAA;oBACH,CAAC,CAAC,CAAA;iBACH;qBAAM;oBACL,iCAAiC;oBACjC,MAAM,aAAa,GAAQ,MAAM,sCAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;oBACrF,SAAS,GAAG,aAAa,CAAC,SAAS,CAAA;oBACnC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;iBACtC;gBAED,IAAI,WAAW,GAAQ,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBAElF,IAAI,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE;oBAC5C,oFAAoF;oBACpF,MAAM,UAAU,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,0BAAa,CAAC,CAAC,OAAO,CAAC;wBAC9E,KAAK,EAAE;4BACL,MAAM,EAAE,eAAe;4BACvB,QAAQ,EAAE,gBAAgB;4BAC1B,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;4BAChC,MAAM,EAAE,QAAQ;yBACjB;qBACF,CAAC,CAAA;oBAEF,IAAI,UAAU,EAAE;wBACd,YAAM,CAAC,IAAI,CACT,iEAAiE,SAAS,CAAC,OAAO,sBAAsB,UAAU,CAAC,IAAI,EAAE,CAC1H,CAAA;wBACD,mBAAmB,CAAC,MAAM,GAAG,4CAAmB,CAAC,OAAO,CAAA;wBACxD,MAAM,EAAE,CAAC,aAAa,CAAC,4CAAmB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;wBACrE,OAAO,CAAC,MAAM,GAAG,GAAG,CAAA;wBACpB,OAAM;qBACP;oBAED,MAAM,WAAW,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;wBACnE,KAAK,EAAE;4BACL,MAAM,EAAE,eAAe;4BACvB,IAAI,EAAE,qCAAwB,CAAC,cAAc;yBAC9C;qBACF,CAAC,CAAA;oBAEF,IAAI,OAAO,GAAW,WAAW;wBAC/B,CAAC,CAAC,MAAM,IAAA,yBAAU,EAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,mCAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;wBACjG,CAAC,CAAC,6BAAgB,CAAC,aAAa,EAAE,CAAA;oBAEpC,IAAI,aAAa,GAAQ;wBACvB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,SAAS,CAAC,OAAO;wBACxB,MAAM,EAAE,IAAI;wBACZ,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,SAAS,CAAC,OAAO;wBAC1B,YAAY,EAAE,SAAS,CAAC,YAAY;wBACpC,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,SAAS,EAAE,SAAS,CAAC,SAAS;wBAC9B,MAAM,EAAE,SAAS,CAAC,MAAM;wBACxB,QAAQ,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,KAAI,KAAK;wBACtC,MAAM,EAAE,QAAQ;wBAChB,eAAe,EAAE,WAAW;wBAC5B,MAAM,EAAE,eAAe;wBACvB,QAAQ,EAAE,gBAAgB;wBAC1B,MAAM,EAAE,kCAAqB,CAAC,KAAK;qBACpC,CAAA;oBACD,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,0BAAa,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;oBAEzE,IAAI,aAAa,GAAU,EAAE,CAAA;oBAC7B,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;wBAC1B,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;wBAC5C,IAAI,aAAa,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,4BAAa,CAAC,CAAC,OAAO,CAAC;4BAC/E,KAAK,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;4BAC/D,SAAS,EAAE,CAAC,SAAS,CAAC;yBACvB,CAAC,CAAA;wBAEF,IAAI,CAAC,aAAa,EAAE;4BAClB,MAAM,GAAG,GAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;4BACpC,MAAM,OAAO,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;gCAC/D,KAAK,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE;6BACnD,CAAC,CAAA;4BAEF,IAAI,OAAO,EAAE;gCACX,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,4BAAa,CAAC,CAAC,OAAO,CAAC;oCAC5D,KAAK,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE;oCACtD,SAAS,EAAE,CAAC,SAAS,CAAC;iCACvB,CAAC,CAAA;6BACH;iCAAM;gCACL,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,gBAAgB,OAAO,8BAA8B,CAAC,CAAA;6BAC1F;yBACF;wBAED,IAAI,YAAY,GAAQ;4BACtB,IAAI,EAAE,6BAAgB,CAAC,YAAY,EAAE;4BACrC,OAAO,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO;4BAC/B,aAAa;4BACb,OAAO,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,GAAG;4BAC7B,WAAW,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW;4BACvC,WAAW,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW;4BACvC,GAAG,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG;4BACvB,QAAQ,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ;4BACjC,OAAO,EAAE,IAAI,CAAC,YAAY;4BAC1B,SAAS,EAAE,CAAC;4BACZ,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE;4BAChG,MAAM,EAAE,kCAAqB,CAAC,KAAK;4BACnC,SAAS,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;4BAC7B,OAAO,EAAE,IAAI,CAAC,SAAS;4BACvB,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,aAAa;4BACb,MAAM,EAAE,eAAe;4BACvB,QAAQ,EAAE,gBAAgB;yBAC3B,CAAA;wBAED,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBAClC,CAAC,CAAC,CACH,CAAA;oBACD,MAAM,EAAE,CAAC,aAAa,CAAC,yBAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;iBACzD;gBAED,mBAAmB,CAAC,MAAM,GAAG,4CAAmB,CAAC,OAAO,CAAA;gBACxD,MAAM,EAAE,CAAC,aAAa,CAAC,4CAAmB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;aACtE;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,MAAM,GAAG,GAAG,CAAA;KACrB;IAAC,OAAO,GAAG,EAAE;QACZ,YAAM,CAAC,KAAK,CAAC,sDAAsD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;QACrG,YAAM,CAAC,KAAK,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAA;QACxD,OAAO,CAAC,MAAM,GAAG,GAAG,CAAA;QACpB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KACxB;AACH,CAAC,CAAC,CAAA;AAEF,oBAAY,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACzE,MAAM,eAAe,GAAG,OAAO,CAAA;IAC/B,IAAI;QACF,MAAM,IAAA,uBAAa,GAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAiB,EAAE,EAAE;;YAC5D,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAA;YAExC,gDAAgD;YAChD,MAAM,UAAU,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,SAAS,CAAA;YAC5C,IAAI,IAAI,GAAQ,EAAE,CAAA;YAElB,IAAI,UAAU,KAAK,cAAc,EAAE;gBACjC,8DAA8D;gBAC9D,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE;oBAClC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iBAC7B;qBAAM;oBACL,IAAI,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,EAAE,CAAA;iBACxB;aACF;iBAAM;gBACL,qEAAqE;gBACrE,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE;oBAClC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iBAC7B;qBAAM;oBACL,IAAI,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,EAAE,CAAA;iBACxB;aACF;YAED,MAAM,OAAO,GAAG,MAAM,sCAAa,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;YACrD,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAA;aACjD;YAED,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAA;YAEpD,MAAM,MAAM,GAAG,IAAI,+BAAM,CAAC,EAAE,CAAC,CAAA;YAE7B,oEAAoE;YACpE,+BAA+B;YAC/B,IAAI,OAAO,GAAQ,IAAI,CAAA;YACvB,IAAI,UAAU,KAAK,cAAc,EAAE;gBACjC,MAAM,cAAc,GAAI,OAAO,CAAC,OAAe,CAAC,cAA6C,CAAA;gBAC7F,IAAI,cAAc,EAAE;oBAClB,OAAO,GAAG,MAAM,cAAc,CAAA;iBAC/B;aACF;YAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;gBAC5D,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAA;aAClD;YAED,MAAM,cAAc,GAAW,OAAO,CAAC,MAAM,CAAA;YAC7C,MAAM,gBAAgB,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;gBAC1E,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;aAClC,CAAC,CAAA;YACF,MAAM,mBAAmB,GAAa,MAAM,IAAA,6BAAkB,EAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAEnG,MAAM,eAAe,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,OAAO,CAAC;gBACrE,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;aACjD,CAAC,CAAA;YAEF,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,WAAW,gCAAgC,CAAC,CAAA;aACnE;YAED,IAAI,mBAAmB,GAAQ;gBAC7B,IAAI,EAAE,IAAA,SAAM,GAAE;gBACd,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,yCAAgB,CAAC,MAAM;gBACjC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,4CAAmB,CAAC,MAAM;aACnC,CAAA;YAED,IAAI,WAAW,GAAQ,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAElF,oCAAoC;YACpC,MAAM,OAAO,GAAG,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,0CAAE,EAAE,CAAC,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAA;YAEjF,IAAI,OAAO,EAAE;gBACX,IAAI,SAAc,CAAA;gBAClB,IAAI,UAAiB,CAAA;gBAErB,IAAI,UAAU,KAAK,cAAc,EAAE;oBACjC,2DAA2D;oBAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;oBACtC,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE,CAAA;oBAEtD,SAAS,GAAG;wBACV,OAAO,EAAE,YAAY,CAAC,EAAE;wBACxB,YAAY,EAAE,YAAY,CAAC,YAAY;wBACvC,OAAO,EAAE,YAAY,CAAC,OAAO;4BAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;4BAC3D,CAAC,CAAC,YAAY,CAAC,YAAY;gCAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gCAChE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;wBACzC,YAAY,EAAE,YAAY,CAAC,YAAY;wBACvC,UAAU,EAAE,YAAY,CAAC,UAAU;wBACnC,SAAS,EAAE,YAAY,CAAC,YAAY;wBACpC,OAAO,EAAE,YAAY,CAAC,UAAU;wBAChC,MAAM,EAAE,YAAY,CAAC,MAAM;wBAC3B,aAAa,EAAE,YAAY,CAAC,UAAU;wBACtC,YAAY,EAAE,IAAI;wBAClB,WAAW,EAAE,KAAK;wBAClB,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,YAAY,CAAC,OAAO;qBAC7B,CAAA;oBAED,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;;wBAClC,OAAO;4BACL,WAAW,EAAE,EAAE,CAAC,EAAE;4BAClB,OAAO,EAAE;gCACP,GAAG,EAAE,EAAE,CAAC,QAAQ;gCAChB,OAAO,EAAE,MAAA,EAAE,CAAC,MAAM,0CAAE,QAAQ,EAAE;6BAC/B;4BACD,YAAY,EAAE,EAAE,CAAC,UAAU;4BAC3B,UAAU,EAAE,EAAE,CAAC,QAAQ;4BACvB,UAAU,EAAE,EAAE,CAAC,WAAW;4BAC1B,YAAY,EAAE,EAAE,CAAC,WAAW;4BAC5B,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;4BACvC,YAAY,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC;yBAChC,CAAA;oBACH,CAAC,CAAC,CAAA;iBACH;qBAAM;oBACL,iCAAiC;oBACjC,MAAM,YAAY,GAAQ,MAAM,sCAAa,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;oBACnF,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;oBAClC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAA;iBACrC;gBAED,IAAI,SAAS,CAAC,YAAY,IAAI,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE;oBAC9F,cAAc;oBACd,IAAI,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC,YAAY,EAAE;wBAChD,IAAI,WAAW,GAAG;4BAChB,MAAM,EAAE,eAAe;4BACvB,QAAQ,EAAE,gBAAgB;4BAC1B,eAAe,EAAE,mBAAmB;4BACpC,aAAa,EAAE,KAAK;4BACpB,iBAAiB,EAAE,SAAS,CAAC,OAAO;4BACpC,YAAY,EAAE,KAAK;4BACnB,YAAY,EAAE,SAAS,CAAC,YAAY;4BACpC,aAAa,EAAE,KAAK;4BACpB,KAAK,EAAE,SAAS,CAAC,OAAO;4BACxB,MAAM,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY;4BAC/B,MAAM,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU;4BAC7B,WAAW,EAAE,SAAS,CAAC,SAAS;4BAChC,IAAI,EAAE,KAAK;4BACX,MAAM,EAAE,QAAQ;4BAChB,eAAe,EAAE,sBAAsB;4BACvC,sBAAsB,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM;4BACzC,MAAM,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,KAAI,IAAI;yBAClC,CAAA;wBAED,uBAAuB;wBACvB,MAAM,kBAAkB,CAAC,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;wBAE1E,cAAc;wBACd,IAAI,YAAY,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;wBAE5E,aAAa;wBACb,IAAI,SAAS,GAAG,EAAE,CAAA;wBAClB,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;4BAC1C,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAC3B;;;;;;;;;;;WAWP,EACO;gCACE,eAAe,CAAC,EAAE;gCAClB,gBAAgB,CAAC,EAAE;gCACnB,IAAI,CAAC,OAAO,CAAC,EAAE;gCACf,IAAI,CAAC,WAAW;gCAChB,IAAI,CAAC,WAAW;gCAChB,IAAI,CAAC,GAAG;gCACR,IAAI,CAAC,UAAU;gCACf,IAAI,CAAC,eAAe;6BACrB,CACF,CAAA;4BACD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;gCACxB,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC;oCACb,IAAI,EAAE,oBAAoB;oCAC1B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;oCACrB,WAAW,EAAE,IAAI,CAAC,WAAW;oCAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;oCAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;oCACb,GAAG,EAAE,IAAI,CAAC,UAAU;oCACpB,SAAS,EAAE,IAAI,CAAC,eAAe;iCAChC,CAAC,CACH,CAAA;6BACF;4BACD,OAAO,CAAC,GAAG,EAAE,CAAA;wBACf,CAAC,CAAC,CACH,CAAA;wBAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BACxB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;yBACzC;wBAED,IAAI,qBAAqB,GAAG,MAAM,iBAAiB,CACjD,YAAY,CAAC,aAAa,EAC1B,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,EAAE,CACH,CAAA;wBAED,IAAI,MAAM,GAAG,MAAM,iBAAiB,CAClC,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,EAAE,CACH,CAAA;wBAED,IAAI,cAAc,GAAG;4BACnB,EAAE,EAAE,MAAM,CAAC,EAAE;4BACb,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;4BAC3C,UAAU,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU;4BAC9B,cAAc,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc;4BACtC,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS;4BAC5B,WAAW,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW;4BAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;4BACxC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;4BACpC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;yBAC1C,CAAA;wBAED,OAAO,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,EAAE,CAAA;wBAC7C,oBAAoB;wBACpB,yBAAyB;wBACzB,qCAAqC;wBACrC,kBAAkB;wBAClB,kBAAkB;wBAClB,aAAa;wBACb,0BAA0B;wBAC1B,IAAI;qBACL;oBAED,cAAc;oBACd,IAAI,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE;wBAC9C,MAAM,YAAY,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;4BACpE,KAAK,EAAE;gCACL,MAAM,EAAE,eAAe;gCACvB,IAAI,EAAE,qCAAwB,CAAC,eAAe;6BAC/C;yBACF,CAAC,CAAA;wBAEF,IAAI,OAAO,GAAW,EAAE,CAAA;wBACxB,IAAI,YAAY,EAAE;4BAChB,OAAO,GAAG,MAAM,IAAA,yBAAU,EAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,mCAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;yBAC3G;6BAAM;4BACL,OAAO,GAAG,6BAAgB,CAAC,aAAa,EAAE,CAAA;yBAC3C;wBAED,IAAI,aAAa,GAAQ;4BACvB,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,SAAS,CAAC,OAAO;4BACxB,MAAM,EAAE,SAAS,CAAC,YAAY;4BAC9B,MAAM,EAAE,SAAS,CAAC,UAAU;4BAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;4BAC1B,YAAY,EAAE,SAAS,CAAC,YAAY;4BACpC,WAAW,EAAE,SAAS,CAAC,WAAW;4BAClC,SAAS,EAAE,SAAS,CAAC,SAAS;4BAC9B,MAAM,EAAE,SAAS,CAAC,MAAM;4BACxB,MAAM,EAAE,QAAQ;4BAChB,eAAe,EAAE,sBAAsB;4BACvC,MAAM,EAAE,eAAe;4BACvB,QAAQ,EAAE,gBAAgB;4BAC1B,MAAM,EAAE,WAAW;yBACpB,CAAA;wBACD,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,0BAAa,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;wBAEzE,IAAI,aAAa,GAAU,EAAE,CAAA;wBAC7B,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;4BAC1B,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;4BAC5C,IAAI,aAAa,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,4BAAa,CAAC,CAAC,OAAO,CAAC;gCAC/E,KAAK,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;gCAC/D,SAAS,EAAE,CAAC,SAAS,CAAC;6BACvB,CAAC,CAAA;4BAEF,IAAI,CAAC,aAAa,EAAE;gCAClB,MAAM,GAAG,GAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;gCACpC,MAAM,OAAO,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;oCAC/D,KAAK,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE;iCACnD,CAAC,CAAA;gCAEF,IAAI,OAAO,EAAE;oCACX,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,4BAAa,CAAC,CAAC,OAAO,CAAC;wCAC5D,KAAK,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE;wCACtD,SAAS,EAAE,CAAC,SAAS,CAAC;qCACvB,CAAC,CAAA;iCACH;qCAAM;oCACL,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,gBAAgB,OAAO,8BAA8B,CAAC,CAAA;iCAC1F;6BACF;4BAED,IAAI,YAAY,GAAQ;gCACtB,IAAI,EAAE,6BAAgB,CAAC,YAAY,EAAE;gCACrC,OAAO,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO;gCAC/B,aAAa;gCACb,OAAO,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,GAAG;gCAC7B,WAAW,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW;gCACvC,WAAW,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW;gCACvC,GAAG,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG;gCACvB,QAAQ,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ;gCACjC,OAAO,EAAE,IAAI,CAAC,YAAY;gCAC1B,SAAS,EAAE,CAAC;gCACZ,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE;gCAChG,MAAM,EAAE,SAAS;gCACjB,SAAS,EAAE,IAAI,CAAC,WAAW;gCAC3B,aAAa;gCACb,MAAM,EAAE,eAAe;gCACvB,QAAQ,EAAE,gBAAgB;6BAC3B,CAAA;4BAED,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;wBAClC,CAAC,CAAC,CACH,CAAA;wBACD,MAAM,EAAE,CAAC,aAAa,CAAC,yBAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;qBACzD;iBACF;aACF;YAED,mBAAmB,CAAC,MAAM,GAAG,4CAAmB,CAAC,OAAO,CAAA;YACxD,MAAM,EAAE,CAAC,aAAa,CAAC,4CAAmB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,MAAM,GAAG,GAAG,CAAA;KACrB;IAAC,OAAO,GAAG,EAAE;QACZ,YAAM,CAAC,KAAK,CAAC,iEAAiE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;QAChH,YAAM,CAAC,KAAK,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAA;QACnE,OAAO,CAAC,MAAM,GAAG,GAAG,CAAA;QACpB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KACxB;AACH,CAAC,CAAC,CAAA;AAEF,oBAAY,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACzE,IAAI;QACF,MAAM,IAAA,uBAAa,GAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAiB,EAAE,EAAE;YAC5D,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACzC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAA;YACzC,MAAM,IAAI,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAEpD,MAAM,OAAO,GAAG,MAAM,sCAAa,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;YACrD,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAA;aAC9C;YAED,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;YAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;YAErD,MAAM,MAAM,GAAG,IAAI,+BAAM,CAAC,EAAE,CAAC,CAAA;YAE7B,sFAAsF;YACtF,qCAAqC;YACrC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;gBACzD,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAA;aAClD;YAED,MAAM,cAAc,GAAW,OAAO,CAAC,MAAM,CAAA;YAC7C,MAAM,gBAAgB,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;gBAC1E,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;aAClC,CAAC,CAAA;YACF,MAAM,mBAAmB,GAAa,MAAM,IAAA,6BAAkB,EAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAEnG,MAAM,eAAe,GAAW,MAAM,EAAE,CAAC,aAAa,CAAC,cAAM,CAAC,CAAC,OAAO,CAAC;gBACrE,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;aACjD,CAAC,CAAA;YAEF,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,WAAW,gCAAgC,CAAC,CAAA;aACnE;YAED,IAAI,mBAAmB,GAAQ;gBAC7B,IAAI,EAAE,IAAA,SAAM,GAAE;gBACd,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,yCAAgB,CAAC,MAAM;gBACjC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,4CAAmB,CAAC,MAAM;aACnC,CAAA;YAED,IAAI,WAAW,GAAQ,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAElF,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,EAAE;gBACZ,MAAM,YAAY,GAAQ,MAAM,sCAAa,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC5F,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,YAAY,CAAA;gBAE9C,IAAI,SAAS,CAAC,YAAY,IAAI,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE;oBAC9F,cAAc;oBACd,IAAI,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE;wBAC9C,IAAI,WAAW,GAAG;4BAChB,MAAM,EAAE,eAAe;4BACvB,QAAQ,EAAE,gBAAgB;4BAC1B,eAAe,EAAE,mBAAmB;4BACpC,aAAa,EAAE,KAAK;4BACpB,iBAAiB,EAAE,SAAS,CAAC,OAAO;4BACpC,YAAY,EAAE,KAAK;4BACnB,YAAY,EAAE,SAAS,CAAC,YAAY;4BACpC,aAAa,EAAE,KAAK;4BACpB,KAAK,EAAE,SAAS,CAAC,OAAO;4BACxB,MAAM,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY;4BAC/B,MAAM,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU;4BAC7B,WAAW,EAAE,SAAS,CAAC,SAAS;4BAChC,IAAI,EAAE,KAAK;4BACX,MAAM,EAAE,QAAQ;4BAChB,eAAe,EAAE,sBAAsB;4BACvC,sBAAsB,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM;4BACzC,MAAM,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,KAAI,IAAI;yBAClC,CAAA;wBAED,uBAAuB;wBACvB,MAAM,kBAAkB,CAAC,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;wBAE1E,cAAc;wBACd,IAAI,YAAY,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;wBAE5E,aAAa;wBACb,IAAI,SAAS,GAAG,EAAE,CAAA;wBAClB,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;4BAC1C,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAC3B;;;;;;;;;;;WAWP,EACO;gCACE,eAAe,CAAC,EAAE;gCAClB,gBAAgB,CAAC,EAAE;gCACnB,IAAI,CAAC,OAAO,CAAC,EAAE;gCACf,IAAI,CAAC,WAAW;gCAChB,IAAI,CAAC,WAAW;gCAChB,IAAI,CAAC,GAAG;gCACR,IAAI,CAAC,UAAU;gCACf,IAAI,CAAC,eAAe;6BACrB,CACF,CAAA;4BACD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;gCACxB,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC;oCACb,IAAI,EAAE,oBAAoB;oCAC1B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;oCACrB,WAAW,EAAE,IAAI,CAAC,WAAW;oCAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;oCAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;oCACb,GAAG,EAAE,IAAI,CAAC,UAAU;oCACpB,SAAS,EAAE,IAAI,CAAC,eAAe;iCAChC,CAAC,CACH,CAAA;6BACF;4BACD,OAAO,CAAC,GAAG,EAAE,CAAA;wBACf,CAAC,CAAC,CACH,CAAA;wBAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BACxB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;yBACzC;wBAED,IAAI,qBAAqB,GAAG,MAAM,iBAAiB,CACjD,YAAY,CAAC,aAAa,EAC1B,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,EAAE,CACH,CAAA;wBAED,IAAI,MAAM,GAAG,MAAM,iBAAiB,CAClC,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,EAAE,CACH,CAAA;wBAED,IAAI,cAAc,GAAG;4BACnB,EAAE,EAAE,MAAM,CAAC,EAAE;4BACb,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;4BAC3C,UAAU,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU;4BAC9B,cAAc,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc;4BACtC,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS;4BAC5B,WAAW,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW;4BAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;4BACxC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;4BACpC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;yBAC1C,CAAA;wBAED,OAAO,CAAC,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,EAAE,CAAA;wBAC7C,oBAAoB;wBACpB,yBAAyB;wBACzB,qCAAqC;wBACrC,kBAAkB;wBAClB,kBAAkB;wBAClB,aAAa;wBACb,0BAA0B;wBAC1B,IAAI;qBACL;oBAED,cAAc;oBACd,IAAI,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC,YAAY,EAAE;wBAChD,MAAM,YAAY,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;4BACpE,KAAK,EAAE;gCACL,MAAM,EAAE,eAAe;gCACvB,IAAI,EAAE,qCAAwB,CAAC,eAAe;6BAC/C;yBACF,CAAC,CAAA;wBAEF,IAAI,OAAO,GAAW,EAAE,CAAA;wBACxB,IAAI,YAAY,EAAE;4BAChB,OAAO,GAAG,MAAM,IAAA,yBAAU,EAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,mCAAsB,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;yBAC3G;6BAAM;4BACL,OAAO,GAAG,6BAAgB,CAAC,aAAa,EAAE,CAAA;yBAC3C;wBAED,IAAI,aAAa,GAAQ;4BACvB,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,SAAS,CAAC,OAAO;4BACxB,MAAM,EAAE,SAAS,CAAC,YAAY;4BAC9B,MAAM,EAAE,SAAS,CAAC,UAAU;4BAC5B,OAAO,EAAE,SAAS,CAAC,OAAO;4BAC1B,YAAY,EAAE,SAAS,CAAC,YAAY;4BACpC,WAAW,EAAE,SAAS,CAAC,WAAW;4BAClC,SAAS,EAAE,SAAS,CAAC,SAAS;4BAC9B,MAAM,EAAE,SAAS,CAAC,MAAM;4BACxB,MAAM,EAAE,QAAQ;4BAChB,eAAe,EAAE,sBAAsB;4BACvC,MAAM,EAAE,eAAe;4BACvB,QAAQ,EAAE,gBAAgB;4BAC1B,MAAM,EAAE,WAAW;yBACpB,CAAA;wBACD,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,0BAAa,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;wBAEzE,IAAI,aAAa,GAAU,EAAE,CAAA;wBAC7B,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;4BAC1B,MAAM,aAAa,GAAkB,MAAM,IAAA,uBAAa,EAAC,4BAAa,CAAC,CAAC,OAAO,CAAC;gCAC9E,KAAK,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gCAC5E,SAAS,EAAE,CAAC,SAAS,CAAC;6BACvB,CAAC,CAAA;4BAEF,IAAI,CAAC,aAAa,EAAE;gCAClB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAA;6BAChD;4BAED,IAAI,YAAY,GAAQ;gCACtB,IAAI,EAAE,6BAAgB,CAAC,YAAY,EAAE;gCACrC,OAAO,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO;gCAC/B,aAAa;gCACb,OAAO,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,GAAG;gCAC7B,WAAW,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW;gCACvC,WAAW,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW;gCACvC,GAAG,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG;gCACvB,QAAQ,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ;gCACjC,OAAO,EAAE,IAAI,CAAC,YAAY;gCAC1B,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE;gCAChG,MAAM,EAAE,SAAS;gCACjB,aAAa;gCACb,MAAM,EAAE,eAAe;gCACvB,QAAQ,EAAE,gBAAgB;6BAC3B,CAAA;4BAED,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;wBAClC,CAAC,CAAC,CACH,CAAA;wBACD,MAAM,EAAE,CAAC,aAAa,CAAC,yBAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;qBACzD;iBACF;aACF;YAED,mBAAmB,CAAC,MAAM,GAAG,4CAAmB,CAAC,OAAO,CAAA;YACxD,MAAM,EAAE,CAAC,aAAa,CAAC,4CAAmB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,MAAM,GAAG,GAAG,CAAA;KACrB;IAAC,OAAO,GAAG,EAAE;QACZ,YAAM,CAAC,KAAK,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAA;KACpE;AACH,CAAC,CAAC,CAAA;AAEF,KAAK,UAAU,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE,0BAA0B,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE;IACrG,MAAM,EAAE,MAAM,EAAE,GAAuB,OAAO,CAAC,KAAK,CAAA;IACpD,MAAM,KAAK,GAAW,WAAW,CAAC,KAAK,CAAA;IACvC,MAAM,MAAM,GAAW,WAAW,CAAC,MAAM,CAAA;IACzC,MAAM,MAAM,GAAW,WAAW,CAAC,MAAM,CAAA;IAEzC,IAAI,0BAA0B,EAAE;QAC9B,MAAM,qBAAqB,GAAqB,MAAM,EAAE,CAAC,aAAa,CAAC,6BAAgB,CAAC,CAAC,OAAO,CAAC;YAC/F,KAAK,EAAE;gBACL,MAAM;gBACN,KAAK,EAAE,KAAK,IAAI,IAAI;gBACpB,MAAM,EAAE,MAAM,IAAI,IAAI;gBACtB,MAAM,EAAE,MAAM,IAAI,IAAI;gBACtB,MAAM,EAAE,IAAA,aAAG,EAAC,IAAA,YAAE,EAAC,CAAC,uCAA0B,CAAC,SAAS,CAAC,CAAC,CAAC;aACxD;SACF,CAAC,CAAA;QAEF,IAAI,qBAAqB,EAAE;YACzB,MAAM,IAAI,uBAAe,CAAC;gBACxB,SAAS,EAAE,gBAAgB;gBAC3B,OAAO,EAAE,oCAAoC;gBAC7C,MAAM,EAAE,qBAAqB,CAAC,IAAI;aACnC,CAAC,CAAA;SACH;QAED,MAAM,gBAAgB,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,OAAO,CAAC;YAChF,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,KAAK;gBACL,MAAM,EAAE,IAAA,aAAG,EAAC,IAAA,YAAE,EAAC,CAAC,yBAAY,CAAC,SAAS,EAAE,yBAAY,CAAC,cAAc,CAAC,CAAC,CAAC;aACvE;YACD,SAAS,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,yBAAyB,CAAC;SAC1F,CAAC,CAAA;QAEF,IAAI,gBAAgB,EAAE;YACpB,MAAM,IAAI,uBAAe,CAAC;gBACxB,SAAS,EAAE,gBAAgB;gBAC3B,OAAO,EAAE,8BAA8B;gBACvC,MAAM,EAAE,gBAAgB,CAAC,IAAI;aAC9B,CAAC,CAAA;SACH;KACF;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,WAAW,EACX,kBAAkB,EAClB,OAAO;IAEP,IAAI;QACF,IAAI,aAAa,GAAmB,EAAE,CAAA;QACtC,IAAI,SAAS,GAAG,EAAE,CAAA;QAClB,IAAI,eAAe,GAAG,CAAC,CAAA;QACvB,2BAA2B;QAC3B,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC/D,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,CAAA;YAClC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,GAAG,CAAA;YAEjE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE;gBACpB,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,0BAA0B;oBACnC,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE;oBAChC,WAAW,EAAE,WAAW;oBACxB,GAAG,EAAE,YAAY;iBAClB,CAAC,CACH,CAAA;aACF;YAED,IAAI,YAAY,IAAI,CAAC,EAAE;gBACrB,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,wBAAwB;oBACjC,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE;oBAChC,WAAW,EAAE,WAAW;oBACxB,GAAG,EAAE,YAAY;iBAClB,CAAC,CACH,CAAA;aACF;YAED,IAAI,aAAa,GAAG,GAAG,CAAC,SAAS,CAC/B,GAAG,CAAC,EAAE,CACJ,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,MAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAE,CAAA;gBACvB,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAA;gBAC/B,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE,CAAA;gBACvC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,KAAI,WAAW;gBAC/B,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,KAAI,WAAW,CAAC,IAAI,EAAE,CACvC,CAAA;YAED,IAAI,aAAa,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE;gBAC1C,GAAG,CAAC,aAAa,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,YAAY,GAAG,YAAY,CAAA;gBAChF,eAAe,IAAI,YAAY,CAAA;aAChC;iBAAM;gBACL,GAAG,CAAC,IAAI,CAAC;oBACP,GAAG,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAE;oBAChB,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;oBACxB,WAAW,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE;oBAChC,WAAW,EAAE,WAAW;oBACxB,UAAU,EAAE,YAAY;oBACxB,SAAS,EAAE,WAAW;iBACvB,CAAC,CAAA;gBAEF,eAAe,IAAI,YAAY,CAAA;aAChC;YAED,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,MAAM,IAAI,uBAAe,CAAC;gBACxB,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;aAC7B,CAAC,CAAA;SACH;QAED,6BAA6B;QAC7B,MAAM,OAAO,CAAC,GAAG,CACf,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAC,cAAc,EAAC,EAAE;YAC5C,MAAM,GAAG,GAAW,cAAc,CAAC,GAAG,CAAA;YACtC,MAAM,OAAO,GAAW,cAAc,CAAC,OAAO,CAAA;YAC9C,MAAM,WAAW,GAAW,cAAc,CAAC,WAAW,CAAA;YACtD,MAAM,WAAW,GAAW,cAAc,CAAC,WAAW,CAAA;YAEtD,MAAM,EAAE,GAAsC,IAAA,uBAAa,EAAC,4BAAa,CAAC;iBACvE,kBAAkB,CAAC,IAAI,CAAC;iBACxB,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC;iBACxC,KAAK,CAAC,gCAAgC,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,CAAA;YAE1F,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE;gBACpB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,eAAe,OAAO,YAAY,CAAC,CAAA;aACvE;YAED,IAAI,OAAO,EAAE;gBACX,EAAE,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;aACnD;YAED,IAAI,GAAG,EAAE;gBACP,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;aACxC;YAED,IAAI,WAAW,EAAE;gBACf,EAAE,CAAC,QAAQ,CAAC,gCAAgC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAA;aAC/D;YAED,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC9C,EAAE,CAAC,QAAQ,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;aAC/D;YAED,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAC,MAAM,EAAE,CAAA;YAEtD,wCAAwC;YACxC,IAAI,aAAa,EAAE;gBACjB,IAAI,eAAe,GAAmB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;gBACvE,eAAe,mCACV,eAAe,KAClB,OAAO,EAAE,aAAa,CAAC,OAAO,EAC9B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,aAAa,CAAC,WAAW,EACtC,WAAW,EAAE,WAAW,IAAI,aAAa,CAAC,WAAW,EACrD,GAAG,EAAE,aAAa,CAAC,GAAG,EACtB,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAChC,OAAO,EAAE,cAAc,CAAC,OAAO,EAC/B,UAAU,EAAE,cAAc,CAAC,UAAU,EACrC,eAAe,EAAE,cAAc,CAAC,UAAU,GAAG,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC,EAC1E,OAAO,EAAE,CAAC,EACV,aAAa,EAAE,CAAC,EAChB,SAAS,EAAE,CAAC,EACZ,eAAe,EAAE,CAAC,EAClB,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,iCAAoB,CAAC,QAAQ,EACrC,OAAO,EAAE,GAAG,EACZ,YAAY,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,GAC3C,CAAA;gBAED,eAAe,CAAC,gBAAgB,GAAG;oDAE5B,eAAe,KAClB,OAAO,EAAE,CAAC,EACV,aAAa,EAAE,CAAC,EAChB,SAAS,EAAE,CAAC,EACZ,eAAe,EAAE,CAAC,EAClB,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,mCAAsB,CAAC,iBAAiB;iBAEnD,CAAA;gBAED,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;aACpC;YAED,IAAI,CAAC,aAAa,EAAE;gBAClB,MAAM,EAAE,GAAsC,IAAA,uBAAa,EAAC,4BAAa,CAAC;qBACvE,kBAAkB,CAAC,IAAI,CAAC;qBACxB,kBAAkB,CAAC,0BAA0B,EAAE,KAAK,CAAC;qBACrD,kBAAkB,CAAC,mBAAmB,EAAE,KAAK,CAAC;qBAC9C,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC;qBACzC,KAAK,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,CAAA;gBAExF,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE;oBACpB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,eAAe,OAAO,YAAY,CAAC,CAAA;iBACvE;gBAED,IAAI,OAAO,EAAE;oBACX,EAAE,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;iBACnD;gBAED,IAAI,GAAG,EAAE;oBACP,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;iBACtC;gBAED,IAAI,WAAW,EAAE;oBACf,EAAE,CAAC,QAAQ,CAAC,gCAAgC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAA;iBAC/D;gBAED,MAAM,kBAAkB,GAAkB,MAAM,EAAE,CAAC,MAAM,EAAE,CAAA;gBAE3D,IAAI,kBAAkB,EAAE;oBACtB,IAAI,YAAY,GAAG;wBACjB,aAAa,EAAE,kBAAkB;wBACjC,OAAO;wBACP,WAAW,EAAE,kBAAkB,CAAC,WAAW;wBAC3C,WAAW,EAAE,WAAW,IAAI,CAAC;wBAC7B,GAAG,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG;wBACxB,UAAU,EAAE,cAAc,CAAC,UAAU;wBACrC,eAAe,EAAE,cAAc,CAAC,UAAU;wBAC1C,OAAO,EAAE,CAAC;wBACV,aAAa,EAAE,CAAC;wBAChB,SAAS,EAAE,CAAC;wBACZ,eAAe,EAAE,CAAC;wBAClB,gBAAgB,EAAE,EAAE;wBACpB,IAAI,EAAE,kBAAkB;wBACxB,MAAM,EAAE,iCAAoB,CAAC,QAAQ;wBACrC,OAAO,EAAE,GAAG;wBACZ,YAAY,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY;qBAC3C,CAAA;oBAED,MAAM,qBAAqB,GAAU,kBAAkB,CAAC,qBAAqB,CAAA;oBAC7E,qBAAqB,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;wBAC/C,MAAM,mBAAmB,GAAkB,oBAAoB,CAAC,aAAa,CAAA;wBAE7E,IAAI,iBAAiB,GAAmB;4BACtC,OAAO,EAAE,mBAAmB,CAAC,OAAO;4BACpC,aAAa,EAAE,mBAAmB;4BAClC,GAAG,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG;4BACpC,WAAW,EAAE,mBAAmB,CAAC,WAAW;4BAC5C,WAAW,EAAE,mBAAmB,CAAC,WAAW;4BAC5C,GAAG,EAAE,mBAAmB,CAAC,GAAG;4BAC5B,OAAO,EAAE,CAAC;4BACV,aAAa,EAAE,CAAC;4BAChB,SAAS,EAAE,CAAC;4BACZ,eAAe,EAAE,CAAC;4BAClB,UAAU,EAAE,cAAc,CAAC,YAAY,GAAG,oBAAoB,CAAC,SAAS;4BACxE,eAAe,EACb,cAAc,CAAC,YAAY;gCAC3B,oBAAoB,CAAC,SAAS;gCAC9B,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC;4BACxE,IAAI,EAAE,kBAAkB;4BACxB,MAAM,EAAE,mCAAsB,CAAC,iBAAiB;yBACjD,CAAA;wBAED,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;oBACvD,CAAC,CAAC,CAAA;oBACF,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;iBACjC;qBAAM;oBACL,IAAI,GAAG,IAAI,OAAO,EAAE;wBAClB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,gBAAgB,OAAO,uCAAuC,CAAC,CAAA;qBACnG;oBAED,IAAI,GAAG,EAAE;wBACP,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,uCAAuC,CAAC,CAAA;qBAC5E;oBAED,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,iBAAiB,OAAO,uCAAuC,CAAC,CAAA;qBACpF;iBACF;aACF;QACH,CAAC,CAAC,CACH,CAAA;QAED,2BAA2B;QAC3B,IAAI,aAAa,GAAmB,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YACxE,IAAI,EAAE,GAAG,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,gBAAgB,KAAI,EAAE,CAAA;YACnC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACf,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,CAAA;gBAClC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;gBAExF,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE;oBACpB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,OAAO,YAAY,CAAC,CAAA;iBACjE;gBACD,IAAI,aAAa,GAAG,GAAG,CAAC,SAAS,CAC/B,GAAG,CAAC,EAAE,CACJ,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,MAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAE,CAAA;oBACvB,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAA;oBAC/B,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,MAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE,CAAA;oBACvC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,KAAI,WAAW;oBAC/B,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAA;oBAC/B,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,MAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAE,CAAA,CAC1B,CAAA;gBAED,IAAI,aAAa,IAAI,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE;oBACxC,GAAG,CAAC,aAAa,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,UAAU,GAAG,UAAU,CAAA;oBAC1E,GAAG,CAAC,aAAa,CAAC,CAAC,eAAe;wBAChC,GAAG,CAAC,aAAa,CAAC,CAAC,eAAe,GAAG,UAAU,GAAG,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;iBAC/G;qBAAM;oBACL,IAAI,SAAS,GAAG;wBACd,GAAG,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAE;wBAChB,WAAW,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE;wBAChC,WAAW,EAAE,WAAW;wBACxB,GAAG,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAE;wBAChB,UAAU,EAAE,UAAU;wBACtB,eAAe,EAAE,UAAU,GAAG,CAAC,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC;wBACxF,OAAO;wBACP,aAAa;qBACd,CAAA;oBAED,IAAI,OAAO;wBAAE,SAAS,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;oBAClD,SAAS,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;oBAEtD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBACpB;YACH,CAAC,CAAC,CAAA;YACF,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAA;KACxC;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,KAAK,CAAA;KACZ;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,aAA6B,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE;;IAC5G,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC9C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACzD,IAAI,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QAEvC,IAAI,wBAAwB,GAAG,EAAE,CAAA;QACjC,MAAM,qBAAqB,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;YAC7E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE;SACpD,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;QACvD,IAAI,QAAQ,GAAQ,EAAE,CAAA;QAEtB,QAAQ,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE;YAC9C,KAAK,MAAM;gBACT,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBACpD,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,KAAK,EAAE;oBAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;wBAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;qBAC5E;iBACF;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;iBACzF;gBAED,MAAK;YACP,KAAK,MAAM;gBACT,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBAClG,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,KAAK,EAAE;oBAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;wBAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;qBAC5E;iBACF;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;iBACzF;gBAED,MAAK;YACP,KAAK,MAAM;gBACT,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnG,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,KAAK,EAAE;oBAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;wBAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;qBAC5E;iBACF;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;iBACzF;gBAED,MAAK;YACP,KAAK,UAAU;gBACb,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,KAAK,EAAE;oBAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;wBAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;qBAC5E;iBACF;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;iBACzF;gBAED,MAAK;YACP,mEAAmE;YACnE;gBACE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBACrD,IAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,KAAK,EAAE;oBAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;wBAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;qBAC5E;iBACF;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;oBAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;iBACrD;gBACD,MAAK;SACR;QAED,IAAI,YAAY,GAAG,EAAE,CAAA;QAErB,IAAI,YAAY,GAAG,YAAY,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAE5B,QAAQ,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAE;gBACrB,KAAK,OAAO,CAAC;gBACb,KAAK,IAAI;oBACP,GAAG,CAAC,KAAK,CAAC,IAAI,CACZ,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO;yBACtE,GAAG,CAAC,GAAG,EAAE;wBACR,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAA;oBACpC,CAAC,CAAC;yBACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAChB,CAAA;oBACD,MAAK;gBAEP;oBACE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAA;oBAC9F,MAAK;aACR;YAED,OAAO,GAAG,CAAA;QACZ,CAAC,EACD;YACE,KAAK,EAAE,EAAc;YACrB,MAAM,EAAE,EAAW;SACpB,CACF,CAAA;QAED,IAAI,SAAS,GAAG,QAAQ;aACrB,GAAG,CAAC,GAAG,CAAC,EAAE;YACT,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;QACnD,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,IAAI,MAAM,GAAU;YAClB,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,KAAI,IAAI;YAChB,eAAe,CAAC,EAAE;YAClB,gBAAgB,CAAC,EAAE;YACnB,cAAc,CAAC,WAAW;YAC1B,cAAc,CAAC,WAAW;YAC1B,cAAc,CAAC,OAAO,CAAC,EAAE;YACzB,iCAAgB,CAAC,MAAM;YACvB,8BAAa,CAAC,UAAU;YACxB,8BAAa,CAAC,OAAO;YACrB,GAAG,YAAY,CAAC,MAAM;SACvB,CAAA;QAED,wEAAwE;QACxE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QACpC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAC5C,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAC5C,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAC3C,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAChD,MAAM,CAAC,IAAI,CACT,cAAc,CAAC,GAAG,EAClB,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,UAAU,EACzB,cAAc,CAAC,eAAe,CAC/B,CAAA;QAED,MAAM,kBAAkB,GAAG,CAAC,CAAA;QAC5B,MAAM,cAAc,GAAG,EAAE,CAAA;QACzB,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;iCAiBS,UAAU,aAAa,kBAAkB,sBAAsB,kBAAkB;;mBAE/F,iBAAiB,8BAA8B,sBAAsB;;;gFAGR,SAAS;;;;;;;;;;;;oBAYrE,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;6BACrE,SAAS;;;;;;;;;iHAS2E,CAAA;QAE7G,IAAI,kBAAkB,CAAA;QAEtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,kBAAkB,EAAE,OAAO,EAAE,EAAE;YAC9D,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;YAExC,kBAAkB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YAEjF,MAAM,YAAY,GAAG,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,CAAC,CAAC,KAAI,EAAE,CAAA;YAClD,IAAI,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnD,OAAO,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACtC,CAAC,EAAE,CAAC,CAAC,CAAA;YAEL,IAAI,YAAY,GAAG,YAAY,CAAC,UAAU,CAAA;YAC1C,IAAI,CAAC,CAAA,MAAA,cAAc,CAAC,OAAO,0CAAE,kBAAkB,CAAA,EAAE;gBAC/C,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;gBACvC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;aAC1C;iBAAM;gBACL,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;gBACrD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;aACxD;YAED,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG,KAAK,EAAE;gBAClD,MAAM,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;gBACpD,IAAI,OAAO,GAAG,kBAAkB,EAAE;oBAChC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;oBACjE,SAAQ;iBACT;gBACD,MAAM,IAAI,uBAAe,CAAC;oBACxB,SAAS,EAAE,oBAAoB;oBAC/B,OAAO,EAAE,oBAAoB;oBAC7B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;wBACrB,IAAI,EAAE,oBAAoB;wBAC1B,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG;wBAC7B,WAAW,EAAE,YAAY,CAAC,WAAW;wBACrC,WAAW,EAAE,YAAY,CAAC,WAAW;wBACrC,GAAG,EAAE,YAAY,CAAC,GAAG;wBACrB,GAAG,EAAE,YAAY,CAAC,UAAU;wBAC5B,SAAS,EAAE,YAAY,CAAC,eAAe;qBACxC,CAAC;iBACH,CAAC,CAAA;aACH;YAED,MAAM,EAAE,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;YAChD,MAAK;SACN;QAED,CAAC;QAAA,CAAC,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,CAAC,CAAC,KAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7C,IAAI,EAAE,mCACD,cAAc,KACjB,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EACzB,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,WAAW,EAAE,GAAG,CAAC,YAAY,EAC7B,OAAO,EAAE,GAAG,CAAC,QAAQ,EACrB,UAAU,EAAE,GAAG,CAAC,WAAW,EAC3B,eAAe,EAAE,GAAG,CAAC,iBAAiB,EACtC,SAAS,EAAE,CAAC,EACZ,SAAS,EAAE,CAAC,EACZ,IAAI,EAAE,wBAAW,CAAC,gBAAgB,EAClC,MAAM,EAAE,mCAAsB,CAAC,iBAAiB,EAChD,MAAM,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,EAClC,QAAQ,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,EAAE,EAAE,GACtC,CAAA;YAED,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,aAAa,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,wBAAwB,CAAA;KACjE;IAED,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,WAAgB,EAChB,aAA6B,EAC7B,QAAkB,EAClB,MAAc,EACd,OAAY,EACZ,EAAkB;IAElB,IAAI;QACF,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7B,MAAM,IAAI,uBAAe,CAAC;gBACxB,SAAS,EAAE,gBAAgB;gBAC3B,OAAO,EAAE,sBAAsB;gBAC/B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aACpC,CAAC,CAAA;SACH;QAED,IAAI,cAAc,GAAgB,IAAI,wBAAW,EAAE,CAAA;QAEnD,8BAA8B;QAC9B,MAAM,WAAW,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;YACnE,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI,EAAE,qCAAwB,CAAC,cAAc;aAC9C;SACF,CAAC,CAAA;QAEF,cAAc,GAAG;YACf,IAAI,EAAE,WAAW;gBACf,CAAC,CAAC,MAAM,IAAA,yBAAU,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAChF,CAAC,CAAC,6BAAgB,CAAC,WAAW,EAAE;YAClC,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;YAChD,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,sBAAsB,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,sBAAsB,KAAI,IAAI;YACnE,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,IAAI;YAClC,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,IAAI;YAClC,MAAM,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,KAAI,IAAI;YACnC,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,IAAI,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAClD,MAAM,EAAE,yBAAY,CAAC,iBAAiB;YACtC,SAAS,EAAE,aAAa,CAAC,MAAM;YAC/B,MAAM,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM;YAC3B,UAAU,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU;YACnC,cAAc,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc;YAC3C,SAAS,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS;YACjC,WAAW,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW;YACrC,UAAU,EAAE,IAAI,IAAI,EAAE;SACvB,CAAA;QAED,IAAI,iBAAiB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAChF,IAAI,wBAAwB,GAAqB,EAAE,CAAA;QACnD,IAAI,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;YACrC,IAAI,gBAAgB,GAAqB,YAAY,CAAC,gBAAgB,CAAA;YACtE,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,yBAAY,EAAE,kCAC1C,YAAY,KACf,IAAI,EAAE,IAAA,SAAM,GAAE,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,wBAAW,CAAC,gBAAgB,EAClC,MAAM,EAAE,iCAAoB,CAAC,QAAQ,IACrC,CAAA;YACF,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,yBAAY,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAEpE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC5D,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,2BAAc,EAAE,kCAClD,gBAAgB,CAAC,KAAK,CAAC,KAC1B,IAAI,EAAE,IAAA,SAAM,GAAE,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,wBAAW,CAAC,gBAAgB,EAClC,MAAM,EAAE,mCAAsB,CAAC,iBAAiB,EAChD,YAAY,EAAE,MAAM,IACpB,CAAA;gBACF,MAAM,EAAE,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBAE3D,wBAAwB,CAAC,IAAI,CAAC;oBAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE;oBAC/E,OAAO,EAAE,cAAc,CAAC,OAAO;oBAC/B,WAAW,EAAE,cAAc,CAAC,WAAW;oBACvC,WAAW,EAAE,cAAc,CAAC,WAAW;oBACvC,UAAU,EAAE,cAAc,CAAC,UAAU;oBACrC,eAAe,EAAE,cAAc,CAAC,eAAe;iBAChD,CAAC,CAAA;aACH;YAED,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CACH,CAAA;QAED,cAAc,CAAC,aAAa,GAAG,kBAAkB,CAAA;QACjD,cAAc,CAAC,gBAAgB,GAAG,wBAAwB,CAAA;QAE1D,OAAO,cAAc,CAAA;KACtB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,KAAK,CAAA;KACZ;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/operato-hub",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.784",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"@things-factory/i18n-base": "^4.3.767",
|
|
78
78
|
"@things-factory/import-ui": "^4.3.770",
|
|
79
79
|
"@things-factory/import-ui-excel": "^4.3.776",
|
|
80
|
-
"@things-factory/integration-accounting": "^4.3.
|
|
80
|
+
"@things-factory/integration-accounting": "^4.3.784",
|
|
81
81
|
"@things-factory/integration-base": "^4.3.776",
|
|
82
82
|
"@things-factory/integration-fulfillment": "^4.3.776",
|
|
83
83
|
"@things-factory/integration-lmd": "^4.3.776",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"@things-factory/pdf": "^4.3.767",
|
|
94
94
|
"@things-factory/product-ui": "^4.3.782",
|
|
95
95
|
"@things-factory/resource-ui": "^4.3.770",
|
|
96
|
-
"@things-factory/sales-base": "^4.3.
|
|
96
|
+
"@things-factory/sales-base": "^4.3.784",
|
|
97
97
|
"@things-factory/scene-data-transform": "^4.3.767",
|
|
98
98
|
"@things-factory/scene-excel": "^4.3.767",
|
|
99
99
|
"@things-factory/scene-firebase": "^4.3.767",
|
|
@@ -109,8 +109,8 @@
|
|
|
109
109
|
"@things-factory/shell": "^4.3.767",
|
|
110
110
|
"@things-factory/system-ui": "^4.3.767",
|
|
111
111
|
"@things-factory/transport-base": "^4.3.767",
|
|
112
|
-
"@things-factory/warehouse-base": "^4.3.
|
|
113
|
-
"@things-factory/worksheet-base": "^4.3.
|
|
112
|
+
"@things-factory/warehouse-base": "^4.3.784",
|
|
113
|
+
"@things-factory/worksheet-base": "^4.3.784",
|
|
114
114
|
"cron-parser": "^4.7.0",
|
|
115
115
|
"koa2-swagger-ui": "^5.0.2",
|
|
116
116
|
"swagger-jsdoc": "^5.0.0",
|
|
@@ -123,5 +123,5 @@
|
|
|
123
123
|
"resolutions": {
|
|
124
124
|
"core-js": "^3.16.0"
|
|
125
125
|
},
|
|
126
|
-
"gitHead": "
|
|
126
|
+
"gitHead": "dae1fb8cbc409da6e78f52a2f8433caa3f544a54"
|
|
127
127
|
}
|
|
@@ -48,6 +48,15 @@ xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
|
|
|
48
48
|
const { id, warehouseId } = context.query
|
|
49
49
|
const { body, header } = context.request
|
|
50
50
|
|
|
51
|
+
// Log raw webhook payload for debugging
|
|
52
|
+
logger.info(
|
|
53
|
+
`xilnex-router[webhook-xilnex-po][raw-payload]: ${JSON.stringify({
|
|
54
|
+
query: context.query,
|
|
55
|
+
headers: header,
|
|
56
|
+
body
|
|
57
|
+
})}`
|
|
58
|
+
)
|
|
59
|
+
|
|
51
60
|
// Detect source type and parse data accordingly
|
|
52
61
|
const sourceType = body?.Source || 'Classic'
|
|
53
62
|
let data: any = {}
|
|
@@ -60,8 +69,12 @@ xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
|
|
|
60
69
|
data = body?.Data || {}
|
|
61
70
|
}
|
|
62
71
|
} else {
|
|
63
|
-
// Classic: body.Data
|
|
64
|
-
|
|
72
|
+
// Classic: body.Data might be a JSON string or already parsed object
|
|
73
|
+
if (typeof body?.Data === 'string') {
|
|
74
|
+
data = JSON.parse(body.Data)
|
|
75
|
+
} else {
|
|
76
|
+
data = body?.Data || {}
|
|
77
|
+
}
|
|
65
78
|
}
|
|
66
79
|
|
|
67
80
|
const account = await AccountingAPI.getAccounting(id)
|
|
@@ -161,6 +174,26 @@ xilnexRouter.post('/webhook-xilnex-po', async (context, next) => {
|
|
|
161
174
|
let accountInfo: any = account?.accountInfo ? JSON.parse(account.accountInfo) : {}
|
|
162
175
|
|
|
163
176
|
if (accountInfo.outlet == orderInfo.toOutlet) {
|
|
177
|
+
// Check for duplicate PO with the same refNo to prevent retries creating duplicates
|
|
178
|
+
const existingPO: PurchaseOrder = await tx.getRepository(PurchaseOrder).findOne({
|
|
179
|
+
where: {
|
|
180
|
+
domain: warehouseDomain,
|
|
181
|
+
bizplace: customerBizplace,
|
|
182
|
+
refNo: String(orderInfo.orderId),
|
|
183
|
+
source: 'XILNEX'
|
|
184
|
+
}
|
|
185
|
+
})
|
|
186
|
+
|
|
187
|
+
if (existingPO) {
|
|
188
|
+
logger.info(
|
|
189
|
+
`xilnex-router[webhook-xilnex-po]: Duplicate PO skipped, refNo ${orderInfo.orderId} already exists as ${existingPO.name}`
|
|
190
|
+
)
|
|
191
|
+
accountWebhookOrder.status = ACCOUNT_SYNC_STATUS.SUCCESS
|
|
192
|
+
await tx.getRepository(AccountWebhookOrder).save(accountWebhookOrder)
|
|
193
|
+
context.status = 200
|
|
194
|
+
return
|
|
195
|
+
}
|
|
196
|
+
|
|
164
197
|
const poNoSetting: Setting = await tx.getRepository(Setting).findOne({
|
|
165
198
|
where: {
|
|
166
199
|
domain: warehouseDomain,
|
|
@@ -276,8 +309,12 @@ xilnexRouter.post('/webhook-xilnex-transfer-note', async (context, next) => {
|
|
|
276
309
|
data = body?.Data || {}
|
|
277
310
|
}
|
|
278
311
|
} else {
|
|
279
|
-
// Classic: body.Data
|
|
280
|
-
|
|
312
|
+
// Classic: body.Data might be a JSON string or already parsed object
|
|
313
|
+
if (typeof body?.Data === 'string') {
|
|
314
|
+
data = JSON.parse(body.Data)
|
|
315
|
+
} else {
|
|
316
|
+
data = body?.Data || {}
|
|
317
|
+
}
|
|
281
318
|
}
|
|
282
319
|
|
|
283
320
|
const account = await AccountingAPI.getAccounting(id)
|
|
@@ -1281,17 +1318,16 @@ async function assignToInventory(orderProducts: OrderProduct[], customerBizplace
|
|
|
1281
1318
|
|
|
1282
1319
|
let queryFilters = []
|
|
1283
1320
|
|
|
1284
|
-
// TODO: Fix reducer bugs — typo itm.filtes -> itm.filters, duplicate acc.query.push, missing return acc
|
|
1285
1321
|
let queryStrings = queryFilters.reduce(
|
|
1286
|
-
(acc, itm
|
|
1322
|
+
(acc, itm) => {
|
|
1287
1323
|
acc.values.push(itm.filters)
|
|
1288
1324
|
|
|
1289
1325
|
switch (itm?.operator) {
|
|
1290
1326
|
case 'notin':
|
|
1291
1327
|
case 'in':
|
|
1292
1328
|
acc.query.push(
|
|
1293
|
-
`${itm.query} ${itm.operator == 'notin' ? 'NOT IN' : 'IN'} (${itm.
|
|
1294
|
-
.map((
|
|
1329
|
+
`${itm.query} ${itm.operator == 'notin' ? 'NOT IN' : 'IN'} (${itm.filters
|
|
1330
|
+
.map(() => {
|
|
1295
1331
|
return `$${acc.values.length + 1}`
|
|
1296
1332
|
})
|
|
1297
1333
|
.join(',')})`
|
|
@@ -1302,11 +1338,12 @@ async function assignToInventory(orderProducts: OrderProduct[], customerBizplace
|
|
|
1302
1338
|
acc.query.push(`${itm.query} ${itm?.operator ? itm.operator : '='} $${acc.values.length + 1}`)
|
|
1303
1339
|
break
|
|
1304
1340
|
}
|
|
1305
|
-
|
|
1341
|
+
|
|
1342
|
+
return acc
|
|
1306
1343
|
},
|
|
1307
1344
|
{
|
|
1308
|
-
query: [],
|
|
1309
|
-
values: []
|
|
1345
|
+
query: [] as string[],
|
|
1346
|
+
values: [] as any[]
|
|
1310
1347
|
}
|
|
1311
1348
|
)
|
|
1312
1349
|
|
|
@@ -1316,93 +1353,128 @@ async function assignToInventory(orderProducts: OrderProduct[], customerBizplace
|
|
|
1316
1353
|
})
|
|
1317
1354
|
.join(`,`)
|
|
1318
1355
|
|
|
1319
|
-
let
|
|
1320
|
-
|
|
1321
|
-
|
|
1356
|
+
let params: any[] = [
|
|
1357
|
+
user?.id || null,
|
|
1358
|
+
warehouseDomain.id,
|
|
1359
|
+
customerBizplace.id,
|
|
1360
|
+
orderInventory.packingType,
|
|
1361
|
+
orderInventory.packingSize,
|
|
1362
|
+
orderInventory.product.id,
|
|
1363
|
+
INVENTORY_STATUS.STORED,
|
|
1364
|
+
LOCATION_TYPE.QUARANTINE,
|
|
1365
|
+
LOCATION_TYPE.RESERVE,
|
|
1366
|
+
...queryStrings.values
|
|
1367
|
+
]
|
|
1368
|
+
|
|
1369
|
+
// Add seed row parameters to avoid SQL injection from template literals
|
|
1370
|
+
const seedUomIdx = params.length + 1
|
|
1371
|
+
const seedPackingTypeIdx = params.length + 2
|
|
1372
|
+
const seedPackingSizeIdx = params.length + 3
|
|
1373
|
+
const seedReleaseQtyIdx = params.length + 4
|
|
1374
|
+
const seedReleaseUomValueIdx = params.length + 5
|
|
1375
|
+
params.push(
|
|
1376
|
+
orderInventory.uom,
|
|
1377
|
+
orderInventory.packingType,
|
|
1378
|
+
orderInventory.packingSize,
|
|
1379
|
+
orderInventory.releaseQty,
|
|
1380
|
+
orderInventory.releaseUomValue
|
|
1381
|
+
)
|
|
1382
|
+
|
|
1383
|
+
const MAX_ASSIGN_RETRIES = 3
|
|
1384
|
+
const RETRY_DELAY_MS = 10
|
|
1385
|
+
const assignQuery = `
|
|
1386
|
+
update inventories tgt set locked_qty = coalesce(locked_qty,0) + src.reserve_qty,
|
|
1322
1387
|
locked_uom_value = coalesce(locked_uom_value,0) + src.reserve_uom_value,
|
|
1323
1388
|
updated_at = NOW(),
|
|
1324
1389
|
updater_id = $1
|
|
1325
1390
|
from (
|
|
1326
1391
|
select "id", "pallet_id","carton_id", "batch_id", "batch_id_ref", "unit", "uom", "packing_type", "packing_size", "manufacture_year",
|
|
1327
|
-
"reserve_qty", (("uom_value"/"qty") * "reserve_qty") as "reserve_uom_value" from (
|
|
1328
|
-
select "sort_seq", "id", "pallet_id", "batch_id", "batch_id_ref", "unit", "uom", "packing_type", "packing_size", "manufacture_year", "carton_id", "uom_value", "locked_uom_value", "qty", "locked_qty", "created_at",
|
|
1329
|
-
"release_qty", "release_uom_value", lock_amount,
|
|
1392
|
+
"reserve_qty", (("uom_value"/"qty") * "reserve_qty") as "reserve_uom_value" from (
|
|
1393
|
+
select "sort_seq", "id", "pallet_id", "batch_id", "batch_id_ref", "unit", "uom", "packing_type", "packing_size", "manufacture_year", "carton_id", "uom_value", "locked_uom_value", "qty", "locked_qty", "created_at",
|
|
1394
|
+
"release_qty", "release_uom_value", lock_amount,
|
|
1330
1395
|
case when "lock_amount" < 0 then "available_qty" else "available_qty" - "lock_amount" end as "reserve_qty"
|
|
1331
1396
|
from (
|
|
1332
1397
|
select *,
|
|
1333
1398
|
qty - locked_qty as available_qty,
|
|
1334
1399
|
sum(qty - locked_qty - release_qty) over (order by sort_seq asc rows between unbounded preceding and current row) as lock_amount
|
|
1335
1400
|
from (
|
|
1336
|
-
// TODO: Replace template literal interpolation with $N positional parameters (see unstable/add-release-order.ts for pattern)
|
|
1337
|
-
// String values (uom, packingType, packingSize) are SQL injection vectors; numeric values need ::numeric casts
|
|
1338
1401
|
SELECT 0 as sort_seq, null as id, null as pallet_id, null as batch_id, null as batch_id_ref,
|
|
1339
|
-
null as unit,
|
|
1340
|
-
orderInventory.packingSize
|
|
1341
|
-
}' as packing_size,
|
|
1402
|
+
null as unit, $${seedUomIdx} as uom, $${seedPackingTypeIdx} as packing_type, $${seedPackingSizeIdx} as packing_size,
|
|
1342
1403
|
null as manufacture_year, null as carton_id, 0 as uom_value, 0 as locked_uom_value, 0 as qty, 0 as locked_qty, null as created_at,
|
|
1343
|
-
|
|
1404
|
+
$${seedReleaseQtyIdx}::numeric as release_qty, $${seedReleaseUomValueIdx}::numeric as release_uom_value
|
|
1344
1405
|
UNION
|
|
1345
1406
|
(
|
|
1346
|
-
SELECT ROW_NUMBER() OVER(PARTITION BY iv.domain_id ORDER BY ${sortQuery}) as sort_seq,
|
|
1347
|
-
iv.id, iv.pallet_id, iv.batch_id, iv.batch_id_ref,
|
|
1348
|
-
iv.unit, iv.uom, iv.packing_type, iv.packing_size,
|
|
1349
|
-
iv.manufacture_year, iv.carton_id, iv.uom_value,
|
|
1407
|
+
SELECT ROW_NUMBER() OVER(PARTITION BY iv.domain_id ORDER BY ${sortQuery}) as sort_seq,
|
|
1408
|
+
iv.id, iv.pallet_id, iv.batch_id, iv.batch_id_ref,
|
|
1409
|
+
iv.unit, iv.uom, iv.packing_type, iv.packing_size,
|
|
1410
|
+
iv.manufacture_year, iv.carton_id, iv.uom_value,
|
|
1350
1411
|
coalesce(iv.locked_uom_value,0) as locked_uom_value, iv.qty, coalesce(iv.locked_qty,0) as locked_qty, iv.created_at,
|
|
1351
1412
|
0 as release_qty, 0 as release_uom_value
|
|
1352
|
-
FROM "inventories" "iv"
|
|
1353
|
-
INNER JOIN "locations" "loc" ON "loc"."id"="iv"."location_id"
|
|
1354
|
-
INNER JOIN "products" "p" ON "p"."id"="iv"."product_id"
|
|
1355
|
-
WHERE case when coalesce("iv"."locked_qty",0) < 0 then 0 else ("iv"."qty" - coalesce("iv"."locked_qty",0)) end > 0 AND
|
|
1413
|
+
FROM "inventories" "iv"
|
|
1414
|
+
INNER JOIN "locations" "loc" ON "loc"."id"="iv"."location_id"
|
|
1415
|
+
INNER JOIN "products" "p" ON "p"."id"="iv"."product_id"
|
|
1416
|
+
WHERE case when coalesce("iv"."locked_qty",0) < 0 then 0 else ("iv"."qty" - coalesce("iv"."locked_qty",0)) end > 0 AND
|
|
1356
1417
|
"iv"."domain_id" = $2 AND "iv"."bizplace_id" = $3 AND "iv"."packing_type" = $4 AND "iv"."packing_size" = $5 AND "iv"."product_id" = $6 AND "iv"."status" = $7 AND "loc"."type" NOT IN ($8, $9)
|
|
1357
1418
|
AND "iv"."obsolete" = false AND case when "iv"."expiration_date" is not null and "p"."min_outbound_shelf_life" is not null then CURRENT_DATE < "iv"."expiration_date" - "p"."min_outbound_shelf_life" else true end
|
|
1358
1419
|
${queryStrings.query.length > 0 ? `AND ${queryStrings.query.join(' AND ')}` : ''}
|
|
1359
1420
|
ORDER BY ${sortQuery}
|
|
1360
1421
|
)
|
|
1361
1422
|
) dt1
|
|
1362
|
-
) dt2 where case when "lock_amount" < 0 then "available_qty" else "available_qty" - "lock_amount" end > 0
|
|
1423
|
+
) dt2 where case when "lock_amount" < 0 then "available_qty" else "available_qty" - "lock_amount" end > 0
|
|
1363
1424
|
) dt3 where sort_seq > 0
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
tgt."
|
|
1369
|
-
tgt."uom", tgt."packing_type", tgt."packing_size", tgt."manufacture_year",
|
|
1370
|
-
tgt."locked_qty", tgt."uom_value", tgt."locked_uom_value", src."reserve_qty", src."reserve_uom_value";`,
|
|
1371
|
-
[
|
|
1372
|
-
user?.id || null,
|
|
1373
|
-
warehouseDomain.id,
|
|
1374
|
-
customerBizplace.id,
|
|
1375
|
-
orderInventory.packingType,
|
|
1376
|
-
orderInventory.packingSize,
|
|
1377
|
-
orderInventory.product.id,
|
|
1378
|
-
INVENTORY_STATUS.STORED,
|
|
1379
|
-
LOCATION_TYPE.QUARANTINE,
|
|
1380
|
-
LOCATION_TYPE.RESERVE,
|
|
1381
|
-
...queryStrings.values
|
|
1382
|
-
]
|
|
1383
|
-
)
|
|
1425
|
+
) src where src.id = tgt.id AND tgt.qty >= coalesce(tgt.locked_qty, 0) + src.reserve_qty
|
|
1426
|
+
returning
|
|
1427
|
+
tgt."id", tgt."qty", tgt."pallet_id", tgt."carton_id", tgt."batch_id", tgt."batch_id_ref", tgt."unit",
|
|
1428
|
+
tgt."uom", tgt."packing_type", tgt."packing_size", tgt."manufacture_year",
|
|
1429
|
+
tgt."locked_qty", tgt."uom_value", tgt."locked_uom_value", src."reserve_qty", src."reserve_uom_value";`
|
|
1384
1430
|
|
|
1385
|
-
let
|
|
1386
|
-
return acc + inv.reserve_qty
|
|
1387
|
-
}, 0)
|
|
1431
|
+
let updatedInventories
|
|
1388
1432
|
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1433
|
+
for (let attempt = 1; attempt <= MAX_ASSIGN_RETRIES; attempt++) {
|
|
1434
|
+
await tx.query('SAVEPOINT assign_retry')
|
|
1435
|
+
|
|
1436
|
+
updatedInventories = await tx.getRepository(Inventory).query(assignQuery, params)
|
|
1437
|
+
|
|
1438
|
+
const assignedRows = updatedInventories?.[0] || []
|
|
1439
|
+
let totalAssigned = assignedRows.reduce((acc, inv) => {
|
|
1440
|
+
return acc + Number(inv.reserve_qty)
|
|
1441
|
+
}, 0)
|
|
1442
|
+
|
|
1443
|
+
let opReleaseQty = orderProduct.releaseQty
|
|
1444
|
+
if (!orderInventory.product?.isInventoryDecimal) {
|
|
1445
|
+
opReleaseQty = Math.round(opReleaseQty)
|
|
1446
|
+
totalAssigned = Math.round(totalAssigned)
|
|
1447
|
+
} else {
|
|
1448
|
+
opReleaseQty = Math.round(opReleaseQty * 1000) / 1000
|
|
1449
|
+
totalAssigned = Math.round(totalAssigned * 1000) / 1000
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
if (Math.abs(opReleaseQty - totalAssigned) > 0.001) {
|
|
1453
|
+
await tx.query('ROLLBACK TO SAVEPOINT assign_retry')
|
|
1454
|
+
if (attempt < MAX_ASSIGN_RETRIES) {
|
|
1455
|
+
await new Promise(resolve => setTimeout(resolve, RETRY_DELAY_MS))
|
|
1456
|
+
continue
|
|
1457
|
+
}
|
|
1458
|
+
throw new ValidationError({
|
|
1459
|
+
errorCode: 'INSUFFICIENT_STOCK',
|
|
1460
|
+
message: 'insufficient stock',
|
|
1461
|
+
detail: JSON.stringify({
|
|
1462
|
+
code: 'insufficient stock',
|
|
1463
|
+
sku: orderProduct.product.sku,
|
|
1464
|
+
packingType: orderProduct.packingType,
|
|
1465
|
+
packingSize: orderProduct.packingSize,
|
|
1466
|
+
uom: orderProduct.uom,
|
|
1467
|
+
qty: orderProduct.releaseQty,
|
|
1468
|
+
uom_value: orderProduct.releaseUomValue
|
|
1469
|
+
})
|
|
1401
1470
|
})
|
|
1402
|
-
}
|
|
1471
|
+
}
|
|
1472
|
+
|
|
1473
|
+
await tx.query('RELEASE SAVEPOINT assign_retry')
|
|
1474
|
+
break
|
|
1403
1475
|
}
|
|
1404
1476
|
|
|
1405
|
-
updatedInventories[0].forEach(inv => {
|
|
1477
|
+
;(updatedInventories?.[0] || []).forEach(inv => {
|
|
1406
1478
|
let oi = {
|
|
1407
1479
|
...orderInventory,
|
|
1408
1480
|
inventory: { id: inv.id },
|