sion-data-import 1.0.1

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.
Files changed (36) hide show
  1. package/esm2020/index.mjs +5 -0
  2. package/esm2020/lib/domain/ImportsColumn.mjs +6 -0
  3. package/esm2020/lib/domain/ImportsTable.mjs +3 -0
  4. package/esm2020/lib/domain/TableDto.mjs +8 -0
  5. package/esm2020/lib/service/http.service.mjs +70 -0
  6. package/esm2020/lib/sion-data-import.module.mjs +253 -0
  7. package/esm2020/lib/utils/urlutil.mjs +18 -0
  8. package/esm2020/lib/utils/util.mjs +129 -0
  9. package/esm2020/lib/views/import-table-list/import-table-data/import-table-data.component.mjs +145 -0
  10. package/esm2020/lib/views/import-table-list/import-table-detail/import-table-detail.component.mjs +469 -0
  11. package/esm2020/lib/views/import-table-list/import-table-list.component.mjs +245 -0
  12. package/esm2020/sion-data-import.mjs +5 -0
  13. package/index.d.ts +5 -0
  14. package/index.d.ts.map +1 -0
  15. package/lib/domain/ImportsColumn.d.ts +12 -0
  16. package/lib/domain/ImportsColumn.d.ts.map +1 -0
  17. package/lib/domain/ImportsTable.d.ts +11 -0
  18. package/lib/domain/ImportsTable.d.ts.map +1 -0
  19. package/lib/domain/TableDto.d.ts +7 -0
  20. package/lib/domain/TableDto.d.ts.map +1 -0
  21. package/lib/service/http.service.d.ts +22 -0
  22. package/lib/service/http.service.d.ts.map +1 -0
  23. package/lib/sion-data-import.module.d.ts +57 -0
  24. package/lib/sion-data-import.module.d.ts.map +1 -0
  25. package/lib/utils/urlutil.d.ts +18 -0
  26. package/lib/utils/urlutil.d.ts.map +1 -0
  27. package/lib/utils/util.d.ts +11 -0
  28. package/lib/utils/util.d.ts.map +1 -0
  29. package/lib/views/import-table-list/import-table-data/import-table-data.component.d.ts +39 -0
  30. package/lib/views/import-table-list/import-table-data/import-table-data.component.d.ts.map +1 -0
  31. package/lib/views/import-table-list/import-table-detail/import-table-detail.component.d.ts +51 -0
  32. package/lib/views/import-table-list/import-table-detail/import-table-detail.component.d.ts.map +1 -0
  33. package/lib/views/import-table-list/import-table-list.component.d.ts +57 -0
  34. package/lib/views/import-table-list/import-table-list.component.d.ts.map +1 -0
  35. package/package.json +39 -0
  36. package/sion-data-import.d.ts.map +1 -0
