@meteor-it/xbot
Advanced tools
Comparing version 0.1.1 to 0.1.2
38
index.js
@@ -21,2 +21,3 @@ "use strict"; | ||
super(); | ||
this.apiList = []; | ||
this.name = name; | ||
@@ -36,2 +37,3 @@ this.logger = new logger_1.default(name); | ||
api.on('action', msg => this.onAction(msg, api)); | ||
this.apiList.push(api); | ||
} | ||
@@ -74,2 +76,30 @@ onMessage(message, sourceApi) { | ||
} | ||
uGetUser(uid) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
let found = null; | ||
for (let i = 0; i < this.apiList.length; i++) { | ||
try { | ||
found = yield this.apiList[i].uGetUser(uid); | ||
if (found) | ||
break; | ||
} | ||
catch (e) { } | ||
} | ||
return found; | ||
}); | ||
} | ||
uGetChat(cid) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
let found = null; | ||
for (let i = 0; i < this.apiList.length; i++) { | ||
try { | ||
found = yield this.apiList[i].uGetChat(cid); | ||
if (found) | ||
break; | ||
} | ||
catch (e) { } | ||
} | ||
return found; | ||
}); | ||
} | ||
} | ||
@@ -90,6 +120,8 @@ exports.default = XBot; | ||
uGetUser(uid) { | ||
throw new Error('uGetUser() not implemented!'); | ||
this.logger.error('uGetUser() is not implemented!'); | ||
return null; | ||
} | ||
uGetChat(cid) { | ||
throw new Error('uGetChat() not implemented!'); | ||
this.logger.error('uGetUser() is not implemented!'); | ||
return null; | ||
} | ||
@@ -393,2 +425,2 @@ sendLocation(targetId, answer, caption, location, options) { | ||
exports.PhotoChangeEvent = PhotoChangeEvent; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInhib3QvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDhDQUF1QztBQUN2QyxtQ0FBb0M7QUFDcEMsc0NBQXdEO0FBQ3hELDRDQUFzQztBQUN0QyxzREFBa0U7QUFDbEUsbUNBQTRDO0FBRTVDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNyQyxVQUEwQixTQUFRLHFCQUFZO0lBQzFDLFlBQVksSUFBSTtRQUNaLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGdCQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELFNBQVMsQ0FBQyxHQUFHO1FBQ1QsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDdEQsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ2xFLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25ELEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQy9DLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQy9DLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQy9DLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVM7UUFDeEIsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDOUIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbEUsSUFBSSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDMUQsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLE1BQU0sS0FBSyxVQUFVLEdBQUcsS0FBSyxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4SSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTO1FBQ3BCLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLEdBQUcsUUFBUSxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2xILElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksc0JBQXNCLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2xJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDL0csSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSwwQkFBMEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDbkksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUztRQUN0QixNQUFNLENBQUMsU0FBUyxHQUFH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QUFFRDtJQU9JLFlBQVksRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEVBQ1A7UUFDRyw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztDQUNKO0FBbkJELDRDQW1CQztBQUNEO0lBTUksWUFBWSxFQUNSLFdBQVcsRUFDWCxTQUFTLEVBQ1QsSUFBSSxFQUNQO1FBQ0csaURBQWlEO1FBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7Q0FDSjtBQWhCRCw0Q0FnQkMiLCJmaWxlIjoieGJvdC9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2dnZXIgZnJvbSAnQG1ldGVvci1pdC9sb2dnZXInO1xuaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gJ2V2ZW50cyc7XG5pbXBvcnQge2dldFJlYWRTdHJlYW0sc3RhdCxpc0ZpbGV9IGZyb20gJ0BtZXRlb3ItaXQvZnMnO1xuaW1wb3J0IHtlbWl0fSBmcm9tICdAbWV0ZW9yLWl0L3hyZXN0JztcbmltcG9ydCB7cmVhZFN0cmVhbSxjcmVhdGVSZWFkU3RyZWFtfSBmcm9tICdAbWV0ZW9yLWl0L3V0aWxzLW5vZGUnO1xuaW1wb3J0IHtJbWFnZSBhcyBDYW52YXNJbWFnZX0gZnJvbSAnY2FudmFzJztcblxuY29uc3QgUE9TU0lCTEVfQUNUSU9OUyA9IFsnd3JpdGluZyddO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgWEJvdCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gICAgY29uc3RydWN0b3IobmFtZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLmxvZ2dlciA9IG5ldyBMb2dnZXIobmFtZSk7XG4gICAgfVxuICAgIGF0dGFjaEFwaShhcGkpIHtcbiAgICAgICAgaWYgKCEoYXBpIGluc3RhbmNlb2YgQXBpKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignXCJhcGlcIiBtdXN0IG1lIGluc3RhbmNlIG9mIEFwaSEnKTtcbiAgICAgICAgaWYgKCFhcGkubG9nZ2VkKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgbXVzdCBjYWxsIGFwaS5hdXRoIGJlZm9yZSBhZGRpbmcgdGhlbSEnKTtcbiAgICAgICAgYXBpLm9uKCdtZXNzYWdlJywgbXNnID0+IHRoaXMub25NZXNzYWdlKG1zZywgYXBpKSk7XG4gICAgICAgIGFwaS5vbigndGl0bGUnLCBtc2cgPT4gdGhpcy5vblRpdGxlKG1zZywgYXBpKSk7XG4gICAgICAgIGFwaS5vbigncGhvdG8nLCBtc2cgPT4gdGhpcy5vblBob3RvKG1zZywgYXBpKSk7XG4gICAgICAgIGFwaS5vbignam9pbicsIG1zZyA9PiB0aGlzLm9uSm9pbihtc2csIGFwaSkpO1xuICAgICAgICBhcGkub24oJ2xlYXZlJywgbXNnID0+IHRoaXMub25MZWF2ZShtc2csIGFwaSkpO1xuICAgICAgICBhcGkub24oJ2FjdGlvbicsIG1zZyA9PiB0aGlzLm9uQWN0aW9uKG1zZywgYXBpKSk7XG4gICAgfVxuICAgIG9uTWVzc2FnZShtZXNzYWdlLCBzb3VyY2VBcGkpIHtcbiAgICAgICAgbWVzc2FnZS5zb3VyY2VBcGkgPSBzb3VyY2VBcGk7XG4gICAgICAgIGxldCBpbkNoYXQgPSBtZXNzYWdlLmNoYXQgPyAoYCBbJHttZXNzYWdlLmNoYXQudGl0bGUucmVkfV1gKSA6ICcnO1xuICAgICAgICBsZXQgYXR0YWNobWVudCA9IG1lc3NhZ2UuYXR0YWNobWVudCA/IChgQWAubWFnZW50YSkgOiAnICc7XG4gICAgICAgIGxldCByZXBseSA9IG1lc3NhZ2UucmVwbHlUbyA/IChgUmAubWFnZW50YSkgOiAnICc7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgPCR7bWVzc2FnZS51c2VyLmZpcnN0TmFtZS5ibHVlfSAke21lc3NhZ2UudXNlci5sYXN0TmFtZS5ibHVlfSR7aW5DaGF0fT5bJHthdHRhY2htZW50fSR7cmVwbHl9XSAke21lc3NhZ2UudGV4dC5ncmVlbn1gKTtcbiAgICAgICAgdGhpcy5lbWl0KCdtZXNzYWdlJywgbWVzc2FnZSk7XG4gICAgfVxuICAgIG9uTGVhdmUobGVhdmUsIHNvdXJjZUFwaSkge1xuICAgICAgICBsZWF2ZS5zb3VyY2VBcGkgPSBzb3VyY2VBcGk7XG4gICAgICAgIGxldCBpbml0aWF0b3IgPSBsZWF2ZS5pbml0aWF0b3IgPyBgIChieSAke2xlYXZlLmluaXRpYXRvci5maXJzdE5hbWUuYmx1ZX0gJHtsZWF2ZS5pbml0aWF0b3IubGFzdE5hbWUuYmx1ZX0pYCA6ICcnO1xuICAgICAgICB0aGlzLmxvZ2dlci5sb2coYCR7bGVhdmUudXNlci5maXJzdE5hbWUuYmx1ZX0gJHtsZWF2ZS51c2VyLmxhc3ROYW1lLmJsdWV9IHtyZWR9bGVhdmVkey9yZWR9ICR7bGVhdmUuY2hhdC50aXRsZS5yZWR9JHtpbml0aWF0b3J9YCk7XG4gICAgICAgIHRoaXMuZW1pdCgnbGVhdmUnLCBsZWF2ZSk7XG4gICAgfVxuICAgIG9uSm9pbihqb2luLCBzb3VyY2VBcGkpIHtcbiAgICAgICAgam9pbi5zb3VyY2VBcGkgPSBzb3VyY2VBcGk7XG4gICAgICAgIGxldCBpbml0aWF0b3IgPSBqb2luLmluaXRpYXRvciA/IGAgKGJ5ICR7am9pbi5pbml0aWF0b3IuZmlyc3ROYW1lLmJsdWV9ICR7am9pbi5pbml0aWF0b3IubGFzdE5hbWUuYmx1ZX0pYCA6ICcnO1xuICAgICAgICB0aGlzLmxvZ2dlci5sb2coYCR7am9pbi51c2VyLmZpcnN0TmFtZS5ibHVlfSAke2pvaW4udXNlci5sYXN0TmFtZS5ibHVlfSB7Z3JlZW59am9pbmVkey9ncmVlbn0gJHtqb2luLmNoYXQudGl0bGUucmVkfSR7aW5pdGlhdG9yfWApO1xuICAgICAgICB0aGlzLmVtaXQoJ2pvaW4nLCBqb2luKTtcbiAgICB9XG4gICAgb25BY3Rpb24oYWN0aW9uLCBzb3VyY2VBcGkpIHtcbiAgICAgICAgYWN0aW9uLnNvdXJjZUFwaSA9IHNvdXJjZUFwaTtcbiAgICAgICAgbGV0IGluQ2hhdCA9IGFjdGlvbi5jaGF0ID8gKGAgWyR7YWN0aW9uLmNoYXQudGl0bGUucmVkfV1gKSA6ICcnO1xuICAgICAgICB0aGlzLmxvZ2dlci5sb2coYCR7YWN0aW9uLnVzZXIuZmlyc3ROYW1lLmJsdWV9ICR7YWN0aW9uLnVzZXIubGFzdE5hbWUuYmx1ZX0ke2luQ2hhdH0gLSAke2FjdGlvbi5hY3Rpb24ueWVsbG93fWApO1xuICAgICAgICB0aGlzLmVtaXQoJ2FjdGlvbicsIGFjdGlvbik7XG4gICAgfVxuICAgIG9uUGhvdG8ocGhvdG8sIHNvdXJjZUFwaSkge1xuICAgICAgICBwaG90by5zb3VyY2VBcGkgPSBzb3VyY2VBcGk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgQ2hhbmdlZCBwaG90byBpbiAke3Bob3RvLmNoYXQudGl0bGUucmVkfSAtPiAke3Bob3RvLm5ld1Bob3RvVXJsfSBieSAke3Bob3RvLmluaXRpYXRvci5maXJzdE5hbWV9ICR7cGhvdG8uaW5pdGlhdG9yLmxhc3ROYW1lfWApO1xuICAgICAgICB0aGlzLmVtaXQoJ3Bob3RvJywgcGhvdG8pO1xuICAgIH1cbiAgICBvblRpdGxlKHRpdGxlLCBzb3VyY2VBcGkpIHtcbiAgICAgICAgdGl0bGUuc291cmNlQXBpID0gc291cmNlQXBpO1xuICAgICAgICB0aGlzLmxvZ2dlci5sb2codGl0bGUub2xkVGl0bGUucmVkICsgJyAtPiAnICsgdGl0bGUubmV3VGl0bGUuZ3JlZW4gKyAnIGJ5ICcgKyB0aXRsZS5pbml0aWF0b3IuZmlyc3ROYW1lICsgJyAnICsgdGl0bGUuaW5pdGlhdG9yLmxhc3ROYW1lKTtcbiAgICAgICAgdGhpcy5lbWl0KCd0aXRsZScsIHRpdGxlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBcGkgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICAgIG5hbWU7XG4gICAgbG9nZ2VyO1xuICAgIGxvZ2dlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IobmFtZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLmxvZ2dlciA9IG5ldyBMb2dnZXIobmFtZSk7XG4gICAgfVxuICAgIGFzeW5jIGF1dGgoLi4ucGFyYW1zKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignYXV0aCgpIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBhcGkhJyk7XG4gICAgfVxuXG4gICAgdUdldFVzZXIodWlkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndUdldFVzZXIoKSBub3QgaW1wbGVtZW50ZWQhJyk7XG4gICAgfVxuXG4gICAgdUdldENoYXQoY2lkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndUdldENoYXQoKSBub3QgaW1wbGVtZW50ZWQhJyk7XG4gICAgfVxuXG4gICAgc2VuZExvY2F0aW9uKHRhcmdldElkLCBhbnN3ZXIsIGNhcHRpb24sIGxvY2F0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2VuZExvY2F0aW9uKCkgbm90IGltcGxlbWVudGVkIScpO1xuICAgIH1cbiAgICBzZW5kVGV4dCh0YXJnZXRJZCwgYW5zd2VyLCB0ZXh0LCBvcHRpb25zKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2VuZFRleHQoKSBub3QgaW1wbGVtZW50ZWQhJyk7XG4gICAgfVxuICAgIHNlbmRJbWFnZVN0cmVhbSh0YXJnZXRJZCwgYW5zd2VyLCBjYXB0aW9uLCBpbWFnZSwgb3B0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NlbmRJbWFnZVN0cmVhbSgpIG5vdCBpbXBsZW1lbnRlZCEnKTtcbiAgICB9XG4gICAgc2VuZEZpbGVTdHJlYW0odGFyZ2V0SWQsIGFuc3dlciwgY2FwdGlvbiwgZmlsZSwgb3B0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NlbmRGaWxlU3RyZWFtKCkgbm90IGltcGxlbWVudGVkIScpO1xuICAgIH1cbiAgICBzZW5kQXVkaW9TdHJlYW0odGFyZ2V0SWQsIGFuc3dlciwgY2FwdGlvbiwgYXVkaW8sIG9wdGlvbnMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzZW5kQXVkaW9TdHJlYW0oKSBub3QgaW1wbGVtZW50ZWQhJyk7XG4gICAgfVxuICAgIHNlbmRDdXN0b20odGFyZ2V0SWQsIGFuc3dlciwgb3B0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NlbmRDdXN0b20oKSBub3QgaW1wbGVtZW50ZWQhJyk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTG9jYXRpb24ge1xuICAgIGxhdDtcbiAgICBsb25nO1xuXG4gICAgY29uc3RydWN0b3IobGF0LCBsb25nKSB7XG4gICAgICAgIHRoaXMubGF0ID0gbGF0O1xuICAgICAgICB0aGlzLmxvbmcgPSBsb25nO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpbGUge1xuICAgIHN0cmVhbTtcbiAgICBzaXplO1xuICAgIG5hbWU7XG4gICAgc2l6ZTtcbiAgICBjb25zdHJ1Y3RvcihzdHJlYW0sIHNpemUsIG5hbWUpIHtcbiAgICAgICAgaWYgKGlzTmFOKHNpemUpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXcm9uZyBmaWxlIHNpemUhICcgKyBzaXplKTtcbiAgICAgICAgdGhpcy5zdHJlYW0gPSBzdHJlYW07XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHNpemU7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tVXJsKHVybCwgbmFtZSkge1xuICAgICAgICBsZXQgcmVzID0gYXdhaXQgZW1pdChgR0VUICR7dXJsfSBTVFJFQU1gKTtcbiAgICAgICAgbGV0IHNpemUgPSByZXMuaGVhZGVyc1snY29udGVudC1sZW5ndGgnXTtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlKHJlcywgc2l6ZSwgbmFtZSk7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tRmlsZVBhdGgocGF0aCwgbmFtZSkge1xuICAgICAgICBpZiAoIWF3YWl0IGlzRmlsZShwYXRoKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBpcyBub3QgYSBmaWxlISAnICsgcGF0aCk7XG4gICAgICAgIGxldCBzaXplID0gKGF3YWl0IHN0YXQocGF0aCkpLnNpemU7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZShnZXRSZWFkU3RyZWFtKHBhdGgpLCBzaXplLCBuYW1lKTtcbiAgICB9XG59XG5cbi8vVE9ETzogU29tZSBzZXJ2aWNlcyBsb29rcyBhdCBleHRlbnNpb25zXG5leHBvcnQgY2xhc3MgSW1hZ2UgZXh0ZW5kcyBGaWxlIHtcbiAgICBjb25zdHJ1Y3RvcihzdHJlYW0sIHNpemUpIHtcbiAgICAgICAgc3VwZXIoc3RyZWFtLCBzaXplLCAnaW1hZ2UuanBnJyk7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tVXJsKHVybCkge1xuICAgICAgICBsZXQgcmVzID0gYXdhaXQgZW1pdChgR0VUICR7dXJsfWApO1xuICAgICAgICBsZXQgc2l6ZSA9IHBhcnNlSW50KHJlcy5oZWFkZXJzWydjb250ZW50LWxlbmd0aCddLCAxMCk7XG4gICAgICAgIHJldHVybiBuZXcgSW1hZ2UoY3JlYXRlUmVhZFN0cmVhbShyZXMucmF3KSwgc2l6ZSwgJ2ltYWdlLmpwZycpO1xuICAgIH1cbiAgICBhc3luYyBzdGF0aWMgZnJvbUZpbGVQYXRoKHBhdGgpIHtcbiAgICAgICAgbGV0IHNpemUgPSAoYXdhaXQgc3RhdChwYXRoKSkuc2l6ZTtcbiAgICAgICAgcmV0dXJuIG5ldyBJbWFnZShnZXRSZWFkU3RyZWFtKHBhdGgpLCBzaXplLCAnaW1hZ2UuanBnJyk7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tQ2FudmFzKGNhbnZhcykge1xuICAgICAgICBsZXQgZnVsbFN0cmVhbSA9IGNhbnZhcy5qcGVnU3RyZWFtKHtcbiAgICAgICAgICAgIGJ1ZnNpemU6IDQwOTYsXG4gICAgICAgICAgICBxdWFsaXR5OiAxMDAsXG4gICAgICAgICAgICBwcm9ncmVzc2l2ZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgbGV0IGJ1ZmZlciA9IGF3YWl0IHJlYWRTdHJlYW0oZnVsbFN0cmVhbSk7XG4gICAgICAgIHJldHVybiBuZXcgSW1hZ2UoY3JlYXRlUmVhZFN0cmVhbShidWZmZXIpLCBidWZmZXIubGVuZ3RoLCAnYS5qcGcnKTtcbiAgICB9XG4gICAgYXN5bmMgdG9DYW52YXNJbWFnZSgpe1xuICAgICAgICBsZXQgc3RyZWFtPXRoaXMuc3RyZWFtO1xuICAgICAgICBsZXQgcmVzID0gbmV3IENhbnZhc0ltYWdlKCk7XG4gICAgICAgIHJlcy5zcmMgPSBhd2FpdCByZWFkU3RyZWFtKHN0cmVhbSk7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSxyZWopPT57XG4gICAgICAgICAgICByZXMub25sb2FkPXJlc29sdmUocmVzKTsgICAgXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBBdWRpbyBleHRlbmRzIEZpbGUge1xuICAgIGNvbnN0cnVjdG9yKHN0cmVhbSwgc2l6ZSwgYXJ0aXN0LCB0aXRsZSkge1xuICAgICAgICBzdXBlcihzdHJlYW0sIHNpemUsIGAke2FydGlzdH0gJHt0aXRsZX0ubXAzYCk7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tVXJsKHVybCwgYXJ0aXN0LCB0aXRsZSkge1xuICAgICAgICBsZXQgcmVzID0gYXdhaXQgZW1pdChgR0VUICR7dXJsfSBTVFJFQU1gKTtcbiAgICAgICAgbGV0IHNpemUgPSByZXMuaGVhZGVyc1snY29udGVudC1sZW5ndGgnXTtcbiAgICAgICAgcmV0dXJuIG5ldyBJbWFnZShyZXMsIHNpemUsIGAke2FydGlzdH0gJHt0aXRsZX0ubXAzYCk7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tRmlsZVBhdGgocGF0aCwgYXJ0aXN0LCB0aXRsZSkge1xuICAgICAgICBsZXQgc2l6ZSA9IChhd2FpdCBzdGF0KHBhdGgpKS5zaXplO1xuICAgICAgICByZXR1cm4gbmV3IEltYWdlKGdldFJlYWRTdHJlYW0ocGF0aCksIHNpemUsIGAke2FydGlzdH0gJHt0aXRsZX0ubXAzYCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbiB7XG4gICAgcHJvdmlkZXI7XG4gICAgdHlwZTtcbiAgICBpZDtcbiAgICBjb25zdHJ1Y3Rvcihwcm92aWRlciwgdHlwZSwgaWQpIHtcbiAgICAgICAgdGhpcy5wcm92aWRlciA9IHByb3ZpZGVyO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgfVxuICAgIGFzeW5jIHNhdmUoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2F2ZSgpIG5vdCBpbXBsZW1lbnRlZCEnKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGFzc2VydEFsbElzRGVmaW5lZCguLi5hbGwpIHtcbiAgICBmb3IgKGxldCBpIG9mIGFsbCkge1xuICAgICAgICBpZiAoaSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVyciguLi5hbGwpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTb21lIHZhcmlhYmxlcyBpcyBub3QgZGVmaW5lZCEnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJvbGUge1xuICAgIHN0YXRpYyBDUkVBVE9SID0gMTtcbiAgICBzdGF0aWMgTU9ERVJBVE9SID0gMjtcbiAgICBzdGF0aWMgVVNFUiA9IDM7XG59XG5leHBvcnQgY2xhc3MgR2VuZGVyIHtcbiAgICBzdGF0aWMgTUFOID0gMTtcbiAgICBzdGF0aWMgV09NQU4gPSAyO1xuICAgIHN0YXRpYyBPVEhFUiA9IDM7XG59XG5cbmV4cG9ydCBjbGFzcyBGb3J3YXJkZWRNZXNzYWdlIHtcbiAgICB0ZXh0O1xuICAgIHNlbmRlcjtcbiAgICBhdHRhY2htZW50O1xuXG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICB0ZXh0LFxuICAgICAgICBzZW5kZXIsXG4gICAgICAgIGF0dGFjaG1lbnRcbiAgICB9KSB7XG4gICAgICAgIHRoaXMudGV4dCA9IHRleHQ7XG4gICAgICAgIHRoaXMuc2VuZGVyID0gc2VuZGVyO1xuICAgICAgICB0aGlzLmF0dGFjaG1lbnQgPSBhdHRhY2htZW50O1xuICAgIH1cbn1cblxuY2xhc3MgQ29udmVyc2F0aW9uIHtcbiAgICBzb3VyY2VBcGk7XG4gICAgYXBpO1xuICAgIHRhcmdldElkO1xuICAgIG1lc3NhZ2VJZDtcblxuICAgIGNvbnN0cnVjdG9yKGFwaSwgdGFyZ2V0SWQsIG1lc3NhZ2VJZCkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZChhcGksdGFyZ2V0SWQpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy50YXJnZXRJZCA9IHRhcmdldElkO1xuICAgICAgICB0aGlzLm1lc3NhZ2VJZCA9IG1lc3NhZ2VJZDtcbiAgICB9XG5cbiAgICBhc3luYyBzZW5kTG9jYXRpb24oYW5zd2VyLCBjYXB0aW9uLCBsb2NhdGlvbiwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGlmICghKGxvY2F0aW9uIGluc3RhbmNlb2YgTG9jYXRpb24pKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImxvY2F0aW9uXCIgaXMgbm90IGEgaW5zdGFuY2Ugb2YgTG9jYXRpb24hJyk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFwaS5zZW5kTG9jYXRpb24odGhpcy50YXJnZXRJZCwgYW5zd2VyLCBjYXB0aW9uLCBsb2NhdGlvbiwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgYXN5bmMgc2VuZFRleHQoYW5zd2VyLCB0ZXh0LCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYXBpLnNlbmRUZXh0KHRoaXMudGFyZ2V0SWQsIGFuc3dlciA/IHRoaXMubWVzc2FnZUlkIDogdW5kZWZpbmVkLCB0ZXh0LCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBhc3luYyBzZW5kSW1hZ2UoYW5zd2VyLCBjYXB0aW9uLCBpbWFnZSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGlmICghKGltYWdlIGluc3RhbmNlb2YgSW1hZ2UpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImltYWdlXCIgaXMgbm90IGEgaW5zdGFuY2Ugb2YgSW1hZ2UhJyk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFwaS5zZW5kSW1hZ2VTdHJlYW0odGhpcy50YXJnZXRJZCwgYW5zd2VyID8gdGhpcy5tZXNzYWdlSWQgOiB1bmRlZmluZWQsIGNhcHRpb24sIGltYWdlLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBhc3luYyBzZW5kRmlsZShhbnN3ZXIsIGNhcHRpb24sIGZpbGUsIG9wdGlvbnMgPSB7fSkge1xuICAgICAgICBpZiAoIShmaWxlIGluc3RhbmNlb2YgRmlsZSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiZmlsZVwiIGlzIG5vdCBhIGluc3RhbmNlIG9mIEZpbGUhJyk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFwaS5zZW5kRmlsZVN0cmVhbSh0aGlzLnRhcmdldElkLCBhbnN3ZXIsIGNhcHRpb24sIGZpbGUsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGFzeW5jIHNlbmRBdWRpbyhhbnN3ZXIsIGNhcHRpb24sIGF1ZGlvLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgaWYgKCEoYXVkaW8gaW5zdGFuY2VvZiBBdWRpbykpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiYXVkaW9cIiBpcyBub3QgYSBpbnN0YW5jZSBvZiBBdWRpbyEnKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYXBpLnNlbmRBdWRpb1N0cmVhbSh0aGlzLnRhcmdldElkLCBhbnN3ZXIsIGNhcHRpb24sIGF1ZGlvLCBvcHRpb25zKTtcbiAgICB9XG4gICAgYXN5bmMgc2VuZEN1c3RvbShhbnN3ZXIsIG9wdGlvbnMgPSB7fSkge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hcGkuc2VuZEN1c3RvbSh0aGlzLnRhcmdldElkLCBhbnN3ZXIsIG9wdGlvbnMpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgQ29udmVyc2F0aW9uIHtcbiAgICB1aWQ7XG4gICAgbmlja05hbWU7XG4gICAgZmlyc3ROYW1lO1xuICAgIGxhc3ROYW1lO1xuICAgIGdlbmRlcjtcbiAgICBwaG90b1VybDtcbiAgICByb2xlO1xuICAgIGNvbmZpZztcbiAgICBzdGF0ZTtcbiAgICBwcm9maWxlVXJsO1xuXG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICBhcGksXG4gICAgICAgIHVpZCxcbiAgICAgICAgdGFyZ2V0SWQsXG4gICAgICAgIG5pY2tOYW1lID0gbnVsbCxcbiAgICAgICAgZmlyc3ROYW1lLFxuICAgICAgICBsYXN0TmFtZSxcbiAgICAgICAgZ2VuZGVyLFxuICAgICAgICBwaG90b1VybCxcbiAgICAgICAgcm9sZSA9IFJvbGUuVVNFUixcbiAgICAgICAgcHJvZmlsZVVybCxcbiAgICAgICAgbWVzc2FnZUlkXG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZChhcGksdWlkLHRhcmdldElkLGZpcnN0TmFtZSxsYXN0TmFtZSxnZW5kZXIscGhvdG9VcmwsY29uZmlnLHN0YXRlLHByb2ZpbGVVcmwpO1xuICAgICAgICBzdXBlcihhcGksIHRhcmdldElkLCBtZXNzYWdlSWQpO1xuICAgICAgICB0aGlzLnVpZCA9IHVpZDtcbiAgICAgICAgdGhpcy5uaWNrTmFtZSA9IG5pY2tOYW1lO1xuICAgICAgICB0aGlzLmZpcnN0TmFtZSA9IGZpcnN0TmFtZTtcbiAgICAgICAgdGhpcy5sYXN0TmFtZSA9IGxhc3ROYW1lO1xuICAgICAgICB0aGlzLmdlbmRlciA9IGdlbmRlcjtcbiAgICAgICAgdGhpcy5waG90b1VybCA9IHBob3RvVXJsO1xuICAgICAgICB0aGlzLnByb2ZpbGVVcmwgPSBwcm9maWxlVXJsO1xuICAgIH1cbiAgICBhc3luYyBnZXRQaG90b0ltYWdlKCkge1xuICAgICAgICByZXR1cm4gYXdhaXQgSW1hZ2UuZnJvbVVybCh0aGlzLnBob3RvVXJsKTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQ2hhdCBleHRlbmRzIENvbnZlcnNhdGlvbiB7XG4gICAgY2lkO1xuICAgIHVzZXJzO1xuICAgIHRpdGxlO1xuICAgIGFkbWlucztcbiAgICBwaG90b1VybDtcblxuICAgIGNvbnN0cnVjdG9yKHtcbiAgICAgICAgYXBpLFxuICAgICAgICBjaWQsXG4gICAgICAgIHRhcmdldElkLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgdXNlcnMsXG4gICAgICAgIGFkbWlucyxcbiAgICAgICAgbWVzc2FnZUlkLFxuICAgICAgICBwaG90b1VybFxuICAgIH0pIHtcbiAgICAgICAgLy9hc3NlcnRBbGxJc0RlZmluZWQoYXBpLGNpZCx0YXJnZXRJZCx0aXRsZSx1c2VycyxhZG1pbnMscGhvdG9VcmwsY29uZmlnLHN0YXRlKTtcbiAgICAgICAgc3VwZXIoYXBpLCB0YXJnZXRJZCwgbWVzc2FnZUlkKTtcbiAgICAgICAgdGhpcy5jaWQgPSBjaWQ7XG4gICAgICAgIHRoaXMudXNlcnMgPSB1c2VycztcbiAgICAgICAgdGhpcy50aXRsZSA9IHRpdGxlO1xuICAgICAgICB0aGlzLmFkbWlucyA9IGFkbWlucztcbiAgICAgICAgdGhpcy5waG90b1VybCA9IHBob3RvVXJsO1xuICAgIH1cbiAgICBpc0FkbWluKHVzZXIpIHtcbiAgICAgICAgcmV0dXJuIH50aGlzLmFkbWlucy5pbmRleE9mKHVzZXIpIHx8IHVzZXIucm9sZSA9PT0gUm9sZS5DUkVBVE9SO1xuICAgIH1cbiAgICBhc3luYyBnZXRQaG90b0ltYWdlKCkge1xuICAgICAgICByZXR1cm4gYXdhaXQgSW1hZ2UuZnJvbVVybCh0aGlzLnBob3RvVXJsKTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgTWVzc2FnZUV2ZW50IGV4dGVuZHMgQ29udmVyc2F0aW9uIHtcbiAgICBhdHRhY2htZW50O1xuICAgIHRleHQ7XG4gICAgdXNlcjtcbiAgICBjaGF0O1xuICAgIHJlcGx5VG87XG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICBhcGksXG4gICAgICAgIGF0dGFjaG1lbnQsXG4gICAgICAgIHRleHQsXG4gICAgICAgIHVzZXIsXG4gICAgICAgIGNoYXQsXG4gICAgICAgIG1lc3NhZ2VJZCxcbiAgICAgICAgcmVwbHlUbyA9IG51bGxcbiAgICB9KSB7XG4gICAgICAgIC8vYXNzZXJ0QWxsSXNEZWZpbmVkKGFwaSxtaWQsYXR0YWNobWVudCx0ZXh0LHVzZXIsY2hhdCk7XG4gICAgICAgIHN1cGVyKGFwaSwgY2hhdCA/IGNoYXQudGFyZ2V0SWQgOiB1c2VyLnRhcmdldElkLCBtZXNzYWdlSWQpO1xuICAgICAgICB0aGlzLmF0dGFjaG1lbnQgPSBhdHRhY2htZW50O1xuICAgICAgICB0aGlzLnRleHQgPSB0ZXh0O1xuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgICB0aGlzLmNoYXQgPSBjaGF0O1xuICAgICAgICB0aGlzLnJlcGx5VG8gPSByZXBseVRvO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBKb2luRXZlbnQge1xuICAgIHNvdXJjZUFwaTtcbiAgICB1c2VyO1xuICAgIGNoYXQ7XG4gICAgaW5pdGlhdG9yO1xuXG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICB1c2VyLFxuICAgICAgICBjaGF0LFxuICAgICAgICBpbml0aWF0b3IgPSBudWxsXG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZCh1c2VyLGNoYXQpO1xuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgICB0aGlzLmNoYXQgPSBjaGF0O1xuICAgICAgICB0aGlzLmluaXRpYXRvciA9IGluaXRpYXRvcjtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQWN0aW9uRXZlbnQge1xuICAgIHNvdXJjZUFwaTtcbiAgICB1c2VyO1xuICAgIGNoYXQ7XG4gICAgYWN0aW9uO1xuICAgIGRhdGE7XG5cbiAgICBjb25zdHJ1Y3Rvcih7XG4gICAgICAgIHVzZXIsXG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgY2hhdCA9IG51bGwsXG4gICAgICAgIGRhdGEgPSBudWxsXG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZCh1c2VyKTtcbiAgICAgICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XG4gICAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgICAgIHRoaXMuY2hhdCA9IGNoYXQ7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIExlYXZlRXZlbnQge1xuICAgIHNvdXJjZUFwaTtcbiAgICB1c2VyO1xuICAgIGNoYXQ7XG4gICAgaW5pdGlhdG9yO1xuXG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICB1c2VyLFxuICAgICAgICBjaGF0LFxuICAgICAgICBpbml0aWF0b3IgPSBudWxsXG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZCh1c2VyLGNoYXQpO1xuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgICB0aGlzLmNoYXQgPSBjaGF0O1xuICAgICAgICB0aGlzLmluaXRpYXRvciA9IGluaXRpYXRvcjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUaXRsZUNoYW5nZUV2ZW50IHtcbiAgICBzb3VyY2VBcGk7XG4gICAgbmV3VGl0bGU7XG4gICAgb2xkVGl0bGU7XG4gICAgaW5pdGlhdG9yO1xuICAgIGNoYXQ7XG5cbiAgICBjb25zdHJ1Y3Rvcih7XG4gICAgICAgIG9sZFRpdGxlLFxuICAgICAgICBuZXdUaXRsZSxcbiAgICAgICAgaW5pdGlhdG9yLFxuICAgICAgICBjaGF0XG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZChuZXdUaXRsZSxpbml0aWF0b3IsY2hhdCk7XG4gICAgICAgIHRoaXMub2xkVGl0bGUgPSBvbGRUaXRsZTtcbiAgICAgICAgdGhpcy5uZXdUaXRsZSA9IG5ld1RpdGxlO1xuICAgICAgICB0aGlzLmluaXRpYXRvciA9IGluaXRpYXRvcjtcbiAgICAgICAgdGhpcy5jaGF0ID0gY2hhdDtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgUGhvdG9DaGFuZ2VFdmVudCB7XG4gICAgc291cmNlQXBpO1xuICAgIG5ld1Bob3RvVXJsO1xuICAgIGluaXRpYXRvcjtcbiAgICBjaGF0O1xuXG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICBuZXdQaG90b1VybCxcbiAgICAgICAgaW5pdGlhdG9yLFxuICAgICAgICBjaGF0XG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZChuZXdQaG90b1VybCxpbml0aWF0b3IsY2hhdCk7XG4gICAgICAgIHRoaXMubmV3UGhvdG9VcmwgPSBuZXdQaG90b1VybDtcbiAgICAgICAgdGhpcy5pbml0aWF0b3IgPSBpbml0aWF0b3I7XG4gICAgICAgIHRoaXMuY2hhdCA9IGNoYXQ7XG4gICAgfVxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInhib3QvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDhDQUF1QztBQUN2QyxtQ0FBb0M7QUFDcEMsc0NBQXdEO0FBQ3hELDRDQUFzQztBQUN0QyxzREFBa0U7QUFDbEUsbUNBQTRDO0FBRTVDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNyQyxVQUEwQixTQUFRLHFCQUFZO0lBRTFDLFlBQVksSUFBSTtRQUNaLEtBQUssRUFBRSxDQUFDO1FBRlosWUFBTyxHQUFDLEVBQUUsQ0FBQztRQUdQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxnQkFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxTQUFTLENBQUMsR0FBRztRQUNULEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3RELEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUNsRSxHQUFHLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRCxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM3QyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsU0FBUyxDQUFDLE9BQU8sRUFBRSxTQUFTO1FBQ3hCLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2xFLElBQUksVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQzFELElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxNQUFNLEtBQUssVUFBVSxHQUFHLEtBQUssS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDeEksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUztRQUNwQixLQUFLLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxHQUFHLFFBQVEsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNsSCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLHNCQUFzQixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNsSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQy9HLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksMEJBQTBCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25JLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUks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QUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQy9CLENBQUM7Q0FDSjtBQWhCRCxnQ0FnQkM7QUFFRDtJQU9JLFlBQVksRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEVBQ1A7UUFDRyw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztDQUNKO0FBbkJELDRDQW1CQztBQUNEO0lBTUksWUFBWSxFQUNSLFdBQVcsRUFDWCxTQUFTLEVBQ1QsSUFBSSxFQUNQO1FBQ0csaURBQWlEO1FBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7Q0FDSjtBQWhCRCw0Q0FnQkMiLCJmaWxlIjoieGJvdC9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2dnZXIgZnJvbSAnQG1ldGVvci1pdC9sb2dnZXInO1xuaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gJ2V2ZW50cyc7XG5pbXBvcnQge2dldFJlYWRTdHJlYW0sc3RhdCxpc0ZpbGV9IGZyb20gJ0BtZXRlb3ItaXQvZnMnO1xuaW1wb3J0IHtlbWl0fSBmcm9tICdAbWV0ZW9yLWl0L3hyZXN0JztcbmltcG9ydCB7cmVhZFN0cmVhbSxjcmVhdGVSZWFkU3RyZWFtfSBmcm9tICdAbWV0ZW9yLWl0L3V0aWxzLW5vZGUnO1xuaW1wb3J0IHtJbWFnZSBhcyBDYW52YXNJbWFnZX0gZnJvbSAnY2FudmFzJztcblxuY29uc3QgUE9TU0lCTEVfQUNUSU9OUyA9IFsnd3JpdGluZyddO1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgWEJvdCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gICAgYXBpTGlzdD1bXTtcbiAgICBjb25zdHJ1Y3RvcihuYW1lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcihuYW1lKTtcbiAgICB9XG4gICAgYXR0YWNoQXBpKGFwaSkge1xuICAgICAgICBpZiAoIShhcGkgaW5zdGFuY2VvZiBBcGkpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImFwaVwiIG11c3QgbWUgaW5zdGFuY2Ugb2YgQXBpIScpO1xuICAgICAgICBpZiAoIWFwaS5sb2dnZWQpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBtdXN0IGNhbGwgYXBpLmF1dGggYmVmb3JlIGFkZGluZyB0aGVtIScpO1xuICAgICAgICBhcGkub24oJ21lc3NhZ2UnLCBtc2cgPT4gdGhpcy5vbk1lc3NhZ2UobXNnLCBhcGkpKTtcbiAgICAgICAgYXBpLm9uKCd0aXRsZScsIG1zZyA9PiB0aGlzLm9uVGl0bGUobXNnLCBhcGkpKTtcbiAgICAgICAgYXBpLm9uKCdwaG90bycsIG1zZyA9PiB0aGlzLm9uUGhvdG8obXNnLCBhcGkpKTtcbiAgICAgICAgYXBpLm9uKCdqb2luJywgbXNnID0+IHRoaXMub25Kb2luKG1zZywgYXBpKSk7XG4gICAgICAgIGFwaS5vbignbGVhdmUnLCBtc2cgPT4gdGhpcy5vbkxlYXZlKG1zZywgYXBpKSk7XG4gICAgICAgIGFwaS5vbignYWN0aW9uJywgbXNnID0+IHRoaXMub25BY3Rpb24obXNnLCBhcGkpKTtcbiAgICAgICAgdGhpcy5hcGlMaXN0LnB1c2goYXBpKTtcbiAgICB9XG4gICAgb25NZXNzYWdlKG1lc3NhZ2UsIHNvdXJjZUFwaSkge1xuICAgICAgICBtZXNzYWdlLnNvdXJjZUFwaSA9IHNvdXJjZUFwaTtcbiAgICAgICAgbGV0IGluQ2hhdCA9IG1lc3NhZ2UuY2hhdCA/IChgIFske21lc3NhZ2UuY2hhdC50aXRsZS5yZWR9XWApIDogJyc7XG4gICAgICAgIGxldCBhdHRhY2htZW50ID0gbWVzc2FnZS5hdHRhY2htZW50ID8gKGBBYC5tYWdlbnRhKSA6ICcgJztcbiAgICAgICAgbGV0IHJlcGx5ID0gbWVzc2FnZS5yZXBseVRvID8gKGBSYC5tYWdlbnRhKSA6ICcgJztcbiAgICAgICAgdGhpcy5sb2dnZXIubG9nKGA8JHttZXNzYWdlLnVzZXIuZmlyc3ROYW1lLmJsdWV9ICR7bWVzc2FnZS51c2VyLmxhc3ROYW1lLmJsdWV9JHtpbkNoYXR9Plske2F0dGFjaG1lbnR9JHtyZXBseX1dICR7bWVzc2FnZS50ZXh0LmdyZWVufWApO1xuICAgICAgICB0aGlzLmVtaXQoJ21lc3NhZ2UnLCBtZXNzYWdlKTtcbiAgICB9XG4gICAgb25MZWF2ZShsZWF2ZSwgc291cmNlQXBpKSB7XG4gICAgICAgIGxlYXZlLnNvdXJjZUFwaSA9IHNvdXJjZUFwaTtcbiAgICAgICAgbGV0IGluaXRpYXRvciA9IGxlYXZlLmluaXRpYXRvciA/IGAgKGJ5ICR7bGVhdmUuaW5pdGlhdG9yLmZpcnN0TmFtZS5ibHVlfSAke2xlYXZlLmluaXRpYXRvci5sYXN0TmFtZS5ibHVlfSlgIDogJyc7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgJHtsZWF2ZS51c2VyLmZpcnN0TmFtZS5ibHVlfSAke2xlYXZlLnVzZXIubGFzdE5hbWUuYmx1ZX0ge3JlZH1sZWF2ZWR7L3JlZH0gJHtsZWF2ZS5jaGF0LnRpdGxlLnJlZH0ke2luaXRpYXRvcn1gKTtcbiAgICAgICAgdGhpcy5lbWl0KCdsZWF2ZScsIGxlYXZlKTtcbiAgICB9XG4gICAgb25Kb2luKGpvaW4sIHNvdXJjZUFwaSkge1xuICAgICAgICBqb2luLnNvdXJjZUFwaSA9IHNvdXJjZUFwaTtcbiAgICAgICAgbGV0IGluaXRpYXRvciA9IGpvaW4uaW5pdGlhdG9yID8gYCAoYnkgJHtqb2luLmluaXRpYXRvci5maXJzdE5hbWUuYmx1ZX0gJHtqb2luLmluaXRpYXRvci5sYXN0TmFtZS5ibHVlfSlgIDogJyc7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgJHtqb2luLnVzZXIuZmlyc3ROYW1lLmJsdWV9ICR7am9pbi51c2VyLmxhc3ROYW1lLmJsdWV9IHtncmVlbn1qb2luZWR7L2dyZWVufSAke2pvaW4uY2hhdC50aXRsZS5yZWR9JHtpbml0aWF0b3J9YCk7XG4gICAgICAgIHRoaXMuZW1pdCgnam9pbicsIGpvaW4pO1xuICAgIH1cbiAgICBvbkFjdGlvbihhY3Rpb24sIHNvdXJjZUFwaSkge1xuICAgICAgICBhY3Rpb24uc291cmNlQXBpID0gc291cmNlQXBpO1xuICAgICAgICBsZXQgaW5DaGF0ID0gYWN0aW9uLmNoYXQgPyAoYCBbJHthY3Rpb24uY2hhdC50aXRsZS5yZWR9XWApIDogJyc7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgJHthY3Rpb24udXNlci5maXJzdE5hbWUuYmx1ZX0gJHthY3Rpb24udXNlci5sYXN0TmFtZS5ibHVlfSR7aW5DaGF0fSAtICR7YWN0aW9uLmFjdGlvbi55ZWxsb3d9YCk7XG4gICAgICAgIHRoaXMuZW1pdCgnYWN0aW9uJywgYWN0aW9uKTtcbiAgICB9XG4gICAgb25QaG90byhwaG90bywgc291cmNlQXBpKSB7XG4gICAgICAgIHBob3RvLnNvdXJjZUFwaSA9IHNvdXJjZUFwaTtcbiAgICAgICAgdGhpcy5sb2dnZXIubG9nKGBDaGFuZ2VkIHBob3RvIGluICR7cGhvdG8uY2hhdC50aXRsZS5yZWR9IC0+ICR7cGhvdG8ubmV3UGhvdG9Vcmx9IGJ5ICR7cGhvdG8uaW5pdGlhdG9yLmZpcnN0TmFtZX0gJHtwaG90by5pbml0aWF0b3IubGFzdE5hbWV9YCk7XG4gICAgICAgIHRoaXMuZW1pdCgncGhvdG8nLCBwaG90byk7XG4gICAgfVxuICAgIG9uVGl0bGUodGl0bGUsIHNvdXJjZUFwaSkge1xuICAgICAgICB0aXRsZS5zb3VyY2VBcGkgPSBzb3VyY2VBcGk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZyh0aXRsZS5vbGRUaXRsZS5yZWQgKyAnIC0+ICcgKyB0aXRsZS5uZXdUaXRsZS5ncmVlbiArICcgYnkgJyArIHRpdGxlLmluaXRpYXRvci5maXJzdE5hbWUgKyAnICcgKyB0aXRsZS5pbml0aWF0b3IubGFzdE5hbWUpO1xuICAgICAgICB0aGlzLmVtaXQoJ3RpdGxlJywgdGl0bGUpO1xuICAgIH1cbiAgICBhc3luYyB1R2V0VXNlcih1aWQpe1xuICAgICAgICBsZXQgZm91bmQ9bnVsbDtcbiAgICAgICAgZm9yKGxldCBpPTA7aTx0aGlzLmFwaUxpc3QubGVuZ3RoO2krKyl7XG4gICAgICAgICAgICB0cnl7XG4gICAgICAgICAgICAgICAgZm91bmQ9YXdhaXQgdGhpcy5hcGlMaXN0W2ldLnVHZXRVc2VyKHVpZCk7XG4gICAgICAgICAgICAgICAgaWYoZm91bmQpXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfWNhdGNoKGUpe31cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgfVxuICAgIGFzeW5jIHVHZXRDaGF0KGNpZCl7XG4gICAgICAgIGxldCBmb3VuZD1udWxsO1xuICAgICAgICBmb3IobGV0IGk9MDtpPHRoaXMuYXBpTGlzdC5sZW5ndGg7aSsrKXtcbiAgICAgICAgICAgIHRyeXtcbiAgICAgICAgICAgICAgICBmb3VuZD1hd2FpdCB0aGlzLmFwaUxpc3RbaV0udUdldENoYXQoY2lkKTtcbiAgICAgICAgICAgICAgICBpZihmb3VuZClcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9Y2F0Y2goZSl7fVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBcGkgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICAgIG5hbWU7XG4gICAgbG9nZ2VyO1xuICAgIGxvZ2dlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IobmFtZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLmxvZ2dlciA9IG5ldyBMb2dnZXIobmFtZSk7XG4gICAgfVxuICAgIGFzeW5jIGF1dGgoLi4ucGFyYW1zKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignYXV0aCgpIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBhcGkhJyk7XG4gICAgfVxuXG4gICAgdUdldFVzZXIodWlkKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCd1R2V0VXNlcigpIGlzIG5vdCBpbXBsZW1lbnRlZCEnKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdUdldENoYXQoY2lkKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCd1R2V0VXNlcigpIGlzIG5vdCBpbXBsZW1lbnRlZCEnKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgc2VuZExvY2F0aW9uKHRhcmdldElkLCBhbnN3ZXIsIGNhcHRpb24sIGxvY2F0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2VuZExvY2F0aW9uKCkgbm90IGltcGxlbWVudGVkIScpO1xuICAgIH1cbiAgICBzZW5kVGV4dCh0YXJnZXRJZCwgYW5zd2VyLCB0ZXh0LCBvcHRpb25zKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2VuZFRleHQoKSBub3QgaW1wbGVtZW50ZWQhJyk7XG4gICAgfVxuICAgIHNlbmRJbWFnZVN0cmVhbSh0YXJnZXRJZCwgYW5zd2VyLCBjYXB0aW9uLCBpbWFnZSwgb3B0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NlbmRJbWFnZVN0cmVhbSgpIG5vdCBpbXBsZW1lbnRlZCEnKTtcbiAgICB9XG4gICAgc2VuZEZpbGVTdHJlYW0odGFyZ2V0SWQsIGFuc3dlciwgY2FwdGlvbiwgZmlsZSwgb3B0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NlbmRGaWxlU3RyZWFtKCkgbm90IGltcGxlbWVudGVkIScpO1xuICAgIH1cbiAgICBzZW5kQXVkaW9TdHJlYW0odGFyZ2V0SWQsIGFuc3dlciwgY2FwdGlvbiwgYXVkaW8sIG9wdGlvbnMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzZW5kQXVkaW9TdHJlYW0oKSBub3QgaW1wbGVtZW50ZWQhJyk7XG4gICAgfVxuICAgIHNlbmRDdXN0b20odGFyZ2V0SWQsIGFuc3dlciwgb3B0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NlbmRDdXN0b20oKSBub3QgaW1wbGVtZW50ZWQhJyk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTG9jYXRpb24ge1xuICAgIGxhdDtcbiAgICBsb25nO1xuXG4gICAgY29uc3RydWN0b3IobGF0LCBsb25nKSB7XG4gICAgICAgIHRoaXMubGF0ID0gbGF0O1xuICAgICAgICB0aGlzLmxvbmcgPSBsb25nO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpbGUge1xuICAgIHN0cmVhbTtcbiAgICBzaXplO1xuICAgIG5hbWU7XG4gICAgc2l6ZTtcbiAgICBjb25zdHJ1Y3RvcihzdHJlYW0sIHNpemUsIG5hbWUpIHtcbiAgICAgICAgaWYgKGlzTmFOKHNpemUpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXcm9uZyBmaWxlIHNpemUhICcgKyBzaXplKTtcbiAgICAgICAgdGhpcy5zdHJlYW0gPSBzdHJlYW07XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHNpemU7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tVXJsKHVybCwgbmFtZSkge1xuICAgICAgICBsZXQgcmVzID0gYXdhaXQgZW1pdChgR0VUICR7dXJsfSBTVFJFQU1gKTtcbiAgICAgICAgbGV0IHNpemUgPSByZXMuaGVhZGVyc1snY29udGVudC1sZW5ndGgnXTtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlKHJlcywgc2l6ZSwgbmFtZSk7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tRmlsZVBhdGgocGF0aCwgbmFtZSkge1xuICAgICAgICBpZiAoIWF3YWl0IGlzRmlsZShwYXRoKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBpcyBub3QgYSBmaWxlISAnICsgcGF0aCk7XG4gICAgICAgIGxldCBzaXplID0gKGF3YWl0IHN0YXQocGF0aCkpLnNpemU7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZShnZXRSZWFkU3RyZWFtKHBhdGgpLCBzaXplLCBuYW1lKTtcbiAgICB9XG59XG5cbi8vVE9ETzogU29tZSBzZXJ2aWNlcyBsb29rcyBhdCBleHRlbnNpb25zXG5leHBvcnQgY2xhc3MgSW1hZ2UgZXh0ZW5kcyBGaWxlIHtcbiAgICBjb25zdHJ1Y3RvcihzdHJlYW0sIHNpemUpIHtcbiAgICAgICAgc3VwZXIoc3RyZWFtLCBzaXplLCAnaW1hZ2UuanBnJyk7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tVXJsKHVybCkge1xuICAgICAgICBsZXQgcmVzID0gYXdhaXQgZW1pdChgR0VUICR7dXJsfWApO1xuICAgICAgICBsZXQgc2l6ZSA9IHBhcnNlSW50KHJlcy5oZWFkZXJzWydjb250ZW50LWxlbmd0aCddLCAxMCk7XG4gICAgICAgIHJldHVybiBuZXcgSW1hZ2UoY3JlYXRlUmVhZFN0cmVhbShyZXMucmF3KSwgc2l6ZSwgJ2ltYWdlLmpwZycpO1xuICAgIH1cbiAgICBhc3luYyBzdGF0aWMgZnJvbUZpbGVQYXRoKHBhdGgpIHtcbiAgICAgICAgbGV0IHNpemUgPSAoYXdhaXQgc3RhdChwYXRoKSkuc2l6ZTtcbiAgICAgICAgcmV0dXJuIG5ldyBJbWFnZShnZXRSZWFkU3RyZWFtKHBhdGgpLCBzaXplLCAnaW1hZ2UuanBnJyk7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tQ2FudmFzKGNhbnZhcykge1xuICAgICAgICBsZXQgZnVsbFN0cmVhbSA9IGNhbnZhcy5qcGVnU3RyZWFtKHtcbiAgICAgICAgICAgIGJ1ZnNpemU6IDQwOTYsXG4gICAgICAgICAgICBxdWFsaXR5OiAxMDAsXG4gICAgICAgICAgICBwcm9ncmVzc2l2ZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgbGV0IGJ1ZmZlciA9IGF3YWl0IHJlYWRTdHJlYW0oZnVsbFN0cmVhbSk7XG4gICAgICAgIHJldHVybiBuZXcgSW1hZ2UoY3JlYXRlUmVhZFN0cmVhbShidWZmZXIpLCBidWZmZXIubGVuZ3RoLCAnYS5qcGcnKTtcbiAgICB9XG4gICAgYXN5bmMgdG9DYW52YXNJbWFnZSgpe1xuICAgICAgICBsZXQgc3RyZWFtPXRoaXMuc3RyZWFtO1xuICAgICAgICBsZXQgcmVzID0gbmV3IENhbnZhc0ltYWdlKCk7XG4gICAgICAgIHJlcy5zcmMgPSBhd2FpdCByZWFkU3RyZWFtKHN0cmVhbSk7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSxyZWopPT57XG4gICAgICAgICAgICByZXMub25sb2FkPXJlc29sdmUocmVzKTsgICAgXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBBdWRpbyBleHRlbmRzIEZpbGUge1xuICAgIGNvbnN0cnVjdG9yKHN0cmVhbSwgc2l6ZSwgYXJ0aXN0LCB0aXRsZSkge1xuICAgICAgICBzdXBlcihzdHJlYW0sIHNpemUsIGAke2FydGlzdH0gJHt0aXRsZX0ubXAzYCk7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tVXJsKHVybCwgYXJ0aXN0LCB0aXRsZSkge1xuICAgICAgICBsZXQgcmVzID0gYXdhaXQgZW1pdChgR0VUICR7dXJsfSBTVFJFQU1gKTtcbiAgICAgICAgbGV0IHNpemUgPSByZXMuaGVhZGVyc1snY29udGVudC1sZW5ndGgnXTtcbiAgICAgICAgcmV0dXJuIG5ldyBJbWFnZShyZXMsIHNpemUsIGAke2FydGlzdH0gJHt0aXRsZX0ubXAzYCk7XG4gICAgfVxuICAgIGFzeW5jIHN0YXRpYyBmcm9tRmlsZVBhdGgocGF0aCwgYXJ0aXN0LCB0aXRsZSkge1xuICAgICAgICBsZXQgc2l6ZSA9IChhd2FpdCBzdGF0KHBhdGgpKS5zaXplO1xuICAgICAgICByZXR1cm4gbmV3IEltYWdlKGdldFJlYWRTdHJlYW0ocGF0aCksIHNpemUsIGAke2FydGlzdH0gJHt0aXRsZX0ubXAzYCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbiB7XG4gICAgcHJvdmlkZXI7XG4gICAgdHlwZTtcbiAgICBpZDtcbiAgICBjb25zdHJ1Y3Rvcihwcm92aWRlciwgdHlwZSwgaWQpIHtcbiAgICAgICAgdGhpcy5wcm92aWRlciA9IHByb3ZpZGVyO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgfVxuICAgIGFzeW5jIHNhdmUoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2F2ZSgpIG5vdCBpbXBsZW1lbnRlZCEnKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGFzc2VydEFsbElzRGVmaW5lZCguLi5hbGwpIHtcbiAgICBmb3IgKGxldCBpIG9mIGFsbCkge1xuICAgICAgICBpZiAoaSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVyciguLi5hbGwpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTb21lIHZhcmlhYmxlcyBpcyBub3QgZGVmaW5lZCEnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJvbGUge1xuICAgIHN0YXRpYyBDUkVBVE9SID0gMTtcbiAgICBzdGF0aWMgTU9ERVJBVE9SID0gMjtcbiAgICBzdGF0aWMgVVNFUiA9IDM7XG59XG5leHBvcnQgY2xhc3MgR2VuZGVyIHtcbiAgICBzdGF0aWMgTUFOID0gMTtcbiAgICBzdGF0aWMgV09NQU4gPSAyO1xuICAgIHN0YXRpYyBPVEhFUiA9IDM7XG59XG5cbmV4cG9ydCBjbGFzcyBGb3J3YXJkZWRNZXNzYWdlIHtcbiAgICB0ZXh0O1xuICAgIHNlbmRlcjtcbiAgICBhdHRhY2htZW50O1xuXG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICB0ZXh0LFxuICAgICAgICBzZW5kZXIsXG4gICAgICAgIGF0dGFjaG1lbnRcbiAgICB9KSB7XG4gICAgICAgIHRoaXMudGV4dCA9IHRleHQ7XG4gICAgICAgIHRoaXMuc2VuZGVyID0gc2VuZGVyO1xuICAgICAgICB0aGlzLmF0dGFjaG1lbnQgPSBhdHRhY2htZW50O1xuICAgIH1cbn1cblxuY2xhc3MgQ29udmVyc2F0aW9uIHtcbiAgICBzb3VyY2VBcGk7XG4gICAgYXBpO1xuICAgIHRhcmdldElkO1xuICAgIG1lc3NhZ2VJZDtcblxuICAgIGNvbnN0cnVjdG9yKGFwaSwgdGFyZ2V0SWQsIG1lc3NhZ2VJZCkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZChhcGksdGFyZ2V0SWQpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy50YXJnZXRJZCA9IHRhcmdldElkO1xuICAgICAgICB0aGlzLm1lc3NhZ2VJZCA9IG1lc3NhZ2VJZDtcbiAgICB9XG5cbiAgICBhc3luYyBzZW5kTG9jYXRpb24oYW5zd2VyLCBjYXB0aW9uLCBsb2NhdGlvbiwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGlmICghKGxvY2F0aW9uIGluc3RhbmNlb2YgTG9jYXRpb24pKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImxvY2F0aW9uXCIgaXMgbm90IGEgaW5zdGFuY2Ugb2YgTG9jYXRpb24hJyk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFwaS5zZW5kTG9jYXRpb24odGhpcy50YXJnZXRJZCwgYW5zd2VyLCBjYXB0aW9uLCBsb2NhdGlvbiwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgYXN5bmMgc2VuZFRleHQoYW5zd2VyLCB0ZXh0LCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYXBpLnNlbmRUZXh0KHRoaXMudGFyZ2V0SWQsIGFuc3dlciA/IHRoaXMubWVzc2FnZUlkIDogdW5kZWZpbmVkLCB0ZXh0LCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBhc3luYyBzZW5kSW1hZ2UoYW5zd2VyLCBjYXB0aW9uLCBpbWFnZSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGlmICghKGltYWdlIGluc3RhbmNlb2YgSW1hZ2UpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImltYWdlXCIgaXMgbm90IGEgaW5zdGFuY2Ugb2YgSW1hZ2UhJyk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFwaS5zZW5kSW1hZ2VTdHJlYW0odGhpcy50YXJnZXRJZCwgYW5zd2VyID8gdGhpcy5tZXNzYWdlSWQgOiB1bmRlZmluZWQsIGNhcHRpb24sIGltYWdlLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBhc3luYyBzZW5kRmlsZShhbnN3ZXIsIGNhcHRpb24sIGZpbGUsIG9wdGlvbnMgPSB7fSkge1xuICAgICAgICBpZiAoIShmaWxlIGluc3RhbmNlb2YgRmlsZSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiZmlsZVwiIGlzIG5vdCBhIGluc3RhbmNlIG9mIEZpbGUhJyk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFwaS5zZW5kRmlsZVN0cmVhbSh0aGlzLnRhcmdldElkLCBhbnN3ZXIsIGNhcHRpb24sIGZpbGUsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGFzeW5jIHNlbmRBdWRpbyhhbnN3ZXIsIGNhcHRpb24sIGF1ZGlvLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgaWYgKCEoYXVkaW8gaW5zdGFuY2VvZiBBdWRpbykpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiYXVkaW9cIiBpcyBub3QgYSBpbnN0YW5jZSBvZiBBdWRpbyEnKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYXBpLnNlbmRBdWRpb1N0cmVhbSh0aGlzLnRhcmdldElkLCBhbnN3ZXIsIGNhcHRpb24sIGF1ZGlvLCBvcHRpb25zKTtcbiAgICB9XG4gICAgYXN5bmMgc2VuZEN1c3RvbShhbnN3ZXIsIG9wdGlvbnMgPSB7fSkge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5hcGkuc2VuZEN1c3RvbSh0aGlzLnRhcmdldElkLCBhbnN3ZXIsIG9wdGlvbnMpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgQ29udmVyc2F0aW9uIHtcbiAgICB1aWQ7XG4gICAgbmlja05hbWU7XG4gICAgZmlyc3ROYW1lO1xuICAgIGxhc3ROYW1lO1xuICAgIGdlbmRlcjtcbiAgICBwaG90b1VybDtcbiAgICByb2xlO1xuICAgIGNvbmZpZztcbiAgICBzdGF0ZTtcbiAgICBwcm9maWxlVXJsO1xuXG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICBhcGksXG4gICAgICAgIHVpZCxcbiAgICAgICAgdGFyZ2V0SWQsXG4gICAgICAgIG5pY2tOYW1lID0gbnVsbCxcbiAgICAgICAgZmlyc3ROYW1lLFxuICAgICAgICBsYXN0TmFtZSxcbiAgICAgICAgZ2VuZGVyLFxuICAgICAgICBwaG90b1VybCxcbiAgICAgICAgcm9sZSA9IFJvbGUuVVNFUixcbiAgICAgICAgcHJvZmlsZVVybCxcbiAgICAgICAgbWVzc2FnZUlkXG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZChhcGksdWlkLHRhcmdldElkLGZpcnN0TmFtZSxsYXN0TmFtZSxnZW5kZXIscGhvdG9VcmwsY29uZmlnLHN0YXRlLHByb2ZpbGVVcmwpO1xuICAgICAgICBzdXBlcihhcGksIHRhcmdldElkLCBtZXNzYWdlSWQpO1xuICAgICAgICB0aGlzLnVpZCA9IHVpZDtcbiAgICAgICAgdGhpcy5uaWNrTmFtZSA9IG5pY2tOYW1lO1xuICAgICAgICB0aGlzLmZpcnN0TmFtZSA9IGZpcnN0TmFtZTtcbiAgICAgICAgdGhpcy5sYXN0TmFtZSA9IGxhc3ROYW1lO1xuICAgICAgICB0aGlzLmdlbmRlciA9IGdlbmRlcjtcbiAgICAgICAgdGhpcy5waG90b1VybCA9IHBob3RvVXJsO1xuICAgICAgICB0aGlzLnByb2ZpbGVVcmwgPSBwcm9maWxlVXJsO1xuICAgIH1cbiAgICBhc3luYyBnZXRQaG90b0ltYWdlKCkge1xuICAgICAgICByZXR1cm4gYXdhaXQgSW1hZ2UuZnJvbVVybCh0aGlzLnBob3RvVXJsKTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQ2hhdCBleHRlbmRzIENvbnZlcnNhdGlvbiB7XG4gICAgY2lkO1xuICAgIHVzZXJzO1xuICAgIHRpdGxlO1xuICAgIGFkbWlucztcbiAgICBwaG90b1VybDtcblxuICAgIGNvbnN0cnVjdG9yKHtcbiAgICAgICAgYXBpLFxuICAgICAgICBjaWQsXG4gICAgICAgIHRhcmdldElkLFxuICAgICAgICB0aXRsZSxcbiAgICAgICAgdXNlcnMsXG4gICAgICAgIGFkbWlucyxcbiAgICAgICAgbWVzc2FnZUlkLFxuICAgICAgICBwaG90b1VybFxuICAgIH0pIHtcbiAgICAgICAgLy9hc3NlcnRBbGxJc0RlZmluZWQoYXBpLGNpZCx0YXJnZXRJZCx0aXRsZSx1c2VycyxhZG1pbnMscGhvdG9VcmwsY29uZmlnLHN0YXRlKTtcbiAgICAgICAgc3VwZXIoYXBpLCB0YXJnZXRJZCwgbWVzc2FnZUlkKTtcbiAgICAgICAgdGhpcy5jaWQgPSBjaWQ7XG4gICAgICAgIHRoaXMudXNlcnMgPSB1c2VycztcbiAgICAgICAgdGhpcy50aXRsZSA9IHRpdGxlO1xuICAgICAgICB0aGlzLmFkbWlucyA9IGFkbWlucztcbiAgICAgICAgdGhpcy5waG90b1VybCA9IHBob3RvVXJsO1xuICAgIH1cbiAgICBpc0FkbWluKHVzZXIpIHtcbiAgICAgICAgcmV0dXJuIH50aGlzLmFkbWlucy5pbmRleE9mKHVzZXIpIHx8IHVzZXIucm9sZSA9PT0gUm9sZS5DUkVBVE9SO1xuICAgIH1cbiAgICBhc3luYyBnZXRQaG90b0ltYWdlKCkge1xuICAgICAgICByZXR1cm4gYXdhaXQgSW1hZ2UuZnJvbVVybCh0aGlzLnBob3RvVXJsKTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgTWVzc2FnZUV2ZW50IGV4dGVuZHMgQ29udmVyc2F0aW9uIHtcbiAgICBhdHRhY2htZW50O1xuICAgIHRleHQ7XG4gICAgdXNlcjtcbiAgICBjaGF0O1xuICAgIHJlcGx5VG87XG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICBhcGksXG4gICAgICAgIGF0dGFjaG1lbnQsXG4gICAgICAgIHRleHQsXG4gICAgICAgIHVzZXIsXG4gICAgICAgIGNoYXQsXG4gICAgICAgIG1lc3NhZ2VJZCxcbiAgICAgICAgcmVwbHlUbyA9IG51bGxcbiAgICB9KSB7XG4gICAgICAgIC8vYXNzZXJ0QWxsSXNEZWZpbmVkKGFwaSxtaWQsYXR0YWNobWVudCx0ZXh0LHVzZXIsY2hhdCk7XG4gICAgICAgIHN1cGVyKGFwaSwgY2hhdCA/IGNoYXQudGFyZ2V0SWQgOiB1c2VyLnRhcmdldElkLCBtZXNzYWdlSWQpO1xuICAgICAgICB0aGlzLmF0dGFjaG1lbnQgPSBhdHRhY2htZW50O1xuICAgICAgICB0aGlzLnRleHQgPSB0ZXh0O1xuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgICB0aGlzLmNoYXQgPSBjaGF0O1xuICAgICAgICB0aGlzLnJlcGx5VG8gPSByZXBseVRvO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBKb2luRXZlbnQge1xuICAgIHNvdXJjZUFwaTtcbiAgICB1c2VyO1xuICAgIGNoYXQ7XG4gICAgaW5pdGlhdG9yO1xuXG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICB1c2VyLFxuICAgICAgICBjaGF0LFxuICAgICAgICBpbml0aWF0b3IgPSBudWxsXG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZCh1c2VyLGNoYXQpO1xuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgICB0aGlzLmNoYXQgPSBjaGF0O1xuICAgICAgICB0aGlzLmluaXRpYXRvciA9IGluaXRpYXRvcjtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgQWN0aW9uRXZlbnQge1xuICAgIHNvdXJjZUFwaTtcbiAgICB1c2VyO1xuICAgIGNoYXQ7XG4gICAgYWN0aW9uO1xuICAgIGRhdGE7XG5cbiAgICBjb25zdHJ1Y3Rvcih7XG4gICAgICAgIHVzZXIsXG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgY2hhdCA9IG51bGwsXG4gICAgICAgIGRhdGEgPSBudWxsXG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZCh1c2VyKTtcbiAgICAgICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XG4gICAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgICAgIHRoaXMuY2hhdCA9IGNoYXQ7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIExlYXZlRXZlbnQge1xuICAgIHNvdXJjZUFwaTtcbiAgICB1c2VyO1xuICAgIGNoYXQ7XG4gICAgaW5pdGlhdG9yO1xuXG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICB1c2VyLFxuICAgICAgICBjaGF0LFxuICAgICAgICBpbml0aWF0b3IgPSBudWxsXG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZCh1c2VyLGNoYXQpO1xuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgICB0aGlzLmNoYXQgPSBjaGF0O1xuICAgICAgICB0aGlzLmluaXRpYXRvciA9IGluaXRpYXRvcjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUaXRsZUNoYW5nZUV2ZW50IHtcbiAgICBzb3VyY2VBcGk7XG4gICAgbmV3VGl0bGU7XG4gICAgb2xkVGl0bGU7XG4gICAgaW5pdGlhdG9yO1xuICAgIGNoYXQ7XG5cbiAgICBjb25zdHJ1Y3Rvcih7XG4gICAgICAgIG9sZFRpdGxlLFxuICAgICAgICBuZXdUaXRsZSxcbiAgICAgICAgaW5pdGlhdG9yLFxuICAgICAgICBjaGF0XG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZChuZXdUaXRsZSxpbml0aWF0b3IsY2hhdCk7XG4gICAgICAgIHRoaXMub2xkVGl0bGUgPSBvbGRUaXRsZTtcbiAgICAgICAgdGhpcy5uZXdUaXRsZSA9IG5ld1RpdGxlO1xuICAgICAgICB0aGlzLmluaXRpYXRvciA9IGluaXRpYXRvcjtcbiAgICAgICAgdGhpcy5jaGF0ID0gY2hhdDtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgUGhvdG9DaGFuZ2VFdmVudCB7XG4gICAgc291cmNlQXBpO1xuICAgIG5ld1Bob3RvVXJsO1xuICAgIGluaXRpYXRvcjtcbiAgICBjaGF0O1xuXG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICBuZXdQaG90b1VybCxcbiAgICAgICAgaW5pdGlhdG9yLFxuICAgICAgICBjaGF0XG4gICAgfSkge1xuICAgICAgICAvL2Fzc2VydEFsbElzRGVmaW5lZChuZXdQaG90b1VybCxpbml0aWF0b3IsY2hhdCk7XG4gICAgICAgIHRoaXMubmV3UGhvdG9VcmwgPSBuZXdQaG90b1VybDtcbiAgICAgICAgdGhpcy5pbml0aWF0b3IgPSBpbml0aWF0b3I7XG4gICAgICAgIHRoaXMuY2hhdCA9IGNoYXQ7XG4gICAgfVxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== |
{ | ||
"name": "@meteor-it/xbot", | ||
"version": "0.1.1", | ||
"version": "0.1.2", | ||
"description": "I", | ||
@@ -16,7 +16,7 @@ "main": "index.js", | ||
"dependencies": { | ||
"@meteor-it/fs": "0.0.1", | ||
"@meteor-it/logger": "0.0.1", | ||
"@meteor-it/utils-node": "0.0.1", | ||
"@meteor-it/xrest": "^0.2.1", | ||
"canvas": "^1.6.5" | ||
"@meteor-it/fs": "latest", | ||
"@meteor-it/logger": "latest", | ||
"@meteor-it/utils-node": "latest", | ||
"@meteor-it/xrest": "latest", | ||
"canvas": "latest" | ||
}, | ||
@@ -23,0 +23,0 @@ "peerDependencies": {}, |
55241
569
+ Added@meteor-it/fs@2.1.0(transitive)
+ Added@meteor-it/logger@2.3.45(transitive)
+ Added@meteor-it/terminal@0.5.25(transitive)
+ Added@meteor-it/utils@1.3.332.1.0(transitive)
+ Added@meteor-it/utils-node@0.1.2(transitive)
+ Added@meteor-it/xrest@1.4.0(transitive)
+ Addedbase64-js@1.5.1(transitive)
+ Addedbl@4.1.0(transitive)
+ Addedbuffer@5.7.1(transitive)
+ Addedcanvas@3.1.0(transitive)
+ Addedchownr@1.1.4(transitive)
+ Addeddecompress-response@6.0.0(transitive)
+ Addeddeep-extend@0.6.0(transitive)
+ Addeddetect-libc@2.0.3(transitive)
+ Addedend-of-stream@1.4.4(transitive)
+ Addedexpand-template@2.0.3(transitive)
+ Addedfs-constants@1.0.0(transitive)
+ Addedgithub-from-package@0.0.0(transitive)
+ Addediconv-lite@0.6.3(transitive)
+ Addedieee754@1.2.1(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedini@1.3.8(transitive)
+ Addedmimic-response@3.1.0(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedmkdirp-classic@0.5.3(transitive)
+ Addednapi-build-utils@2.0.0(transitive)
+ Addednode-abi@3.74.0(transitive)
+ Addednode-addon-api@7.1.1(transitive)
+ Addedonce@1.4.0(transitive)
+ Addedprebuild-install@7.1.3(transitive)
+ Addedpump@3.0.2(transitive)
+ Addedrc@1.2.8(transitive)
+ Addedreadable-stream@3.6.2(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsemver@7.7.1(transitive)
+ Addedsimple-concat@1.0.1(transitive)
+ Addedsimple-get@4.0.1(transitive)
+ Addedstring_decoder@1.3.0(transitive)
+ Addedstrip-json-comments@2.0.1(transitive)
+ Addedtar-fs@2.1.2(transitive)
+ Addedtar-stream@2.2.0(transitive)
+ Addedtunnel-agent@0.6.0(transitive)
+ Addedutil-deprecate@1.0.2(transitive)
+ Addedwrappy@1.0.2(transitive)
- Removed@meteor-it/fs@0.0.1(transitive)
- Removed@meteor-it/logger@0.0.1(transitive)
- Removed@meteor-it/utils-node@0.0.1(transitive)
- Removed@meteor-it/xrest@0.2.1(transitive)
- Removedcanvas@1.6.13(transitive)
- Removediconv-lite@0.4.24(transitive)
- Removednan@2.22.0(transitive)
Updated@meteor-it/fs@latest
Updated@meteor-it/logger@latest
Updated@meteor-it/utils-node@latest
Updated@meteor-it/xrest@latest
Updatedcanvas@latest