Sanakey
2021-07-09 3fc241d02fb8b671289de3d9d80bf848349c04d4
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
"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 };
    }
};
Object.defineProperty(exports, "__esModule", { value: true });
var myValidator_1 = require("../../utils/myValidator");
var validatorInstance;
Page({
    data: {
        region: [],
        checked: false,
        telephone: '',
        actualName: '',
        goto: ''
    },
    onLoad: function (options) {
        var goto = options.goto ? "../" + options.goto + "/" + options.goto : '';
        console.log('签约完后前往 ', goto);
        this.setData({
            goto: goto
        });
    },
    onReady: function () {
        this.initValidator();
    },
    bindRegionChange: function (e) {
        console.log('picker发送选择改变,携带值为', e.detail.value);
        this.setData({
            region: e.detail.value
        });
    },
    onAgreeChange: function (event) {
        console.log(event);
        this.setData({
            checked: event.detail,
        });
    },
    checkActualName: function (e) {
        var value = e.detail.value;
        console.log(e);
        validatorInstance.checkField('actualName', value);
    },
    getPhoneNumber: function (e) {
        return __awaiter(this, void 0, void 0, function () {
            var _a, error, result;
            return __generator(this, function (_b) {
                switch (_b.label) {
                    case 0:
                        console.log('getPhoneNumber', e);
                        if (!(e.detail.errMsg == 'getPhoneNumber:ok')) return [3, 2];
                        return [4, wx.$utils.to(wx.$http.request({
                                url: "/shopping/account.do?m=telRegByAutoReg",
                                data: {
                                    ReferralsCode: '',
                                    ReferralsName: '',
                                    encryptedData: e.detail.encryptedData,
                                    iv: e.detail.iv,
                                }
                            }))];
                    case 1:
                        _a = _b.sent(), error = _a[0], result = _a[1];
                        if (error) {
                            console.log(error);
                            return [2];
                        }
                        console.log(result);
                        this.setData({
                            telephone: result.Telephone,
                            phoneError: ''
                        });
                        return [3, 3];
                    case 2:
                        console.log('取消授权');
                        wx.showToast({
                            title: '取消授权',
                            icon: 'none',
                            duration: 1000
                        });
                        _b.label = 3;
                    case 3: return [2];
                }
            });
        });
    },
    onSubmit: wx.$utils.debounce(function () {
        this.submitHandler();
        return;
    }),
    submitHandler: function () {
        var _a = this.data, checked = _a.checked, region = _a.region, telephone = _a.telephone;
        var checkRegion = region.length < 1;
        console.log(checked, region);
        if (checkRegion) {
            wx.showToast({
                title: '请选择地区',
                icon: 'none',
            });
            return;
        }
        var checkAllData = validatorInstance.checkAllData();
        if (!checkAllData) {
            return;
        }
        if (!telephone) {
            this.setData({
                phoneError: '请输入手机号'
            });
            return;
        }
        if (!checked) {
            console.log('请同意商家条款');
            wx.showToast({
                title: '请同意商家条款',
                icon: 'none',
            });
            return;
        }
        console.log('....提交成功');
        this.postFormData();
    },
    postFormData: function () {
        return __awaiter(this, void 0, void 0, function () {
            var _a, region, actualName, telephone, provinceName, cityName, countyName, data, _b, error, result, goto;
            return __generator(this, function (_c) {
                switch (_c.label) {
                    case 0:
                        _a = this.data, region = _a.region, actualName = _a.actualName, telephone = _a.telephone;
                        provinceName = region[0], cityName = region[1], countyName = region[2];
                        data = {
                            countryName: '中国',
                            provinceName: provinceName,
                            cityName: cityName,
                            countyName: countyName,
                            actualName: actualName,
                            telephone: telephone
                        };
                        console.log(data);
                        return [4, wx.$utils.to(wx.$http.request({
                                url: "/shopping/customerSignup.do?m=saveCustomerSignup",
                                data: data,
                                method: 'POST'
                            }))];
                    case 1:
                        _b = _c.sent(), error = _b[0], result = _b[1];
                        if (error) {
                            console.log(error);
                            return [2];
                        }
                        console.log(result);
                        if (!(result.status == 'success')) return [3, 3];
                        return [4, wx.$commonRequest.getUserInfo()];
                    case 2:
                        _c.sent();
                        goto = this.data.goto;
                        if (goto) {
                            wx.redirectTo({
                                url: goto
                            });
                        }
                        else {
                            wx.navigateBack();
                        }
                        _c.label = 3;
                    case 3: return [2];
                }
            });
        });
    },
    initValidator: function () {
        validatorInstance = new myValidator_1.default({
            rules: {
                actualName: {
                    required: true,
                    minlength: 2
                }
            },
            messages: {
                actualName: {
                    required: '请输入用户名',
                }
            },
            multiCheck: true
        }, this);
    },
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyY2hhbnRTaWduaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibWVyY2hhbnRTaWduaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBa0Q7QUFDbEQsSUFBSSxpQkFBNkIsQ0FBQztBQUNsQyxJQUFJLENBQUM7SUFDSCxJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUUsRUFBRTtRQUNWLE9BQU8sRUFBQyxLQUFLO1FBQ2IsU0FBUyxFQUFDLEVBQUU7UUFDWixVQUFVLEVBQUMsRUFBRTtRQUNiLElBQUksRUFBQyxFQUFFO0tBRVI7SUFDRCxNQUFNLFlBQUMsT0FBTztRQUlaLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFBLFFBQU0sT0FBTyxDQUFDLElBQUksU0FBSSxPQUFPLENBQUMsSUFBTSxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUM7UUFDaEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNYLElBQUksTUFBQTtTQUNMLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxnQkFBZ0IsWUFBQyxDQUFLO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ1gsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztTQUN2QixDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsYUFBYSxZQUFDLEtBQVM7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDO1lB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Q0FBQzt3QkFDMUIsSUFBSSxJQUFJLEVBQUM7NEJBQ1AsRUFBRSxDQUFDLFVBQVUsQ0FBQztnQ0FDWixHQUFHLEVBQUMsSUFBSTs2QkFDVCxDQUFDLENBQUE7eUJBQ0g7NkJBQU07NEJBQ0wsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO3lCQUNuQjs7Ozs7O0tBR0o7SUFDRCxhQUFhO1FBRVgsaUJBQWlCLEdBQUcsSUFBSSxxQkFBVyxDQUFDO1lBQ2xDLEtBQUssRUFBRTtnQkFDTCxVQUFVLEVBQUU7b0JBQ1YsUUFBUSxFQUFFLElBQUk7b0JBQ2QsU0FBUyxFQUFFLENBQUM7aUJBQ2I7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUixVQUFVLEVBQUU7b0JBQ1YsUUFBUSxFQUFFLFFBQVE7aUJBQ25CO2FBQ0Y7WUFDRCxVQUFVLEVBQUMsSUFBSTtTQUNoQixFQUFDLElBQUksQ0FBQyxDQUFBO0lBQ1QsQ0FBQztDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNeVZhbGlkYXRvciBmcm9tIFwiLi4vLi4vdXRpbHMvbXlWYWxpZGF0b3JcIjtcclxubGV0IHZhbGlkYXRvckluc3RhbmNlOk15VmFsaWRhdG9yO1xyXG5QYWdlKHtcclxuICBkYXRhOiB7XHJcbiAgICByZWdpb246IFtdLFxyXG4gICAgY2hlY2tlZDpmYWxzZSxcclxuICAgIHRlbGVwaG9uZTonJyxcclxuICAgIGFjdHVhbE5hbWU6JycsXHJcbiAgICBnb3RvOicnIC8v562+57qm5a6M5ZCO5YmN5b6AXHJcbiAgICAvLyBjdXN0b21JdGVtOiAn5YWo6YOoJyxcclxuICB9LFxyXG4gIG9uTG9hZChvcHRpb25zKSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhhcHAsb3B0aW9ucyk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyh3eC4kdXRpbHMpO1xyXG4gICAgLy8gY29uc29sZS5sb2cod3guJHV0aWxzLmZvcm1hdFRpbWUobmV3IERhdGUoKSkpO1xyXG4gICAgbGV0IGdvdG8gPSBvcHRpb25zLmdvdG8/YC4uLyR7b3B0aW9ucy5nb3RvfS8ke29wdGlvbnMuZ290b31gOicnO1xyXG4gICAgY29uc29sZS5sb2coJ+etvue6puWujOWQjuWJjeW+gCAnLGdvdG8pO1xyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgZ290b1xyXG4gICAgfSlcclxuICB9LFxyXG4gIG9uUmVhZHkoKSB7XHJcbiAgICB0aGlzLmluaXRWYWxpZGF0b3IoKVxyXG4gIH0sXHJcbiAgYmluZFJlZ2lvbkNoYW5nZShlOmFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ3BpY2tlcuWPkemAgemAieaLqeaUueWPmO+8jOaQuuW4puWAvOS4uicsIGUuZGV0YWlsLnZhbHVlKVxyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgcmVnaW9uOiBlLmRldGFpbC52YWx1ZVxyXG4gICAgfSlcclxuICB9LFxyXG4gIG9uQWdyZWVDaGFuZ2UoZXZlbnQ6YW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhldmVudCk7XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBjaGVja2VkOiBldmVudC5kZXRhaWwsXHJcbiAgICB9KTtcclxuICB9LFxyXG4gIGNoZWNrQWN0dWFsTmFtZShlOmFueSl7XHJcbiAgICBsZXQgeyB2YWx1ZSB9ID0gZS5kZXRhaWxcclxuICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgdmFsaWRhdG9ySW5zdGFuY2UuY2hlY2tGaWVsZCgnYWN0dWFsTmFtZScsdmFsdWUpO1xyXG4gIH0sXHJcbiAgYXN5bmMgZ2V0UGhvbmVOdW1iZXIoZTphbnkpe1xyXG4gICAgY29uc29sZS5sb2coJ2dldFBob25lTnVtYmVyJywgZSk7XHJcbiAgICBpZiAoZS5kZXRhaWwuZXJyTXNnID09ICdnZXRQaG9uZU51bWJlcjpvaycpIHtcclxuICAgICAgbGV0IFtlcnJvciwgcmVzdWx0XSA9IGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgICAgICB3eC4kaHR0cC5yZXF1ZXN0KHtcclxuICAgICAgICAgIHVybDpgL3Nob3BwaW5nL2FjY291bnQuZG8/bT10ZWxSZWdCeUF1dG9SZWdgLFxyXG4gICAgICAgICAgZGF0YTp7XHJcbiAgICAgICAgICAgIFJlZmVycmFsc0NvZGU6ICcnLFxyXG4gICAgICAgICAgICBSZWZlcnJhbHNOYW1lOiAnJyxcclxuICAgICAgICAgICAgZW5jcnlwdGVkRGF0YTogZS5kZXRhaWwuZW5jcnlwdGVkRGF0YSxcclxuICAgICAgICAgICAgaXY6IGUuZGV0YWlsLml2LFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgaWYgKGVycm9yKXtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgdGVsZXBob25lOnJlc3VsdC5UZWxlcGhvbmUsXHJcbiAgICAgICAgcGhvbmVFcnJvcjonJ1xyXG4gICAgICB9KVxyXG4gICAgfSBlbHNle1xyXG4gICAgICBjb25zb2xlLmxvZygn5Y+W5raI5o6I5p2DJyk7XHJcbiAgICAgIHd4LnNob3dUb2FzdCh7XHJcbiAgICAgICAgdGl0bGU6ICflj5bmtojmjojmnYMnLFxyXG4gICAgICAgIGljb246ICdub25lJyxcclxuICAgICAgICBkdXJhdGlvbjogMTAwMFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9LFxyXG4gIC8vIGNoZWNrUGhvbmUoZTphbnkpe1xyXG4gIC8vICAgbGV0IHsgdmFsdWUgfSA9IGUuZGV0YWlsXHJcbiAgLy8gICBjb25zb2xlLmxvZyh2YWx1ZSk7XHJcbiAgLy8gICB2YWxpZGF0b3JJbnN0YW5jZS5jaGVja0ZpZWxkKCdwaG9uZScsdmFsdWUpO1xyXG4gIC8vIH0sXHJcbiAgb25TdWJtaXQ6d3guJHV0aWxzLmRlYm91bmNlKGZ1bmN0aW9uKHRoaXM6YW55KXtcclxuICAgIHRoaXMuc3VibWl0SGFuZGxlcigpO1xyXG4gICAgcmV0dXJuO1xyXG4gIH0pLFxyXG4gIHN1Ym1pdEhhbmRsZXIoKSB7XHJcbiAgICBsZXQge2NoZWNrZWQscmVnaW9uLHRlbGVwaG9uZX0gPSB0aGlzLmRhdGE7XHJcbiAgICBsZXQgY2hlY2tSZWdpb24gPSByZWdpb24ubGVuZ3RoIDwgMTtcclxuICAgIGNvbnNvbGUubG9nKGNoZWNrZWQscmVnaW9uKTtcclxuICAgIGlmIChjaGVja1JlZ2lvbikge1xyXG4gICAgICB3eC5zaG93VG9hc3Qoe1xyXG4gICAgICAgIHRpdGxlOiAn6K+36YCJ5oup5Zyw5Yy6JyxcclxuICAgICAgICBpY29uOiAnbm9uZScsXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgY2hlY2tBbGxEYXRhID0gdmFsaWRhdG9ySW5zdGFuY2UuY2hlY2tBbGxEYXRhKCk7XHJcbiAgICAvLyBsZXQgY2hlY2tBcnIgPSBbY2hlY2tSZWdpb24sY2hlY2tDaGVja2VkLGNoZWNrQWxsRGF0YV07XHJcbiAgICBpZiAoIWNoZWNrQWxsRGF0YSl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghdGVsZXBob25lKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgcGhvbmVFcnJvcjon6K+36L6T5YWl5omL5py65Y+3J1xyXG4gICAgICB9KVxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIWNoZWNrZWQpe1xyXG4gICAgICBjb25zb2xlLmxvZygn6K+35ZCM5oSP5ZWG5a625p2h5qy+Jyk7XHJcbiAgICAgIHd4LnNob3dUb2FzdCh7XHJcbiAgICAgICAgdGl0bGU6ICfor7flkIzmhI/llYblrrbmnaHmrL4nLFxyXG4gICAgICAgIGljb246ICdub25lJyxcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKCcuLi4u5o+Q5Lqk5oiQ5YqfJyk7XHJcbiAgICB0aGlzLnBvc3RGb3JtRGF0YSgpO1xyXG4gIH0sXHJcbiAgYXN5bmMgcG9zdEZvcm1EYXRhKCl7XHJcbiAgICBsZXQge3JlZ2lvbixhY3R1YWxOYW1lLHRlbGVwaG9uZX0gPSB0aGlzLmRhdGE7XHJcbiAgICBsZXQgW3Byb3ZpbmNlTmFtZSxjaXR5TmFtZSxjb3VudHlOYW1lXSA9IHJlZ2lvbjtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICBjb3VudHJ5TmFtZTon5Lit5Zu9JyxcclxuICAgICAgcHJvdmluY2VOYW1lLFxyXG4gICAgICBjaXR5TmFtZSxcclxuICAgICAgY291bnR5TmFtZSxcclxuICAgICAgYWN0dWFsTmFtZSxcclxuICAgICAgdGVsZXBob25lXHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgIGxldCBbZXJyb3IsIHJlc3VsdF0gPSBhd2FpdCB3eC4kdXRpbHMudG8oXHJcbiAgICAgIHd4LiRodHRwLnJlcXVlc3Qoe1xyXG4gICAgICAgIHVybDpgL3Nob3BwaW5nL2N1c3RvbWVyU2lnbnVwLmRvP209c2F2ZUN1c3RvbWVyU2lnbnVwYCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIG1ldGhvZDonUE9TVCdcclxuICAgICAgfSlcclxuICAgIClcclxuICAgIGlmIChlcnJvcil7XHJcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2cocmVzdWx0KTtcclxuICAgIGlmIChyZXN1bHQuc3RhdHVzPT0nc3VjY2Vzcycpe1xyXG4gICAgICBhd2FpdCB3eC4kY29tbW9uUmVxdWVzdC5nZXRVc2VySW5mbygpO1xyXG4gICAgICBsZXQgZ290byA9IHRoaXMuZGF0YS5nb3RvO1xyXG4gICAgICBpZiAoZ290byl7XHJcbiAgICAgICAgd3gucmVkaXJlY3RUbyh7XHJcbiAgICAgICAgICB1cmw6Z290b1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgd3gubmF2aWdhdGVCYWNrKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfSxcclxuICBpbml0VmFsaWRhdG9yKCl7XHJcbiAgICAvLyDlrp7kvovljJZcclxuICAgIHZhbGlkYXRvckluc3RhbmNlID0gbmV3IE15VmFsaWRhdG9yKHtcclxuICAgICAgcnVsZXM6IHtcclxuICAgICAgICBhY3R1YWxOYW1lOiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICAgIG1pbmxlbmd0aDogMlxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgbWVzc2FnZXM6IHtcclxuICAgICAgICBhY3R1YWxOYW1lOiB7XHJcbiAgICAgICAgICByZXF1aXJlZDogJ+ivt+i+k+WFpeeUqOaIt+WQjScsXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBtdWx0aUNoZWNrOnRydWVcclxuICAgIH0sdGhpcylcclxuICB9LFxyXG59KVxyXG5leHBvcnQge31cclxuIl19