@@ -0,0 +1,145 @@
1
+ import { Component, ElementRef, Input } from '@angular/core';
2
+ import { HttpService } from "../../../service/http.service";
3
+ import { NzModalRef, NzModalService } from "ng-zorro-antd/modal";
4
+ import { Router } from "@angular/router";
5
+ import { NzMessageService } from "ng-zorro-antd/message";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../service/http.service";
8
+ import * as i2 from "ng-zorro-antd/modal";
9
+ import * as i3 from "@angular/router";
10
+ import * as i4 from "ng-zorro-antd/message";
11
+ import * as i5 from "@angular/common";
12
+ import * as i6 from "ng-zorro-antd/table";
13
+ function ImportTableDataComponent_th_4_Template(rf, ctx) { if (rf & 1) {
14
+ i0.ɵɵelementStart(0, "th", 4);
15
+ i0.ɵɵtext(1);
16
+ i0.ɵɵelementEnd();
17
+ } if (rf & 2) {
18
+ const column_r3 = ctx.$implicit;
19
+ i0.ɵɵadvance(1);
20
+ i0.ɵɵtextInterpolate(column_r3.title);
21
+ } }
22
+ function ImportTableDataComponent_tr_6_td_1_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelementStart(0, "td", 7);
24
+ i0.ɵɵtext(1);
25
+ i0.ɵɵelementEnd();
26
+ } if (rf & 2) {
27
+ const obj_r7 = ctx.$implicit;
28
+ i0.ɵɵadvance(1);
29
+ i0.ɵɵtextInterpolate(obj_r7);
30
+ } }
31
+ function ImportTableDataComponent_tr_6_Template(rf, ctx) { if (rf & 1) {
32
+ i0.ɵɵelementStart(0, "tr", 5);
33
+ i0.ɵɵtemplate(1, ImportTableDataComponent_tr_6_td_1_Template, 2, 1, "td", 6);
34
+ i0.ɵɵelementEnd();
35
+ } if (rf & 2) {
36
+ const data_r4 = ctx.$implicit;
37
+ i0.ɵɵadvance(1);
38
+ i0.ɵɵproperty("ngForOf", data_r4);
39
+ } }
40
+ export class ImportTableDataComponent {
41
+ constructor(httpService, modal, router, msg, el, modalService, messageService) {
42
+ this.httpService = httpService;
43
+ this.modal = modal;
44
+ this.router = router;
45
+ this.msg = msg;
46
+ this.el = el;
47
+ this.modalService = modalService;
48
+ this.messageService = messageService;
49
+ this.tableId = '';
50
+ this.condition = {
51
+ page: 1,
52
+ size: 10,
53
+ };
54
+ this.total = 0;
55
+ this.dataList = [];
56
+ this.columnList = [];
57
+ this.columnMap = {};
58
+ this.nameList = [];
59
+ }
60
+ ngOnInit() {
61
+ this.search();
62
+ }
63
+ search() {
64
+ if (this.tableId) {
65
+ this.httpService.findColumnById(this.tableId, (res) => {
66
+ console.log(res);
67
+ if (res.success) {
68
+ this.columnList = res.data;
69
+ let nameList = [];
70
+ let i = 0;
71
+ this.columnList.forEach((column) => {
72
+ this.columnMap[i] = column.name;
73
+ nameList.push(column.name);
74
+ i++;
75
+ });
76
+ this.nameList = nameList;
77
+ }
78
+ });
79
+ this.httpService.listData(this.tableId, this.condition, (res) => {
80
+ console.log(res);
81
+ if (res.success) {
82
+ // this.dataList = res.data;
83
+ let dataList = res.data;
84
+ let list = [];
85
+ for (let i = 0; i < dataList.length; i++) {
86
+ let data = dataList[i];
87
+ let arr = [];
88
+ for (let k = 0; k < this.nameList.length; k++) {
89
+ let obj = data[this.nameList[k]];
90
+ if (obj) {
91
+ try {
92
+ obj = JSON.stringify(obj);
93
+ }
94
+ catch (e) { }
95
+ }
96
+ arr.push(obj);
97
+ }
98
+ list.push(arr);
99
+ }
100
+ this.dataList = list;
101
+ this.total = res.total;
102
+ }
103
+ });
104
+ }
105
+ }
106
+ /**
107
+ * 改变页数
108
+ */
109
+ changePageIndex(pageIndex) {
110
+ this.condition.page = pageIndex;
111
+ this.search();
112
+ }
113
+ /**
114
+ * 改变一页显示多少
115
+ */
116
+ changePageSize(pageSize) {
117
+ this.condition.size = pageSize;
118
+ this.search();
119
+ }
120
+ }
121
+ ImportTableDataComponent.ɵfac = function ImportTableDataComponent_Factory(t) { return new (t || ImportTableDataComponent)(i0.ɵɵdirectiveInject(i1.HttpService), i0.ɵɵdirectiveInject(i2.NzModalRef), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.NzMessageService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i2.NzModalService), i0.ɵɵdirectiveInject(i4.NzMessageService)); };
122
+ ImportTableDataComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ImportTableDataComponent, selectors: [["sion-import-table-data"]], inputs: { tableId: "tableId" }, decls: 7, vars: 9, consts: [[3, "nzData", "nzShowPagination", "nzFrontPagination", "nzShowQuickJumper", "nzTotal", "nzPageIndex", "nzPageSize", "nzPageIndexChange", "nzPageSizeChange"], ["basicTable", ""], ["nzAlign", "center", "nzWidth", "60px", 4, "ngFor", "ngForOf"], ["style", "height:40px;", 4, "ngFor", "ngForOf"], ["nzAlign", "center", "nzWidth", "60px"], [2, "height", "40px"], ["nzAlign", "center", 4, "ngFor", "ngForOf"], ["nzAlign", "center"]], template: function ImportTableDataComponent_Template(rf, ctx) { if (rf & 1) {
123
+ i0.ɵɵelementStart(0, "nz-table", 0, 1);
124
+ i0.ɵɵlistener("nzPageIndexChange", function ImportTableDataComponent_Template_nz_table_nzPageIndexChange_0_listener($event) { return ctx.condition.page = $event; })("nzPageSizeChange", function ImportTableDataComponent_Template_nz_table_nzPageSizeChange_0_listener($event) { return ctx.condition.size = $event; })("nzPageIndexChange", function ImportTableDataComponent_Template_nz_table_nzPageIndexChange_0_listener($event) { return ctx.changePageIndex($event); })("nzPageSizeChange", function ImportTableDataComponent_Template_nz_table_nzPageSizeChange_0_listener($event) { return ctx.changePageSize($event); });
125
+ i0.ɵɵelementStart(2, "thead")(3, "tr");
126
+ i0.ɵɵtemplate(4, ImportTableDataComponent_th_4_Template, 2, 1, "th", 2);
127
+ i0.ɵɵelementEnd()();
128
+ i0.ɵɵelementStart(5, "tbody");
129
+ i0.ɵɵtemplate(6, ImportTableDataComponent_tr_6_Template, 2, 1, "tr", 3);
130
+ i0.ɵɵelementEnd()();
131
+ } if (rf & 2) {
132
+ const _r0 = i0.ɵɵreference(1);
133
+ i0.ɵɵproperty("nzData", ctx.dataList)("nzShowPagination", true)("nzFrontPagination", false)("nzShowQuickJumper", true)("nzTotal", ctx.total)("nzPageIndex", ctx.condition.page)("nzPageSize", ctx.condition.size);
134
+ i0.ɵɵadvance(4);
135
+ i0.ɵɵproperty("ngForOf", ctx.columnList);
136
+ i0.ɵɵadvance(2);
137
+ i0.ɵɵproperty("ngForOf", _r0.data);
138
+ } }, dependencies: [i5.NgForOf, i6.NzTableComponent, i6.NzTableCellDirective, i6.NzThMeasureDirective, i6.NzTheadComponent, i6.NzTbodyComponent, i6.NzTrDirective, i6.NzCellAlignDirective] });
139
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImportTableDataComponent, [{
140
+ type: Component,
141
+ args: [{ selector: 'sion-import-table-data', template: "<nz-table #basicTable\r\n [nzData]=\"dataList\"\r\n [nzShowPagination]=\"true\"\r\n [nzFrontPagination]=\"false\"\r\n [nzShowQuickJumper]=\"true\"\r\n [nzTotal]=\"total\"\r\n [(nzPageIndex)]=\"condition.page\"\r\n [(nzPageSize)]=\"condition.size\"\r\n (nzPageIndexChange)=\"changePageIndex($event)\"\r\n (nzPageSizeChange)=\"changePageSize($event)\"\r\n>\r\n <thead>\r\n <tr>\r\n<!-- <th nzAlign=\"center\" nzWidth=\"60px\">\u5E8F\u53F7</th>-->\r\n <th *ngFor=\"let column of columnList\" nzAlign=\"center\" nzWidth=\"60px\">{{column.title}}</th>\r\n<!-- <th nzAlign=\"center\" nzWidth=\"160px\">\u6570\u636E\u5E93\u8868\u540D</th>-->\r\n<!-- <th nzAlign=\"center\" nzWidth=\"160px\">\u6587\u4EF6\u7C7B\u578B</th>-->\r\n<!-- <th nzAlign=\"center\" nzWidth=\"60px\">\u521B\u5EFA\u65F6\u95F4</th>-->\r\n<!-- <th nzAlign=\"center\" nzWidth=\"160px\">\u64CD\u4F5C</th>-->\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let data of basicTable.data,let i = index\" style=\"height:40px;\">\r\n <td *ngFor=\"let obj of data;index as j\" nzAlign=\"center\">{{ obj }}</td>\r\n<!-- <td nzAlign=\"center\">{{i + 1}}</td>-->\r\n<!-- <td nzAlign=\"center\">{{ data.title }}</td>-->\r\n<!-- <td nzAlign=\"center\">{{ data.name }}</td>-->\r\n<!-- <td nzAlign=\"center\">{{ data.imports_type }}</td>-->\r\n<!-- <td nzAlign=\"center\">{{ data.create_date_time }}</td>-->\r\n </tr>\r\n </tbody>\r\n</nz-table>\r\n" }]
142
+ }], function () { return [{ type: i1.HttpService }, { type: i2.NzModalRef }, { type: i3.Router }, { type: i4.NzMessageService }, { type: i0.ElementRef }, { type: i2.NzModalService }, { type: i4.NzMessageService }]; }, { tableId: [{
143
+ type: Input
144
+ }] }); })();
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXRhYmxlLWRhdGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaW9uLWRhdGEtaW1wb3J0L3NyYy9saWIvdmlld3MvaW1wb3J0LXRhYmxlLWxpc3QvaW1wb3J0LXRhYmxlLWRhdGEvaW1wb3J0LXRhYmxlLWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaW9uLWRhdGEtaW1wb3J0L3NyYy9saWIvdmlld3MvaW1wb3J0LXRhYmxlLWxpc3QvaW1wb3J0LXRhYmxlLWRhdGEvaW1wb3J0LXRhYmxlLWRhdGEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7O0lDVW5ELDZCQUFzRTtJQUFBLFlBQWdCO0lBQUEsaUJBQUs7OztJQUFyQixlQUFnQjtJQUFoQixxQ0FBZ0I7OztJQVN0Riw2QkFBMEQ7SUFBQSxZQUFTO0lBQUEsaUJBQUs7OztJQUFkLGVBQVM7SUFBVCw0QkFBUzs7O0lBRHJFLDZCQUE0RTtJQUMxRSw0RUFBd0U7SUFNMUUsaUJBQUs7OztJQU5pQixlQUFRO0lBQVIsaUNBQVE7O0FEWmhDLE1BQU0sT0FBTyx3QkFBd0I7SUFnQm5DLFlBQ1UsV0FBd0IsRUFDeEIsS0FBZ0IsRUFDaEIsTUFBYyxFQUNkLEdBQXFCLEVBQ3JCLEVBQWMsRUFDZCxZQUE0QixF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QUNmO3dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ2hCO29CQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO29CQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7aUJBQ3hCO1lBQ0gsQ0FBQyxDQUFDLENBQUE7U0FHSDtJQUVILENBQUM7SUFHRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxTQUFjO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFFBQWE7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDOztnR0FoR1Usd0JBQXdCOzJFQUF4Qix3QkFBd0I7UUNYckMsc0NBVUM7UUFKUyxvS0FBZ0MscUpBQUEsd0hBRVgsMkJBQXVCLElBRlosc0hBR1osMEJBQXNCLElBSFY7UUFLeEMsNkJBQU8sU0FBQTtRQUdMLHVFQUEyRjtRQUs3RixpQkFBSyxFQUFBO1FBRUwsNkJBQU87UUFDUCx1RUFPSztRQUNMLGlCQUFRLEVBQUE7OztRQTdCQSxxQ0FBbUIsMEJBQUEsNEJBQUEsMkJBQUEsc0JBQUEsbUNBQUEsa0NBQUE7UUFhRixlQUFhO1FBQWIsd0NBQWE7UUFRakIsZUFBbUI7UUFBbkIsa0NBQW1COzt1RkRYN0Isd0JBQXdCO2NBTHBDLFNBQVM7MkJBQ0Usd0JBQXdCO2dPQUt6QixPQUFPO2tCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SHR0cFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2h0dHAuc2VydmljZVwiO1xyXG5pbXBvcnQge056TW9kYWxSZWYsIE56TW9kYWxTZXJ2aWNlfSBmcm9tIFwibmctem9ycm8tYW50ZC9tb2RhbFwiO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge056TWVzc2FnZVNlcnZpY2V9IGZyb20gXCJuZy16b3Jyby1hbnRkL21lc3NhZ2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2lvbi1pbXBvcnQtdGFibGUtZGF0YScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ltcG9ydC10YWJsZS1kYXRhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbXBvcnQtdGFibGUtZGF0YS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1wb3J0VGFibGVEYXRhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSB0YWJsZUlkID0gJyc7XHJcblxyXG4gIGNvbmRpdGlvbiA9IHtcclxuICAgIHBhZ2U6IDEsXHJcbiAgICBzaXplOiAxMCxcclxuICB9XHJcbiAgdG90YWwgPSAwO1xyXG5cclxuICBkYXRhTGlzdCA9IFtdO1xyXG4gIGNvbHVtbkxpc3QgOmFueSA9IFtdO1xyXG5cclxuICBjb2x1bW5NYXAgOmFueSA9ICB7fTtcclxuXHJcbiAgbmFtZUxpc3QgOmFueSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb2RhbDpOek1vZGFsUmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgbXNnOiBOek1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOek1vZGFsU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6TnpNZXNzYWdlU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2goKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaCgpe1xyXG4gICAgaWYodGhpcy50YWJsZUlkKXtcclxuXHJcbiAgICAgIHRoaXMuaHR0cFNlcnZpY2UuZmluZENvbHVtbkJ5SWQodGhpcy50YWJsZUlkLChyZXM6YW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2cocmVzKTtcclxuICAgICAgICBpZihyZXMuc3VjY2VzcyApe1xyXG4gICAgICAgICAgdGhpcy5jb2x1bW5MaXN0ID0gcmVzLmRhdGE7XHJcblxyXG4gICAgICAgICAgbGV0IG5hbWVMaXN0IDphbnk9IFtdO1xyXG4gICAgICAgICAgbGV0IGkgID0wIDtcclxuICAgICAgICAgIHRoaXMuY29sdW1uTGlzdC5mb3JFYWNoKChjb2x1bW46YW55KT0+e1xyXG4gICAgICAgICAgICB0aGlzLmNvbHVtbk1hcFtpXSA9IGNvbHVtbi5uYW1lO1xyXG4gICAgICAgICAgICBuYW1lTGlzdC5wdXNoKGNvbHVtbi5uYW1lKTtcclxuICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIHRoaXMubmFtZUxpc3QgPSBuYW1lTGlzdDtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG5cclxuICAgICAgdGhpcy5odHRwU2VydmljZS5saXN0RGF0YSh0aGlzLnRhYmxlSWQsdGhpcy5jb25kaXRpb24sKHJlczphbnkpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhyZXMpO1xyXG4gICAgICAgIGlmKHJlcy5zdWNjZXNzICl7XHJcbiAgICAgICAgICAvLyB0aGlzLmRhdGFMaXN0ID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICBsZXQgZGF0YUxpc3QgPSByZXMuZGF0YTtcclxuICAgICAgICAgIGxldCBsaXN0OmFueSA9IFtdO1xyXG5cclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YUxpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGRhdGEgPSBkYXRhTGlzdFtpXTtcclxuICAgICAgICAgICAgbGV0IGFyciA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBrID0gMDsgayA8IHRoaXMubmFtZUxpc3QubGVuZ3RoOyBrKyspIHtcclxuICAgICAgICAgICAgICBsZXQgb2JqID0gZGF0YVt0aGlzLm5hbWVMaXN0W2tdXTtcclxuICAgICAgICAgICAgICBpZihvYmope1xyXG4gICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgb2JqID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICAgICAgICAgICAgICAgIH1jYXRjaCAoZSl7fVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBhcnIucHVzaChvYmopO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpc3QucHVzaChhcnIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5kYXRhTGlzdCA9IGxpc3Q7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsID0gcmVzLnRvdGFsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuXHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiDmlLnlj5jpobXmlbBcclxuICAgKi9cclxuICBjaGFuZ2VQYWdlSW5kZXgocGFnZUluZGV4OiBhbnkpIHtcclxuICAgIHRoaXMuY29uZGl0aW9uLnBhZ2UgPSBwYWdlSW5kZXg7XHJcbiAgICB0aGlzLnNlYXJjaCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5pS55Y+Y5LiA6aG15pi+56S65aSa5bCRXHJcbiAgICovXHJcbiAgY2hhbmdlUGFnZVNpemUocGFnZVNpemU6IGFueSkge1xyXG4gICAgdGhpcy5jb25kaXRpb24uc2l6ZSA9IHBhZ2VTaXplO1xyXG4gICAgdGhpcy5zZWFyY2goKTtcclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIiwiPG56LXRhYmxlICNiYXNpY1RhYmxlXHJcbiAgICAgICAgICBbbnpEYXRhXT1cImRhdGFMaXN0XCJcclxuICAgICAgICAgIFtuelNob3dQYWdpbmF0aW9uXT1cInRydWVcIlxyXG4gICAgICAgICAgW256RnJvbnRQYWdpbmF0aW9uXT1cImZhbHNlXCJcclxuICAgICAgICAgIFtuelNob3dRdWlja0p1bXBlcl09XCJ0cnVlXCJcclxuICAgICAgICAgIFtuelRvdGFsXT1cInRvdGFsXCJcclxuICAgICAgICAgIFsobnpQYWdlSW5kZXgpXT1cImNvbmRpdGlvbi5wYWdlXCJcclxuICAgICAgICAgIFsobnpQYWdlU2l6ZSldPVwiY29uZGl0aW9uLnNpemVcIlxyXG4gICAgICAgICAgKG56UGFnZUluZGV4Q2hhbmdlKT1cImNoYW5nZVBhZ2VJbmRleCgkZXZlbnQpXCJcclxuICAgICAgICAgIChuelBhZ2VTaXplQ2hhbmdlKT1cImNoYW5nZVBhZ2VTaXplKCRldmVudClcIlxyXG4+XHJcbiAgPHRoZWFkPlxyXG4gIDx0cj5cclxuPCEtLSAgICA8dGggbnpBbGlnbj1cImNlbnRlclwiIG56V2lkdGg9XCI2MHB4XCI+5bqP5Y+3PC90aD4tLT5cclxuICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbkxpc3RcIiBuekFsaWduPVwiY2VudGVyXCIgbnpXaWR0aD1cIjYwcHhcIj57e2NvbHVtbi50aXRsZX19PC90aD5cclxuPCEtLSAgICA8dGggbnpBbGlnbj1cImNlbnRlclwiIG56V2lkdGg9XCIxNjBweFwiPuaVsOaNruW6k+ihqOWQjTwvdGg+LS0+XHJcbjwhLS0gICAgPHRoIG56QWxpZ249XCJjZW50ZXJcIiBueldpZHRoPVwiMTYwcHhcIj7mlofku7bnsbvlnos8L3RoPi0tPlxyXG48IS0tICAgIDx0aCBuekFsaWduPVwiY2VudGVyXCIgbnpXaWR0aD1cIjYwcHhcIj7liJvlu7rml7bpl7Q8L3RoPi0tPlxyXG48IS0tICAgIDx0aCBuekFsaWduPVwiY2VudGVyXCIgbnpXaWR0aD1cIjE2MHB4XCI+5pON5L2cPC90aD4tLT5cclxuICA8L3RyPlxyXG4gIDwvdGhlYWQ+XHJcbiAgPHRib2R5PlxyXG4gIDx0ciAqbmdGb3I9XCJsZXQgZGF0YSBvZiBiYXNpY1RhYmxlLmRhdGEsbGV0IGkgPSBpbmRleFwiIHN0eWxlPVwiaGVpZ2h0OjQwcHg7XCI+XHJcbiAgICA8dGQgKm5nRm9yPVwibGV0IG9iaiBvZiBkYXRhO2luZGV4IGFzIGpcIiAgbnpBbGlnbj1cImNlbnRlclwiPnt7IG9iaiB9fTwvdGQ+XHJcbjwhLS0gICAgPHRkIG56QWxpZ249XCJjZW50ZXJcIj57e2kgKyAxfX08L3RkPi0tPlxyXG48IS0tICAgIDx0ZCBuekFsaWduPVwiY2VudGVyXCI+e3sgZGF0YS50aXRsZSB9fTwvdGQ+LS0+XHJcbjwhLS0gICAgPHRkIG56QWxpZ249XCJjZW50ZXJcIj57eyBkYXRhLm5hbWUgfX08L3RkPi0tPlxyXG48IS0tICAgIDx0ZCBuekFsaWduPVwiY2VudGVyXCI+e3sgZGF0YS5pbXBvcnRzX3R5cGUgfX08L3RkPi0tPlxyXG48IS0tICAgIDx0ZCBuekFsaWduPVwiY2VudGVyXCI+e3sgZGF0YS5jcmVhdGVfZGF0ZV90aW1lIH19PC90ZD4tLT5cclxuICA8L3RyPlxyXG4gIDwvdGJvZHk+XHJcbjwvbnotdGFibGU+XHJcbiJdfQ==