Sanakey
2021-05-08 d38be727e16028006b4fe1411fc4ff4d0380e0d9
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
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
"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: {
        styleIsolation: 'shared',
        addGlobalClass: true,
        multipleSlots: true
    },
    properties: {
        fromPage: {
            type: String,
            value: ''
        },
        detail: {
            type: Object,
            value: {}
        },
        timeBalance: {
            type: Number || String,
            value: 10
        },
        sellerList: {
            type: Array,
            value: []
        },
    },
    data: {
        showShare: false,
        noticeText: '',
        buttonText: '立即抢购',
        shareOptions: [
            { name: '微信', icon: 'wechat', openType: 'share' },
            { name: '分享海报', icon: '/assets/images/moments.png' },
        ],
        showAdvisory: false,
        isCanDraw: false,
        advisoryActions: [],
    },
    observers: {
        'detail': function (data) {
            console.log('goods-action内监听到detail数据改变', data);
            if (JSON.stringify(data) != '{}') {
                this.getNotice();
            }
        },
        'sellerList': function (data) {
            console.log('goods-action内监听到sellerList数据改变', data);
            if (JSON.stringify(data) != '{}') {
                this.handleSellerList();
            }
        },
    },
    lifetimes: {
        attached: function () {
            if (this.data.fromPage === 'myFootprint') {
                this.setData({ fromFootprint: true });
                return;
            }
            if (this.data.fromPage === 'myOrder') {
                this.setData({ fromOrder: true });
                return;
            }
            this.setData({ fromPromotions: true });
        },
        detached: function () {
        },
        ready: function () { }
    },
    methods: {
        submitPromotions: function () {
            return __awaiter(this, void 0, void 0, function () {
                var doccode, _a, error, result;
                return __generator(this, function (_b) {
                    switch (_b.label) {
                        case 0:
                            doccode = this.data.detail.doccode;
                            return [4, wx.$utils.to(wx.$http.request({
                                    url: "/shopping/panicBuying.do?m=publishPanicBuyingDetail",
                                    data: {
                                        doccode: doccode
                                    }
                                }))];
                        case 1:
                            _a = _b.sent(), error = _a[0], result = _a[1];
                            if (error) {
                                console.log(error);
                                return [2];
                            }
                            console.log(result);
                            if (result.state === 'success') {
                                wx.showToast({
                                    title: '发布成功'
                                });
                                setTimeout(function () {
                                    wx.redirectTo({
                                        url: "/pages/detail/detail?from=&doccode=" + doccode
                                    });
                                }, 1000);
                            }
                            return [2];
                    }
                });
            });
        },
        onClickShare: function () {
            this.setData({
                showShare: true
            });
        },
        onShareClose: function () {
            this.setData({
                showShare: false,
            });
        },
        onShareSelect: function (event) {
            console.log(event.detail);
            var index = event.detail.index;
            if (index === 1) {
                var poster = this.selectComponent('#my-poster-creator');
                poster.drawPic();
            }
            this.onShareClose();
        },
        onClickAdvisory: function () {
            this.setData({
                showAdvisory: true
            });
        },
        onAdvisoryClose: function () {
            this.setData({
                showAdvisory: false
            });
        },
        onAdvisorySelect: function (e) {
            console.log(e);
            var mobile = e.detail.telephone;
            wx.makePhoneCall({
                phoneNumber: mobile,
            });
        },
        onCountDownFinish: function () {
            console.log('倒计时结束了。。。');
            this.triggerEvent('onCountDownFinish', {});
        },
        onClickSnapUp: function () {
            var _this = this;
            wx.navigateTo({
                url: '/pages/orderSubmit/orderSubmit',
                success: function (res) {
                    var detail = _this.data.detail;
                    res.eventChannel.emit('getDataFromDetailsPage', {
                        detail: detail
                    });
                }
            });
        },
        getNotice: function () {
            console.log('获取活动时间提示文字');
            var _a = this.data.detail, quantity = _a.quantity, panicBuyingStatus = _a.panicBuyingStatus, formId = _a.formId, effectiveStartDate = _a.effectiveStartDate, effectiveEndDate = _a.effectiveEndDate;
            var isPanicBuying = (formId == 710802);
            if (panicBuyingStatus == 1) {
                this.setData({
                    noticeText: "\u672A\u5F00\u59CB\uFF0C\u5F00\u59CB\u65F6\u95F4" + effectiveStartDate + "\u81F3" + effectiveEndDate,
                    isCanBuy: false
                });
            }
            else if (panicBuyingStatus == 2) {
                this.setData({
                    noticeText: "\u6D3B\u52A8\u8FDB\u884C\u4E2D\uFF0C\u7ED3\u675F\u65F6\u95F4\u4E3A" + effectiveEndDate,
                    isCanBuy: true
                });
            }
            else if (panicBuyingStatus == 3) {
                this.setData({
                    noticeText: "",
                    isCanBuy: false,
                    buttonText: "\u5DF2\u7ED3\u675F"
                });
            }
            if (isPanicBuying && quantity <= 0) {
                this.setData({
                    noticeText: "\u8BE5\u5546\u54C1\u5DF2\u552E\u7F44",
                    isCanBuy: false,
                    buttonText: "\u5DF2\u552E\u7F44"
                });
            }
        },
        handleSellerList: function () {
            var sellerList = this.data.sellerList;
            var list = [];
            sellerList.forEach(function (seller) {
                list.push({
                    name: seller.sellerName,
                    telephone: seller.telephone,
                });
            });
            this.setData({
                advisoryActions: list
            });
        }
    }
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxTQUFTLENBQUM7SUFJUixPQUFPLEVBQUU7UUFDUCxjQUFjLEVBQUUsUUFBUTtRQUN4QixjQUFjLEVBQUUsSUFBSTtRQUNwQixhQUFhLEVBQUUsSUFBSTtLQUNwQjtJQUNELFVBQVUsRUFBRTtRQUNWLFFBQVEsRUFBQztZQUNQLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLEVBQUU7U0FDVjtRQUNELE1BQU0sRUFBQztZQUNMLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLEVBQUU7U0FDVjtRQUNELFdBQVcsRUFBQztZQUNWLElBQUksRUFBRSxNQUFNLElBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsRUFBRTtTQUNWO1FBQ0QsVUFBVSxFQUFDO1lBQ1QsSUFBSSxFQUFFLEtBQUs7WUFDWCxLQUFLLEVBQUUsRUFBRTtTQUNWO0tBYUY7SUFLRCxJQUFJLEVBQUU7UUFDSixTQUFTLEVBQUUsS0FBSztRQUNoQixVQUFVLEVBQUMsRUFBRTtRQUNiLFVBQVUsRUFBQyxNQUFNO1FBQ2pCLFlBQVksRUFBRTtZQUNaLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDakQsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRTtTQUVyRDtRQUNELFlBQVksRUFBRSxLQUFLO1FBQ25CLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLGVBQWUsRUFBRSxFQUtoQjtLQUNGO0lBRUQsU0FBUyxFQUFDO1FBQ1IsUUFBUSxZQUFDLElBQUk7WUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFDLElBQUksQ0FBQyxDQUFBO1lBQzlDLElBQUksSUFBSSxDQUFDLFNBQVMs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b3VyY2VzQ29udGVudCI6WyJcclxuLy8gY29uc3QgYXBwID0gZ2V0QXBwPElBcHBPcHRpb24+KCk7XHJcbkNvbXBvbmVudCh7XHJcbiAgLyoqXHJcbiAgICog57uE5Lu255qE5bGe5oCn5YiX6KGoXHJcbiAgICovXHJcbiAgb3B0aW9uczoge1xyXG4gICAgc3R5bGVJc29sYXRpb246ICdzaGFyZWQnLFxyXG4gICAgYWRkR2xvYmFsQ2xhc3M6IHRydWUsXHJcbiAgICBtdWx0aXBsZVNsb3RzOiB0cnVlIC8vIOWcqOe7hOS7tuWumuS5ieaXtueahOmAiemhueS4reWQr+eUqOWkmnNsb3TmlK/mjIFcclxuICB9LFxyXG4gIHByb3BlcnRpZXM6IHtcclxuICAgIGZyb21QYWdlOntcclxuICAgICAgdHlwZTogU3RyaW5nLFxyXG4gICAgICB2YWx1ZTogJydcclxuICAgIH0sXHJcbiAgICBkZXRhaWw6e1xyXG4gICAgICB0eXBlOiBPYmplY3QsXHJcbiAgICAgIHZhbHVlOiB7fVxyXG4gICAgfSxcclxuICAgIHRpbWVCYWxhbmNlOntcclxuICAgICAgdHlwZTogTnVtYmVyfHxTdHJpbmcsXHJcbiAgICAgIHZhbHVlOiAxMFxyXG4gICAgfSxcclxuICAgIHNlbGxlckxpc3Q6e1xyXG4gICAgICB0eXBlOiBBcnJheSxcclxuICAgICAgdmFsdWU6IFtdXHJcbiAgICB9LFxyXG4gICAgLy8gZnJvbUZvb3RwcmludDp7XHJcbiAgICAvLyAgIHR5cGU6IEJvb2xlYW4sXHJcbiAgICAvLyAgIHZhbHVlOiBmYWxzZVxyXG4gICAgLy8gfSxcclxuICAgIC8vIGZyb21PcmRlcjp7XHJcbiAgICAvLyAgIHR5cGU6IEJvb2xlYW4sXHJcbiAgICAvLyAgIHZhbHVlOiBmYWxzZVxyXG4gICAgLy8gfSxcclxuICAgIC8vIGZyb21Qcm9tb3Rpb25zOntcclxuICAgIC8vICAgdHlwZTogQm9vbGVhbixcclxuICAgIC8vICAgdmFsdWU6IHRydWVcclxuICAgIC8vIH0sXHJcbiAgfSxcclxuXHJcbiAgLyoqXHJcbiAgICog57uE5Lu255qE5Yid5aeL5pWw5o2uXHJcbiAgICovXHJcbiAgZGF0YToge1xyXG4gICAgc2hvd1NoYXJlOiBmYWxzZSxcclxuICAgIG5vdGljZVRleHQ6JycsXHJcbiAgICBidXR0b25UZXh0Oifnq4vljbPmiqLotK0nLFxyXG4gICAgc2hhcmVPcHRpb25zOiBbXHJcbiAgICAgIHsgbmFtZTogJ+W+ruS/oScsIGljb246ICd3ZWNoYXQnLCBvcGVuVHlwZTogJ3NoYXJlJyB9LFxyXG4gICAgICB7IG5hbWU6ICfliIbkuqvmtbfmiqUnLCBpY29uOiAnL2Fzc2V0cy9pbWFnZXMvbW9tZW50cy5wbmcnIH0sXHJcbiAgICAgIC8vIHsgbmFtZTogJ+S6jOe7tOeggScsIGljb246ICdxcmNvZGUnIH0sXHJcbiAgICBdLFxyXG4gICAgc2hvd0Fkdmlzb3J5OiBmYWxzZSxcclxuICAgIGlzQ2FuRHJhdzogZmFsc2UsXHJcbiAgICBhZHZpc29yeUFjdGlvbnM6IFtcclxuICAgICAgLy8ge1xyXG4gICAgICAvLyAgIG5hbWU6ICfokKXplIDkurrlkZgxJyxcclxuICAgICAgLy8gICB0ZWxlcGhvbmU6JzEyMzQ1Njc4OTEwJ1xyXG4gICAgICAvLyB9XHJcbiAgICBdLFxyXG4gIH0sXHJcblxyXG4gIG9ic2VydmVyczp7IC8v6KeC5a+f6ICF77ya5bGe5oCn55uR5ZCsXHJcbiAgICAnZGV0YWlsJyhkYXRhKSB7ICAvL+WNleS4quebkeWQrFxyXG4gICAgICBjb25zb2xlLmxvZygnZ29vZHMtYWN0aW9u5YaF55uR5ZCs5YiwZGV0YWls5pWw5o2u5pS55Y+YJyxkYXRhKVxyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YSkgIT0gJ3t9Jyl7XHJcbiAgICAgICAgdGhpcy5nZXROb3RpY2UoKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgICdzZWxsZXJMaXN0JyhkYXRhKSB7ICAvL+WNleS4quebkeWQrFxyXG4gICAgICBjb25zb2xlLmxvZygnZ29vZHMtYWN0aW9u5YaF55uR5ZCs5Yiwc2VsbGVyTGlzdOaVsOaNruaUueWPmCcsZGF0YSlcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGRhdGEpICE9ICd7fScpe1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU2VsbGVyTGlzdCgpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gIH0sXHJcblxyXG4gIGxpZmV0aW1lczoge1xyXG4gICAgYXR0YWNoZWQoKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEuZnJvbVBhZ2UgPT09ICdteUZvb3RwcmludCcpe1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YSh7ZnJvbUZvb3RwcmludDogdHJ1ZX0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kYXRhLmZyb21QYWdlID09PSAnbXlPcmRlcicpe1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YSh7ZnJvbU9yZGVyOiB0cnVlfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGlmICh0aGlzLmRhdGEuZnJvbVBhZ2UgPT09ICdwcm9tb3Rpb25zTWFuYWdlJyl7XHJcbiAgICAgIC8vICAgdGhpcy5zZXREYXRhKHtmcm9tUHJvbW90aW9uczogdHJ1ZX0pO1xyXG4gICAgICAvLyB9XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7ZnJvbVByb21vdGlvbnM6IHRydWV9KTtcclxuICAgICAgLy8g5Zyo57uE5Lu25a6e5L6L6L+b5YWl6aG16Z2i6IqC54K55qCR5pe25omn6KGMXHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5saXN0SXRlbSk7XHJcbiAgICB9LFxyXG4gICAgZGV0YWNoZWQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAvLyDlnKjnu4Tku7blrp7kvovooqvku47pobXpnaLoioLngrnmoJHnp7vpmaTml7bmiafooYxcclxuICAgIH0sXHJcbiAgICByZWFkeSgpIHt9XHJcbiAgfSxcclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTmlrnms5XliJfooahcclxuICAgKi9cclxuICBtZXRob2RzOiB7XHJcbiAgICBhc3luYyBzdWJtaXRQcm9tb3Rpb25zKCl7XHJcbiAgICAgIGxldCBkb2Njb2RlID0gdGhpcy5kYXRhLmRldGFpbC5kb2Njb2RlO1xyXG4gICAgICBsZXQgW2Vycm9yLCByZXN1bHRdID0gYXdhaXQgd3guJHV0aWxzLnRvKFxyXG4gICAgICAgIHd4LiRodHRwLnJlcXVlc3Qoe1xyXG4gICAgICAgICAgdXJsOmAvc2hvcHBpbmcvcGFuaWNCdXlpbmcuZG8/bT1wdWJsaXNoUGFuaWNCdXlpbmdEZXRhaWxgLFxyXG4gICAgICAgICAgZGF0YTp7XHJcbiAgICAgICAgICAgIGRvY2NvZGVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIGlmIChlcnJvcil7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zb2xlLmxvZyhyZXN1bHQpO1xyXG4gICAgICBpZiAocmVzdWx0LnN0YXRlPT09J3N1Y2Nlc3MnKXtcclxuICAgICAgICB3eC5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgdGl0bGU6J+WPkeW4g+aIkOWKnydcclxuICAgICAgICB9KVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgd3gucmVkaXJlY3RUbyh7XHJcbiAgICAgICAgICAgIHVybDpgL3BhZ2VzL2RldGFpbC9kZXRhaWw/ZnJvbT0mZG9jY29kZT0ke2RvY2NvZGV9YFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9LDEwMDApXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBvbkNsaWNrU2hhcmUoKXtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBzaG93U2hhcmU6dHJ1ZVxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuICAgIG9uU2hhcmVDbG9zZSgpe1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIHNob3dTaGFyZTpmYWxzZSxcclxuICAgICAgICAvLyBpc0NhbkRyYXc6ICF0aGlzLmRhdGEuaXNDYW5EcmF3XHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25TaGFyZVNlbGVjdChldmVudCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhldmVudC5kZXRhaWwpO1xyXG4gICAgICBsZXQge2luZGV4fSA9IGV2ZW50LmRldGFpbDtcclxuICAgICAgaWYgKGluZGV4PT09MSkge1xyXG4gICAgICAgIC8vIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgLy8gICBpc0NhbkRyYXc6ICF0aGlzLmRhdGEuaXNDYW5EcmF3XHJcbiAgICAgICAgLy8gfSlcclxuICAgICAgICBsZXQgcG9zdGVyID10aGlzLnNlbGVjdENvbXBvbmVudCgnI215LXBvc3Rlci1jcmVhdG9yJyk7XHJcbiAgICAgICAgcG9zdGVyLmRyYXdQaWMoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uU2hhcmVDbG9zZSgpO1xyXG4gICAgfSxcclxuICAgIG9uQ2xpY2tBZHZpc29yeSgpe1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIHNob3dBZHZpc29yeTp0cnVlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25BZHZpc29yeUNsb3NlKCl7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgc2hvd0Fkdmlzb3J5OmZhbHNlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25BZHZpc29yeVNlbGVjdChlOmFueSl7XHJcbiAgICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICBsZXQgbW9iaWxlID0gZS5kZXRhaWwudGVsZXBob25lO1xyXG4gICAgICB3eC5tYWtlUGhvbmVDYWxsKHtcclxuICAgICAgICBwaG9uZU51bWJlcjogbW9iaWxlLFxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuXHJcbiAgICBvbkNvdW50RG93bkZpbmlzaCgpe1xyXG4gICAgICBjb25zb2xlLmxvZygn5YCS6K6h5pe257uT5p2f5LqG44CC44CC44CCJyk7XHJcbiAgICAgIHRoaXMudHJpZ2dlckV2ZW50KCdvbkNvdW50RG93bkZpbmlzaCcsIHtcclxuICAgICAgICAvLyBpc0F1dGhvcml6ZTogdHJ1ZVxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuXHJcbiAgICBvbkNsaWNrU25hcFVwKCl7XHJcbiAgICAgIHd4Lm5hdmlnYXRlVG8oe1xyXG4gICAgICAgIHVybDogJy9wYWdlcy9vcmRlclN1Ym1pdC9vcmRlclN1Ym1pdCcsXHJcbiAgICAgICAgc3VjY2VzczogKHJlcyk9PiB7XHJcbiAgICAgICAgICBsZXQgZGV0YWlsID0gdGhpcy5kYXRhLmRldGFpbDtcclxuICAgICAgICAgIC8vIOmAmui/h2V2ZW50Q2hhbm5lbOWQkeiiq+aJk+W8gOmhtemdouS8oOmAgeaVsOaNrlxyXG4gICAgICAgICAgcmVzLmV2ZW50Q2hhbm5lbC5lbWl0KCdnZXREYXRhRnJvbURldGFpbHNQYWdlJywge1xyXG4gICAgICAgICAgICBkZXRhaWxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuICAgIGdldE5vdGljZSgpe1xyXG4gICAgICBjb25zb2xlLmxvZygn6I635Y+W5rS75Yqo5pe26Ze05o+Q56S65paH5a2XJyk7XHJcbiAgICAgIC8v5Yqf6IO95Y+377ya56eS5p2AIDcxMDgwMiDvvIwg5oql5ZCN6YKA57qmIDcxMDgwMyDvvIzlm6LotK0gNzEwODA0XHJcbiAgICAgIC8vIFwicGFuaWNCdXlpbmdTdGF0dXNcIjoyICwgLy/mtLvliqjnirbmgIE6IDAg6LW36I2JOyAxIOacquW8gOWnizsgMiDov5vooYzkuK07IDMg5bey5YGc5q2iO1xyXG4gICAgICBsZXQge1xyXG4gICAgICAgIHF1YW50aXR5LFxyXG4gICAgICAgIHBhbmljQnV5aW5nU3RhdHVzLFxyXG4gICAgICAgIGZvcm1JZCxcclxuICAgICAgICBlZmZlY3RpdmVTdGFydERhdGUsXHJcbiAgICAgICAgZWZmZWN0aXZlRW5kRGF0ZSxcclxuICAgICAgfSA9IHRoaXMuZGF0YS5kZXRhaWw7XHJcbiAgICAgIGxldCBpc1BhbmljQnV5aW5nID0gKGZvcm1JZD09NzEwODAyKTtcclxuICAgICAgaWYgKHBhbmljQnV5aW5nU3RhdHVzPT0xKSB7XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIG5vdGljZVRleHQ6YOacquW8gOWni++8jOW8gOWni+aXtumXtCR7ZWZmZWN0aXZlU3RhcnREYXRlfeiHsyR7ZWZmZWN0aXZlRW5kRGF0ZX1gLFxyXG4gICAgICAgICAgaXNDYW5CdXk6ZmFsc2VcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHBhbmljQnV5aW5nU3RhdHVzPT0yKSB7XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIG5vdGljZVRleHQ6YOa0u+WKqOi/m+ihjOS4re+8jOe7k+adn+aXtumXtOS4uiR7ZWZmZWN0aXZlRW5kRGF0ZX1gLFxyXG4gICAgICAgICAgaXNDYW5CdXk6dHJ1ZVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAocGFuaWNCdXlpbmdTdGF0dXM9PTMpIHtcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgbm90aWNlVGV4dDpgYCxcclxuICAgICAgICAgIGlzQ2FuQnV5OmZhbHNlLFxyXG4gICAgICAgICAgYnV0dG9uVGV4dDpg5bey57uT5p2fYFxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlzUGFuaWNCdXlpbmcmJnF1YW50aXR5PD0wKSB7XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIG5vdGljZVRleHQ6YOivpeWVhuWTgeW3suWUrue9hGAsXHJcbiAgICAgICAgICBpc0NhbkJ1eTpmYWxzZSxcclxuICAgICAgICAgIGJ1dHRvblRleHQ6YOW3suWUrue9hGBcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgaGFuZGxlU2VsbGVyTGlzdCgpe1xyXG4gICAgICBsZXQgc2VsbGVyTGlzdCA9IHRoaXMuZGF0YS5zZWxsZXJMaXN0O1xyXG4gICAgICBsZXQgbGlzdCA9IFtdIGFzIGFueTtcclxuICAgICAgc2VsbGVyTGlzdC5mb3JFYWNoKChzZWxsZXI6YW55KSA9PiB7XHJcbiAgICAgICAgbGlzdC5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6c2VsbGVyLnNlbGxlck5hbWUsXHJcbiAgICAgICAgICB0ZWxlcGhvbmU6c2VsbGVyLnRlbGVwaG9uZSxcclxuICAgICAgICB9KVxyXG4gICAgICB9KVxyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIGFkdmlzb3J5QWN0aW9uczpsaXN0XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG59KVxyXG4iXX0=