Sanakey
2021-06-04 355a84d740a2a9dfa1d67cb2d2e11843d42809ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            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;
            if (y = 0, t) op = [op[0] & 2, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};
Component({
    options: {
        addGlobalClass: true,
        multipleSlots: true
    },
    properties: {
        sellerList: {
            type: Array,
            value: []
        },
    },
    data: {
        selectedSellerList: [],
        selectedSeller: '',
        selectedSellerIdList: [],
        index: -1,
        isFirstOpen: true
    },
    lifetimes: {
        ready: function () {
            console.log('seller edit ...ready');
            this.getDefaultSeller();
        }
    },
    pageLifetimes: {
        show: function () {
            var _a = this.data, selectedSellerIdList = _a.selectedSellerIdList, selectedSeller = _a.selectedSeller, isFirstOpen = _a.isFirstOpen;
            console.log('isFirstOpen', isFirstOpen);
            if (isFirstOpen)
                return;
            var newSelectedSellerList = [];
            console.log('>>>>>>>>>>>>>>组件页面show开始>>>>>>>>>>>>>>');
            console.log('页面show时 新建活动页当前的selectedSellerIdList', selectedSellerIdList);
            if (selectedSellerIdList.length > 0) {
                var selectedSellerList_1 = this.getSelectedSellerList();
                console.log('页面show时 新建活动页当前的selectedSellerList', selectedSellerList_1);
                if (selectedSellerIdList.length != selectedSellerList_1.length) {
                    selectedSellerIdList.forEach(function (idItem) {
                        selectedSellerList_1.forEach(function (item) {
                            if (item.sellerId == idItem) {
                                newSelectedSellerList.push(item);
                            }
                        });
                    });
                    selectedSellerList_1 = newSelectedSellerList;
                    console.log('营销人员被删除,selectedSellerList数据更新后', newSelectedSellerList);
                    this.setData({
                        selectedSellerList: selectedSellerList_1
                    });
                }
                console.log('selectedSellerIdList是否包含selectedSeller', selectedSellerIdList.includes(selectedSeller.toString()), selectedSellerIdList, selectedSeller.toString());
                if (!selectedSellerIdList.includes(selectedSeller.toString())) {
                    this.setData({
                        selectedSeller: selectedSellerList_1[0].sellerId,
                        index: 0
                    });
                }
                console.log('页面show时 新建活动页当前的selectedSeller', this.data.selectedSeller, this.data.index);
            }
            console.log('<<<<<<<<<<<<<<<组件页面show结束<<<<<<<<<<<<<<<');
        }
    },
    observers: {
        'sellerList': function (val) {
            var _this = this;
            console.log('监听sellers', val, this.data.sellerList);
            if (val.length > 0) {
                var selectedSellerList = val;
                var selectedSellerIdList_1 = [];
                console.log('营销人员列表sellers。。。与id、、、', selectedSellerList, selectedSellerIdList_1);
                selectedSellerList.forEach(function (item, index) {
                    selectedSellerIdList_1.push(item && item.sellerId && item.sellerId.toString());
                    if (item.isDefaultSellerName) {
                        _this.setData({
                            selectedSeller: item.sellerId,
                            index: index
                        });
                    }
                });
                this.setData({ selectedSellerList: selectedSellerList, selectedSellerIdList: selectedSellerIdList_1 });
            }
        }
    },
    methods: {
        selectSeller: function (event) {
            console.log(event);
            this.setData({
                selectedSeller: event.detail
            });
        },
        onSelect: function (event) {
            var _a = event.currentTarget.dataset, name = _a.name, index = _a.index;
            this.setData({
                selectedSeller: name,
                index: index
            });
            console.log('选中的默认营销人员', name, index);
        },
        toggle2: function (event) {
            console.log(event);
        },
        getSelectedSellerList: function () {
            var selectedSellerIdList = this.data.selectedSellerIdList;
            var selectedSellerList = [];
            var sellerList = wx.globalData.sellerList;
            selectedSellerIdList.forEach(function (id) {
                sellerList.forEach(function (item) {
                    if (item.sellerId == Number(id)) {
                        selectedSellerList.push(item);
                    }
                });
            });
            this.setData({
                selectedSellerList: selectedSellerList
            });
            return selectedSellerList;
        },
        getSellerList: function () {
            var _a = this.data, selectedSellerList = _a.selectedSellerList, index = _a.index;
            selectedSellerList.forEach(function (item) {
                item.isDefaultSellerName = false;
            });
            if (index >= 0 && selectedSellerList.length > 0) {
                selectedSellerList[index].isDefaultSellerName = true;
            }
            console.log('待提交的营销人员数据', selectedSellerList);
            return selectedSellerList;
        },
        checkDefaultSeller: function () {
            var selectedSellerList = this.data.selectedSellerList;
            return !(selectedSellerList.every(function (currentValue) {
                return currentValue.isDefaultSellerName == false;
            }));
        },
        addSeller: function () {
            var _this = this;
            wx.navigateTo({
                url: "/pages/sellerList/sellerList",
                success: function (res) {
                    var selectedSellerIdList = _this.data.selectedSellerIdList;
                    console.log('新建活动页当前的selectedSellerIdList', selectedSellerIdList);
                    _this.setData({
                        isFirstOpen: false
                    });
                    res.eventChannel.emit('getSellerListFromPromotionsPage', {
                        selectedSellerIdList: selectedSellerIdList
                    });
                },
                events: {
                    getSelectedSellerList: function (data) {
                        console.log('获取营销人员选择页选中的data', data);
                        _this.setData({
                            selectedSellerIdList: data.selectedSellerIdList,
                        });
                    },
                }
            });
        },
        getDefaultSeller: function () {
            return __awaiter(this, void 0, void 0, function () {
                var _a, error, result;
                return __generator(this, function (_b) {
                    switch (_b.label) {
                        case 0: return [4, wx.$utils.to(wx.$http.request({
                                url: "/shopping/panicBuyingSeller.do?m=getDefaultSeller",
                            }))];
                        case 1:
                            _a = _b.sent(), error = _a[0], result = _a[1];
                            if (error) {
                                console.log(error);
                                return [2];
                            }
                            console.log(result);
                            return [2];
                    }
                });
            });
        }
    }
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxTQUFTLENBQUM7SUFJUixPQUFPLEVBQUU7UUFDUCxjQUFjLEVBQUUsSUFBSTtRQUNwQixhQUFhLEVBQUUsSUFBSTtLQUNwQjtJQUNELFVBQVUsRUFBRTtRQUNWLFVBQVUsRUFBQztZQUNULElBQUksRUFBRSxLQUFLO1lBQ1gsS0FBSyxFQUFFLEVBQUU7U0FDVjtLQVVGO0lBS0QsSUFBSSxFQUFFO1FBQ0osa0JBQWtCLEVBQUMsRUFJWDtRQUNSLGNBQWMsRUFBQyxFQUFFO1FBQ2pCLG9CQUFvQixFQUFDLEVBQVM7UUFDOUIsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNULFdBQVcsRUFBQyxJQUFJO0tBQ2pCO0lBRUQsU0FBUyxFQUFDO1FBQ1IsS0FBSztZQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQixDQUFDO0tBQ0Y7SUFDRCxhQUFhLEVBQUM7UUFDWixJQUFJO1lBQ0UsSUFBQSxjQUE2RCxFQUE1RCw4Q0FBb0IsRUFBQyxrQ0FBYyxFQUFDLDRCQUF3QixDQUFDO1lBQ2xFLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksV0FBVztnQkFBRSxPQUFPO1lBQ3hCLElBQUkscUJBQXFCLEdBQUcsRUFBUyxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxFQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDekUsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDO2dCQUNoQyxJQUFJLG9CQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxFQUFDLG9CQUFrQixDQUFDLENBQUM7Z0JBRXJFLElBQUksb0JBQW9CLENBQUMsTUFBTSxJQUFJLG9CQUFrQixDQUFDLE1BQU0sRUFBRTtvQkFDNUQsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFVBQUMsTUFBVTt3QkFDdEMsb0JBQWtCLENBQUMsT0FBTyxDQUFDLFVBQUMsSUFBUTs0QkFDbEMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sRUFBRTtnQ0FDM0IscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBOzZCQUNqQzt3QkFDSCxDQUFDLENBQUMsQ0FBQTtvQkFDSixDQUFDLENBQUMsQ0FBQTtvQkFDRixvQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztvQkFFM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsRUFBQyxxQkFBcUIsQ0FBQyxDQUFDO29CQUNyRSxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLGtCQUFrQixzQkFBQTtxQkFDbkIsQ0FBQyxDQUFBO2lCQUNIO2dCQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsd0NBQXdDLEVBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQVcsQ0FBQyxFQUFDLG9CQUFvQixFQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUN2SyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQVcsQ0FBQyxFQUFFO29CQUN0RSxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLGNBQWMsRUFBRSxvQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO3dCQUM5QyxLQUFLLEVBQUUsQ0FBQztxQkFDVCxDQUFDLENBQUE7aUJBRUg7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hGO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQzFELENBQUM7S0FDRjtJQUNELFNBQVMsRUFBRTtRQUNULFlBQVksRUFBRSxVQUFTLEdBQUc7WUFBWixpQkFrQmI7WUFqQkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDakQsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDbEIsSUFBSSxrQkFBa0IsR0FBRyxHQUFHLENBQUM7Z0JBQzdCLElBQUksc0JBQW9CLEdBQUcsRUFBUyxDQUFDO2dCQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFDLGtCQUFrQixFQUFDLHNCQUFvQixDQUFDLENBQUM7Z0JBQzlFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQVEsRUFBQyxLQUFZO29CQUMvQyxzQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFFLElBQUksQ0FBQyxRQUFRLElBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUN6RSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBQzt3QkFDM0IsS0FBSSxDQUFDLE9BQU8sQ0FBQzs0QkFDWCxjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVE7NEJBQzdCLEtBQUssT0FBQTt5QkFDTixDQUFDLENBQUE7cUJBQ0g7Z0JBQ0gsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFDLGtCQUFrQixvQkFBQSxFQUFDLG9CQUFvQix3QkFBQSxFQUFDLENBQUMsQ0FBQzthQUN6RDtRQUVILENBQUM7S0FDRjtJQUlELE9BQU8sRUFBRTtRQUNQLFlBQVksWUFBQyxLQUFTO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDWCxjQUFjLEVBQUUsS0FBSyxDQUFDLE1BQU07YUFDN0IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELFFBQVEsWUFBQyxLQUFTO1lBQ1YsSUFBQSxnQ0FBNkMsRUFBM0MsY0FBSSxFQUFFLGdCQUFxQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ1gsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLEtBQUssT0FBQTthQUNOLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyxZQUFDLEtBQVM7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxxQkFBcUI7WUFDZCxJQUFBLHFEQUFvQixDQUFjO1lBQ3ZDLElBQUksa0JBQWtCLEdBQUcsRUFBUyxDQUFDO1lBQ25DLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQzFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxVQUFDLEVBQU07Z0JBQ2xDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBQyxJQUFRO29CQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO3dCQUMvQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7cUJBQzlCO2dCQUNILENBQUMsQ0FBQyxDQUFBO1lBQ0osQ0FBQyxDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNYLGtCQUFrQixvQkFBQTthQUNuQixDQUFDLENBQUE7WUFDRixPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUM7UUFHRCxhQUFhO1lBQ1AsSUFBQSxjQUF3QyxFQUF0QywwQ0FBa0IsRUFBRSxnQkFBa0IsQ0FBQztZQUM3QyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsVUFBQyxJQUFRO2dCQUNsQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxLQUFLLElBQUcsQ0FBQyxJQUFFLGtCQUFrQixDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7Z0JBQ3pDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQzthQUN0RDtZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDN0MsT0FBTyxrQkFBa0IsQ0FBQztRQUM1QixDQUFDO1FBQ0Qsa0JBQWtCO1lBQ1YsSUFBQSxpREFBa0IsQ0FBZTtZQUN2QyxPQUFPLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsVUFBQyxZQUFnQjtnQkFDakQsT0FBTyxZQUFZLENBQUMsbUJBQW1CLElBQUksS0FBSyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDTCxDQUFDO1FBQ0QsU0FBUztZQUFULGlCQXlCQztZQXhCQyxFQUFFLENBQUMsVUFBVSxDQUFDO2dCQUNaLEdBQUcsRUFBRSw4QkFBOEI7Z0JBQ25DLE9BQU8sRUFBRSxVQUFDLEdBQUc7b0JBQ1gsSUFBSSxvQkFBb0IsR0FBRyxLQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO29CQUMxRCxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFDLG9CQUFvQixDQUFDLENBQUM7b0JBQ2pFLEtBQUksQ0FBQyxPQUFPLENBQUM7d0JBQ1gsV0FBVyxFQUFDLEtBQUs7cUJBQ2xCLENBQUMsQ0FBQTtvQkFFRixHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsRUFBRTt3QkFDdkQsb0JBQW9CLHNCQUFBO3FCQUNyQixDQUFDLENBQUE7Z0JBQ0osQ0FBQztnQkFDRCxNQUFNLEVBQUU7b0JBRU4scUJBQXFCLEVBQUUsVUFBQyxJQUFTO3dCQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFDLElBQUksQ0FBQyxDQUFBO3dCQUNwQyxLQUFJLENBQUMsT0FBTyxDQUFDOzRCQUNYLG9CQUFvQixFQUFDLElBQUksQ0FBQyxvQkFBb0I7eUJBRS9DLENBQUMsQ0FBQTtvQkFDSixDQUFDO2lCQUNGO2FBQ0YsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNLLGdCQUFnQjs7Ozs7Z0NBQ0UsV0FBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDdEMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7Z0NBQ2YsR0FBRyxFQUFDLG1EQUFtRDs2QkFDeEQsQ0FBQyxDQUNILEVBQUE7OzRCQUpHLEtBQWtCLFNBSXJCLEVBSkksS0FBSyxRQUFBLEVBQUUsTUFBTSxRQUFBOzRCQUtsQixJQUFJLEtBQUssRUFBQztnQ0FDUixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dDQUNuQixXQUFPOzZCQUNSOzRCQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Ozs7O1NBQ3JCO0tBQ0Y7Q0FDRixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjb25zdCBhcHAgPSBnZXRBcHA8SUFwcE9wdGlvbj4oKTtcclxuQ29tcG9uZW50KHtcclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTlsZ7mgKfliJfooahcclxuICAgKi9cclxuICBvcHRpb25zOiB7XHJcbiAgICBhZGRHbG9iYWxDbGFzczogdHJ1ZSxcclxuICAgIG11bHRpcGxlU2xvdHM6IHRydWUgLy8g5Zyo57uE5Lu25a6a5LmJ5pe255qE6YCJ6aG55Lit5ZCv55So5aSac2xvdOaUr+aMgVxyXG4gIH0sXHJcbiAgcHJvcGVydGllczoge1xyXG4gICAgc2VsbGVyTGlzdDp7XHJcbiAgICAgIHR5cGU6IEFycmF5LFxyXG4gICAgICB2YWx1ZTogW11cclxuICAgIH0sXHJcbiAgICAvLyB2YWxpZGF0b3JJbnN0YW5jZTp7XHJcbiAgICAvLyAgIHR5cGU6T2JqZWN0LFxyXG4gICAgLy8gICBvYnNlcnZlcjogZnVuY3Rpb24gKG5ld1ZhbCwgb2xkVmFsLCBjaGFuZ2VkUGF0aCkge1xyXG4gICAgLy8gICAgIC8vIOWxnuaAp+iiq+aUueWPmOaXtuaJp+ihjOeahOWHveaVsO+8iOWPr+mAie+8ie+8jOS5n+WPr+S7peWGmeaIkOWcqG1ldGhvZHPmrrXkuK3lrprkuYnnmoTmlrnms5XlkI3lrZfnrKbkuLJcclxuICAgIC8vICAgICAvLyDpgJrluLggbmV3VmFsIOWwseaYr+aWsOiuvue9rueahOaVsOaNru+8jCBvbGRWYWwg5piv5pen5pWw5o2uXHJcbiAgICAvL1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKG5ld1ZhbCxvbGRWYWwsY2hhbmdlZFBhdGgpO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgfSxcclxuXHJcbiAgLyoqXHJcbiAgICog57uE5Lu255qE5Yid5aeL5pWw5o2uXHJcbiAgICovXHJcbiAgZGF0YToge1xyXG4gICAgc2VsZWN0ZWRTZWxsZXJMaXN0OltcclxuICAgICAgLy8ge0RvY0l0ZW06IDEwLCBTZWxsZXJJZDogMSwgU2VsbGVyTmFtZTogXCLlpb3lh6DljYFcIiwgVGVsZXBob25lOiBcIjE1NTU1NTU1NTU1XCIsIGlzRGVmYXVsdFNlbGxlck5hbWU6IGZhbHNlfSxcclxuICAgICAgLy8ge0RvY0l0ZW06IDEwLCBTZWxsZXJJZDogMiwgU2VsbGVyTmFtZTogXCLlpb1cIiwgVGVsZXBob25lOiBcIjE1NTg4NTU1NTU1XCIsIGlzRGVmYXVsdFNlbGxlck5hbWU6IGZhbHNlfSxcclxuICAgICAgLy8ge0RvY0l0ZW06IDEwLCBTZWxsZXJJZDogMywgU2VsbGVyTmFtZTogXCI1NTVcIiwgVGVsZXBob25lOiBcIjE4ODg4NTU1NTU1XCIsIGlzRGVmYXVsdFNlbGxlck5hbWU6IGZhbHNlfSxcclxuICAgIF0gYXMgYW55LFxyXG4gICAgc2VsZWN0ZWRTZWxsZXI6JycsXHJcbiAgICBzZWxlY3RlZFNlbGxlcklkTGlzdDpbXSBhcyBhbnksXHJcbiAgICBpbmRleDogLTEsXHJcbiAgICBpc0ZpcnN0T3Blbjp0cnVlXHJcbiAgfSxcclxuXHJcbiAgbGlmZXRpbWVzOntcclxuICAgIHJlYWR5KCkge1xyXG4gICAgICBjb25zb2xlLmxvZygnc2VsbGVyIGVkaXQgLi4ucmVhZHknKTtcclxuICAgICAgdGhpcy5nZXREZWZhdWx0U2VsbGVyKCk7XHJcbiAgICB9XHJcbiAgfSxcclxuICBwYWdlTGlmZXRpbWVzOntcclxuICAgIHNob3coKXtcclxuICAgICAgbGV0IHtzZWxlY3RlZFNlbGxlcklkTGlzdCxzZWxlY3RlZFNlbGxlcixpc0ZpcnN0T3Blbn0gPSB0aGlzLmRhdGE7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdpc0ZpcnN0T3BlbicsaXNGaXJzdE9wZW4pO1xyXG4gICAgICBpZiAoaXNGaXJzdE9wZW4pIHJldHVybjtcclxuICAgICAgbGV0IG5ld1NlbGVjdGVkU2VsbGVyTGlzdCA9IFtdIGFzIGFueTtcclxuICAgICAgY29uc29sZS5sb2coJz4+Pj4+Pj4+Pj4+Pj4+57uE5Lu26aG16Z2ic2hvd+W8gOWniz4+Pj4+Pj4+Pj4+Pj4+Jyk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCfpobXpnaJzaG935pe2IOaWsOW7uua0u+WKqOmhteW9k+WJjeeahHNlbGVjdGVkU2VsbGVySWRMaXN0JyxzZWxlY3RlZFNlbGxlcklkTGlzdCk7XHJcbiAgICAgIGlmIChzZWxlY3RlZFNlbGxlcklkTGlzdC5sZW5ndGg+MCl7XHJcbiAgICAgICAgbGV0IHNlbGVjdGVkU2VsbGVyTGlzdCA9IHRoaXMuZ2V0U2VsZWN0ZWRTZWxsZXJMaXN0KCk7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ+mhtemdonNob3fml7Yg5paw5bu65rS75Yqo6aG15b2T5YmN55qEc2VsZWN0ZWRTZWxsZXJMaXN0JyxzZWxlY3RlZFNlbGxlckxpc3QpO1xyXG5cclxuICAgICAgICBpZiAoc2VsZWN0ZWRTZWxsZXJJZExpc3QubGVuZ3RoICE9IHNlbGVjdGVkU2VsbGVyTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgIHNlbGVjdGVkU2VsbGVySWRMaXN0LmZvckVhY2goKGlkSXRlbTphbnkpPT57XHJcbiAgICAgICAgICAgIHNlbGVjdGVkU2VsbGVyTGlzdC5mb3JFYWNoKChpdGVtOmFueSk9PntcclxuICAgICAgICAgICAgICBpZiAoaXRlbS5zZWxsZXJJZCA9PSBpZEl0ZW0pIHtcclxuICAgICAgICAgICAgICAgIG5ld1NlbGVjdGVkU2VsbGVyTGlzdC5wdXNoKGl0ZW0pXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIHNlbGVjdGVkU2VsbGVyTGlzdCA9IG5ld1NlbGVjdGVkU2VsbGVyTGlzdDtcclxuXHJcbiAgICAgICAgICBjb25zb2xlLmxvZygn6JCl6ZSA5Lq65ZGY6KKr5Yig6Zmk77yMc2VsZWN0ZWRTZWxsZXJMaXN05pWw5o2u5pu05paw5ZCOJyxuZXdTZWxlY3RlZFNlbGxlckxpc3QpO1xyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgc2VsZWN0ZWRTZWxsZXJMaXN0XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zb2xlLmxvZygnc2VsZWN0ZWRTZWxsZXJJZExpc3TmmK/lkKbljIXlkKtzZWxlY3RlZFNlbGxlcicsc2VsZWN0ZWRTZWxsZXJJZExpc3QuaW5jbHVkZXMoc2VsZWN0ZWRTZWxsZXIudG9TdHJpbmcoKSBhcyBuZXZlciksc2VsZWN0ZWRTZWxsZXJJZExpc3Qsc2VsZWN0ZWRTZWxsZXIudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgaWYgKCFzZWxlY3RlZFNlbGxlcklkTGlzdC5pbmNsdWRlcyhzZWxlY3RlZFNlbGxlci50b1N0cmluZygpIGFzIG5ldmVyKSkge1xyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgc2VsZWN0ZWRTZWxsZXI6IHNlbGVjdGVkU2VsbGVyTGlzdFswXS5zZWxsZXJJZCxcclxuICAgICAgICAgICAgaW5kZXg6IDBcclxuICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zb2xlLmxvZygn6aG16Z2ic2hvd+aXtiDmlrDlu7rmtLvliqjpobXlvZPliY3nmoRzZWxlY3RlZFNlbGxlcicsdGhpcy5kYXRhLnNlbGVjdGVkU2VsbGVyLHRoaXMuZGF0YS5pbmRleCk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc29sZS5sb2coJzw8PDw8PDw8PDw8PDw8POe7hOS7tumhtemdonNob3fnu5PmnZ88PDw8PDw8PDw8PDw8PDwnKTtcclxuICAgIH1cclxuICB9LFxyXG4gIG9ic2VydmVyczoge1xyXG4gICAgJ3NlbGxlckxpc3QnOiBmdW5jdGlvbih2YWwpIHtcclxuICAgICAgY29uc29sZS5sb2coJ+ebkeWQrHNlbGxlcnMnLHZhbCx0aGlzLmRhdGEuc2VsbGVyTGlzdClcclxuICAgICAgaWYgKHZhbC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbGV0IHNlbGVjdGVkU2VsbGVyTGlzdCA9IHZhbDtcclxuICAgICAgICBsZXQgc2VsZWN0ZWRTZWxsZXJJZExpc3QgPSBbXSBhcyBhbnk7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ+iQpemUgOS6uuWRmOWIl+ihqHNlbGxlcnPjgILjgILjgILkuI5pZOOAgeOAgeOAgScsc2VsZWN0ZWRTZWxsZXJMaXN0LHNlbGVjdGVkU2VsbGVySWRMaXN0KTtcclxuICAgICAgICBzZWxlY3RlZFNlbGxlckxpc3QuZm9yRWFjaCgoaXRlbTphbnksaW5kZXg6bnVtYmVyKT0+e1xyXG4gICAgICAgICAgc2VsZWN0ZWRTZWxsZXJJZExpc3QucHVzaChpdGVtJiZpdGVtLnNlbGxlcklkJiZpdGVtLnNlbGxlcklkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgaWYgKGl0ZW0uaXNEZWZhdWx0U2VsbGVyTmFtZSl7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRTZWxsZXI6IGl0ZW0uc2VsbGVySWQsXHJcbiAgICAgICAgICAgICAgaW5kZXhcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMuc2V0RGF0YSh7c2VsZWN0ZWRTZWxsZXJMaXN0LHNlbGVjdGVkU2VsbGVySWRMaXN0fSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfSxcclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTmlrnms5XliJfooahcclxuICAgKi9cclxuICBtZXRob2RzOiB7XHJcbiAgICBzZWxlY3RTZWxsZXIoZXZlbnQ6YW55KSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGV2ZW50KVxyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIHNlbGVjdGVkU2VsbGVyOiBldmVudC5kZXRhaWxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgb25TZWxlY3QoZXZlbnQ6YW55KSB7XHJcbiAgICAgIGNvbnN0IHsgbmFtZSwgaW5kZXggfSA9IGV2ZW50LmN1cnJlbnRUYXJnZXQuZGF0YXNldDtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBzZWxlY3RlZFNlbGxlcjogbmFtZSxcclxuICAgICAgICBpbmRleFxyXG4gICAgICB9KTtcclxuICAgICAgY29uc29sZS5sb2coJ+mAieS4reeahOm7mOiupOiQpemUgOS6uuWRmCcsbmFtZSAsaW5kZXgpO1xyXG4gICAgfSxcclxuICAgIHRvZ2dsZTIoZXZlbnQ6YW55KXtcclxuICAgICAgY29uc29sZS5sb2coZXZlbnQpO1xyXG4gICAgfSxcclxuICAgIGdldFNlbGVjdGVkU2VsbGVyTGlzdCgpe1xyXG4gICAgICBsZXQge3NlbGVjdGVkU2VsbGVySWRMaXN0fSA9IHRoaXMuZGF0YTtcclxuICAgICAgbGV0IHNlbGVjdGVkU2VsbGVyTGlzdCA9IFtdIGFzIGFueTtcclxuICAgICAgbGV0IHNlbGxlckxpc3QgPSB3eC5nbG9iYWxEYXRhLnNlbGxlckxpc3Q7XHJcbiAgICAgIHNlbGVjdGVkU2VsbGVySWRMaXN0LmZvckVhY2goKGlkOmFueSk9PntcclxuICAgICAgICBzZWxsZXJMaXN0LmZvckVhY2goKGl0ZW06YW55KT0+e1xyXG4gICAgICAgICAgaWYgKGl0ZW0uc2VsbGVySWQgPT0gTnVtYmVyKGlkKSkge1xyXG4gICAgICAgICAgICBzZWxlY3RlZFNlbGxlckxpc3QucHVzaChpdGVtKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pXHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgc2VsZWN0ZWRTZWxsZXJMaXN0XHJcbiAgICAgIH0pXHJcbiAgICAgIHJldHVybiBzZWxlY3RlZFNlbGxlckxpc3Q7XHJcbiAgICB9LFxyXG5cclxuICAgIC8vIOeItue7hOS7tuiOt+WPluW+heaPkOS6pOeahOiQpemUgOS6uuWRmOaVsOaNrlxyXG4gICAgZ2V0U2VsbGVyTGlzdCgpe1xyXG4gICAgICBsZXQgeyBzZWxlY3RlZFNlbGxlckxpc3QsIGluZGV4fSA9IHRoaXMuZGF0YTtcclxuICAgICAgc2VsZWN0ZWRTZWxsZXJMaXN0LmZvckVhY2goKGl0ZW06YW55KT0+e1xyXG4gICAgICAgIGl0ZW0uaXNEZWZhdWx0U2VsbGVyTmFtZSA9IGZhbHNlO1xyXG4gICAgICB9KVxyXG4gICAgICBpZiAoaW5kZXggPj0wJiZzZWxlY3RlZFNlbGxlckxpc3QubGVuZ3RoPjApe1xyXG4gICAgICAgIHNlbGVjdGVkU2VsbGVyTGlzdFtpbmRleF0uaXNEZWZhdWx0U2VsbGVyTmFtZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc29sZS5sb2coJ+W+heaPkOS6pOeahOiQpemUgOS6uuWRmOaVsOaNricsc2VsZWN0ZWRTZWxsZXJMaXN0KTtcclxuICAgICAgcmV0dXJuIHNlbGVjdGVkU2VsbGVyTGlzdDtcclxuICAgIH0sXHJcbiAgICBjaGVja0RlZmF1bHRTZWxsZXIoKXtcclxuICAgICAgbGV0IHsgc2VsZWN0ZWRTZWxsZXJMaXN0IH0gPSB0aGlzLmRhdGE7XHJcbiAgICAgIHJldHVybiAhKHNlbGVjdGVkU2VsbGVyTGlzdC5ldmVyeSgoY3VycmVudFZhbHVlOmFueSk9PntcclxuICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlLmlzRGVmYXVsdFNlbGxlck5hbWUgPT0gZmFsc2U7XHJcbiAgICAgIH0pKVxyXG4gICAgfSxcclxuICAgIGFkZFNlbGxlcigpe1xyXG4gICAgICB3eC5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICB1cmw6IGAvcGFnZXMvc2VsbGVyTGlzdC9zZWxsZXJMaXN0YCxcclxuICAgICAgICBzdWNjZXNzOiAocmVzKT0+IHtcclxuICAgICAgICAgIGxldCBzZWxlY3RlZFNlbGxlcklkTGlzdCA9IHRoaXMuZGF0YS5zZWxlY3RlZFNlbGxlcklkTGlzdDtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCfmlrDlu7rmtLvliqjpobXlvZPliY3nmoRzZWxlY3RlZFNlbGxlcklkTGlzdCcsc2VsZWN0ZWRTZWxsZXJJZExpc3QpO1xyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgaXNGaXJzdE9wZW46ZmFsc2VcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAvLyDpgJrov4dldmVudENoYW5uZWzlkJHooqvmiZPlvIDpobXpnaLkvKDpgIHmlbDmja5cclxuICAgICAgICAgIHJlcy5ldmVudENoYW5uZWwuZW1pdCgnZ2V0U2VsbGVyTGlzdEZyb21Qcm9tb3Rpb25zUGFnZScsIHtcclxuICAgICAgICAgICAgc2VsZWN0ZWRTZWxsZXJJZExpc3RcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSxcclxuICAgICAgICBldmVudHM6IHtcclxuICAgICAgICAgIC8vIOS4uuaMh+WumuS6i+S7tua3u+WKoOS4gOS4quebkeWQrOWZqO+8jOiOt+WPluiiq+aJk+W8gOmhtemdouS8oOmAgeWIsOW9k+WJjemhtemdoueahOaVsOaNrlxyXG4gICAgICAgICAgZ2V0U2VsZWN0ZWRTZWxsZXJMaXN0OiAoZGF0YTogYW55KT0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ+iOt+WPluiQpemUgOS6uuWRmOmAieaLqemhtemAieS4reeahGRhdGEnLGRhdGEpXHJcbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRTZWxsZXJJZExpc3Q6ZGF0YS5zZWxlY3RlZFNlbGxlcklkTGlzdCxcclxuICAgICAgICAgICAgICAvLyBzZWxlY3RlZFNlbGxlckxpc3Q6ZGF0YS5zZWxlY3RlZFNlbGxlckxpc3RcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuICAgIGFzeW5jIGdldERlZmF1bHRTZWxsZXIoKXtcclxuICAgICAgbGV0IFtlcnJvciwgcmVzdWx0XSA9IGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgICAgICB3eC4kaHR0cC5yZXF1ZXN0KHtcclxuICAgICAgICAgIHVybDpgL3Nob3BwaW5nL3BhbmljQnV5aW5nU2VsbGVyLmRvP209Z2V0RGVmYXVsdFNlbGxlcmAsXHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICBpZiAoZXJyb3Ipe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc29sZS5sb2cocmVzdWx0KTtcclxuICAgIH1cclxuICB9XHJcbn0pXHJcbiJdfQ==