Sanakey
2021-07-09 3fc241d02fb8b671289de3d9d80bf848349c04d4
utils/myValidator.js
@@ -39,9 +39,8 @@
    MyValidator.prototype.checkAllData = function () {
        var _this = this;
        var value = {};
        var keys = Object.keys(this.options.rules);
        console.log('keys', keys);
        keys.forEach(function (key) {
        var rules = this.getRulers();
        rules.forEach(function (key) {
            value[key] = _this.pageInstance.data[key];
        });
        return this.validator.checkData(value, function (data) {
@@ -55,7 +54,15 @@
            console.log(data, error);
        });
    };
    MyValidator.prototype.getRulers = function () {
        var keys = Object.keys(this.options.rules);
        console.log('keys', keys);
        return keys;
    };
    MyValidator.addRule = function (rulesName, rules) {
        WeValidator.addRule(rulesName, rules);
    };
    return MyValidator;
}());
exports.default = MyValidator;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXlWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJteVZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUU1QztJQUVFLHFCQUFtQixPQUFlLEVBQVEsWUFBZ0I7UUFBdkMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFRLGlCQUFZLEdBQVosWUFBWSxDQUFJO1FBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUNELDhCQUFRLEdBQVIsVUFBUyxLQUFZO1FBRW5CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxpQ0FBVyxHQUFYLFVBQVksTUFBb0I7UUFFOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNELGdDQUFVLEdBQVYsVUFBVyxJQUFZLEVBQUMsS0FBYTtRQUFyQyxpQkFvQkM7O1FBbkJDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLFdBQUUsR0FBQyxJQUFJLElBQUUsS0FBSyxNQUFFLENBQUM7UUFDMUMsSUFBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxXQUFFLEdBQUMsSUFBSSxJQUFFLEtBQUssT0FBRSxDQUFDLEtBQUcsSUFBTSxDQUFDLEVBQUMsVUFBQyxJQUFROztZQUNqRSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLEtBQUksQ0FBQyxZQUFZLENBQUMsT0FBTztnQkFDdkIsR0FBSSxJQUFJLFVBQU8sSUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRztvQkFDL0IsQ0FBQTtZQUNGLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO1lBQ3ZCLEdBQUksSUFBSSxVQUFPLElBQUUsRUFBRTtnQkFDbkIsQ0FBQTtRQUNGLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxPQUFPLEdBQUcsQ0FBQztJQUtiLENBQUM7SUFDRCxrQ0FBWSxHQUFaO1FBQUEsaUJBb0JDO1FBaEJDLElBQUksS0FBSyxHQUFPLEVBQUUsQ0FBQztRQUNuQixJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEdBQUc7WUFDZixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUMsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBQyxVQUFDLElBQVE7WUFDN0MsSUFBSSxLQUFLLEdBQWMsRUFBRSxDQUFDO1lBQzFCLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO2dCQUNyQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzdCLEtBQUssQ0FBSSxJQUFJLFVBQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUE7aUJBQ3ZDO2FBQ0Y7WUFDRCxLQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDSCxrQkFBQztBQUFELENBQUMsQUF6REQsSUF5REM7QUFFRCxrQkFBZSxXQUFXLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbnRlcmZhY2Ugd2VWYWxpZGF0b3Ige1xyXG4vLyAgIGNoZWNrRmllbGRzKGRhdGE6IG9iamVjdCwgZmllbGRzOkFycmF5PHN0cmluZz4sIG9uTWVzc2FnZT86IEZ1bmN0aW9uLCBzaG93TWVzc2FnZT86IGJvb2xlYW4pOmJvb2xlYW47XHJcbi8vICAgY2hlY2tEYXRhKGRhdGE6IG9iamVjdCwgb25NZXNzYWdlPzogRnVuY3Rpb24sIHNob3dNZXNzYWdlPzogYm9vbGVhbiwgZmllbGRNYXA/OiBvYmplY3QpOiBib29sZWFuO1xyXG4vLyB9XHJcbnR5cGUgT3B0aW9ucyA9IHtcclxuICBydWxlczogb2JqZWN0LFxyXG4gIG1lc3NhZ2VzOiBvYmplY3QsXHJcbiAgb25NZXNzYWdlPzogRnVuY3Rpb24sXHJcbiAgbXVsdGlDaGVjaz86IGJvb2xlYW5cclxufVxyXG5jb25zdCBXZVZhbGlkYXRvciA9IHJlcXVpcmUoJ3dlLXZhbGlkYXRvcicpO1xyXG5cclxuY2xhc3MgTXlWYWxpZGF0b3Ige1xyXG4gIHB1YmxpYyB2YWxpZGF0b3I6IGFueVxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvcHRpb25zOk9wdGlvbnMscHVibGljIHBhZ2VJbnN0YW5jZTphbnkpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB0aGlzLnZhbGlkYXRvciA9IG5ldyBXZVZhbGlkYXRvcihvcHRpb25zKTtcclxuICAgIHRoaXMucGFnZUluc3RhbmNlID0gcGFnZUluc3RhbmNlO1xyXG4gIH1cclxuICBhZGRSdWxlcyhydWxlczpvYmplY3Qpe1xyXG4gICAgLy8g5Yqo5oCB5re75Yqg5qCh6aqMXHJcbiAgICB0aGlzLnZhbGlkYXRvci5hZGRSdWxlcyhydWxlcyk7XHJcbiAgfVxyXG4gIHJlbW92ZVJ1bGVzKGZpZWxkczpBcnJheTxzdHJpbmc+KXtcclxuICAgIC8vIOWKqOaAgeWIoOmZpOagoemqjFxyXG4gICAgdGhpcy52YWxpZGF0b3IucmVtb3ZlUnVsZXMoZmllbGRzKTtcclxuICB9XHJcbiAgY2hlY2tGaWVsZCh0eXBlOiBzdHJpbmcsdmFsdWU6IHN0cmluZyl7XHJcbiAgICB2YWx1ZSA9IHZhbHVlLnRyaW0oKTtcclxuICAgIGxldCBtc2cgPSAnJztcclxuICAgIHRoaXMucGFnZUluc3RhbmNlLnNldERhdGEoe1t0eXBlXTp2YWx1ZX0pO1xyXG4gICAgaWYoIXRoaXMudmFsaWRhdG9yLmNoZWNrRmllbGRzKHtbdHlwZV06dmFsdWV9LFtgJHt0eXBlfWBdLChkYXRhOmFueSk9PntcclxuICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgIHRoaXMucGFnZUluc3RhbmNlLnNldERhdGEoe1xyXG4gICAgICAgIFtgJHt0eXBlfUVycm9yYF06ZGF0YVt0eXBlXS5tc2dcclxuICAgICAgfSlcclxuICAgICAgbXNnID0gZGF0YVt0eXBlXS5tc2c7XHJcbiAgICB9KSkgcmV0dXJuIG1zZztcclxuICAgIHRoaXMucGFnZUluc3RhbmNlLnNldERhdGEoe1xyXG4gICAgICBbYCR7dHlwZX1FcnJvcmBdOicnXHJcbiAgICB9KVxyXG4gICAgbXNnID0gJyc7XHJcbiAgICByZXR1cm4gbXNnO1xyXG4gICAgLy8gY29uc29sZS5sb2coKHRoaXMgYXMgYW55KS52YWxpZGF0b3JJbnN0YW5jZS5jaGVja0ZpZWxkcyh7dXNlcm5hbWU6dmFsdWV9LFsndXNlcm5hbWUnXSkpO1xyXG4gICAgLy8gY29uc29sZS5sb2coKHRoaXMgYXMgYW55KS52YWxpZGF0b3JJbnN0YW5jZS5pc1ZhbGlkKHt1c2VybmFtZTp2YWx1ZX0sWyd1c2VybmFtZSddKSk7XHJcblxyXG4gICAgLy8gaWYoISh0aGlzIGFzIGFueSkudmFsaWRhdG9ySW5zdGFuY2UuY2hlY2tEYXRhKHZhbHVlKSkgcmV0dXJuXHJcbiAgfVxyXG4gIGNoZWNrQWxsRGF0YSgpOmJvb2xlYW4ge1xyXG4gICAgaW50ZXJmYWNlIGVycm9yVHlwZSB7XHJcbiAgICAgIFtwcm9wZXJ0eTpzdHJpbmddOmFueTtcclxuICAgIH1cclxuICAgIGxldCB2YWx1ZTphbnkgPSB7fTtcclxuICAgIGxldCBrZXlzID0gT2JqZWN0LmtleXModGhpcy5vcHRpb25zLnJ1bGVzKTtcclxuICAgIGNvbnNvbGUubG9nKCdrZXlzJyxrZXlzKTtcclxuICAgIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgIHZhbHVlW2tleV0gPSB0aGlzLnBhZ2VJbnN0YW5jZS5kYXRhW2tleV1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0b3IuY2hlY2tEYXRhKHZhbHVlLChkYXRhOmFueSk9PntcclxuICAgICAgbGV0IGVycm9yOiBlcnJvclR5cGUgPSB7fTtcclxuICAgICAgZm9yIChsZXQgdHlwZSBpbiBkYXRhKSB7XHJcbiAgICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkodHlwZSkpIHtcclxuICAgICAgICAgIGVycm9yW2Ake3R5cGV9RXJyb3JgXSA9IGRhdGFbdHlwZV0ubXNnXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucGFnZUluc3RhbmNlLnNldERhdGEoZXJyb3IpXHJcbiAgICAgIGNvbnNvbGUubG9nKGRhdGEsZXJyb3IpO1xyXG4gICAgfSlcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IE15VmFsaWRhdG9yXHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXlWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJteVZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUU1QztJQUVFLHFCQUFtQixPQUFlLEVBQVEsWUFBZ0I7UUFBdkMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFRLGlCQUFZLEdBQVosWUFBWSxDQUFJO1FBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUNELDhCQUFRLEdBQVIsVUFBUyxLQUFZO1FBRW5CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxpQ0FBVyxHQUFYLFVBQVksTUFBb0I7UUFFOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNELGdDQUFVLEdBQVYsVUFBVyxJQUFZLEVBQUMsS0FBYTtRQUFyQyxpQkFvQkM7O1FBbkJDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLFdBQUUsR0FBQyxJQUFJLElBQUUsS0FBSyxNQUFFLENBQUM7UUFDMUMsSUFBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxXQUFFLEdBQUMsSUFBSSxJQUFFLEtBQUssT0FBRSxDQUFDLEtBQUcsSUFBTSxDQUFDLEVBQUMsVUFBQyxJQUFROztZQUNqRSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLEtBQUksQ0FBQyxZQUFZLENBQUMsT0FBTztnQkFDdkIsR0FBSSxJQUFJLFVBQU8sSUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRztvQkFDL0IsQ0FBQTtZQUNGLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO1lBQ3ZCLEdBQUksSUFBSSxVQUFPLElBQUUsRUFBRTtnQkFDbkIsQ0FBQTtRQUNGLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxPQUFPLEdBQUcsQ0FBQztJQUtiLENBQUM7SUFDRCxrQ0FBWSxHQUFaO1FBQUEsaUJBbUJDO1FBZkMsSUFBSSxLQUFLLEdBQU8sRUFBRSxDQUFDO1FBQ25CLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3QixLQUFLLENBQUMsT0FBTyxDQUFDLFVBQUMsR0FBRztZQUNoQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUMsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBQyxVQUFDLElBQVE7WUFDN0MsSUFBSSxLQUFLLEdBQWMsRUFBRSxDQUFDO1lBQzFCLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO2dCQUNyQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzdCLEtBQUssQ0FBSSxJQUFJLFVBQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUE7aUJBQ3ZDO2FBQ0Y7WUFDRCxLQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCwrQkFBUyxHQUFUO1FBQ0UsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLG1CQUFPLEdBQWQsVUFBZSxTQUFnQixFQUFDLEtBQVk7UUFDMUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNILGtCQUFDO0FBQUQsQ0FBQyxBQWpFRCxJQWlFQztBQUVELGtCQUFlLFdBQVcsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGludGVyZmFjZSB3ZVZhbGlkYXRvciB7XHJcbi8vICAgY2hlY2tGaWVsZHMoZGF0YTogb2JqZWN0LCBmaWVsZHM6QXJyYXk8c3RyaW5nPiwgb25NZXNzYWdlPzogRnVuY3Rpb24sIHNob3dNZXNzYWdlPzogYm9vbGVhbik6Ym9vbGVhbjtcclxuLy8gICBjaGVja0RhdGEoZGF0YTogb2JqZWN0LCBvbk1lc3NhZ2U/OiBGdW5jdGlvbiwgc2hvd01lc3NhZ2U/OiBib29sZWFuLCBmaWVsZE1hcD86IG9iamVjdCk6IGJvb2xlYW47XHJcbi8vIH1cclxudHlwZSBPcHRpb25zID0ge1xyXG4gIHJ1bGVzOiBvYmplY3QsXHJcbiAgbWVzc2FnZXM6IG9iamVjdCxcclxuICBvbk1lc3NhZ2U/OiBGdW5jdGlvbixcclxuICBtdWx0aUNoZWNrPzogYm9vbGVhblxyXG59XHJcbmNvbnN0IFdlVmFsaWRhdG9yID0gcmVxdWlyZSgnd2UtdmFsaWRhdG9yJyk7XHJcblxyXG5jbGFzcyBNeVZhbGlkYXRvciB7XHJcbiAgcHVibGljIHZhbGlkYXRvcjogYW55XHJcbiAgY29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6T3B0aW9ucyxwdWJsaWMgcGFnZUluc3RhbmNlOmFueSkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIHRoaXMudmFsaWRhdG9yID0gbmV3IFdlVmFsaWRhdG9yKG9wdGlvbnMpO1xyXG4gICAgdGhpcy5wYWdlSW5zdGFuY2UgPSBwYWdlSW5zdGFuY2U7XHJcbiAgfVxyXG4gIGFkZFJ1bGVzKHJ1bGVzOm9iamVjdCl7XHJcbiAgICAvLyDliqjmgIHmt7vliqDmoKHpqoxcclxuICAgIHRoaXMudmFsaWRhdG9yLmFkZFJ1bGVzKHJ1bGVzKTtcclxuICB9XHJcbiAgcmVtb3ZlUnVsZXMoZmllbGRzOkFycmF5PHN0cmluZz4pe1xyXG4gICAgLy8g5Yqo5oCB5Yig6Zmk5qCh6aqMXHJcbiAgICB0aGlzLnZhbGlkYXRvci5yZW1vdmVSdWxlcyhmaWVsZHMpO1xyXG4gIH1cclxuICBjaGVja0ZpZWxkKHR5cGU6IHN0cmluZyx2YWx1ZTogc3RyaW5nKXtcclxuICAgIHZhbHVlID0gdmFsdWUudHJpbSgpO1xyXG4gICAgbGV0IG1zZyA9ICcnO1xyXG4gICAgdGhpcy5wYWdlSW5zdGFuY2Uuc2V0RGF0YSh7W3R5cGVdOnZhbHVlfSk7XHJcbiAgICBpZighdGhpcy52YWxpZGF0b3IuY2hlY2tGaWVsZHMoe1t0eXBlXTp2YWx1ZX0sW2Ake3R5cGV9YF0sKGRhdGE6YW55KT0+e1xyXG4gICAgICBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgdGhpcy5wYWdlSW5zdGFuY2Uuc2V0RGF0YSh7XHJcbiAgICAgICAgW2Ake3R5cGV9RXJyb3JgXTpkYXRhW3R5cGVdLm1zZ1xyXG4gICAgICB9KVxyXG4gICAgICBtc2cgPSBkYXRhW3R5cGVdLm1zZztcclxuICAgIH0pKSByZXR1cm4gbXNnO1xyXG4gICAgdGhpcy5wYWdlSW5zdGFuY2Uuc2V0RGF0YSh7XHJcbiAgICAgIFtgJHt0eXBlfUVycm9yYF06JydcclxuICAgIH0pXHJcbiAgICBtc2cgPSAnJztcclxuICAgIHJldHVybiBtc2c7XHJcbiAgICAvLyBjb25zb2xlLmxvZygodGhpcyBhcyBhbnkpLnZhbGlkYXRvckluc3RhbmNlLmNoZWNrRmllbGRzKHt1c2VybmFtZTp2YWx1ZX0sWyd1c2VybmFtZSddKSk7XHJcbiAgICAvLyBjb25zb2xlLmxvZygodGhpcyBhcyBhbnkpLnZhbGlkYXRvckluc3RhbmNlLmlzVmFsaWQoe3VzZXJuYW1lOnZhbHVlfSxbJ3VzZXJuYW1lJ10pKTtcclxuXHJcbiAgICAvLyBpZighKHRoaXMgYXMgYW55KS52YWxpZGF0b3JJbnN0YW5jZS5jaGVja0RhdGEodmFsdWUpKSByZXR1cm5cclxuICB9XHJcbiAgY2hlY2tBbGxEYXRhKCk6Ym9vbGVhbiB7XHJcbiAgICBpbnRlcmZhY2UgZXJyb3JUeXBlIHtcclxuICAgICAgW3Byb3BlcnR5OnN0cmluZ106YW55O1xyXG4gICAgfVxyXG4gICAgbGV0IHZhbHVlOmFueSA9IHt9O1xyXG4gICAgbGV0IHJ1bGVzID0gdGhpcy5nZXRSdWxlcnMoKTtcclxuICAgIHJ1bGVzLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICB2YWx1ZVtrZXldID0gdGhpcy5wYWdlSW5zdGFuY2UuZGF0YVtrZXldXHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdG9yLmNoZWNrRGF0YSh2YWx1ZSwoZGF0YTphbnkpPT57XHJcbiAgICAgIGxldCBlcnJvcjogZXJyb3JUeXBlID0ge307XHJcbiAgICAgIGZvciAobGV0IHR5cGUgaW4gZGF0YSkge1xyXG4gICAgICAgIGlmIChkYXRhLmhhc093blByb3BlcnR5KHR5cGUpKSB7XHJcbiAgICAgICAgICBlcnJvcltgJHt0eXBlfUVycm9yYF0gPSBkYXRhW3R5cGVdLm1zZ1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnBhZ2VJbnN0YW5jZS5zZXREYXRhKGVycm9yKVxyXG4gICAgICBjb25zb2xlLmxvZyhkYXRhLGVycm9yKTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGdldFJ1bGVycygpe1xyXG4gICAgbGV0IGtleXMgPSBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMucnVsZXMpO1xyXG4gICAgY29uc29sZS5sb2coJ2tleXMnLGtleXMpO1xyXG4gICAgcmV0dXJuIGtleXM7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYWRkUnVsZShydWxlc05hbWU6c3RyaW5nLHJ1bGVzOm9iamVjdCkge1xyXG4gICAgV2VWYWxpZGF0b3IuYWRkUnVsZShydWxlc05hbWUscnVsZXMpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTXlWYWxpZGF0b3JcclxuIl19