tango-app-ui-manage-tickets 3.7.0-beta.4 → 3.7.0-beta.40
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/esm2022/lib/components/audit-mapping-list/audit-mapping-list.component.mjs +486 -0
- package/esm2022/lib/components/audit-report-popup/audit-report-popup.component.mjs +358 -0
- package/esm2022/lib/components/audit-retag/audit-retag.component.mjs +457 -0
- package/esm2022/lib/components/custom-select/custom-select.component.mjs +174 -0
- package/esm2022/lib/components/filter-options/filter-options.component.mjs +41 -0
- package/esm2022/lib/components/footfall-dic/footfall-dic.component.mjs +374 -196
- package/esm2022/lib/components/footfall-dicview/footfall-dicview.component.mjs +1014 -0
- package/esm2022/lib/components/footfall-popup/footfall-popup.component.mjs +15 -0
- package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +3 -3
- package/esm2022/lib/components/remove-audit/remove-audit.component.mjs +80 -0
- package/esm2022/lib/components/start-audit/start-audit.component.mjs +742 -0
- package/esm2022/lib/components/tango-manage-tickets/tango-manage-tickets.component.mjs +7 -3
- package/esm2022/lib/components/ticket-footfall-new/ticket-footfall-new.component.mjs +2173 -0
- package/esm2022/lib/components/ticketclosepopup/ticketclosepopup.component.mjs +43 -0
- package/esm2022/lib/components/tickets/tickets.component.mjs +62 -8
- package/esm2022/lib/components/viewcategory/viewcategory.component.mjs +89 -0
- package/esm2022/lib/services/audit.service.mjs +88 -0
- package/esm2022/lib/services/ticket.service.mjs +128 -33
- package/esm2022/lib/services/timer.service.mjs +84 -0
- package/esm2022/lib/tango-manage-tickets-routing.module.mjs +22 -2
- package/esm2022/lib/tango-manage-tickets.module.mjs +57 -5
- package/fesm2022/tango-app-ui-manage-tickets.mjs +6425 -312
- package/fesm2022/tango-app-ui-manage-tickets.mjs.map +1 -1
- package/lib/components/audit-mapping-list/audit-mapping-list.component.d.ts +73 -0
- package/lib/components/audit-metrics/audit-metrics.component.d.ts +1 -1
- package/lib/components/audit-report-popup/audit-report-popup.component.d.ts +47 -0
- package/lib/components/audit-retag/audit-retag.component.d.ts +59 -0
- package/lib/components/custom-select/custom-select.component.d.ts +34 -0
- package/lib/components/filter-options/filter-options.component.d.ts +15 -0
- package/lib/components/footfall-dic/footfall-dic.component.d.ts +23 -8
- package/lib/components/footfall-dicview/footfall-dicview.component.d.ts +132 -0
- package/lib/components/footfall-popup/footfall-popup.component.d.ts +8 -0
- package/lib/components/remove-audit/remove-audit.component.d.ts +16 -0
- package/lib/components/start-audit/start-audit.component.d.ts +86 -0
- package/lib/components/tango-manage-tickets/tango-manage-tickets.component.d.ts +1 -0
- package/lib/components/ticket-footfall-new/ticket-footfall-new.component.d.ts +251 -0
- package/lib/components/ticketclosepopup/ticketclosepopup.component.d.ts +15 -0
- package/lib/components/tickets/tickets.component.d.ts +4 -0
- package/lib/components/viewcategory/viewcategory.component.d.ts +16 -0
- package/lib/services/audit.service.d.ts +36 -0
- package/lib/services/ticket.service.d.ts +25 -7
- package/lib/services/timer.service.d.ts +22 -0
- package/lib/tango-manage-tickets.module.d.ts +21 -5
- package/package.json +1 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as LZString from 'lz-string';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class ViewcategoryComponent {
|
|
7
|
+
modalService;
|
|
8
|
+
activeModel;
|
|
9
|
+
maindata = {};
|
|
10
|
+
imagelist = [];
|
|
11
|
+
counter = 0;
|
|
12
|
+
data;
|
|
13
|
+
constructor(modalService, activeModel) {
|
|
14
|
+
this.modalService = modalService;
|
|
15
|
+
this.activeModel = activeModel;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
if (this.data) {
|
|
19
|
+
this.maindata = this.data;
|
|
20
|
+
}
|
|
21
|
+
var saveData = JSON.parse(sessionStorage.getItem(this.maindata?.type) || '{}');
|
|
22
|
+
if (saveData.length > 0) {
|
|
23
|
+
this.imagelist = saveData;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
removeimage(data) {
|
|
27
|
+
this.counter = 0;
|
|
28
|
+
let oldData = JSON.parse(sessionStorage.getItem(this.maindata?.type) || '{}');
|
|
29
|
+
let auditData = sessionStorage.getItem('audit') || '{}';
|
|
30
|
+
const decompressedData = LZString.decompress(auditData);
|
|
31
|
+
var customer = JSON.parse(decompressedData || '{}');
|
|
32
|
+
customer.map((cus) => {
|
|
33
|
+
if (cus.count > 0) {
|
|
34
|
+
cus.mappedid = cus.mappedid.filter((x) => x.img_name != data.img_name);
|
|
35
|
+
cus.count = cus.mappedid.length;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
console.log(customer);
|
|
39
|
+
const jsonString = JSON.stringify(customer);
|
|
40
|
+
const compressedData = LZString.compress(jsonString);
|
|
41
|
+
sessionStorage.setItem('audit', compressedData);
|
|
42
|
+
if (this.counter < oldData?.length) {
|
|
43
|
+
this.counter = this.counter + 1;
|
|
44
|
+
var wrongData = oldData.splice(oldData.findIndex(({ img_name }) => img_name == data?.img_name), 1);
|
|
45
|
+
let stringifydata = sessionStorage.getItem('audit') || '{}';
|
|
46
|
+
const decompressedData = LZString.decompress(stringifydata);
|
|
47
|
+
var customer = JSON.parse(decompressedData || '{}');
|
|
48
|
+
console.log(wrongData);
|
|
49
|
+
if (wrongData.length > 0) {
|
|
50
|
+
wrongData[0].selected = false;
|
|
51
|
+
}
|
|
52
|
+
customer.push(wrongData[0]);
|
|
53
|
+
const jsonString = JSON.stringify(customer);
|
|
54
|
+
const compressedData = LZString.compress(jsonString);
|
|
55
|
+
sessionStorage.setItem('audit', compressedData);
|
|
56
|
+
sessionStorage.setItem(this.maindata?.type, JSON.stringify(oldData));
|
|
57
|
+
var newdata = JSON.parse(sessionStorage.getItem(this.maindata?.type) || '{}');
|
|
58
|
+
if (newdata.length > 0) {
|
|
59
|
+
this.imagelist = newdata;
|
|
60
|
+
}
|
|
61
|
+
else if (newdata.length == 0) {
|
|
62
|
+
this.activeModel.close({ reload: true });
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.imagelist = [];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
closepopup() {
|
|
72
|
+
console.log(this.counter);
|
|
73
|
+
if (this.counter > 0) {
|
|
74
|
+
this.activeModel.close({ reload: true });
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
this.activeModel.close({ reload: false });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewcategoryComponent, deps: [{ token: i1.NgbModal }, { token: i1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ViewcategoryComponent, selector: "lib-viewcategory", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"modal-body mt-5\">\r\n <div class=\" d-flex\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-2 text-dark fw-bolder my-3 mx-7\"> <span class=\"card-label fw-bold text-dark\">\r\n {{maindata?.name ? maindata?.name : 'Customer' }} Files -\r\n <span>{{maindata?.count}}</span></span></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"closepopup()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mx-3\">\r\n <div class=\"col-md-12 item scroll-y\">\r\n <div class=\"item\" *ngFor=\"let item of imagelist;let i=index\" style=\"padding: 10px;\">\r\n\r\n <img class=\"mx-3 mb-3 img\" [src]=\"item.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{item.img_name}}</div>\r\n <span class=\"notify-badge1 cursor-pointer\" (click)=\"removeimage(item)\"><i class=\"fa fa-close\" aria-hidden=\"true\"\r\n style=\"font-size:15px;color:#00A3FF\"></i>\r\n </span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".img{width:95px;height:200px}.item{position:relative;padding-top:20px;display:inline-block;max-height:595px}.scroll-y{overflow-y:auto!important;position:relative!important}.notify-badge1{position:absolute;right:14px;top:5px;background:var(--Primary-50, #EAF8FF);text-align:center;border-radius:6px;color:#00a3ff;border:2px solid var(--Primary-600, #00A3FF);padding:0 8px;font-size:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
82
|
+
}
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewcategoryComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{ selector: 'lib-viewcategory', template: "<div class=\"modal-body mt-5\">\r\n <div class=\" d-flex\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-2 text-dark fw-bolder my-3 mx-7\"> <span class=\"card-label fw-bold text-dark\">\r\n {{maindata?.name ? maindata?.name : 'Customer' }} Files -\r\n <span>{{maindata?.count}}</span></span></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"closepopup()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mx-3\">\r\n <div class=\"col-md-12 item scroll-y\">\r\n <div class=\"item\" *ngFor=\"let item of imagelist;let i=index\" style=\"padding: 10px;\">\r\n\r\n <img class=\"mx-3 mb-3 img\" [src]=\"item.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{item.img_name}}</div>\r\n <span class=\"notify-badge1 cursor-pointer\" (click)=\"removeimage(item)\"><i class=\"fa fa-close\" aria-hidden=\"true\"\r\n style=\"font-size:15px;color:#00A3FF\"></i>\r\n </span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".img{width:95px;height:200px}.item{position:relative;padding-top:20px;display:inline-block;max-height:595px}.scroll-y{overflow-y:auto!important;position:relative!important}.notify-badge1{position:absolute;right:14px;top:5px;background:var(--Primary-50, #EAF8FF);text-align:center;border-radius:6px;color:#00a3ff;border:2px solid var(--Primary-600, #00A3FF);padding:0 8px;font-size:20px}\n"] }]
|
|
86
|
+
}], ctorParameters: () => [{ type: i1.NgbModal }, { type: i1.NgbActiveModal }], propDecorators: { data: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}] } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2NhdGVnb3J5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvY29tcG9uZW50cy92aWV3Y2F0ZWdvcnkvdmlld2NhdGVnb3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvY29tcG9uZW50cy92aWV3Y2F0ZWdvcnkvdmlld2NhdGVnb3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDOzs7O0FBTXRDLE1BQU0sT0FBTyxxQkFBcUI7SUFLYjtJQUErQjtJQUpsRCxRQUFRLEdBQVEsRUFBRSxDQUFBO0lBQ2xCLFNBQVMsR0FBUSxFQUFFLENBQUE7SUFDbkIsT0FBTyxHQUFRLENBQUMsQ0FBQztJQUNSLElBQUksQ0FBSztJQUNsQixZQUFtQixZQUFzQixFQUFTLFdBQTJCO1FBQTFELGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBQUksQ0FBQztJQUVsRixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO1NBQzFCO1FBQ0QsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUE7UUFDOUUsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEs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LElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFBO1lBQzdFLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFBO2FBQ3pCO2lCQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDMUM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7YUFFcEI7U0FDRjthQUFNO1NBRU47SUFHSCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3pCLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUFFO0lBQ3ZELENBQUM7d0dBckVVLHFCQUFxQjs0RkFBckIscUJBQXFCLGtGQ1JsQyxpakVBcUNNOzs0RkQ3Qk8scUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjswR0FRbkIsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0ICogYXMgTFpTdHJpbmcgZnJvbSAnbHotc3RyaW5nJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdmlld2NhdGVnb3J5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmlld2NhdGVnb3J5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdmlld2NhdGVnb3J5LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld2NhdGVnb3J5Q29tcG9uZW50IHtcclxuICBtYWluZGF0YTogYW55ID0ge31cclxuICBpbWFnZWxpc3Q6IGFueSA9IFtdXHJcbiAgY291bnRlcjogYW55ID0gMDtcclxuICBASW5wdXQoKSBkYXRhOiBhbnlcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHVibGljIGFjdGl2ZU1vZGVsOiBOZ2JBY3RpdmVNb2RhbCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGF0YSkge1xyXG4gICAgICB0aGlzLm1haW5kYXRhID0gdGhpcy5kYXRhXHJcbiAgICB9XHJcbiAgICB2YXIgc2F2ZURhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5tYWluZGF0YT8udHlwZSkgfHwgJ3t9JylcclxuICAgIGlmIChzYXZlRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaW1hZ2VsaXN0ID0gc2F2ZURhdGFcclxuICAgIH1cclxuICB9XHJcbiAgcmVtb3ZlaW1hZ2UoZGF0YTogYW55KSB7XHJcbiAgICBcclxuICAgIHRoaXMuY291bnRlciA9IDA7XHJcbiAgICBsZXQgb2xkRGF0YSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLm1haW5kYXRhPy50eXBlKSB8fCAne30nKVxyXG4gICAgbGV0IGF1ZGl0RGF0YSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2F1ZGl0JykgfHwgJ3t9J1xyXG4gICAgY29uc3QgZGVjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmRlY29tcHJlc3MoYXVkaXREYXRhKTtcclxuICAgIHZhciBjdXN0b21lciA9IEpTT04ucGFyc2UoZGVjb21wcmVzc2VkRGF0YSB8fCAne30nKVxyXG4gICAgY3VzdG9tZXIubWFwKChjdXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoY3VzLmNvdW50ID4gMCkge1xyXG4gICAgICAgIGN1cy5tYXBwZWRpZCA9IGN1cy5tYXBwZWRpZC5maWx0ZXIoKHg6IGFueSkgPT4geC5pbWdfbmFtZSAhPSBkYXRhLmltZ19uYW1lKVxyXG4gICAgICAgIGN1cy5jb3VudCA9ICBjdXMubWFwcGVkaWQubGVuZ3RoXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICBjb25zb2xlLmxvZyhjdXN0b21lcilcclxuICAgIGNvbnN0IGpzb25TdHJpbmcgPSBKU09OLnN0cmluZ2lmeShjdXN0b21lcik7XHJcbiAgICBjb25zdCBjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmNvbXByZXNzKGpzb25TdHJpbmcpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnYXVkaXQnLCBjb21wcmVzc2VkRGF0YSlcclxuICAgIGlmICh0aGlzLmNvdW50ZXIgPCBvbGREYXRhPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5jb3VudGVyID0gdGhpcy5jb3VudGVyICsgMTtcclxuICAgICAgdmFyIHdyb25nRGF0YSA9IG9sZERhdGEuc3BsaWNlKG9sZERhdGEuZmluZEluZGV4KCh7IGltZ19uYW1lIH06IHsgaW1nX25hbWU6IHN0cmluZyB9KSA9PiBpbWdfbmFtZSA9PSBkYXRhPy5pbWdfbmFtZSksIDEpO1xyXG4gICAgICBsZXQgc3RyaW5naWZ5ZGF0YSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2F1ZGl0JykgfHwgJ3t9J1xyXG4gICAgICBjb25zdCBkZWNvbXByZXNzZWREYXRhID0gTFpTdHJpbmcuZGVjb21wcmVzcyhzdHJpbmdpZnlkYXRhKTtcclxuICAgICAgdmFyIGN1c3RvbWVyID0gSlNPTi5wYXJzZShkZWNvbXByZXNzZWREYXRhIHx8ICd7fScpXHJcbiAgICAgIGNvbnNvbGUubG9nKHdyb25nRGF0YSlcclxuICAgICAgaWYgKHdyb25nRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgd3JvbmdEYXRhWzBdLnNlbGVjdGVkID0gZmFsc2VcclxuICAgICAgfVxyXG4gICAgICBjdXN0b21lci5wdXNoKHdyb25nRGF0YVswXSlcclxuICAgICAgY29uc3QganNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KGN1c3RvbWVyKTtcclxuICAgICAgY29uc3QgY29tcHJlc3NlZERhdGEgPSBMWlN0cmluZy5jb21wcmVzcyhqc29uU3RyaW5nKTtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnYXVkaXQnLCBjb21wcmVzc2VkRGF0YSlcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLm1haW5kYXRhPy50eXBlLCBKU09OLnN0cmluZ2lmeShvbGREYXRhKSlcclxuICAgICAgdmFyIG5ld2RhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5tYWluZGF0YT8udHlwZSkgfHwgJ3t9JylcclxuICAgICAgaWYgKG5ld2RhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuaW1hZ2VsaXN0ID0gbmV3ZGF0YVxyXG4gICAgICB9IGVsc2UgaWYgKG5ld2RhdGEubGVuZ3RoID09IDApIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZU1vZGVsLmNsb3NlKHsgcmVsb2FkOiB0cnVlIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuaW1hZ2VsaXN0ID0gW11cclxuXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcblxyXG4gICAgfVxyXG4gICAgXHJcblxyXG4gIH1cclxuXHJcbiAgY2xvc2Vwb3B1cCgpIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuY291bnRlcilcclxuICAgIGlmICh0aGlzLmNvdW50ZXIgPiAwKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlTW9kZWwuY2xvc2UoeyByZWxvYWQ6IHRydWUgfSk7XHJcbiAgICB9IGVsc2UgeyB0aGlzLmFjdGl2ZU1vZGVsLmNsb3NlKHsgcmVsb2FkOiBmYWxzZSB9KTsgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBtdC01XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiIGQtZmxleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcy0yIHRleHQtZGFyayBmdy1ib2xkZXIgbXktMyBteC03XCI+IDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkIHRleHQtZGFya1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7bWFpbmRhdGE/Lm5hbWUgPyBtYWluZGF0YT8ubmFtZSA6ICdDdXN0b21lcicgfX0gRmlsZXMgLVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3ttYWluZGF0YT8uY291bnR9fTwvc3Bhbj48L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5IG1lLTVcIiAoY2xpY2spPVwiY2xvc2Vwb3B1cCgpXCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjZcIiB5PVwiMTcuMzEzN1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCIgdHJhbnNmb3JtPVwicm90YXRlKC00NSA2IDE3LjMxMzcpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI3LjQxNDIyXCIgeT1cIjZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSA3LjQxNDIyIDYpXCIgZmlsbD1cImJsYWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXgtM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGl0ZW0gc2Nyb2xsLXlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaW1hZ2VsaXN0O2xldCBpPWluZGV4XCIgc3R5bGU9XCJwYWRkaW5nOiAxMHB4O1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXgtMyBtYi0zIGltZ1wiIFtzcmNdPVwiaXRlbS5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tpdGVtLmltZ19uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vdGlmeS1iYWRnZTEgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwicmVtb3ZlaW1hZ2UoaXRlbSlcIj48aSBjbGFzcz1cImZhIGZhLWNsb3NlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC1zaXplOjE1cHg7Y29sb3I6IzAwQTNGRlwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { catchError, map, throwError, BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
import * as i2 from "tango-app-ui-global";
|
|
6
|
+
export class AuditService {
|
|
7
|
+
http;
|
|
8
|
+
gs;
|
|
9
|
+
ticketApiUrl;
|
|
10
|
+
storeApiUrl;
|
|
11
|
+
data;
|
|
12
|
+
userUrl;
|
|
13
|
+
tokenStorage;
|
|
14
|
+
zoneauditApiUrl;
|
|
15
|
+
edgeAppApiUrl;
|
|
16
|
+
clientApiUrl;
|
|
17
|
+
clientId = new BehaviorSubject('');
|
|
18
|
+
clientData = new BehaviorSubject(null);
|
|
19
|
+
auditApiUrl;
|
|
20
|
+
traxauditApiUrl;
|
|
21
|
+
vmsAuditUrl;
|
|
22
|
+
footfallDirapiUrl;
|
|
23
|
+
dropDownTrigger = new BehaviorSubject(null);
|
|
24
|
+
constructor(http, gs) {
|
|
25
|
+
this.http = http;
|
|
26
|
+
this.gs = gs;
|
|
27
|
+
this.gs.environment.subscribe((env) => {
|
|
28
|
+
if (env) {
|
|
29
|
+
this.ticketApiUrl = env.ticketsApiUrl;
|
|
30
|
+
this.storeApiUrl = env.storeApiUrl;
|
|
31
|
+
this.userUrl = env.userUrl;
|
|
32
|
+
this.edgeAppApiUrl = env.edgeAppApiUrl;
|
|
33
|
+
this.auditApiUrl = env.auditApiUrl;
|
|
34
|
+
this.clientApiUrl = env.clientApiUrl;
|
|
35
|
+
this.vmsAuditUrl = env.vmsAuditUrl;
|
|
36
|
+
this.footfallDirapiUrl = env.footfallDirapiUrl;
|
|
37
|
+
}
|
|
38
|
+
this.gs.dataRangeValue.subscribe((e) => {
|
|
39
|
+
if (e) {
|
|
40
|
+
this.clientId.next(e.client);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
// audit code
|
|
46
|
+
getAuditMapping(payload) {
|
|
47
|
+
return this.http.get(`${this.vmsAuditUrl}/get-file?storeId=${payload?.storeId}&nextId=${payload?.nextId}&limit=${payload?.limit}&Date=${payload?.Date}&count=${payload?.count}`);
|
|
48
|
+
}
|
|
49
|
+
getAuditconfig(clientId) {
|
|
50
|
+
return this.http.get(`${this.clientApiUrl}/get-footfall-directory-config?clientId=${clientId}`);
|
|
51
|
+
}
|
|
52
|
+
export(data) {
|
|
53
|
+
return this.http.get(`${this.clientApiUrl}/audit/processing_info?export=${data.export}&userId=${data.userId}`, { responseType: 'arraybuffer' });
|
|
54
|
+
}
|
|
55
|
+
getauditCard(filter, user) {
|
|
56
|
+
return this.http.get(`${this.clientApiUrl}/audit/userAuditSummary?range=${filter}&userId=${user}`);
|
|
57
|
+
}
|
|
58
|
+
getactivitylog(data) {
|
|
59
|
+
return this.http.post(`${this.clientApiUrl}/activitylog/list`, data);
|
|
60
|
+
}
|
|
61
|
+
saveDraft(data) {
|
|
62
|
+
return this.http.post(`${this.vmsAuditUrl}/save-draft`, data);
|
|
63
|
+
}
|
|
64
|
+
getAuditmappinglist(payload) {
|
|
65
|
+
return this.http.get(`${this.vmsAuditUrl}/get-drafted-data?fileDate=${payload?.fileDate}&storeId=${payload?.storeId}&auditId=${payload?.auditId}`);
|
|
66
|
+
}
|
|
67
|
+
saveaudit(data) {
|
|
68
|
+
return this.http.post(`${this.footfallDirapiUrl}/tango-review-ticket`, data);
|
|
69
|
+
}
|
|
70
|
+
userDetails() {
|
|
71
|
+
return this.http.get(`${this.auditApiUrl}/auth/me`, {}).pipe(map((response) => {
|
|
72
|
+
localStorage.setItem('user-info', JSON.stringify(response.data));
|
|
73
|
+
return response;
|
|
74
|
+
}), catchError(this.handleError));
|
|
75
|
+
}
|
|
76
|
+
handleError(error) {
|
|
77
|
+
return throwError(() => new Error("Something bad happened; please try again later"));
|
|
78
|
+
}
|
|
79
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditService, deps: [{ token: i1.HttpClient }, { token: i2.GlobalStateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
80
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditService, providedIn: 'root' });
|
|
81
|
+
}
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditService, decorators: [{
|
|
83
|
+
type: Injectable,
|
|
84
|
+
args: [{
|
|
85
|
+
providedIn: 'root'
|
|
86
|
+
}]
|
|
87
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvc2VydmljZXMvYXVkaXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBYyxVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBQyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFNL0UsTUFBTSxPQUFPLFlBQVk7SUFvQkg7SUFBMEI7SUFqQjlDLFlBQVksQ0FBTTtJQUNsQixXQUFXLENBQU07SUFDakIsSUFBSSxDQUFNO0lBQ1YsT0FBTyxDQUFNO0lBQ2IsWUFBWSxDQUFNO0lBQ2xCLGVBQWUsQ0FBSztJQUNwQixhQUFhLENBQU07SUFDbkIsWUFBWSxDQUFPO0lBRW5CLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUE7SUFDM0MsV0FBVyxDQUFNO0lBQ2pCLGVBQWUsQ0FBTTtJQUNyQixXQUFXLENBQU07SUFDakIsaUJBQWlCLENBQU07SUFFdkIsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFBO0lBQ2hELFlBQW9CLElBQWdCLEVBQVUsRUFBc0I7UUFBaEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ2xFLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BDLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtnQkFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMs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LENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUN0QixZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sUUFBUSxDQUFBO1FBQ25CLENBQUMsQ0FBQyxFQUNFLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQXdCO1FBQzFDLE9BQU8sVUFBVSxDQUNmLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO3dHQXZGWSxZQUFZOzRHQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBtYXAsIHRocm93RXJyb3IsQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaXRTZXJ2aWNlIHtcclxuXHJcblxyXG4gIHRpY2tldEFwaVVybDogYW55O1xyXG4gIHN0b3JlQXBpVXJsOiBhbnk7XHJcbiAgZGF0YTogYW55O1xyXG4gIHVzZXJVcmw6IGFueTtcclxuICB0b2tlblN0b3JhZ2U6IGFueTtcclxuICB6b25lYXVkaXRBcGlVcmw6YW55O1xyXG4gIGVkZ2VBcHBBcGlVcmw6IGFueTtcclxuICBjbGllbnRBcGlVcmw6c3RyaW5nXHJcblxyXG4gIGNsaWVudElkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKVxyXG4gIGNsaWVudERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbClcclxuICBhdWRpdEFwaVVybDogYW55O1xyXG4gIHRyYXhhdWRpdEFwaVVybDogYW55O1xyXG4gIHZtc0F1ZGl0VXJsOiBhbnk7XHJcbiAgZm9vdGZhbGxEaXJhcGlVcmw6IGFueTtcclxuXHJcbiAgZHJvcERvd25UcmlnZ2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQuc3Vic2NyaWJlKChlbnYpID0+IHtcclxuICAgICAgaWYgKGVudikge1xyXG4gICAgICAgIHRoaXMudGlja2V0QXBpVXJsID0gZW52LnRpY2tldHNBcGlVcmxcclxuICAgICAgICB0aGlzLnN0b3JlQXBpVXJsID0gZW52LnN0b3JlQXBpVXJsO1xyXG4gICAgICAgIHRoaXMudXNlclVybCA9IGVudi51c2VyVXJsO1xyXG4gICAgICAgIHRoaXMuZWRnZUFwcEFwaVVybCA9IGVudi5lZGdlQXBwQXBpVXJsO1xyXG4gICAgICAgIHRoaXMuYXVkaXRBcGlVcmwgPSBlbnYuYXVkaXRBcGlVcmw7XHJcbiAgICAgICAgdGhpcy5jbGllbnRBcGlVcmwgPSBlbnYuY2xpZW50QXBpVXJsXHJcbiAgICAgICAgdGhpcy52bXNBdWRpdFVybCA9IGVudi52bXNBdWRpdFVybFxyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxEaXJhcGlVcmwgPSBlbnYuZm9vdGZhbGxEaXJhcGlVcmxcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLnN1YnNjcmliZSgoZTphbnkpPT57ICAgICAgXHJcbiAgICAgICAgaWYoZSl7XHJcbiAgICAgICAgICB0aGlzLmNsaWVudElkLm5leHQoZS5jbGllbnQpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbi8vIGF1ZGl0IGNvZGVcclxuXHJcbmdldEF1ZGl0TWFwcGluZyhwYXlsb2FkOmFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudm1zQXVkaXRVcmx9L2dldC1maWxlP3N0b3JlSWQ9JHtwYXlsb2FkPy5zdG9yZUlkfSZuZXh0SWQ9JHtwYXlsb2FkPy5uZXh0SWR9JmxpbWl0PSR7cGF5bG9hZD8ubGltaXR9JkRhdGU9JHtwYXlsb2FkPy5EYXRlfSZjb3VudD0ke3BheWxvYWQ/LmNvdW50fWApXHJcbn1cclxuZ2V0QXVkaXRjb25maWcoY2xpZW50SWQ6YW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5jbGllbnRBcGlVcmx9L2dldC1mb290ZmFsbC1kaXJlY3RvcnktY29uZmlnP2NsaWVudElkPSR7Y2xpZW50SWR9YClcclxufVxyXG5cclxuXHJcbmV4cG9ydChkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmNsaWVudEFwaVVybH0vYXVkaXQvcHJvY2Vzc2luZ19pbmZvP2V4cG9ydD0ke2RhdGEuZXhwb3J0fSZ1c2VySWQ9JHtkYXRhLnVzZXJJZH1gLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxufVxyXG5cclxuZ2V0YXVkaXRDYXJkKGZpbHRlcjogYW55LHVzZXI6YW55KXtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmNsaWVudEFwaVVybH0vYXVkaXQvdXNlckF1ZGl0U3VtbWFyeT9yYW5nZT0ke2ZpbHRlcn0mdXNlcklkPSR7dXNlcn1gKVxyXG59XHJcblxyXG5nZXRhY3Rpdml0eWxvZyhkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5jbGllbnRBcGlVcmx9L2FjdGl2aXR5bG9nL2xpc3RgLCBkYXRhKVxyXG59XHJcbnNhdmVEcmFmdChkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy52bXNBdWRpdFVybH0vc2F2ZS1kcmFmdGAsIGRhdGEpXHJcbn1cclxuZ2V0QXVkaXRtYXBwaW5nbGlzdChwYXlsb2FkOmFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudm1zQXVkaXRVcmx9L2dldC1kcmFmdGVkLWRhdGE/ZmlsZURhdGU9JHtwYXlsb2FkPy5maWxlRGF0ZX0mc3RvcmVJZD0ke3BheWxvYWQ/LnN0b3JlSWR9JmF1ZGl0SWQ9JHtwYXlsb2FkPy5hdWRpdElkfWApXHJcbn1cclxuc2F2ZWF1ZGl0KGRhdGE6IGFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS90YW5nby1yZXZpZXctdGlja2V0YCwgZGF0YSlcclxufVxyXG5cclxuXHJcblxyXG51c2VyRGV0YWlscygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9hdXRoL21lYCwge1xyXG4gIH0pLnBpcGUobWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlci1pbmZvJywgSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UuZGF0YSkpO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlXHJcbiAgICAgIH0pLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbn1cclxuXHJcbnByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xyXG4gIHJldHVybiB0aHJvd0Vycm9yKFxyXG4gICAgKCkgPT4gbmV3IEVycm9yKFwiU29tZXRoaW5nIGJhZCBoYXBwZW5lZDsgcGxlYXNlIHRyeSBhZ2FpbiBsYXRlclwiKVxyXG4gICk7XHJcbn1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Injectable } from
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
2
|
import { BehaviorSubject, } from "rxjs";
|
|
3
|
-
import { HttpParams } from
|
|
3
|
+
import { HttpParams } from "@angular/common/http";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/common/http";
|
|
6
6
|
import * as i2 from "tango-app-ui-global";
|
|
@@ -15,6 +15,7 @@ export class TicketService {
|
|
|
15
15
|
footfallDirapiUrl;
|
|
16
16
|
footfallCDN;
|
|
17
17
|
trafficApiUrl;
|
|
18
|
+
revopApiUrl;
|
|
18
19
|
dropDownTrigger = new BehaviorSubject(null);
|
|
19
20
|
constructor(http, gs) {
|
|
20
21
|
this.http = http;
|
|
@@ -29,6 +30,7 @@ export class TicketService {
|
|
|
29
30
|
this.footfallDirapiUrl = env.footfallDirapiUrl;
|
|
30
31
|
this.footfallCDN = env.footfallCDN;
|
|
31
32
|
this.trafficApiUrl = env.trafficApiUrl;
|
|
33
|
+
this.revopApiUrl = env.revopApiUrl;
|
|
32
34
|
}
|
|
33
35
|
});
|
|
34
36
|
}
|
|
@@ -36,13 +38,17 @@ export class TicketService {
|
|
|
36
38
|
return this.http.post(`${this.userApiUrl}/get-list`, params);
|
|
37
39
|
}
|
|
38
40
|
exportInstallationList(data) {
|
|
39
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/installationTable`, data, { responseType:
|
|
41
|
+
return this.http.post(`${this.ticketsApiUrl}/infra/installationTable`, data, { responseType: "arraybuffer" });
|
|
40
42
|
}
|
|
41
43
|
exportInfraList(data) {
|
|
42
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/infraTable`, data, {
|
|
44
|
+
return this.http.post(`${this.ticketsApiUrl}/infra/infraTable`, data, {
|
|
45
|
+
responseType: "arraybuffer",
|
|
46
|
+
});
|
|
43
47
|
}
|
|
44
48
|
exportMatList(data) {
|
|
45
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/matTable`, data, {
|
|
49
|
+
return this.http.post(`${this.ticketsApiUrl}/infra/matTable`, data, {
|
|
50
|
+
responseType: "arraybuffer",
|
|
51
|
+
});
|
|
46
52
|
}
|
|
47
53
|
getSotresList(data) {
|
|
48
54
|
return this.http.post(`${this.ticketsApiUrl}/infra/storeFilter`, data);
|
|
@@ -65,12 +71,6 @@ export class TicketService {
|
|
|
65
71
|
getUserActiveList(params) {
|
|
66
72
|
return this.http.post(`${this.userApiUrl}/list`, params);
|
|
67
73
|
}
|
|
68
|
-
getDataMismathList(data) {
|
|
69
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/dataMismatchTable`, data);
|
|
70
|
-
}
|
|
71
|
-
exportDataMismatchList(data) {
|
|
72
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/dataMismatchTable`, data, { responseType: 'arraybuffer' });
|
|
73
|
-
}
|
|
74
74
|
getAllCounts(data) {
|
|
75
75
|
return this.http.post(`${this.ticketsApiUrl}/infra/allCounts`, data);
|
|
76
76
|
}
|
|
@@ -89,70 +89,165 @@ export class TicketService {
|
|
|
89
89
|
auditretrigger(data) {
|
|
90
90
|
return this.http.post(`${this.auditApiUrl}/metrics/re-trigger`, data);
|
|
91
91
|
}
|
|
92
|
+
getfootfallcount(data) {
|
|
93
|
+
return this.http.get(`${this.revopApiUrl}/store-processed-data?storeId=${data.storeId}&fromDate=${data.Date}&toDate=${data.Date}`);
|
|
94
|
+
}
|
|
92
95
|
getstoreList(data) {
|
|
93
96
|
return this.http.post(`${this.auditApiUrl}/audit-stores`, data);
|
|
94
97
|
}
|
|
98
|
+
checkTicketExists(data) {
|
|
99
|
+
return this.http.post(`${this.footfallDirapiUrl}/checkTicketExists`, data);
|
|
100
|
+
}
|
|
101
|
+
mergeticket(data) {
|
|
102
|
+
return this.http.post(`${this.footfallDirapiUrl}/mergeticket`, data);
|
|
103
|
+
}
|
|
104
|
+
getDataMismathList(data) {
|
|
105
|
+
return this.http.post(`${this.ticketsApiUrl}/infra/dataMismatchTable`, data);
|
|
106
|
+
}
|
|
107
|
+
exportDataMismatchList(data) {
|
|
108
|
+
return this.http.post(`${this.ticketsApiUrl}/infra/dataMismatchTable`, data, { responseType: "arraybuffer" });
|
|
109
|
+
}
|
|
95
110
|
getAuditImages(data) {
|
|
96
111
|
return this.http.get(`${this.auditApiUrl}/audit-images?fileDate=${data?.fileDate}&storeId=${data?.storeId}&imageType=${data?.imageType}&export=${data?.export}&zoneName=${data?.zoneName}&moduleType=${data?.moduleType}`);
|
|
97
112
|
}
|
|
98
113
|
ExportAuditImagesasxlsx(data) {
|
|
99
|
-
return this.http.get(`${this.auditApiUrl}/audit-images?fileDate=${data?.fileDate}&storeId=${data?.storeId}&imageType=${data?.imageType}&export=${data?.export}&zoneName=${data?.zoneName}&moduleType=${data?.moduleType}`, { responseType:
|
|
114
|
+
return this.http.get(`${this.auditApiUrl}/audit-images?fileDate=${data?.fileDate}&storeId=${data?.storeId}&imageType=${data?.imageType}&export=${data?.export}&zoneName=${data?.zoneName}&moduleType=${data?.moduleType}`, { responseType: "arraybuffer" });
|
|
100
115
|
}
|
|
101
116
|
getTicketSummaryApi(client, fromDate, toDate) {
|
|
102
117
|
return this.http.get(`${this.footfallDirapiUrl}/ticket-summary?clientId=${client}&fromDate=${fromDate}&toDate=${toDate}`);
|
|
103
118
|
}
|
|
104
|
-
|
|
119
|
+
getTicketListOldApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder) {
|
|
105
120
|
return this.http.get(`${this.footfallDirapiUrl}/ticket-list?clientId=${client}&fromDate=${fromDate}&toDate=${toDate}&searchValue=${searchvalue}&limit=${limit}&offset=${offset}&isExport=${isExport}&sortBy=${sortBy}&sortOrder=${sortOrder}`);
|
|
106
121
|
}
|
|
107
|
-
|
|
108
|
-
|
|
122
|
+
getTicketListApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder, tangoType, permissionType) {
|
|
123
|
+
let url = `${this.footfallDirapiUrl}/ticket-list?` +
|
|
124
|
+
`clientId=${client}` +
|
|
125
|
+
`&fromDate=${fromDate}` +
|
|
126
|
+
`&toDate=${toDate}` +
|
|
127
|
+
`&searchValue=${searchvalue}` +
|
|
128
|
+
`&limit=${limit}` +
|
|
129
|
+
`&offset=${offset}` +
|
|
130
|
+
`&isExport=${isExport}` +
|
|
131
|
+
`&sortBy=${sortBy}` +
|
|
132
|
+
`&sortOrder=${sortOrder}` +
|
|
133
|
+
`&tangoType=${tangoType}`;
|
|
134
|
+
if (permissionType) {
|
|
135
|
+
url += `&permissionType=${permissionType}`;
|
|
136
|
+
}
|
|
137
|
+
return this.http.get(url);
|
|
138
|
+
}
|
|
139
|
+
getTicketListExportOldApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder) {
|
|
140
|
+
return this.http.get(`${this.footfallDirapiUrl}/ticket-list?clientId=${client}&fromDate=${fromDate}&toDate=${toDate}&searchValue=${searchvalue}&limit=${limit}&offset=${offset}&isExport=${isExport}&sortBy=${sortBy}&sortOrder=${sortOrder}`, { responseType: "arraybuffer" });
|
|
141
|
+
}
|
|
142
|
+
getTicketListExportApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder, tangoType, permissionType) {
|
|
143
|
+
let url = `${this.footfallDirapiUrl}/ticket-list?` +
|
|
144
|
+
`clientId=${client}` +
|
|
145
|
+
`&fromDate=${fromDate}` +
|
|
146
|
+
`&toDate=${toDate}` +
|
|
147
|
+
`&searchValue=${searchvalue}` +
|
|
148
|
+
`&limit=${limit}` +
|
|
149
|
+
`&offset=${offset}` +
|
|
150
|
+
`&isExport=${isExport}` +
|
|
151
|
+
`&sortBy=${sortBy}` +
|
|
152
|
+
`&sortOrder=${sortOrder}` +
|
|
153
|
+
`&tangoType=${tangoType}`;
|
|
154
|
+
if (permissionType) {
|
|
155
|
+
url += `&permissionType=${permissionType}`;
|
|
156
|
+
}
|
|
157
|
+
// If export is TRUE → return arraybuffer
|
|
158
|
+
const options = isExport
|
|
159
|
+
? { responseType: 'arraybuffer' }
|
|
160
|
+
: {};
|
|
161
|
+
return this.http.get(url, options);
|
|
109
162
|
}
|
|
110
163
|
getTicketsApi(store, fromDate, toDate, revopsType, status, action, offset, limit) {
|
|
111
164
|
let params = new HttpParams()
|
|
112
|
-
.set(
|
|
113
|
-
.set(
|
|
114
|
-
.set(
|
|
115
|
-
.set(
|
|
116
|
-
.set(
|
|
165
|
+
.set("storeId", store)
|
|
166
|
+
.set("fromDate", fromDate)
|
|
167
|
+
.set("toDate", toDate)
|
|
168
|
+
.set("offset", offset)
|
|
169
|
+
.set("limit", limit);
|
|
117
170
|
if (revopsType) {
|
|
118
|
-
params = params.set(
|
|
171
|
+
params = params.set("revopsType", revopsType);
|
|
119
172
|
}
|
|
120
173
|
if (status) {
|
|
121
|
-
params = params.set(
|
|
174
|
+
params = params.set("status", status);
|
|
122
175
|
}
|
|
123
176
|
if (action) {
|
|
124
|
-
params = params.set(
|
|
177
|
+
params = params.set("action", action);
|
|
125
178
|
}
|
|
126
179
|
return this.http.get(`${this.footfallDirapiUrl}/get-tickets`, { params });
|
|
127
180
|
}
|
|
128
|
-
|
|
181
|
+
getTicketsNewApi(ticketId) {
|
|
182
|
+
let params = new HttpParams().set("ticketId", ticketId);
|
|
183
|
+
return this.http.get(`${this.footfallDirapiUrl}/get-tickets`, { params });
|
|
184
|
+
}
|
|
185
|
+
getTaggedStoresApi(client, fromDate, toDate, searchValue, clusters, sortOrder) {
|
|
129
186
|
let params = new HttpParams()
|
|
130
|
-
.set(
|
|
131
|
-
.set(
|
|
132
|
-
.set(
|
|
187
|
+
.set("clientId", client)
|
|
188
|
+
.set("fromDate", fromDate)
|
|
189
|
+
.set("toDate", toDate); // Add searchValue as an empty string if not provided
|
|
133
190
|
// Only add 'clusters' if it's not null, undefined, or an empty array/string
|
|
134
191
|
if (searchValue) {
|
|
135
|
-
params = params.set(
|
|
192
|
+
params = params.set("searchValue", searchValue);
|
|
136
193
|
}
|
|
137
194
|
if (clusters && clusters.length > 0) {
|
|
138
|
-
params = params.set(
|
|
195
|
+
params = params.set("clusters", clusters);
|
|
196
|
+
}
|
|
197
|
+
if (sortOrder) {
|
|
198
|
+
params = params.set("sortOrder", sortOrder);
|
|
139
199
|
}
|
|
140
|
-
return this.http.get(`${this.footfallDirapiUrl}/get-tagged-stores`, {
|
|
200
|
+
return this.http.get(`${this.footfallDirapiUrl}/get-tagged-stores`, {
|
|
201
|
+
params,
|
|
202
|
+
});
|
|
141
203
|
}
|
|
142
204
|
getUpdateStatusApi(data) {
|
|
143
205
|
const url = `${this.footfallDirapiUrl}/update-status`;
|
|
144
206
|
return this.http.put(url, data);
|
|
145
207
|
}
|
|
208
|
+
getUpdateTempStatusApi(data) {
|
|
209
|
+
return this.http.post(`${this.footfallDirapiUrl}/update-temp-status`, data);
|
|
210
|
+
}
|
|
211
|
+
getOpenTicketListApi(data) {
|
|
212
|
+
return this.http.post(`${this.footfallDirapiUrl}/open-ticket-list`, data);
|
|
213
|
+
}
|
|
214
|
+
getUpdateTicketStatusApi(data) {
|
|
215
|
+
return this.http.post(`${this.footfallDirapiUrl}/update-ticket-status`, data);
|
|
216
|
+
}
|
|
217
|
+
getCreateTicketListApi(data) {
|
|
218
|
+
return this.http.post(`${this.footfallDirapiUrl}/create-ticket`, data);
|
|
219
|
+
}
|
|
220
|
+
CreateinternalTicketApi(data) {
|
|
221
|
+
return this.http.post(`${this.footfallDirapiUrl}/create-internalticket`, data);
|
|
222
|
+
}
|
|
146
223
|
getclusters(data) {
|
|
147
224
|
return this.http.post(`${this.trafficApiUrl}/headercluster_v2`, data);
|
|
148
225
|
}
|
|
226
|
+
getReviewerApi(clientId, type) {
|
|
227
|
+
let params = new HttpParams().set("clientId", clientId)
|
|
228
|
+
.set("type", type);
|
|
229
|
+
return this.http.get(`${this.footfallDirapiUrl}/reviewer-list`, { params });
|
|
230
|
+
}
|
|
231
|
+
getTicketAssignApi(data) {
|
|
232
|
+
return this.http.post(`${this.footfallDirapiUrl}/assign-ticket`, data);
|
|
233
|
+
}
|
|
234
|
+
getMultiCloseTicketApi(data) {
|
|
235
|
+
return this.http.post(`${this.footfallDirapiUrl}/multi-close-tickets`, data);
|
|
236
|
+
}
|
|
237
|
+
footfallData;
|
|
238
|
+
setFootfallData(data) {
|
|
239
|
+
this.footfallData = data;
|
|
240
|
+
}
|
|
241
|
+
getFootfallData() {
|
|
242
|
+
return this.footfallData;
|
|
243
|
+
}
|
|
149
244
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, deps: [{ token: i1.HttpClient }, { token: i2.GlobalStateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
150
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, providedIn:
|
|
245
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, providedIn: "root" });
|
|
151
246
|
}
|
|
152
247
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, decorators: [{
|
|
153
248
|
type: Injectable,
|
|
154
249
|
args: [{
|
|
155
|
-
providedIn:
|
|
250
|
+
providedIn: "root",
|
|
156
251
|
}]
|
|
157
252
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2UtdGlja2V0cy9zcmMvbGliL3NlcnZpY2VzL3RpY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUNMLGVBQWUsR0FNaEIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFJbEQsTUFBTSxPQUFPLGFBQWE7SUFVSjtJQUEwQjtJQVQ5QyxVQUFVLENBQU07SUFDaEIsYUFBYSxDQUFNO0lBQ25CLFdBQVcsQ0FBSztJQUNoQixpQkFBaUIsQ0FBSztJQUN0QixlQUFlLENBQUs7SUFDcEIsaUJBQWlCLENBQU07SUFDdkIsV0FBVyxDQUFLO0lBQ2hCLGFBQWEsQ0FBSztJQUNsQixlQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUE7SUFDaEQsWUFBb0IsSUFBZ0IsRUFBVSxFQUFzQjtRQUFoRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFH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YUFBYSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN2RSxDQUFDO3dHQTFKVSxhQUFhOzRHQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQge1xyXG4gIEJlaGF2aW9yU3ViamVjdCxcclxuICBPYnNlcnZhYmxlLFxyXG4gIGNhdGNoRXJyb3IsXHJcbiAgbWFwLFxyXG4gIG9mLFxyXG4gIHRocm93RXJyb3IsXHJcbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlja2V0U2VydmljZSB7XHJcbiAgdXNlckFwaVVybDogYW55O1xyXG4gIHRpY2tldHNBcGlVcmw6IGFueTtcclxuICBhdWRpdEFwaVVybDphbnk7XHJcbiAgYXVkaXRtZXRyaWNBcGlVcmw6YW55O1xyXG4gIHpvbmVhdWRpdEFwaVVybDphbnk7XHJcbiAgZm9vdGZhbGxEaXJhcGlVcmw6IGFueTtcclxuICBmb290ZmFsbENETjphbnk7XHJcbiAgdHJhZmZpY0FwaVVybDphbnk7XHJcbiAgZHJvcERvd25UcmlnZ2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQuc3Vic2NyaWJlKChlbnYpID0+IHtcclxuICAgICAgaWYgKGVudikge1xyXG4gICAgICAgIHRoaXMudXNlckFwaVVybCA9IGVudi51c2VyQXBpVXJsO1xyXG4gICAgICAgIHRoaXMudGlja2V0c0FwaVVybCA9ZW52LnRpY2tldHNBcGlVcmw7XHJcbiAgICAgICAgdGhpcy5hdWRpdG1ldHJpY0FwaVVybCA9IGVudi5hdWRpdG1ldHJpY0FwaVVybDtcclxuICAgICAgICB0aGlzLmF1ZGl0QXBpVXJsID0gZW52LmF1ZGl0QXBpVXJsO1xyXG4gICAgICAgIHRoaXMuem9uZWF1ZGl0QXBpVXJsID0gZW52LnpvbmVhdWRpdEFwaVVybDtcclxuICAgICAgICB0aGlzLmZvb3RmYWxsRGlyYXBpVXJsPSBlbnYuZm9vdGZhbGxEaXJhcGlVcmw7XHJcbiAgICAgICAgdGhpcy5mb290ZmFsbENETiA9ZW52LmZvb3RmYWxsQ0ROO1xyXG4gICAgICAgIHRoaXMudHJhZmZpY0FwaVVybCA9ZW52LnRyYWZmaWNBcGlVcmw7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRVc2VyTGlzdChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnVzZXJBcGlVcmx9L2dldC1saXN0YCwgcGFyYW1zKVxyXG4gIH1cclxuICBleHBvcnRJbnN0YWxsYXRpb25MaXN0KGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL2luc3RhbGxhdGlvblRhYmxlYCxkYXRhLHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuICBleHBvcnRJbmZyYUxpc3QoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvaW5mcmFUYWJsZWAsZGF0YSx7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZXhwb3J0TWF0TGlzdChkYXRhOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9tYXRUYWJsZWAsZGF0YSx7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0U290cmVzTGlzdChkYXRhOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL3N0b3JlRmlsdGVyYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldEluc3RhbGxhdGlvbkxpc3QoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9pbnN0YWxsYXRpb25UYWJsZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRJbmZyYUxpc3QoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9pbmZyYVRhYmxlYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldEFzc2lnblRpY2tldChkYXRhOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL2Fzc2lnblRpY2tldGAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldE1hdExpc3QoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9tYXRUYWJsZWAsIGRhdGEpXHJcbiAgfVxyXG4gIFxyXG4gIHVwZGF0ZVRpY2tldElzc3VlKGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0c0FwaVVybH0vZW1wbG95ZWVUcmFuaW5nL3VwZGF0ZWNvbW1lbnRgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckFjdGl2ZUxpc3QocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy51c2VyQXBpVXJsfS9saXN0YCwgcGFyYW1zKVxyXG4gIH1cclxuICBcclxuICBnZXREYXRhTWlzbWF0aExpc3QoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9kYXRhTWlzbWF0Y2hUYWJsZWAsIGRhdGEpXHJcbiAgfVxyXG4gIGV4cG9ydERhdGFNaXNtYXRjaExpc3QoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvZGF0YU1pc21hdGNoVGFibGVgLGRhdGEse3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG5cclxuICBnZXRBbGxDb3VudHMoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9hbGxDb3VudHNgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRzdG9yZU1ldHJpY3MoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXVkaXRBcGlVcmx9L21ldHJpY3Mvc3RvcmUtbWV0cmljc2AsZGF0YSlcclxuICB9XHJcbiAgZ2V0c3RvcmVNZXRyaWNzRXhwb3J0KGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9tZXRyaWNzL3N0b3JlLW1ldHJpY3NgLGRhdGEse3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldGNsaWVudExpc3QoKXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2NsaWVudHNgKVxyXG4gIH1cclxuICBnZXR1c2VyTGlzdCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vdGFuZ28tdXNlcnNgKVxyXG4gIH1cclxuICBhdWRpdHJldHJpZ2dlcihkYXRhOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vbWV0cmljcy9yZS10cmlnZ2VyYCxkYXRhKVxyXG4gfVxyXG4gZ2V0c3RvcmVMaXN0KGRhdGE6YW55KXtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQtc3RvcmVzYCxkYXRhKVxyXG4gfVxyXG4gZ2V0QXVkaXRJbWFnZXMoZGF0YTphbnkpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1ZGl0LWltYWdlcz9maWxlRGF0ZT0ke2RhdGE/LmZpbGVEYXRlfSZzdG9yZUlkPSR7ZGF0YT8uc3RvcmVJZH0maW1hZ2VUeXBlPSR7ZGF0YT8uaW1hZ2VUeXBlfSZleHBvcnQ9JHtkYXRhPy5leHBvcnR9JnpvbmVOYW1lPSR7ZGF0YT8uem9uZU5hbWV9Jm1vZHVsZVR5cGU9JHtkYXRhPy5tb2R1bGVUeXBlfWApXHJcbiAgfVxyXG4gIEV4cG9ydEF1ZGl0SW1hZ2VzYXN4bHN4KGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1ZGl0LWltYWdlcz9maWxlRGF0ZT0ke2RhdGE/LmZpbGVEYXRlfSZzdG9yZUlkPSR7ZGF0YT8uc3RvcmVJZH0maW1hZ2VUeXBlPSR7ZGF0YT8uaW1hZ2VUeXBlfSZleHBvcnQ9JHtkYXRhPy5leHBvcnR9JnpvbmVOYW1lPSR7ZGF0YT8uem9uZU5hbWV9Jm1vZHVsZVR5cGU9JHtkYXRhPy5tb2R1bGVUeXBlfWAse3Jlc3BvbnNlVHlwZTonYXJyYXlidWZmZXInfSlcclxuICB9XHJcblxyXG4gIGdldFRpY2tldFN1bW1hcnlBcGkoY2xpZW50OiBhbnksIGZyb21EYXRlOiBhbnksIHRvRGF0ZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L3RpY2tldC1zdW1tYXJ5P2NsaWVudElkPSR7Y2xpZW50fSZmcm9tRGF0ZT0ke2Zyb21EYXRlfSZ0b0RhdGU9JHt0b0RhdGV9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRUaWNrZXRMaXN0QXBpKGNsaWVudDogYW55LCBmcm9tRGF0ZTogYW55LCB0b0RhdGU6IGFueSwgc2VhcmNodmFsdWU6YW55LCBsaW1pdDphbnksIG9mZnNldDphbnksIGlzRXhwb3J0OmFueSxzb3J0Qnk6YW55LHNvcnRPcmRlcjphbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vdGlja2V0LWxpc3Q/Y2xpZW50SWQ9JHtjbGllbnR9JmZyb21EYXRlPSR7ZnJvbURhdGV9JnRvRGF0ZT0ke3RvRGF0ZX0mc2VhcmNoVmFsdWU9JHtzZWFyY2h2YWx1ZX0mbGltaXQ9JHtsaW1pdH0mb2Zmc2V0PSR7b2Zmc2V0fSZpc0V4cG9ydD0ke2lzRXhwb3J0fSZzb3J0Qnk9JHtzb3J0Qnl9JnNvcnRPcmRlcj0ke3NvcnRPcmRlcn1gKTtcclxuICB9XHJcblxyXG4gIGdldFRpY2tldExpc3RFeHBvcnRBcGkoY2xpZW50OiBhbnksIGZyb21EYXRlOiBhbnksIHRvRGF0ZTogYW55LCBzZWFyY2h2YWx1ZTphbnksIGxpbWl0OmFueSwgb2Zmc2V0OmFueSwgaXNFeHBvcnQ6YW55LHNvcnRCeTphbnksc29ydE9yZGVyOmFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS90aWNrZXQtbGlzdD9jbGllbnRJZD0ke2NsaWVudH0mZnJvbURhdGU9JHtmcm9tRGF0ZX0mdG9EYXRlPSR7dG9EYXRlfSZzZWFyY2hWYWx1ZT0ke3NlYXJjaHZhbHVlfSZsaW1pdD0ke2xpbWl0fSZvZmZzZXQ9JHtvZmZzZXR9JmlzRXhwb3J0PSR7aXNFeHBvcnR9JnNvcnRCeT0ke3NvcnRCeX0mc29ydE9yZGVyPSR7c29ydE9yZGVyfWAse3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pO1xyXG4gIH1cclxuXHJcblxyXG5cclxuZ2V0VGlja2V0c0FwaShzdG9yZTogYW55LCBmcm9tRGF0ZTogYW55LCB0b0RhdGU6IGFueSwgcmV2b3BzVHlwZTogYW55LCBzdGF0dXM6IGFueSwgYWN0aW9uOiBhbnksIG9mZnNldDogYW55LCBsaW1pdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgLnNldCgnc3RvcmVJZCcsIHN0b3JlKVxyXG4gICAgLnNldCgnZnJvbURhdGUnLCBmcm9tRGF0ZSlcclxuICAgIC5zZXQoJ3RvRGF0ZScsIHRvRGF0ZSlcclxuICAgIC5zZXQoJ29mZnNldCcsIG9mZnNldClcclxuICAgIC5zZXQoJ2xpbWl0JywgbGltaXQpO1xyXG4gIGlmIChyZXZvcHNUeXBlKSB7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdyZXZvcHNUeXBlJywgcmV2b3BzVHlwZSk7XHJcbiAgfVxyXG4gIGlmIChzdGF0dXMpIHtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3N0YXR1cycsIHN0YXR1cyk7XHJcbiAgfVxyXG4gIGlmIChhY3Rpb24pIHtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2FjdGlvbicsIGFjdGlvbik7XHJcbiAgfVxyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L2dldC10aWNrZXRzYCwgeyBwYXJhbXMgfSk7XHJcbn1cclxuXHJcbmdldFRhZ2dlZFN0b3Jlc0FwaShjbGllbnQ6IGFueSwgZnJvbURhdGU6IGFueSwgdG9EYXRlOiBhbnksc2VhcmNoVmFsdWU6YW55LCBjbHVzdGVyczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgLnNldCgnY2xpZW50SWQnLCBjbGllbnQpXHJcbiAgICAuc2V0KCdmcm9tRGF0ZScsIGZyb21EYXRlKVxyXG4gICAgLnNldCgndG9EYXRlJywgdG9EYXRlKTsgLy8gQWRkIHNlYXJjaFZhbHVlIGFzIGFuIGVtcHR5IHN0cmluZyBpZiBub3QgcHJvdmlkZWRcclxuICAgIC8vIE9ubHkgYWRkICdjbHVzdGVycycgaWYgaXQncyBub3QgbnVsbCwgdW5kZWZpbmVkLCBvciBhbiBlbXB0eSBhcnJheS9zdHJpbmdcclxuICAgIGlmIChzZWFyY2hWYWx1ZSkge1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NlYXJjaFZhbHVlJywgc2VhcmNoVmFsdWUpO1xyXG4gICAgICB9XHJcbiAgaWYgKGNsdXN0ZXJzICYmIGNsdXN0ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2NsdXN0ZXJzJywgY2x1c3RlcnMpO1xyXG4gIH1cclxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS9nZXQtdGFnZ2VkLXN0b3Jlc2AsIHsgcGFyYW1zIH0pO1xyXG59XHJcblxyXG5cclxuZ2V0VXBkYXRlU3RhdHVzQXBpKGRhdGE6YW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICBjb25zdCB1cmwgPSBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS91cGRhdGUtc3RhdHVzYDtcclxuICByZXR1cm4gdGhpcy5odHRwLnB1dCh1cmwsIGRhdGEpO1xyXG59XHJcbiAgZ2V0Y2x1c3RlcnMoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmFmZmljQXBpVXJsfS9oZWFkZXJjbHVzdGVyX3YyYCwgZGF0YSlcclxuICB9XHJcbn1cclxuIl19
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2UtdGlja2V0cy9zcmMvbGliL3NlcnZpY2VzL3RpY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUNMLGVBQWUsR0FNaEIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFJbEQsTUFBTSxPQUFPLGFBQWE7SUFXSjtJQUEwQjtJQVY5QyxVQUFVLENBQU07SUFDaEIsYUFBYSxDQUFNO0lBQ25CLFdBQVcsQ0FBTTtJQUNqQixpQkFBaUIsQ0FBTTtJQUN2QixlQUFlLENBQU07SUFDckIsaUJBQWlCLENBQU07SUFDdkIsV0FBVyxDQUFNO0lBQ2pCLGFBQWEsQ0FBTTtJQUNuQixXQUFXLENBQU07SUFDakIsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBQ2pELFlBQW9CLElBQWdCLEVBQVUsRUFBc0I7UUFBaEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ2xFLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BDLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixDQUFDO2dCQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7Z0JBQ25DLElBQUksQ0FB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VUFBVSxFQUFFLFFBQVEsQ0FBQzthQUNwRCxHQUFHLENBQUMsTUFBTSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBUztRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFBUztRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsc0JBQXNCLEVBQy9DLElBQUksQ0FDTCxDQUFDO0lBQ0osQ0FBQztJQUNPLFlBQVksQ0FBTTtJQUUxQixlQUFlLENBQUMsSUFBUztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO3dHQXRYVSxhQUFhOzRHQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQge1xyXG4gIEJlaGF2aW9yU3ViamVjdCxcclxuICBPYnNlcnZhYmxlLFxyXG4gIGNhdGNoRXJyb3IsXHJcbiAgbWFwLFxyXG4gIG9mLFxyXG4gIHRocm93RXJyb3IsXHJcbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaWNrZXRTZXJ2aWNlIHtcclxuICB1c2VyQXBpVXJsOiBhbnk7XHJcbiAgdGlja2V0c0FwaVVybDogYW55O1xyXG4gIGF1ZGl0QXBpVXJsOiBhbnk7XHJcbiAgYXVkaXRtZXRyaWNBcGlVcmw6IGFueTtcclxuICB6b25lYXVkaXRBcGlVcmw6IGFueTtcclxuICBmb290ZmFsbERpcmFwaVVybDogYW55O1xyXG4gIGZvb3RmYWxsQ0ROOiBhbnk7XHJcbiAgdHJhZmZpY0FwaVVybDogYW55O1xyXG4gIHJldm9wQXBpVXJsOiBhbnk7XHJcbiAgZHJvcERvd25UcmlnZ2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBnczogR2xvYmFsU3RhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmdzLmVudmlyb25tZW50LnN1YnNjcmliZSgoZW52KSA9PiB7XHJcbiAgICAgIGlmIChlbnYpIHtcclxuICAgICAgICB0aGlzLnVzZXJBcGlVcmwgPSBlbnYudXNlckFwaVVybDtcclxuICAgICAgICB0aGlzLnRpY2tldHNBcGlVcmwgPSBlbnYudGlja2V0c0FwaVVybDtcclxuICAgICAgICB0aGlzLmF1ZGl0bWV0cmljQXBpVXJsID0gZW52LmF1ZGl0bWV0cmljQXBpVXJsO1xyXG4gICAgICAgIHRoaXMuYXVkaXRBcGlVcmwgPSBlbnYuYXVkaXRBcGlVcmw7XHJcbiAgICAgICAgdGhpcy56b25lYXVkaXRBcGlVcmwgPSBlbnYuem9uZWF1ZGl0QXBpVXJsO1xyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxEaXJhcGlVcmwgPSBlbnYuZm9vdGZhbGxEaXJhcGlVcmw7XHJcbiAgICAgICAgdGhpcy5mb290ZmFsbENETiA9IGVudi5mb290ZmFsbENETjtcclxuICAgICAgICB0aGlzLnRyYWZmaWNBcGlVcmwgPSBlbnYudHJhZmZpY0FwaVVybDtcclxuICAgICAgICB0aGlzLnJldm9wQXBpVXJsID0gZW52LnJldm9wQXBpVXJsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFVzZXJMaXN0KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudXNlckFwaVVybH0vZ2V0LWxpc3RgLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0SW5zdGFsbGF0aW9uTGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9pbnN0YWxsYXRpb25UYWJsZWAsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHsgcmVzcG9uc2VUeXBlOiBcImFycmF5YnVmZmVyXCIgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydEluZnJhTGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL2luZnJhVGFibGVgLCBkYXRhLCB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRNYXRMaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvbWF0VGFibGVgLCBkYXRhLCB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTb3RyZXNMaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9zdG9yZUZpbHRlcmAsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5zdGFsbGF0aW9uTGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxyXG4gICAgICBgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL2luc3RhbGxhdGlvblRhYmxlYCxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEluZnJhTGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvaW5mcmFUYWJsZWAsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXNzaWduVGlja2V0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oXHJcbiAgICAgIGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvYXNzaWduVGlja2V0YCxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldE1hdExpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL21hdFRhYmxlYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUaWNrZXRJc3N1ZShkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxyXG4gICAgICBgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2VtcGxveWVlVHJhbmluZy91cGRhdGVjb21tZW50YCxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFVzZXJBY3RpdmVMaXN0KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudXNlckFwaVVybH0vbGlzdGAsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxDb3VudHMoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9hbGxDb3VudHNgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRzdG9yZU1ldHJpY3MoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXVkaXRBcGlVcmx9L21ldHJpY3Mvc3RvcmUtbWV0cmljc2AsZGF0YSlcclxuICB9XHJcbiAgZ2V0c3RvcmVNZXRyaWNzRXhwb3J0KGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9tZXRyaWNzL3N0b3JlLW1ldHJpY3NgLGRhdGEse3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldGNsaWVudExpc3QoKXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2NsaWVudHNgKVxyXG4gIH1cclxuICBnZXR1c2VyTGlzdCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vdGFuZ28tdXNlcnNgKVxyXG4gIH1cclxuICBhdWRpdHJldHJpZ2dlcihkYXRhOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vbWV0cmljcy9yZS10cmlnZ2VyYCxkYXRhKVxyXG4gfVxyXG4gZ2V0Zm9vdGZhbGxjb3VudChkYXRhOmFueSl7XHJcbiAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5yZXZvcEFwaVVybH0vc3RvcmUtcHJvY2Vzc2VkLWRhdGE/c3RvcmVJZD0ke2RhdGEuc3RvcmVJZH0mZnJvbURhdGU9JHtkYXRhLkRhdGV9JnRvRGF0ZT0ke2RhdGEuRGF0ZX1gKVxyXG4gIFxyXG4gfVxyXG4gZ2V0c3RvcmVMaXN0KGRhdGE6YW55KXtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQtc3RvcmVzYCxkYXRhKVxyXG4gfVxyXG4gY2hlY2tUaWNrZXRFeGlzdHMoZGF0YTphbnkpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS9jaGVja1RpY2tldEV4aXN0c2AsZGF0YSlcclxuIH1cclxuIG1lcmdldGlja2V0KGRhdGE6YW55KXtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vbWVyZ2V0aWNrZXRgLGRhdGEpXHJcbiB9XHJcbiAgZ2V0RGF0YU1pc21hdGhMaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oXHJcbiAgICAgIGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvZGF0YU1pc21hdGNoVGFibGVgLFxyXG4gICAgICBkYXRhXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0RGF0YU1pc21hdGNoTGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9kYXRhTWlzbWF0Y2hUYWJsZWAsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHsgcmVzcG9uc2VUeXBlOiBcImFycmF5YnVmZmVyXCIgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG5cclxuICBnZXRBdWRpdEltYWdlcyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmF1ZGl0QXBpVXJsfS9hdWRpdC1pbWFnZXM/ZmlsZURhdGU9JHtkYXRhPy5maWxlRGF0ZX0mc3RvcmVJZD0ke2RhdGE/LnN0b3JlSWR9JmltYWdlVHlwZT0ke2RhdGE/LmltYWdlVHlwZX0mZXhwb3J0PSR7ZGF0YT8uZXhwb3J0fSZ6b25lTmFtZT0ke2RhdGE/LnpvbmVOYW1lfSZtb2R1bGVUeXBlPSR7ZGF0YT8ubW9kdWxlVHlwZX1gXHJcbiAgICApO1xyXG4gIH1cclxuICBFeHBvcnRBdWRpdEltYWdlc2FzeGxzeChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmF1ZGl0QXBpVXJsfS9hdWRpdC1pbWFnZXM/ZmlsZURhdGU9JHtkYXRhPy5maWxlRGF0ZX0mc3RvcmVJZD0ke2RhdGE/LnN0b3JlSWR9JmltYWdlVHlwZT0ke2RhdGE/LmltYWdlVHlwZX0mZXhwb3J0PSR7ZGF0YT8uZXhwb3J0fSZ6b25lTmFtZT0ke2RhdGE/LnpvbmVOYW1lfSZtb2R1bGVUeXBlPSR7ZGF0YT8ubW9kdWxlVHlwZX1gLFxyXG4gICAgICB7IHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRUaWNrZXRTdW1tYXJ5QXBpKFxyXG4gICAgY2xpZW50OiBhbnksXHJcbiAgICBmcm9tRGF0ZTogYW55LFxyXG4gICAgdG9EYXRlOiBhbnlcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L3RpY2tldC1zdW1tYXJ5P2NsaWVudElkPSR7Y2xpZW50fSZmcm9tRGF0ZT0ke2Zyb21EYXRlfSZ0b0RhdGU9JHt0b0RhdGV9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRpY2tldExpc3RPbGRBcGkoXHJcbiAgICBjbGllbnQ6IGFueSxcclxuICAgIGZyb21EYXRlOiBhbnksXHJcbiAgICB0b0RhdGU6IGFueSxcclxuICAgIHNlYXJjaHZhbHVlOiBhbnksXHJcbiAgICBsaW1pdDogYW55LFxyXG4gICAgb2Zmc2V0OiBhbnksXHJcbiAgICBpc0V4cG9ydDogYW55LFxyXG4gICAgc29ydEJ5OiBhbnksXHJcbiAgICBzb3J0T3JkZXI6IGFueVxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vdGlja2V0LWxpc3Q/Y2xpZW50SWQ9JHtjbGllbnR9JmZyb21EYXRlPSR7ZnJvbURhdGV9JnRvRGF0ZT0ke3RvRGF0ZX0mc2VhcmNoVmFsdWU9JHtzZWFyY2h2YWx1ZX0mbGltaXQ9JHtsaW1pdH0mb2Zmc2V0PSR7b2Zmc2V0fSZpc0V4cG9ydD0ke2lzRXhwb3J0fSZzb3J0Qnk9JHtzb3J0Qnl9JnNvcnRPcmRlcj0ke3NvcnRPcmRlcn1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGlja2V0TGlzdEFwaShcclxuICAgIGNsaWVudDogYW55LFxyXG4gICAgZnJvbURhdGU6IGFueSxcclxuICAgIHRvRGF0ZTogYW55LFxyXG4gICAgc2VhcmNodmFsdWU6IGFueSxcclxuICAgIGxpbWl0OiBhbnksXHJcbiAgICBvZmZzZXQ6IGFueSxcclxuICAgIGlzRXhwb3J0OiBhbnksXHJcbiAgICBzb3J0Qnk6IGFueSxcclxuICAgIHNvcnRPcmRlcjogYW55LFxyXG4gICAgdGFuZ29UeXBlOiBhbnksXHJcbiAgICAgcGVybWlzc2lvblR5cGU/OiBzdHJpbmcgfCBudWxsXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCB1cmwgPSBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS90aWNrZXQtbGlzdD9gICtcclxuICAgICAgICAgICAgYGNsaWVudElkPSR7Y2xpZW50fWAgK1xyXG4gICAgICAgICAgICBgJmZyb21EYXRlPSR7ZnJvbURhdGV9YCArXHJcbiAgICAgICAgICAgIGAmdG9EYXRlPSR7dG9EYXRlfWAgK1xyXG4gICAgICAgICAgICBgJnNlYXJjaFZhbHVlPSR7c2VhcmNodmFsdWV9YCArXHJcbiAgICAgICAgICAgIGAmbGltaXQ9JHtsaW1pdH1gICtcclxuICAgICAgICAgICAgYCZvZmZzZXQ9JHtvZmZzZXR9YCArXHJcbiAgICAgICAgICAgIGAmaXNFeHBvcnQ9JHtpc0V4cG9ydH1gICtcclxuICAgICAgICAgICAgYCZzb3J0Qnk9JHtzb3J0Qnl9YCArXHJcbiAgICAgICAgICAgIGAmc29ydE9yZGVyPSR7c29ydE9yZGVyfWAgK1xyXG4gICAgICAgICAgICBgJnRhbmdvVHlwZT0ke3RhbmdvVHlwZX1gO1xyXG5cclxuICBpZiAocGVybWlzc2lvblR5cGUpIHtcclxuICAgIHVybCArPSBgJnBlcm1pc3Npb25UeXBlPSR7cGVybWlzc2lvblR5cGV9YDsgXHJcbiAgfVxyXG5cclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGlja2V0TGlzdEV4cG9ydE9sZEFwaShcclxuICAgIGNsaWVudDogYW55LFxyXG4gICAgZnJvbURhdGU6IGFueSxcclxuICAgIHRvRGF0ZTogYW55LFxyXG4gICAgc2VhcmNodmFsdWU6IGFueSxcclxuICAgIGxpbWl0OiBhbnksXHJcbiAgICBvZmZzZXQ6IGFueSxcclxuICAgIGlzRXhwb3J0OiBhbnksXHJcbiAgICBzb3J0Qnk6IGFueSxcclxuICAgIHNvcnRPcmRlcjogYW55XHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS90aWNrZXQtbGlzdD9jbGllbnRJZD0ke2NsaWVudH0mZnJvbURhdGU9JHtmcm9tRGF0ZX0mdG9EYXRlPSR7dG9EYXRlfSZzZWFyY2hWYWx1ZT0ke3NlYXJjaHZhbHVlfSZsaW1pdD0ke2xpbWl0fSZvZmZzZXQ9JHtvZmZzZXR9JmlzRXhwb3J0PSR7aXNFeHBvcnR9JnNvcnRCeT0ke3NvcnRCeX0mc29ydE9yZGVyPSR7c29ydE9yZGVyfWAsXHJcbiAgICAgIHsgcmVzcG9uc2VUeXBlOiBcImFycmF5YnVmZmVyXCIgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRpY2tldExpc3RFeHBvcnRBcGkoXHJcbiAgICAgY2xpZW50OiBhbnksXHJcbiAgICBmcm9tRGF0ZTogYW55LFxyXG4gICAgdG9EYXRlOiBhbnksXHJcbiAgICBzZWFyY2h2YWx1ZTogYW55LFxyXG4gICAgbGltaXQ6IGFueSxcclxuICAgIG9mZnNldDogYW55LFxyXG4gICAgaXNFeHBvcnQ6IGFueSxcclxuICAgIHNvcnRCeTogYW55LFxyXG4gICAgc29ydE9yZGVyOiBhbnksXHJcbiAgICB0YW5nb1R5cGU6IGFueSxcclxuICAgICBwZXJtaXNzaW9uVHlwZT86IHN0cmluZyB8IG51bGxcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgIGxldCB1cmwgPSBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS90aWNrZXQtbGlzdD9gICtcclxuICAgICAgICAgICAgYGNsaWVudElkPSR7Y2xpZW50fWAgK1xyXG4gICAgICAgICAgICBgJmZyb21EYXRlPSR7ZnJvbURhdGV9YCArXHJcbiAgICAgICAgICAgIGAmdG9EYXRlPSR7dG9EYXRlfWAgK1xyXG4gICAgICAgICAgICBgJnNlYXJjaFZhbHVlPSR7c2VhcmNodmFsdWV9YCArXHJcbiAgICAgICAgICAgIGAmbGltaXQ9JHtsaW1pdH1gICtcclxuICAgICAgICAgICAgYCZvZmZzZXQ9JHtvZmZzZXR9YCArXHJcbiAgICAgICAgICAgIGAmaXNFeHBvcnQ9JHtpc0V4cG9ydH1gICtcclxuICAgICAgICAgICAgYCZzb3J0Qnk9JHtzb3J0Qnl9YCArXHJcbiAgICAgICAgICAgIGAmc29ydE9yZGVyPSR7c29ydE9yZGVyfWAgK1xyXG4gICAgICAgICAgICBgJnRhbmdvVHlwZT0ke3RhbmdvVHlwZX1gO1xyXG5cclxuICBpZiAocGVybWlzc2lvblR5cGUpIHtcclxuICAgIHVybCArPSBgJnBlcm1pc3Npb25UeXBlPSR7cGVybWlzc2lvblR5cGV9YDtcclxuICB9XHJcblxyXG4gIC8vIElmIGV4cG9ydCBpcyBUUlVFIOKGkiByZXR1cm4gYXJyYXlidWZmZXJcclxuICBjb25zdCBvcHRpb25zID0gaXNFeHBvcnRcclxuICAgID8geyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgYXMgJ2pzb24nIH1cclxuICAgIDoge307XHJcblxyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBnZXRUaWNrZXRzQXBpKFxyXG4gICAgc3RvcmU6IGFueSxcclxuICAgIGZyb21EYXRlOiBhbnksXHJcbiAgICB0b0RhdGU6IGFueSxcclxuICAgIHJldm9wc1R5cGU6IGFueSxcclxuICAgIHN0YXR1czogYW55LFxyXG4gICAgYWN0aW9uOiBhbnksXHJcbiAgICBvZmZzZXQ6IGFueSxcclxuICAgIGxpbWl0OiBhbnlcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgICAgLnNldChcInN0b3JlSWRcIiwgc3RvcmUpXHJcbiAgICAgIC5zZXQoXCJmcm9tRGF0ZVwiLCBmcm9tRGF0ZSlcclxuICAgICAgLnNldChcInRvRGF0ZVwiLCB0b0RhdGUpXHJcbiAgICAgIC5zZXQoXCJvZmZzZXRcIiwgb2Zmc2V0KVxyXG4gICAgICAuc2V0KFwibGltaXRcIiwgbGltaXQpO1xyXG4gICAgaWYgKHJldm9wc1R5cGUpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcInJldm9wc1R5cGVcIiwgcmV2b3BzVHlwZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoc3RhdHVzKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoXCJzdGF0dXNcIiwgc3RhdHVzKTtcclxuICAgIH1cclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcImFjdGlvblwiLCBhY3Rpb24pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vZ2V0LXRpY2tldHNgLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIGdldFRpY2tldHNOZXdBcGkodGlja2V0SWQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoXCJ0aWNrZXRJZFwiLCB0aWNrZXRJZCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS9nZXQtdGlja2V0c2AsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGFnZ2VkU3RvcmVzQXBpKFxyXG4gICAgY2xpZW50OiBhbnksXHJcbiAgICBmcm9tRGF0ZTogYW55LFxyXG4gICAgdG9EYXRlOiBhbnksXHJcbiAgICBzZWFyY2hWYWx1ZTogYW55LFxyXG4gICAgY2x1c3RlcnM6IGFueSxcclxuICAgIHNvcnRPcmRlcjogYW55XHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgIC5zZXQoXCJjbGllbnRJZFwiLCBjbGllbnQpXHJcbiAgICAgIC5zZXQoXCJmcm9tRGF0ZVwiLCBmcm9tRGF0ZSlcclxuICAgICAgLnNldChcInRvRGF0ZVwiLCB0b0RhdGUpOyAvLyBBZGQgc2VhcmNoVmFsdWUgYXMgYW4gZW1wdHkgc3RyaW5nIGlmIG5vdCBwcm92aWRlZFxyXG4gICAgLy8gT25seSBhZGQgJ2NsdXN0ZXJzJyBpZiBpdCdzIG5vdCBudWxsLCB1bmRlZmluZWQsIG9yIGFuIGVtcHR5IGFycmF5L3N0cmluZ1xyXG4gICAgaWYgKHNlYXJjaFZhbHVlKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoXCJzZWFyY2hWYWx1ZVwiLCBzZWFyY2hWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNsdXN0ZXJzICYmIGNsdXN0ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcImNsdXN0ZXJzXCIsIGNsdXN0ZXJzKTtcclxuICAgIH1cclxuICAgIGlmIChzb3J0T3JkZXIpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcInNvcnRPcmRlclwiLCBzb3J0T3JkZXIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vZ2V0LXRhZ2dlZC1zdG9yZXNgLCB7XHJcbiAgICAgIHBhcmFtcyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXBkYXRlU3RhdHVzQXBpKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS91cGRhdGUtc3RhdHVzYDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBnZXRVcGRhdGVUZW1wU3RhdHVzQXBpKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vdXBkYXRlLXRlbXAtc3RhdHVzYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBnZXRPcGVuVGlja2V0TGlzdEFwaShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L29wZW4tdGlja2V0LWxpc3RgLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIGdldFVwZGF0ZVRpY2tldFN0YXR1c0FwaShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS91cGRhdGUtdGlja2V0LXN0YXR1c2AsXHJcbiAgICAgIGRhdGFcclxuICAgICk7XHJcbiAgfVxyXG5cclxuZ2V0Q3JlYXRlVGlja2V0TGlzdEFwaShkYXRhOmFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L2NyZWF0ZS10aWNrZXRgLCBkYXRhKTtcclxufVxyXG5DcmVhdGVpbnRlcm5hbFRpY2tldEFwaShkYXRhOmFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L2NyZWF0ZS1pbnRlcm5hbHRpY2tldGAsIGRhdGEpO1xyXG59XHJcbiAgZ2V0Y2x1c3RlcnMoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmFmZmljQXBpVXJsfS9oZWFkZXJjbHVzdGVyX3YyYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBnZXRSZXZpZXdlckFwaShjbGllbnRJZDogYW55LHR5cGU6YW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldChcImNsaWVudElkXCIsIGNsaWVudElkKVxyXG4gICAgICAuc2V0KFwidHlwZVwiLHR5cGUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vcmV2aWV3ZXItbGlzdGAsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGlja2V0QXNzaWduQXBpKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vYXNzaWduLXRpY2tldGAsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TXVsdGlDbG9zZVRpY2tldEFwaShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS9tdWx0aS1jbG9zZS10aWNrZXRzYCxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBmb290ZmFsbERhdGE6IGFueTtcclxuXHJcbiAgc2V0Rm9vdGZhbGxEYXRhKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5mb290ZmFsbERhdGEgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rm9vdGZhbGxEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9vdGZhbGxEYXRhO1xyXG4gIH1cclxufVxyXG4iXX0=
|