@bringg/dashboard-sdk 2.6.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BringgDashboardSDK.d.ts +2 -0
- package/dist/BringgDashboardSDK.js +2 -0
- package/dist/BringgDashboardSDK.js.map +1 -1
- package/dist/Data/extra-data-store.d.ts +7 -0
- package/dist/Data/extra-data-store.js +3 -0
- package/dist/Data/extra-data-store.js.map +1 -0
- package/dist/Data/light-data-store.d.ts +13 -0
- package/dist/Data/light-data-store.js +67 -0
- package/dist/Data/light-data-store.js.map +1 -0
- package/dist/Data/object-merger.d.ts +5 -0
- package/dist/Data/object-merger.js +70 -0
- package/dist/Data/object-merger.js.map +1 -0
- package/dist/MerchantConfiguration/MerchantConfiguration.consts.js +1 -1
- package/dist/MerchantConfiguration/MerchantConfiguration.consts.js.map +1 -1
- package/dist/Services/ServiceRequest.js +1 -1
- package/dist/Task/Entity/TaskEntity.js.map +1 -1
- package/dist/Task/Tasks.consts.d.ts +4 -0
- package/dist/Task/Tasks.consts.js.map +1 -1
- package/dist/Task/v2/task-realtime-subscriptions.d.ts +14 -0
- package/dist/Task/v2/task-realtime-subscriptions.js +98 -0
- package/dist/Task/v2/task-realtime-subscriptions.js.map +1 -0
- package/dist/Task/v2/tasks-api.d.ts +17 -0
- package/dist/Task/v2/tasks-api.js +104 -0
- package/dist/Task/v2/tasks-api.js.map +1 -0
- package/dist/Task/v2/tasks-service.d.ts +13 -0
- package/dist/Task/v2/tasks-service.js +97 -0
- package/dist/Task/v2/tasks-service.js.map +1 -0
- package/dist/bringg-dashboard-sdk-cjs2.js +96703 -59617
- package/dist/bringg-dashboard-sdk-cjs2.js.map +1 -1
- package/dist/bringg-dashboard-sdk.js +4182 -24
- package/dist/bringg-dashboard-sdk.min.js +11 -4
- package/dist/bringg-dashboard-sdk.min.js.map +1 -1
- package/dist/data-entity.d.ts +6 -2
- package/dist/data-entity.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/storable-data-service.d.ts +9 -2
- package/dist/storable-data-service.js +77 -21
- package/dist/storable-data-service.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
var data_store_1 = require("../../data-store");
|
|
51
|
+
var storable_data_service_1 = require("../../storable-data-service");
|
|
52
|
+
var tasks_service_1 = require("./tasks-service");
|
|
53
|
+
var data_entity_1 = require("../../data-entity");
|
|
54
|
+
var light_data_store_1 = require("../../Data/light-data-store");
|
|
55
|
+
var task_realtime_subscriptions_1 = require("./task-realtime-subscriptions");
|
|
56
|
+
var object_merger_1 = require("../../Data/object-merger");
|
|
57
|
+
var TasksApi = /** @class */ (function () {
|
|
58
|
+
function TasksApi(session) {
|
|
59
|
+
var _this = this;
|
|
60
|
+
this.tasksStore = new data_store_1.default();
|
|
61
|
+
this.tasksService = new tasks_service_1.default(session);
|
|
62
|
+
var lightDataStore = new light_data_store_1.default();
|
|
63
|
+
var mapper = function (task, action, fields) {
|
|
64
|
+
if (!fields) {
|
|
65
|
+
return task;
|
|
66
|
+
}
|
|
67
|
+
var existing = _this.tasksStore.get(task.id);
|
|
68
|
+
if (existing) {
|
|
69
|
+
object_merger_1.objectMerger.deepMerge(existing, task);
|
|
70
|
+
}
|
|
71
|
+
return existing || task;
|
|
72
|
+
};
|
|
73
|
+
this.storableDataService = new storable_data_service_1.default(this.tasksStore, mapper, [lightDataStore]);
|
|
74
|
+
this.taskRealtimeSubscriptions = new task_realtime_subscriptions_1.default(session, this.tasksStore, this.storableDataService);
|
|
75
|
+
this.taskRealtimeSubscriptions.updateStoreOnEvents();
|
|
76
|
+
}
|
|
77
|
+
TasksApi.prototype.onUpdate = function (callback) {
|
|
78
|
+
this.taskRealtimeSubscriptions.onUpdate(callback);
|
|
79
|
+
};
|
|
80
|
+
TasksApi.prototype.get = function (id, fields) {
|
|
81
|
+
return this.getMany([id], fields)[0];
|
|
82
|
+
};
|
|
83
|
+
TasksApi.prototype.getMany = function (ids, fields) {
|
|
84
|
+
return this.storableDataService.getFromStores(ids, fields);
|
|
85
|
+
};
|
|
86
|
+
TasksApi.prototype.loadMany = function (ids, fields, options) {
|
|
87
|
+
if (options === void 0) { options = data_entity_1.DEFAULT_OPTIONS; }
|
|
88
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
89
|
+
var _this = this;
|
|
90
|
+
return __generator(this, function (_a) {
|
|
91
|
+
return [2 /*return*/, this.storableDataService.loadMany('batchGet', function (idsToLoad) { return _this.tasksService.batchLoad(idsToLoad, fields); }, ids, __assign(__assign({}, options), { fields: fields }))];
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
TasksApi.prototype.massAssign = function (userId, taskIds, options, targetRun) {
|
|
96
|
+
return this.tasksService.massAssign(userId, taskIds, options, targetRun);
|
|
97
|
+
};
|
|
98
|
+
TasksApi.prototype.massUnassign = function (taskIds, options) {
|
|
99
|
+
return this.tasksService.massUnassign(taskIds, options);
|
|
100
|
+
};
|
|
101
|
+
return TasksApi;
|
|
102
|
+
}());
|
|
103
|
+
exports.default = TasksApi;
|
|
104
|
+
//# sourceMappingURL=tasks-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks-api.js","sourceRoot":"","sources":["../../../src/Task/v2/tasks-api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+CAAyC;AACzC,qEAA8D;AAC9D,iDAA2C;AAE3C,iDAA6E;AAC7E,gEAAyD;AACzD,6EAAsE;AACtE,0DAAwD;AAExD;IAMC,kBAAY,OAAgB;QAA5B,iBA2BC;QA1BA,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAS,EAAQ,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,uBAAY,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAM,cAAc,GAAG,IAAI,0BAAc,EAAQ,CAAC;QAElD,IAAM,MAAM,GAAG,UAAC,IAAU,EAAE,MAAc,EAAE,MAAmB;YAC9D,IAAI,CAAC,MAAM,EAAE;gBACZ,OAAO,IAAI,CAAC;aACZ;YAED,IAAM,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE9C,IAAI,QAAQ,EAAE;gBACb,4BAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aACvC;YAED,OAAO,QAAQ,IAAI,IAAI,CAAC;QACzB,CAAC,CAAC;QAEF,IAAI,CAAC,mBAAmB,GAAG,IAAI,+BAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,yBAAyB,GAAG,IAAI,qCAAyB,CAC7D,OAAO,EACP,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,mBAAmB,CACxB,CAAC;QACF,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,CAAC;IACtD,CAAC;IAEM,2BAAQ,GAAf,UAAgB,QAAQ;QACvB,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEM,sBAAG,GAAV,UAAW,EAAU,EAAE,MAAmB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,0BAAO,GAAd,UAAe,GAAa,EAAE,MAAmB;QAChD,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAEY,2BAAQ,GAArB,UAAsB,GAAa,EAAE,MAAmB,EAAE,OAAsC;QAAtC,wBAAA,EAAA,UAAuB,6BAAe;;;;gBAC/F,sBAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CACvC,UAAU,EACV,UAAC,SAAS,IAAK,OAAA,KAAI,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,EAA9C,CAA8C,EAC7D,GAAG,wBACE,OAAO,KAAE,MAAM,QAAA,IACpB,EAAC;;;KACF;IAEM,6BAAU,GAAjB,UACC,MAAc,EACd,OAAiB,EACjB,OAAW,EACX,SAAwB;QAExB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAEM,+BAAY,GAAnB,UAAoB,OAAiB,EAAE,OAAW;QACjD,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IACF,eAAC;AAAD,CAAC,AApED,IAoEC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Run, Task } from '@bringg/types';
|
|
2
|
+
import Session from '../../Services/Identity/Session';
|
|
3
|
+
import { TaskGeneralResponse } from '../Tasks.consts';
|
|
4
|
+
import { ItemFields } from '../../data-entity';
|
|
5
|
+
export default class TasksService {
|
|
6
|
+
private readonly service;
|
|
7
|
+
constructor(session: Session);
|
|
8
|
+
load(id: number): Promise<Task>;
|
|
9
|
+
loadAll(): Promise<Task[]>;
|
|
10
|
+
massAssign(user_id: number, ids: number[], options: {}, targetRun?: Partial<Run>): Promise<TaskGeneralResponse>;
|
|
11
|
+
massUnassign(ids: number[], options: {}): Promise<TaskGeneralResponse>;
|
|
12
|
+
batchLoad(ids: number[], fields: ItemFields, options?: {}): Promise<Task[]>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var CrudService_1 = require("../../Core/CrudService");
|
|
40
|
+
var Tasks_consts_1 = require("../Tasks.consts");
|
|
41
|
+
var TasksService = /** @class */ (function () {
|
|
42
|
+
function TasksService(session) {
|
|
43
|
+
this.service = new CrudService_1.default(session, 'tasks');
|
|
44
|
+
}
|
|
45
|
+
TasksService.prototype.load = function (id) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
+
return __generator(this, function (_a) {
|
|
48
|
+
return [2 /*return*/, this.service.get(id)];
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
TasksService.prototype.loadAll = function () {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
54
|
+
var result;
|
|
55
|
+
return __generator(this, function (_a) {
|
|
56
|
+
switch (_a.label) {
|
|
57
|
+
case 0: return [4 /*yield*/, this.service.getAll()];
|
|
58
|
+
case 1:
|
|
59
|
+
result = _a.sent();
|
|
60
|
+
return [2 /*return*/, result.vehicles];
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
TasksService.prototype.massAssign = function (user_id, ids, options, targetRun) {
|
|
66
|
+
return this.service.routeGenerator
|
|
67
|
+
.post(Tasks_consts_1.Routes.MASS_TASK_ASSIGN)
|
|
68
|
+
.setException("failed to assign tasks ".concat(ids, " to user ").concat(user_id))
|
|
69
|
+
.withPayload({ user_id: user_id, task_ids: ids, options: options, target_run: targetRun })
|
|
70
|
+
.withCommonOptions(options)
|
|
71
|
+
.invoke();
|
|
72
|
+
};
|
|
73
|
+
TasksService.prototype.massUnassign = function (ids, options) {
|
|
74
|
+
return this.service.routeGenerator
|
|
75
|
+
.post(Tasks_consts_1.Routes.MASS_TASK_UNASSIGN)
|
|
76
|
+
.setException("failed to unassign tasks ".concat(ids))
|
|
77
|
+
.withPayload({ task_ids: ids, options: options })
|
|
78
|
+
.withCommonOptions(options)
|
|
79
|
+
.invoke();
|
|
80
|
+
};
|
|
81
|
+
TasksService.prototype.batchLoad = function (ids, fields, options) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
83
|
+
return __generator(this, function (_a) {
|
|
84
|
+
return [2 /*return*/, this.service.routeGenerator
|
|
85
|
+
.get(Tasks_consts_1.Routes.BATCH_GET_TASK)
|
|
86
|
+
.withExtractor(Tasks_consts_1.tasksExtractor)
|
|
87
|
+
.setException("failed to fetch tasks ids - ".concat(ids))
|
|
88
|
+
.withQueryString({ ids: ids, fields: fields })
|
|
89
|
+
.withCommonOptions(options)
|
|
90
|
+
.invoke()];
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
return TasksService;
|
|
95
|
+
}());
|
|
96
|
+
exports.default = TasksService;
|
|
97
|
+
//# sourceMappingURL=tasks-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks-service.js","sourceRoot":"","sources":["../../../src/Task/v2/tasks-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,sDAAiD;AACjD,gDAA8E;AAG9E;IAGC,sBAAY,OAAgB;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAEY,2BAAI,GAAjB,UAAkB,EAAU;;;gBAC3B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAC;;;KAC5B;IAEY,8BAAO,GAApB;;;;;4BACgB,qBAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAA;;wBAApC,MAAM,GAAG,SAA2B;wBAC1C,sBAAO,MAAM,CAAC,QAAQ,EAAC;;;;KACvB;IAED,iCAAU,GAAV,UAAW,OAAe,EAAE,GAAa,EAAE,OAAW,EAAE,SAAwB;QAC/E,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc;aAChC,IAAI,CAAC,qBAAM,CAAC,gBAAgB,CAAC;aAC7B,YAAY,CAAC,iCAA0B,GAAG,sBAAY,OAAO,CAAE,CAAC;aAChE,WAAW,CAAC,EAAE,OAAO,SAAA,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,SAAA,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;aACvE,iBAAiB,CAAC,OAAO,CAAC;aAC1B,MAAM,EAA4C,CAAC;IACtD,CAAC;IAED,mCAAY,GAAZ,UAAa,GAAa,EAAE,OAAW;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc;aAChC,IAAI,CAAC,qBAAM,CAAC,kBAAkB,CAAC;aAC/B,YAAY,CAAC,mCAA4B,GAAG,CAAE,CAAC;aAC/C,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,SAAA,EAAE,CAAC;aACvC,iBAAiB,CAAC,OAAO,CAAC;aAC1B,MAAM,EAA4C,CAAC;IACtD,CAAC;IAEK,gCAAS,GAAf,UAAgB,GAAa,EAAE,MAAkB,EAAE,OAAY;;;gBAC9D,sBAAO,IAAI,CAAC,OAAO,CAAC,cAAc;yBAChC,GAAG,CAAC,qBAAM,CAAC,cAAc,CAAC;yBAC1B,aAAa,CAAC,6BAAc,CAAC;yBAC7B,YAAY,CAAC,sCAA+B,GAAG,CAAE,CAAC;yBAClD,eAAe,CAAC,EAAE,GAAG,KAAA,EAAE,MAAM,QAAA,EAAE,CAAC;yBAChC,iBAAiB,CAAC,OAAO,CAAC;yBAC1B,MAAM,EAAkB,EAAC;;;KAC3B;IACF,mBAAC;AAAD,CAAC,AA3CD,IA2CC"}
|