@universe/address-parser
Advanced tools
Comparing version 0.4.0 to 0.4.1
@@ -142,2 +142,2 @@ "use strict"; | ||
exports.Address = Address; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE4SDtBQUU5SCxxQ0FBaUM7QUFDakMsa0RBQW9EO0FBQ3BELG9EQUFtRDtBQUNuRCxzREFBcUQ7QUFDckQsa0RBQW1GO0FBQ25GLDBDQUEyQztBQWMzQyxTQUFTLE1BQU0sQ0FBQyxHQUFHLE1BQXlCO0lBQzFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDL0QsQ0FBQztBQUVELDREQUE0RDtBQUM1RCxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxDQUFDLGlCQUFnQixDQUFDLENBQUM7QUFDdkQsU0FBUyxVQUFVLENBQUMsSUFBbUIsRUFBRSxJQUF1QjtJQUM5RCxJQUFJLENBQUMsSUFBSSxJQUFJLDJCQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FBRTtJQUVyRCxJQUFJLGFBQWEsR0FBVyxJQUFJLENBQUM7SUFDakMsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFBRSxhQUFhLEdBQUcsNkJBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO0tBQUU7SUFFdkYsSUFBSSxDQUFDLElBQUksRUFBRTtRQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUFFO0lBQ3RDLElBQUksMEJBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BFLE9BQU8sQ0FBRSw2QkFBZ0IsQ0FBQyx5QkFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFF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dGVudCI6WyJpbXBvcnQgeyBJU2l0dXMsIFN0YXRlLCBGYWNpbGl0eVR5cGUsIFN0cmVldFR5cGUsIGlzRGlyZWN0aW9uYWwsIENvdW50cnksIGdldENvdW50cnlEZXNjLCBpc0NvdW50cnkgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcblxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICcuL3BhcnNlcic7XG5pbXBvcnQgeyBpc051bWJlck9yQ29kZSB9IGZyb20gJy4vcGFyc2VyL3Rva2VuaXplcic7XG5pbXBvcnQgeyB0b0RpcmVjdGlvbmFsIH0gZnJvbSAnLi9kYXRhL0RpcmVjdGlvbmFsJztcbmltcG9ydCB7IGlzVXJiYW5pemF0aW9uIH0gZnJvbSAnLi9kYXRhL0ZhY2lsaXR5VHlwZSc7XG5pbXBvcnQgeyBpc1N0cmVldFByZWZpeCwgdG9TdHJlZXRUeXBlLCBzdHJlZXRUeXBlU3RyaW5nIH0gZnJvbSAnLi9kYXRhL1N0cmVldFR5cGUnO1xuaW1wb3J0IHsgaXNPcmRpbmFsIH0gZnJvbSAnLi9wYXJzZXIvdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVTUFNMYWJlbCB7XG4gIGNhcmU6IHN0cmluZyB8IG51bGw7XG4gIHVyYmFuaXphdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgbGluZTE6IHN0cmluZyB8IG51bGw7XG4gIGxpbmUyOiBzdHJpbmcgfCBudWxsO1xuICBjaXR5OiBzdHJpbmcgfCBudWxsO1xuICBzdGF0ZTogU3RhdGUgfCBudWxsO1xuICB6aXA6IHN0cmluZyB8IG51bGw7XG4gIHppcDQ6IHN0cmluZyB8IG51bGw7XG4gIGNvdW50cnk6IHN0cmluZyB8IG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbmNhdCguLi52YWx1ZXM6IChzdHJpbmcgfCBudWxsKVtdKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRvVXBwZXJDYXNlKCkudHJpbSgpO1xufVxuXG4vLyBVU1BTIGxpa2VzIHRvIGZvcmNlIHNvbWUgc3RyZWV0cyB0byBhbHdheXMgYmUgZXhwYW5kZWQuLi5cbmNvbnN0IGZvcmNlU3RyZWV0RXhwYW5zaW9uID0gbmV3IFNldChbU3RyZWV0VHlwZS5QTFpdKTtcbmZ1bmN0aW9uIHN0cmVldE5hbWUobmFtZTogc3RyaW5nIHwgbnVsbCwgdHlwZTogU3RyZWV0VHlwZSB8IG51bGwpOiAoc3RyaW5nIHwgbnVsbClbXSB7XG4gIGlmICghdHlwZSB8fCBpc1N0cmVldFByZWZpeCh0eXBlKSkgeyByZXR1cm4gW25hbWVdOyB9XG5cbiAgbGV0IHN0cmVldFR5cGVPdXQ6IHN0cmluZyA9IHR5cGU7XG4gIGlmIChmb3JjZVN0cmVldEV4cGFuc2lvbi5oYXModHlwZSkpIHsgc3RyZWV0VHlwZU91dCA9IHN0cmVldFR5cGVTdHJpbmcodHlwZSkgfHwgdHlwZTsgfVxuXG4gIGlmICghbmFtZSkgeyByZXR1cm4gW3N0cmVldFR5cGVPdXRdOyB9XG4gIGlmIChpc051bWJlck9yQ29kZShuYW1lKSAmJiAhaXNPcmRpbmFsKG5hbWUpICYmICFpc0RpcmVjdGlvbmFsKG5hbWUpKSB7XG4gICAgcmV0dXJuIFsgc3RyZWV0VHlwZVN0cmluZyh0b1N0cmVldFR5cGUodHlwZSkpLCBuYW1lIF07XG4gIH1cblxuICByZXR1cm4gWyBuYW1lLCBzdHJlZXRUeXBlT3V0IF07XG59XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzIHtcbiAgYWRkcmVzczogSVNpdHVzO1xuXG4gIGNvbnN0cnVjdG9yKC4uLmxpbmVzOiBzdHJpbmdbXSB8IElTaXR1c1tdKSB7XG4gICAgaWYgKHR5cGVvZiBsaW5lc1swXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuYWRkcmVzcyA9IHBhcnNlKGxpbmVzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmFkZHJlc3MgPSBsaW5lc1swXTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbGFiZWwoYWRkcj86IElTaXR1cyB8IG51bGwpOiBVU1BTTGFiZWwge1xuICAgIGlmICghYWRkcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2FyZTogbnVsbCxcbiAgICAgICAgdXJiYW5pemF0aW9uOiBudWxsLFxuICAgICAgICBsaW5lMTogbnVsbCxcbiAgICAgICAgbGluZTI6IG51bGwsXG4gICAgICAgIGNpdHk6IG51bGwsXG4gICAgICAgIHN0YXRlOiBudWxsLFxuICAgICAgICB6aXA6IG51bGwsXG4gICAgICAgIHppcDQ6IG51bGwsXG4gICAgICAgIGNvdW50cnk6IG51bGwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgaG93IFVTUFMgd2FudHMgVU1ScyBwcmVzZW50ZWQuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuVU1SKSB7XG4gICAgICBhZGRyLmZhY2lsaXR5VHlwZSA9ICdVTklUJyBhcyBGYWNpbGl0eVR5cGU7XG4gICAgfVxuXG4gICAgYWRkci5zdHJlZXRQcmVEaXIgPSBhZGRyLnN0cmVldFByZURpciA/IHRvRGlyZWN0aW9uYWwoYWRkci5zdHJlZXRQcmVEaXIpIDogbnVsbDtcbiAgICBhZGRyLnN0cmVldFBvc3REaXIgPSBhZGRyLnN0cmVldFBvc3REaXIgPyB0b0RpcmVjdGlvbmFsKGFkZHIuc3RyZWV0UG9zdERpcikgOiBudWxsO1xuXG4gICAgLy8gRW5zdXJlIHdlIGhhdmUgY2xlYW4gUE8gQm94ZXMgZm9yIFVTUFMuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuUE8pIHtcbiAgICAgIGFkZHIuZmFjaWxpdHkgPSBudWxsO1xuICAgIH1cblxuICAgIGxldCBzdHJlZXRTZWdtZW50OiBzdHJpbmcgfCBudWxsID0gY29uY2F0KFxuICAgICAgYWRkci5mYWNpbGl0eVR5cGUgJiYgIWlzVXJiYW5pemF0aW9uKGFkZHIuZmFjaWxpdHlUeXBlKSA/ICcnIDogYWRkci5udW1iZXIsXG4gICAgICBpc1N0cmVldFByZWZpeChhZGRyLnN0cmVldFR5cGUpID8gc3RyZWV0VHlwZVN0cmluZyhhZGRyLnN0cmVldFR5cGUpIDogJycsXG4gICAgICBhZGRyLnN0cmVldFByZURpcixcbiAgICAgIC4uLnN0cmVldE5hbWUoYWRkci5zdHJlZXROYW1lLCBhZGRyLnN0cmVldFR5cGUpLFxuICAgICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICAgICk7XG4gICAgbGV0IGZhY2lsaXR5OiBzdHJpbmcgfCBudWxsID0gY29uY2F0KGFkZHIuZmFjaWxpdHlUeXBlLCBhZGRyLmZhY2lsaXR5LCBhZGRyLmZhY2lsaXR5VHlwZSA/IGFkZHIubnVtYmVyIDogJycpO1xuICAgIGNvbnN0IFBJTiA9IGNvbmNhdChhZGRyLnBpblR5cGUgfHwgKGFkZHIucGluTnVtICYmICcjJyksIGFkZHIucGluTnVtKTtcbiAgICBjb25zdCB1bml0ID0gY29uY2F0KGFkZHIudW5pdEFiYnIgfHwgKGFkZHIudW5pdE51bSAmJiAnIycpLCBhZGRyLnVuaXROdW0pO1xuXG4gICAgbGV0IHVyYmFuaXphdGlvbiA9IG51bGw7XG4gICAgaWYgKGlzVXJiYW5pemF0aW9uKGFkZHIuZmFjaWxpdHlUeXBlKSkge1xuICAgICAgdXJiYW5pemF0aW9uID0gY29uY2F0KGFkZHIuZmFjaWxpdHlUeXBlLCBhZGRyLmZhY2lsaXR5KTtcbiAgICAgIGZhY2lsaXR5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykge1xuICAgICAgc3RyZWV0U2VnbWVudCA9IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGluZTIgPSBudWxsO1xuICAgIGlmICh1bml0IHx8IFBJTikge1xuICAgICAgaWYgKChmYWNpbGl0eSAmJiBzdHJlZXRTZWdtZW50KSB8fCAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykpIHtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIHVuaXQpO1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgUElOKTtcbiAgICAgIH1cblxuICAgICAgZWxzZSBpZiAoc3RyZWV0U2VnbWVudCkge1xuICAgICAgICBzdHJlZXRTZWdtZW50ID0gY29uY2F0KHN0cmVldFNlZ21lbnQsIHVuaXQpO1xuICAgICAgICBzdHJlZXRTZWdtZW50ID0gY29uY2F0KHN0cmVldFNlZ21lbnQsIFBJTik7XG4gICAgICB9XG5cbiAgICAgIGVsc2Uge1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgdW5pdCk7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCBQSU4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlmIChQSU4pIHtcbiAgICAvLyAgIGlmICghZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCAmJiAhYWRkci5waW5UeXBlKSB7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNhcmU6IGFkZHIuY2FyZSA/IGFkZHIuY2FyZS50b1VwcGVyQ2FzZSgpIDogbnVsbCxcbiAgICAgIHVyYmFuaXphdGlvbixcbiAgICAgIGxpbmUxOiBmYWNpbGl0eSB8fCBzdHJlZXRTZWdtZW50LFxuICAgICAgbGluZTI6ICgoZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCkgPyBzdHJlZXRTZWdtZW50IDogbGluZTIpIHx8IG51bGwsXG4gICAgICBjaXR5OiBhZGRyLmNpdHkgPyBhZGRyLmNpdHkudG9VcHBlckNhc2UoKSA6IG51bGwsXG4gICAgICBzdGF0ZTogYWRkci5zdGF0ZSA/IGFkZHIuc3RhdGUgOiBudWxsLFxuICAgICAgemlwOiBhZGRyLnppcCB8fCBudWxsLFxuICAgICAgemlwNDogYWRkci56aXA0IHx8IG51bGwsXG4gICAgICBjb3VudHJ5OiBhZGRyLmNvdW50cnkgfHwgbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGxpbmVzKGFkZHI/OiBJU2l0dXMgfCBudWxsKTogW3N0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGxdIHtcbiAgICBpZiAoIWFkZHIpIHsgcmV0dXJuIFsgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCBdOyB9XG4gICAgY29uc3QgbGFiZWwgPSBBZGRyZXNzLmxhYmVsKGFkZHIpO1xuICAgIGNvbnN0IG91dCA9IFtcbiAgICAgIGxhYmVsLmNhcmUsXG4gICAgICBsYWJlbC51cmJhbml6YXRpb24sXG4gICAgICBbIGxhYmVsLmxpbmUxLCBsYWJlbC5saW5lMiBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLFxuICAgICAgWyBsYWJlbC5jaXR5LCBsYWJlbC5zdGF0ZSwgbGFiZWwuemlwID8gYCAke2xhYmVsLnppcH1gIDogbnVsbCBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pO1xuICAgIGlmIChpc0NvdW50cnkobGFiZWwuY291bnRyeSkgJiYgbGFiZWwuY291bnRyeSAhPT0gQ291bnRyeS5VU0EpIHtcbiAgICAgIGNvbnN0IG5hbWUgPSBnZXRDb3VudHJ5RGVzYyhsYWJlbC5jb3VudHJ5KT8ubmFtZTtcbiAgICAgIG5hbWUgJiYgb3V0LnB1c2gobmFtZS50b1VwcGVyQ2FzZSgpKTtcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIG91dFswXSB8fCBudWxsLFxuICAgICAgb3V0WzFdIHx8IG51bGwsXG4gICAgICBvdXRbMl0gfHwgbnVsbCxcbiAgICAgIG91dFszXSB8fCBudWxsLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJpbnQoYWRkcj86IElTaXR1cyB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghYWRkcikgeyByZXR1cm4gJyc7IH1cbiAgICByZXR1cm4gQWRkcmVzcy5saW5lcyhhZGRyKS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG4gIH1cblxuICBwdWJsaWMgbGFiZWwoKTogVVNQU0xhYmVsIHsgcmV0dXJuIEFkZHJlc3MubGFiZWwodGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgbGluZXMoKTogW3N0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGxdIHsgcmV0dXJuIEFkZHJlc3MubGluZXModGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgcHJpbnQoKTogc3RyaW5nIHsgcmV0dXJuIEFkZHJlc3MucHJpbnQodGhpcy5hZGRyZXNzKTsgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE4SDtBQUU5SCxxQ0FBaUM7QUFDakMsa0RBQW9EO0FBQ3BELG9EQUFtRDtBQUNuRCxzREFBcUQ7QUFDckQsa0RBQW1GO0FBQ25GLDBDQUEyQztBQWMzQyxTQUFTLE1BQU0sQ0FBQyxHQUFHLE1BQXlCO0lBQzFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDL0QsQ0FBQztBQUVELDREQUE0RDtBQUM1RCxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxDQUFDLGlCQUFnQixDQUFDLENBQUM7QUFDdkQsU0FBUyxVQUFVLENBQUMsSUFBbUIsRUFBRSxJQUF1QjtJQUM5RCxJQUFJLENBQUMsSUFBSSxJQUFJLDJCQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FBRTtJQUVyRCxJQUFJLGFBQWEsR0FBVyxJQUFJLENBQUM7SUFDakMsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFBRSxhQUFhLEdBQUcsNkJBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO0tBQUU7SUFFdkYsSUFBSSxDQUFDLElBQUksRUFBRTtRQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUFFO0lBQ3RDLElBQUksMEJBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BFLE9BQU8sQ0FBRSw2QkFBZ0IsQ0FBQyx5QkFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFF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ZXNDb250ZW50IjpbImltcG9ydCB7IElTaXR1cywgU3RhdGUsIEZhY2lsaXR5VHlwZSwgU3RyZWV0VHlwZSwgaXNEaXJlY3Rpb25hbCwgQ291bnRyeSwgZ2V0Q291bnRyeURlc2MsIGlzQ291bnRyeSB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gJy4vcGFyc2VyJztcbmltcG9ydCB7IGlzTnVtYmVyT3JDb2RlIH0gZnJvbSAnLi9wYXJzZXIvdG9rZW5pemVyJztcbmltcG9ydCB7IHRvRGlyZWN0aW9uYWwgfSBmcm9tICcuL2RhdGEvRGlyZWN0aW9uYWwnO1xuaW1wb3J0IHsgaXNVcmJhbml6YXRpb24gfSBmcm9tICcuL2RhdGEvRmFjaWxpdHlUeXBlJztcbmltcG9ydCB7IGlzU3RyZWV0UHJlZml4LCB0b1N0cmVldFR5cGUsIHN0cmVldFR5cGVTdHJpbmcgfSBmcm9tICcuL2RhdGEvU3RyZWV0VHlwZSc7XG5pbXBvcnQgeyBpc09yZGluYWwgfSBmcm9tICcuL3BhcnNlci91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVVNQU0xhYmVsIHtcbiAgY2FyZTogc3RyaW5nIHwgbnVsbDtcbiAgdXJiYW5pemF0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBsaW5lMTogc3RyaW5nIHwgbnVsbDtcbiAgbGluZTI6IHN0cmluZyB8IG51bGw7XG4gIGNpdHk6IHN0cmluZyB8IG51bGw7XG4gIHN0YXRlOiBTdGF0ZSB8IG51bGw7XG4gIHppcDogc3RyaW5nIHwgbnVsbDtcbiAgemlwNDogc3RyaW5nIHwgbnVsbDtcbiAgY291bnRyeTogc3RyaW5nIHwgbnVsbDtcbn1cblxuZnVuY3Rpb24gY29uY2F0KC4uLnZhbHVlczogKHN0cmluZyB8IG51bGwpW10pOiBzdHJpbmcge1xuICByZXR1cm4gdmFsdWVzLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudG9VcHBlckNhc2UoKS50cmltKCk7XG59XG5cbi8vIFVTUFMgbGlrZXMgdG8gZm9yY2Ugc29tZSBzdHJlZXRzIHRvIGFsd2F5cyBiZSBleHBhbmRlZC4uLlxuY29uc3QgZm9yY2VTdHJlZXRFeHBhbnNpb24gPSBuZXcgU2V0KFtTdHJlZXRUeXBlLlBMWl0pO1xuZnVuY3Rpb24gc3RyZWV0TmFtZShuYW1lOiBzdHJpbmcgfCBudWxsLCB0eXBlOiBTdHJlZXRUeXBlIHwgbnVsbCk6IChzdHJpbmcgfCBudWxsKVtdIHtcbiAgaWYgKCF0eXBlIHx8IGlzU3RyZWV0UHJlZml4KHR5cGUpKSB7IHJldHVybiBbbmFtZV07IH1cblxuICBsZXQgc3RyZWV0VHlwZU91dDogc3RyaW5nID0gdHlwZTtcbiAgaWYgKGZvcmNlU3RyZWV0RXhwYW5zaW9uLmhhcyh0eXBlKSkgeyBzdHJlZXRUeXBlT3V0ID0gc3RyZWV0VHlwZVN0cmluZyh0eXBlKSB8fCB0eXBlOyB9XG5cbiAgaWYgKCFuYW1lKSB7IHJldHVybiBbc3RyZWV0VHlwZU91dF07IH1cbiAgaWYgKGlzTnVtYmVyT3JDb2RlKG5hbWUpICYmICFpc09yZGluYWwobmFtZSkgJiYgIWlzRGlyZWN0aW9uYWwobmFtZSkpIHtcbiAgICByZXR1cm4gWyBzdHJlZXRUeXBlU3RyaW5nKHRvU3RyZWV0VHlwZSh0eXBlKSksIG5hbWUgXTtcbiAgfVxuXG4gIHJldHVybiBbIG5hbWUsIHN0cmVldFR5cGVPdXQgXTtcbn1cblxuZXhwb3J0IGNsYXNzIEFkZHJlc3Mge1xuICBhZGRyZXNzOiBJU2l0dXM7XG5cbiAgY29uc3RydWN0b3IoLi4ubGluZXM6IHN0cmluZ1tdIHwgSVNpdHVzW10pIHtcbiAgICBpZiAodHlwZW9mIGxpbmVzWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5hZGRyZXNzID0gcGFyc2UobGluZXMuam9pbignXFxuJykpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuYWRkcmVzcyA9IGxpbmVzWzBdO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBsYWJlbChhZGRyPzogSVNpdHVzIHwgbnVsbCk6IFVTUFNMYWJlbCB7XG4gICAgaWYgKCFhZGRyKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjYXJlOiBudWxsLFxuICAgICAgICB1cmJhbml6YXRpb246IG51bGwsXG4gICAgICAgIGxpbmUxOiBudWxsLFxuICAgICAgICBsaW5lMjogbnVsbCxcbiAgICAgICAgY2l0eTogbnVsbCxcbiAgICAgICAgc3RhdGU6IG51bGwsXG4gICAgICAgIHppcDogbnVsbCxcbiAgICAgICAgemlwNDogbnVsbCxcbiAgICAgICAgY291bnRyeTogbnVsbCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVGhpcyBpcyBob3cgVVNQUyB3YW50cyBVTVJzIHByZXNlbnRlZC5cbiAgICBpZiAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5VTVIpIHtcbiAgICAgIGFkZHIuZmFjaWxpdHlUeXBlID0gJ1VOSVQnIGFzIEZhY2lsaXR5VHlwZTtcbiAgICB9XG5cbiAgICBhZGRyLnN0cmVldFByZURpciA9IGFkZHIuc3RyZWV0UHJlRGlyID8gdG9EaXJlY3Rpb25hbChhZGRyLnN0cmVldFByZURpcikgOiBudWxsO1xuICAgIGFkZHIuc3RyZWV0UG9zdERpciA9IGFkZHIuc3RyZWV0UG9zdERpciA/IHRvRGlyZWN0aW9uYWwoYWRkci5zdHJlZXRQb3N0RGlyKSA6IG51bGw7XG5cbiAgICAvLyBFbnN1cmUgd2UgaGF2ZSBjbGVhbiBQTyBCb3hlcyBmb3IgVVNQUy5cbiAgICBpZiAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykge1xuICAgICAgYWRkci5mYWNpbGl0eSA9IG51bGw7XG4gICAgfVxuXG4gICAgbGV0IHN0cmVldFNlZ21lbnQ6IHN0cmluZyB8IG51bGwgPSBjb25jYXQoXG4gICAgICBhZGRyLmZhY2lsaXR5VHlwZSAmJiAhaXNVcmJhbml6YXRpb24oYWRkci5mYWNpbGl0eVR5cGUpID8gJycgOiBhZGRyLm51bWJlcixcbiAgICAgIGlzU3RyZWV0UHJlZml4KGFkZHIuc3RyZWV0VHlwZSkgPyBzdHJlZXRUeXBlU3RyaW5nKGFkZHIuc3RyZWV0VHlwZSkgOiAnJyxcbiAgICAgIGFkZHIuc3RyZWV0UHJlRGlyLFxuICAgICAgLi4uc3RyZWV0TmFtZShhZGRyLnN0cmVldE5hbWUsIGFkZHIuc3RyZWV0VHlwZSksXG4gICAgICBhZGRyLnN0cmVldFBvc3REaXIsXG4gICAgKTtcbiAgICBsZXQgZmFjaWxpdHk6IHN0cmluZyB8IG51bGwgPSBjb25jYXQoYWRkci5mYWNpbGl0eVR5cGUsIGFkZHIuZmFjaWxpdHksIGFkZHIuZmFjaWxpdHlUeXBlID8gYWRkci5udW1iZXIgOiAnJyk7XG4gICAgY29uc3QgUElOID0gY29uY2F0KGFkZHIucGluVHlwZSB8fCAoYWRkci5waW5OdW0gJiYgJyMnKSwgYWRkci5waW5OdW0pO1xuICAgIGNvbnN0IHVuaXQgPSBjb25jYXQoYWRkci51bml0QWJiciB8fCAoYWRkci51bml0TnVtICYmICcjJyksIGFkZHIudW5pdE51bSk7XG5cbiAgICBsZXQgdXJiYW5pemF0aW9uID0gbnVsbDtcbiAgICBpZiAoaXNVcmJhbml6YXRpb24oYWRkci5mYWNpbGl0eVR5cGUpKSB7XG4gICAgICB1cmJhbml6YXRpb24gPSBjb25jYXQoYWRkci5mYWNpbGl0eVR5cGUsIGFkZHIuZmFjaWxpdHkpO1xuICAgICAgZmFjaWxpdHkgPSBudWxsO1xuICAgIH1cblxuICAgIGlmIChhZGRyLmZhY2lsaXR5VHlwZSA9PT0gRmFjaWxpdHlUeXBlLlBPKSB7XG4gICAgICBzdHJlZXRTZWdtZW50ID0gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBsaW5lMiA9IG51bGw7XG4gICAgaWYgKHVuaXQgfHwgUElOKSB7XG4gICAgICBpZiAoKGZhY2lsaXR5ICYmIHN0cmVldFNlZ21lbnQpIHx8IChhZGRyLmZhY2lsaXR5VHlwZSA9PT0gRmFjaWxpdHlUeXBlLlBPKSkge1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgdW5pdCk7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCBQSU4pO1xuICAgICAgfVxuXG4gICAgICBlbHNlIGlmIChzdHJlZXRTZWdtZW50KSB7XG4gICAgICAgIHN0cmVldFNlZ21lbnQgPSBjb25jYXQoc3RyZWV0U2VnbWVudCwgdW5pdCk7XG4gICAgICAgIHN0cmVldFNlZ21lbnQgPSBjb25jYXQoc3RyZWV0U2VnbWVudCwgUElOKTtcbiAgICAgIH1cblxuICAgICAgZWxzZSB7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCB1bml0KTtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIFBJTik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaWYgKFBJTikge1xuICAgIC8vICAgaWYgKCFmYWNpbGl0eSAmJiBzdHJlZXRTZWdtZW50ICYmICFhZGRyLnBpblR5cGUpIHtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2FyZTogYWRkci5jYXJlID8gYWRkci5jYXJlLnRvVXBwZXJDYXNlKCkgOiBudWxsLFxuICAgICAgdXJiYW5pemF0aW9uLFxuICAgICAgbGluZTE6IGZhY2lsaXR5IHx8IHN0cmVldFNlZ21lbnQsXG4gICAgICBsaW5lMjogKChmYWNpbGl0eSAmJiBzdHJlZXRTZWdtZW50KSA/IHN0cmVldFNlZ21lbnQgOiBsaW5lMikgfHwgbnVsbCxcbiAgICAgIGNpdHk6IGFkZHIuY2l0eSA/IGFkZHIuY2l0eS50b1VwcGVyQ2FzZSgpIDogbnVsbCxcbiAgICAgIHN0YXRlOiBhZGRyLnN0YXRlID8gYWRkci5zdGF0ZSA6IG51bGwsXG4gICAgICB6aXA6IGFkZHIuemlwIHx8IG51bGwsXG4gICAgICB6aXA0OiBhZGRyLnppcDQgfHwgbnVsbCxcbiAgICAgIGNvdW50cnk6IGFkZHIuY291bnRyeSB8fCBudWxsLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgbGluZXMoYWRkcj86IElTaXR1cyB8IG51bGwpOiBbc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbF0ge1xuICAgIGlmICghYWRkcikgeyByZXR1cm4gWyBudWxsLCBudWxsLCBudWxsLCBudWxsIF07IH1cbiAgICBjb25zdCBsYWJlbCA9IEFkZHJlc3MubGFiZWwoYWRkcik7XG4gICAgY29uc3Qgb3V0ID0gW1xuICAgICAgbGFiZWwuY2FyZSxcbiAgICAgIGxhYmVsLnVyYmFuaXphdGlvbixcbiAgICAgIFsgbGFiZWwubGluZTEsIGxhYmVsLmxpbmUyIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50cmltKCksXG4gICAgICBbIGxhYmVsLmNpdHksIGxhYmVsLnN0YXRlLCBsYWJlbC56aXAgPyBgICR7bGFiZWwuemlwfWAgOiBudWxsIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50cmltKCksXG4gICAgXS5maWx0ZXIoQm9vbGVhbik7XG4gICAgaWYgKGlzQ291bnRyeShsYWJlbC5jb3VudHJ5KSAmJiBsYWJlbC5jb3VudHJ5ICE9PSBDb3VudHJ5LlVTQSkge1xuICAgICAgY29uc3QgbmFtZSA9IGdldENvdW50cnlEZXNjKGxhYmVsLmNvdW50cnkpPy5uYW1lO1xuICAgICAgbmFtZSAmJiBvdXQucHVzaChuYW1lLnRvVXBwZXJDYXNlKCkpO1xuICAgIH1cbiAgICByZXR1cm4gW1xuICAgICAgb3V0WzBdIHx8IG51bGwsXG4gICAgICBvdXRbMV0gfHwgbnVsbCxcbiAgICAgIG91dFsyXSB8fCBudWxsLFxuICAgICAgb3V0WzNdIHx8IG51bGwsXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcmludChhZGRyPzogSVNpdHVzIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgaWYgKCFhZGRyKSB7IHJldHVybiAnJzsgfVxuICAgIHJldHVybiBBZGRyZXNzLmxpbmVzKGFkZHIpLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKTtcbiAgfVxuXG4gIHB1YmxpYyBsYWJlbCgpOiBVU1BTTGFiZWwgeyByZXR1cm4gQWRkcmVzcy5sYWJlbCh0aGlzLmFkZHJlc3MpOyB9XG4gIHB1YmxpYyBsaW5lcygpOiBbc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbF0geyByZXR1cm4gQWRkcmVzcy5saW5lcyh0aGlzLmFkZHJlc3MpOyB9XG4gIHB1YmxpYyBwcmludCgpOiBzdHJpbmcgeyByZXR1cm4gQWRkcmVzcy5wcmludCh0aGlzLmFkZHJlc3MpOyB9XG59XG4iXX0= |
@@ -400,2 +400,2 @@ "use strict"; | ||
exports.streetTypeCount = streetTypeCount; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci90b2tlbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQTBFO0FBQzFFLG1EQUFrRDtBQUNsRCx5Q0FBd0M7QUFFeEMsb0RBQW9EO0FBQ3BELDRDQUE0QztBQUU1Qyx1QkFBdUI7QUFDdkIsaUNBQWlDO0FBQ2pDLG1DQUFtQztBQUNuQyx3Q0FBd0M7QUFDeEMsc0JBQXNCO0FBRXRCLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUVyRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDekUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7Q0FDdEQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdkIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUNqRCxDQUFDLENBQUM7QUFFSCw4Q0FBOEM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBRSxDQUFDLENBQUM7QUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBRSxDQUFDLENBQUM7QUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBRSxDQUFDLENBQUM7QUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxJQUFJLEVBQUUsR0FBRyxDQUFFLENBQUMsQ0FBQztBQW9CdkMsMEVBQTBFO0FBQzFFLDRDQUE0QztBQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNO0lBQy9ELDRHQUE0RztJQUM1RyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJO0lBQ2hILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0csS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUNsSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSztJQUNySCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztJQUN0SCxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUs7SUFDdkgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDekgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDdkgsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUk7SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN0SCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLO0lBQ3ZILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMzSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0gsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDdkgsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU87SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSztJQUN2SCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMxSCxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDN0gsS0FB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QUM7S0FDeEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFSRCxvQ0FRQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxPQUFxQjtJQUNuRCxJQUFJLE9BQU8sR0FBaUIsT0FBTyxDQUFDO0lBQ3BDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLE9BQU8sT0FBTyxFQUFFO1FBQ2QsSUFBSSx5QkFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUFFLEtBQUssRUFBRSxDQUFDO1NBQUU7UUFDN0MsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FDeEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFSRCwwQ0FRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRpdGxlQ2FzZSwgaXNOdW1lcmljYWwsIG9yZGVyVG9PcmRpbmFsLCBpc09yZGVyIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBpc1N0cmVldFR5cGUgfSBmcm9tICcuLi9kYXRhL1N0cmVldFR5cGUnO1xuaW1wb3J0IHsgaXNTdGF0ZSB9IGZyb20gJy4uL2RhdGEvU3RhdGUnO1xuaW1wb3J0IHsgVW5pdEFiYnIsIFN0cmVldFR5cGUgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcbi8vIGltcG9ydCB7IGlzRmFjaWxpdHlUeXBlIH0gZnJvbSAnLi4vRmFjaWxpdHlUeXBlJztcbi8vIGltcG9ydCB7IGlzVW5pdEFiYnIgfSBmcm9tICcuLi9Vbml0QWJicic7XG5cbi8vIC8qIGVzbGludC1kaXNhYmxlICovXG4vLyBUT0RPOiBTcGVsbCBDaGVjayBJbnRlZ3JhdGlvbj9cbi8vIGNvbnN0IFR5cG8gPSByZXF1aXJlKFwidHlwby1qc1wiKTtcbi8vIGNvbnN0IGRpY3Rpb25hcnkgPSBuZXcgVHlwbygnZW5fVVMnKTtcbi8vIC8qIGVzbGludC1lbmFibGUgKi9cblxuY29uc3QgYWxwaGFzID0gbmV3IFNldChbXG4gICdBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsXG4gICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onLFxuXG4gICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgJ2gnLCAnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsXG4gICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLFxuXSk7XG5cbmNvbnN0IGRlY2ltYWxzID0gbmV3IFNldChbXG4gICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5Jyxcbl0pO1xuXG4vLyBodHRwczovL3BlLnVzcHMuY29tL3RleHQvcHViMjgvMjhjM18wMTkuaHRtXG5jb25zdCBsZWdhbENoYXJzID0gbmV3IFNldChbIC4uLmFscGhhcywgLi4uZGVjaW1hbHMgXSk7XG5cbmNvbnN0IG5ld2xpbmVzID0gbmV3IFNldChbICcsJywgJ1xcdCcsICdcXG4nIF0pO1xuY29uc3QgZGFzaGVzID0gbmV3IFNldChbICctJywgJ+KAkycsICfigJQnIF0pO1xuY29uc3Qgc2xhc2hlcyA9IG5ldyBTZXQoWyAnXFxcXCcsICcvJyBdKTtcblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuICBwcmV2OiBIZWFkIHwgVG9rZW47XG4gIG5leHQ6IFRva2VuIHwgbnVsbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgc2VwYXJhdG9yOiAnLScgfCAnLicgfCAnIycgfCAnJicgfCAnLCcgfCAnLycgfCBudWxsO1xuICBhbHBoYXM6IG51bWJlcjtcbiAgZGVjaW1hbHM6IG51bWJlcjtcbiAgaXNFT0w6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZCB7XG4gIGlzSGVhZDogdHJ1ZTtcbiAgbmV4dDogVG9rZW4gfCBudWxsO1xuICBzZXBhcmF0b3I6ICcnO1xuICBpc0VPTDogZmFsc2U7XG59XG5cbi8vIFNwZWNpYWwgbm9uLWVudW1lcmF0ZWQgYWJicmV2aWF0aW9ucyB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBjYXBpdGFsaXplXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TaGlwX3ByZWZpeFxuY29uc3QgY2FwaXRhbGl6ZSA9IG5ldyBTZXQoWyAnQUZCJywgJ0FQTycsICdGUE8nLCAnQUVDT00nLCAnSFFCTicsXG4gIC8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xpc3Rfb2ZfY29sbG9xdWlhbF9uYW1lc19mb3JfdW5pdmVyc2l0aWVzX2FuZF9jb2xsZWdlc19pbl90aGVfVW5pdGVkX1N0YXRlc1xuICAnQUZBJywgJ0EmTScsICdBJlQnLCAnQVBTVScsICdBTEFTVScsICdBU1UnLCAnQVUnLCAnQVVNJywgJ0JDJywgJ0JHU1UnLCAnQkhTVScsICdCSlUnLCAnQk1DJywgJ0JTQycsICdCU1UnLCAnQlUnLFxuICAnQllVJywgJ0NCVScsICdDQycsICdDQ05ZJywgJ0NDU1UnLCAnQ0NVJywgJ0NDVicsICdDR1UnLCAnQ0lBJywgJ0NNQycsICdDTVUnLCAnQ05VJywgJ0NTQicsICdTSlUnLCAnQ1NFJywgJ0NTSScsXG4gICdDU1UnLCAnQ1NVRicsICdDU1VFQicsICdDU1VMQScsICdDU1VTJywgJ0NVJywgJ0NVQScsICdDVU5ZJywgJ0RDJywgJ0RQVScsICdEU1UnLCAnRFUnLCAnRUNVJywgJ0VJVScsICdFTVUnLCAnRU1VJyxcbiAgJ0VOQycsICdFVFNVJywgJ0VXVScsICdFS1UnLCAnRiZNJywgJ0ZBTVUnLCAnRkFVJywgJ0ZDJywgJ0ZEVScsICdGR0NVJywgJ0ZJVCcsICdGSVUnLCAnRlBVJywgJ0ZTVScsICdGVScsICdHQicsICdHQ1UnLFxuICAnR0dDJywgJ0dPTlonLCAnR1NVJywgJ0dUJywgJ0dWU1UnLCAnSElVJywgJ0hNQycsICdIVScsICdIVScsICdIU1UnLCAnSUMnLCAnSUlUJywgJ0lQRlcnLCAnSVNVJywgJ0lVUCcsICdJVVBVSScsICdJV1UnLFxuICAnSVcnLCAnSkhVJywgJ0pNVScsICdKV1UnLCAnSlNVJywgJ0pVJywgJ0tTVScsICdLVScsICdLVScsICdMQycsICdMSFUnLCAnTElVJywgJ0xNVScsICdMU1UnLCAnTFNTVScsICdMVFUnLCAnTFUnLCAnTFVDJyxcbiAgJ01DTEEnLCAnTUlUJywgJ01NQycsICdNU1UnLCAnTVRTVScsICdNVFUnLCAnTVUnLCAnTVZTVScsICdNVVcnLCAnTkFVJywgJ05DQ1UnLCAnTkNTVScsICdORCcsICdORFNVJywgJ05FVScsICdOSVUnLCAnTktVJyxcbiAgJ05NU1UnLCAnTk1VJywgJ05TVScsICdOVScsICdOVlUnLCAnTlcnLCAnTldNU1UnLCAnTllJVCcsICdOWU1DJywgJ05ZVScsICdPQycsICdPQ0MnLCAnT0NVJywgJ09EVScsICdPSVQnLCAnT05VJywgJ09SVScsXG4gICdPU1UnLCAnT1UnLCAnUEMnLCAnUENDJywgJ1BMTlUnLCAnUE9NJywgJ1BTVScsICdQVFMnLCAnUFZBTVUnLCAnUVUnLCAnUkhJVCcsICdSSUMnLCAnUklTRCcsICdSSVQnLCAnUi1NV0MnLCAnUlBJJywgJ1JVJyxcbiAgJ1JXVScsICdSV0MnLCAnU0JVJywgJ1NDJywgJ1NDU1UnLCAnU0NVJywgJ1NEU00mVCcsICdTRFNVJywgJ1NGU1UnLCAnU0hDJywgJ1NJVUUnLCAnU0pDJywgJ1NKRkMnLCAnU0pTVScsICdTSlUnLCAnU0xVJyxcbiAgJ1NNQycsICdTTVUnLCAnU05IVScsICdTT1NVJywgJ1NQVScsICdTUlUnLCAnU1NVJywgJ1NVJywgJ1NVSScsICdTVVUnLCAnU1VOWScsICdTV09TVScsICdUQU1VJywgJ1RBTVVDQycsICdUQ05KJywgJ1RDVScsXG4gICdUU1UnLCAnVFRVJywgJ1RVJywgJ1VBJywgJ1VBQScsICdVQUInLCAnVUFGJywgJ1VBSCcsICdVQUxSJywgJ1VBTScsICdVQVBCJywgJ1VCJywgJ1VDJywgJ1VDQicsICdVQ0EnLCAnVUNDUycsICdVQ0QnLCAnVUNGJyxcbiAgJ1VDSScsICdVQ0xBJywgJ1VDTScsICdVQ08nLCAnVUNSJywgJ1VDU0InLCAnVUNTQycsICdVQ1NEJywgJ1VDU0YnLCAnVUQnLCAnVURNJywgJ1VEQycsICdVRicsICdVR0EnLCAnVUgnLCAnVUhDTCcsICdVSEQnLCAnVUhTJyxcbiAgJ1VIVicsICdVSUMnLCAnVUlVQycsICdVSycsICdVTE0nLCAnVUwnLCAnVU1CJywgJ1VNQkMnLCAnVU1DJywgJ1VNRCcsICdVTUtDJywgJ1VNTCcsICdVTU8nLCAnVU1XJywgJ1VOQScsICdVTkMnLCAnVU5DQycsXG4gICdVTkNHJywgJ1VOQ1cnLCAnVU5EJywgJ1VORicsICdVTkgnLCAnVU5JJywgJ1VOSycsICdVTkwnLCAnVU5MVicsICdVTk0nLCAnVU5PJywgJ1VOUicsICdVTlQnLCAnVU8nLCAnVU9QJywgJ1VQJywgJ1VQSUtFJyxcbiAgJ1VSSScsICdVU0EnLCAnVVNBRkEnLCAnVVNBTycsICdVU0MnLCAnVVNDQScsICdVU0QnLCAnVVNGJywgJ1VTRkNBJywgJ1VTSScsICdVU00nLCAnVVNVJywgJ1VUJywgJ1VUQScsICdVVEIvVFNDJywgJ1VUQycsXG4gICdVVEQnLCAnVVRFUCcsICdVVE0nLCAnVVRQQicsICdVVFJHVicsICdVVFNBJywgJ1VWQScsICdVVk0nLCAnVVZVJywgJ1VXJywgJ1VXRicsICdVV0cnLCAnVVdHQicsICdVV00nLCAnVkNVJywgJ1ZNSScsICdWUEknLFxuICAnVlNVJywgJ1ZUQycsICdWVScsICdXJkonLCAnVyZMJywgJ1cmTScsICdXQycsICdXQ1UnLCAnV0ZVJywgJ1dHVScsICdXSVUnLCAnV0tVJywgJ1dNVScsICdXUEknLCAnV1NVJywgJ1dUQU1VJywgJ1dWVScsICdXVlVQJyxcbiAgJ1dXVScsICdYVScsICdYVUxBJywgJ1lTVScsICdZVScsXG5dKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSGVhZCh0b2tlbjogdW5rbm93bik6IHRva2VuIGlzIEhlYWQge1xuICByZXR1cm4gISEodG9rZW4gJiYgKHRva2VuIGFzIEhlYWQpLmlzSGVhZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRUb2tlbkFmdGVyKHByZXY6IFRva2VuLCB2YWx1ZTogc3RyaW5nKTogVG9rZW4ge1xuICBjb25zdCB0b2tlbiA9IHtcbiAgICBwcmV2LFxuICAgIG5leHQ6IHByZXYubmV4dCxcbiAgICB2YWx1ZSxcbiAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgYWxwaGFzOiAodmFsdWUubWF0Y2goL1thLXpBLVpdL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgZGVjaW1hbHM6ICh2YWx1ZS5tYXRjaCgvXFxkL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgaXNFT0w6IHByZXYuaXNFT0wsXG4gIH07XG4gIHRva2VuLnByZXYubmV4dCA9IHRva2VuO1xuICB0b2tlbi5wcmV2LmlzRU9MID0gZmFsc2U7XG4gIHRva2VuLm5leHQgJiYgKHRva2VuLm5leHQucHJldiA9IHRva2VuKTtcbiAgcmV0dXJuIHRva2VuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0VG9rZW5CZWZvcmUobmV4dDogVG9rZW4sIHZhbHVlOiBzdHJpbmcpOiBUb2tlbiB7XG4gIGNvbnN0IHRva2VuID0ge1xuICAgIHByZXY6IG5leHQucHJldixcbiAgICBuZXh0LFxuICAgIHZhbHVlLFxuICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICBhbHBoYXM6ICh2YWx1ZS5tYXRjaCgvW2EtekEtWl0vZykgfHwgW10pLmxlbmd0aCxcbiAgICBkZWNpbWFsczogKHZhbHVlLm1hdGNoKC9cXGQvZykgfHwgW10pLmxlbmd0aCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG4gIHRva2VuLnByZXYgJiYgKHRva2VuLnByZXYubmV4dCA9IHRva2VuKTtcbiAgdG9rZW4ubmV4dCAmJiAodG9rZW4ubmV4dC5wcmV2ID0gdG9rZW4pO1xuICByZXR1cm4gdG9rZW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlck9yQ29kZShwb2ludGVyOiBUb2tlbiB8IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgaWYgKCFwb2ludGVyKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIGNvbnN0IHdvcmtpbmcgPSB7XG4gICAgdmFsdWU6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIgOiBwb2ludGVyLnZhbHVlLFxuICAgIGRlY2ltYWxzOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyBwb2ludGVyLm1hdGNoKC9cXGQvZyk/Lmxlbmd0aCB8fCAwIDogcG9pbnRlci5kZWNpbWFscyxcbiAgICBhbHBoYXM6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIudG9Mb3dlckNhc2UoKS5tYXRjaCgvW15cXGRdL2cpPy5sZW5ndGggfHwgMCA6IHBvaW50ZXIuYWxwaGFzLFxuICAgIHByZXY6IG51bGwsXG4gICAgc2VwYXJhdG9yOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyAnJyA6IHBvaW50ZXIuc2VwYXJhdG9yLFxuICB9O1xuXG4gIGlmICh3b3JraW5nLnNlcGFyYXRvciA9PT0gJyYnKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIC8vIElmIHN0cmluZyBzdGFydHMgd2l0aCBhIG51bWJlciwgdGhpcyBpcyBhIGNvZGUuIEV4OiBPcmRpbmFscyAoMXN0LCAybmQsIGV0YylcbiAgaWYgKHdvcmtpbmcudmFsdWUgJiYgd29ya2luZy52YWx1ZVswXS5tYXRjaCgvXlxcZC8pKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gRGFzaGVkIG9uZSwgdHdvIGFuZCB0aHJlZSBjaGFyYWN0ZXIgYWxwaGEgc3RyaW5ncyAqYXJlKiBjb2RlcyFcbiAgaWYgKHdvcmtpbmcuYWxwaGFzIDw9IDMgJiYgIXdvcmtpbmcuZGVjaW1hbHMgJiYgKGRhc2hlcy5oYXMod29ya2luZy5zZXBhcmF0b3IgfHwgJycpIHx8IGRhc2hlcy5oYXMoKHBvaW50ZXIgYXMgVG9rZW4pLnByZXY/LnNlcGFyYXRvciB8fCAnJykpKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gSWYgZGVjaW1hbHMgZXF1YWwgb3Igb3V0bnVtYmVyIGFscGhhcywgb3IgdGhpcyBpcyBhIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nLCBpcyBhIGNvZGUuXG4gIHJldHVybiAod29ya2luZy5kZWNpbWFscyA+PSB3b3JraW5nLmFscGhhcyAmJiB3b3JraW5nLmRlY2ltYWxzID4gMSkgfHwgKHdvcmtpbmcuYWxwaGFzIDw9IDEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5pemUoYWRkcjogc3RyaW5nKTogSGVhZCB7XG4gIGNvbnN0IGhlYWQ6IEhlYWQgPSB7XG4gICAgbmV4dDogbnVsbCxcbiAgICBpc0hlYWQ6IHRydWUsXG4gICAgc2VwYXJhdG9yOiAnJyxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgLy8gQ29sbGFwc2Ugd2hpdGVzcGFjZVxuICAvLyBUT0RPOiBUaGlzIHJlZ2V4IGlzIGlub3JkaW5hdGVseSBleHBlbnNpdmUuIFJlcGxhY2UuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL1xcbisvZywgJ1xcbicpLnJlcGxhY2UoLyArL2csICcgJykucmVwbGFjZSgvXFx0Ky9nLCAnXFx0Jyk7XG5cbiAgLy8gVE9ETzogQWxsIG9mIHRoZSBiZWxvdyByZWdleHBzIGFyZSBWRVJZIGV4cGVuc2l2ZS4gU2ltcGxpZnkuXG4gIC8vIFJlbW92ZSBDYXJlIE9mIEFiYnIuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0NbLy5dT1xcLj8vZ2ksICcnKTtcblxuICAvLyBQLk8uIEJveGVzIGFuZCBILkMuIEJveGVzIGFyZSBTcGVjaWFsLlxuICBhZGRyID0gYWRkclxuICAgIC5yZXBsYWNlKC9QXFwuT1xcLi9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QXFwuTy9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QIE8gL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1BcXC5PXFwuQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC9QXFwuIE9cXC4gQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC8gUE9CW1xcZCBdL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT1ggQk9YL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT0JPWC9pLCAnUE8gQk9YJylcbiAgICAucmVwbGFjZSgvUE9CWC9pLCAnUE8gQk9YJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0hcXC5DXFwuL2ksICdIQyAnKS5yZXBsYWNlKC9IXFwuQy8sICdIQyAnKS5yZXBsYWNlKC9IIEMgLywgJ0hDICcpLnJlcGxhY2UoL0hDQk9YL2ksICdIQyBCT1gnKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9oaWdod2F5IGNhcnJpZXIgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY29udHJhY3Qgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY2Fycmllci9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjb250cmFjdC9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhciByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm91dGUvaSwgJ1JSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm9hZC9pLCAnUlInKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvdG93bnNoaXAgcm9hZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJvdXRlL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zdGF0ZSByb2FkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcm9hZC9pLCAnQ1InKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9yXFwuXFxyXFwuIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zXFwuXFxyXFwuIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jXFwuXFxyXFwuIHJkL2ksICdDUicpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3J1cmFsIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC90b3duc2hpcCByZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcmQvaSwgJ0NSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgQ0FNSU5JVE8vaSwgJ0xBQ0FNSU5JVE8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvRUwgQ0FNSU5PL2ksICdFTENBTUlOTycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBDRVJSQURBL2ksICdMQUNFUlJBREEnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgRU5UUkFEQS9pLCAnTEFFTlRSQURBJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0VMIFBBU0VPL2ksICdFTFBBU0VPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFBMQUNJVEEvaSwgJ0xBUExBQ0lUQScpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9FTCBSQU5DSE8vaSwgJ0VMUkFOQ0hPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFZFUkVEQS9pLCAnTEFWRVJFREEnKTtcblxuICBsZXQgcG9pbnRlcjogVG9rZW4gfCBudWxsID0ge1xuICAgIHByZXY6IGhlYWQsXG4gICAgbmV4dDogbnVsbCxcbiAgICB2YWx1ZTogJycsXG4gICAgc2VwYXJhdG9yOiBudWxsLFxuICAgIGFscGhhczogMCxcbiAgICBkZWNpbWFsczogMCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgaGVhZC5uZXh0ID0gcG9pbnRlcjtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGFkZHIubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjaGFyID0gYWRkcltpXTtcbiAgICBjb25zdCBuZXh0ID0gYWRkcltpICsgMV07XG4gICAgaWYgKCFwb2ludGVyKSB7IGJyZWFrOyB9XG4gICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKGNoYXIpKSB7XG4gICAgICBwb2ludGVyLnZhbHVlICs9IGNoYXI7XG4gICAgICBpZiAoYWxwaGFzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmFscGhhcysrO1xuICAgICAgfVxuICAgICAgaWYgKGRlY2ltYWxzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmRlY2ltYWxzKys7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaWYgKG5ld2xpbmVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLmlzRU9MID0gdHJ1ZTsgfVxuICAgICAgZWxzZSBpZiAoZGFzaGVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLnNlcGFyYXRvciA9ICctJzsgfVxuICAgICAgZWxzZSBpZiAoY2hhciA9PT0gJy4nKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJy4nOyB9XG4gICAgICBlbHNlIGlmIChjaGFyID09PSAnJicpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnJic7IH1cbiAgICAgIGVsc2UgaWYgKGNoYXIgPT09ICcjJykgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcjJzsgfVxuICAgICAgZWxzZSBpZiAoc2xhc2hlcy5oYXMoY2hhcikpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnLyc7IH1cbiAgICAgIC8vIGlmICghaXNOdW1iZXJPckNvZGUocG9pbnRlcikgJiYgIWlzU3RhdGUocG9pbnRlci52YWx1ZSkgJiYgIWlzU3RyZWV0VHlwZShwb2ludGVyLnZhbHVlKSAmJiAhaXNGYWNpbGl0eVR5cGUocG9pbnRlci52YWx1ZSkgJiYgIWlzVW5pdEFiYnIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIC8vICAgaWYgKCFkaWN0aW9uYXJ5LmNoZWNrKHBvaW50ZXIudmFsdWUpKSB7XG4gICAgICAvLyAgICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBkaWN0aW9uYXJ5LnN1Z2dlc3QocG9pbnRlci52YWx1ZSk7XG4gICAgICAvLyAgICAgcG9pbnRlci52YWx1ZSA9IHN1Z2dlc3Rpb25zWzBdIHx8IHBvaW50ZXIudmFsdWU7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cbiAgICAgIHBvaW50ZXIudmFsdWUgPSBjYXBpdGFsaXplLmhhcyhwb2ludGVyLnZhbHVlLnRvVXBwZXJDYXNlKCkpID8gcG9pbnRlci52YWx1ZS50b1VwcGVyQ2FzZSgpIDogdGl0bGVDYXNlKHBvaW50ZXIudmFsdWUpO1xuICAgICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKG5leHQpKSB7XG4gICAgICAgIHBvaW50ZXIgPSB7XG4gICAgICAgICAgcHJldjogcG9pbnRlcixcbiAgICAgICAgICBuZXh0OiBudWxsLFxuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgICAgICAgYWxwaGFzOiAwLFxuICAgICAgICAgIGRlY2ltYWxzOiAwLFxuICAgICAgICAgIGlzRU9MOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHBvaW50ZXIucHJldikge1xuICAgICAgICAgIHBvaW50ZXIucHJldi5uZXh0ID0gcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE5vIG5ld2xpbmVzIGFmdGVyIHRoZSBsYXN0IFN0YXRlIGRpc2NvdmVyZWQuXG4gIHdoaWxlIChwb2ludGVyKSB7XG4gICAgaWYgKHBvaW50ZXIubmV4dCAmJiBpc1N0YXRlKHBvaW50ZXIubmV4dC52YWx1ZSkpIHtcbiAgICAgIHdoaWxlIChwb2ludGVyKSB7XG4gICAgICAgIHBvaW50ZXIuaXNFT0wgPSBmYWxzZTtcbiAgICAgICAgcG9pbnRlciA9IHBvaW50ZXIubmV4dDtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoaXNIZWFkKHBvaW50ZXIucHJldikpIHsgYnJlYWs7IH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5wcmV2O1xuICB9XG5cbiAgLy8gSXQgaXMgY29tbW9uIGZvciBwZW9wbGUgdG8gYmUgc2lsbHkgYW5kIHByZWZpeC9zdWZmaXggc29tZSB1bml0IG51bWJlcnMgd2l0aCB0aGVzZSBjb21tb24gYWJicmV2aWF0aW9uLlxuICAvLyBFeDogMTIzIFdhdGVyIFN0LiBBcHQgQVBUMSwgNDUgU3BydWNlIEF2ZSAxUEhcbiAgLy8gVE9ETzogV2UgY2FuIG1ha2UgdGhpcyBtb3JlIHJvYnVzdC4uLlxuICBwb2ludGVyID0gaGVhZC5uZXh0O1xuICB3aGlsZSAocG9pbnRlcikge1xuICAgIGlmICghcG9pbnRlcikgeyBicmVhazsgfVxuXG4gICAgaWYgKGlzT3JkZXIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIHBvaW50ZXIudmFsdWUgPSBvcmRlclRvT3JkaW5hbChwb2ludGVyLnZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXhUZXN0ID0gWyBVbml0QWJici5BUFQsIFVuaXRBYmJyLlBILCBVbml0QWJici5MViwgU3RyZWV0VHlwZS5SUiwgJ1NVSVRFJywgJ1VOSVQnIF07XG4gICAgY29uc3Qgc3VmZml4VGV4dCA9IFtVbml0QWJici5QSF07XG5cbiAgICBmb3IgKGNvbnN0IHByZWZpeCBvZiBwcmVmaXhUZXN0KSB7XG4gICAgICBpZiAocG9pbnRlci52YWx1ZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocHJlZml4LnRvTG93ZXJDYXNlKCkpICYmIHBvaW50ZXIudmFsdWUubGVuZ3RoID4gcHJlZml4Lmxlbmd0aCkge1xuICAgICAgICAvLyBTcGVjaWFsIENhc2UgZm9yIHBsdXJhbHNcbiAgICAgICAgaWYgKHBvaW50ZXIudmFsdWUudG9VcHBlckNhc2UoKSA9PT0gcHJlZml4LnRvVXBwZXJDYXNlKCkgKyAnUycpIHsgY29udGludWU7IH1cblxuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHBvaW50ZXIudmFsdWU7XG4gICAgICAgIHBvaW50ZXIudmFsdWUgPSBwb2ludGVyLnZhbHVlLnNsaWNlKHByZWZpeC5sZW5ndGgpO1xuICAgICAgICBwb2ludGVyLmFscGhhcyAtPSBwcmVmaXgubGVuZ3RoO1xuICAgICAgICBpZiAoIWlzTnVtYmVyT3JDb2RlKHBvaW50ZXIpKSB7XG4gICAgICAgICAgcG9pbnRlci5hbHBoYXMgKz0gcHJlZml4Lmxlbmd0aDtcbiAgICAgICAgICBwb2ludGVyLnZhbHVlID0gb2xkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaW5zZXJ0VG9rZW5CZWZvcmUocG9pbnRlciwgcHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3Qgc3VmZml4IG9mIHN1ZmZpeFRleHQpIHtcbiAgICAgIGlmIChwb2ludGVyICYmIHBvaW50ZXIudmFsdWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChzdWZmaXgudG9Mb3dlckNhc2UoKSkgJiYgcG9pbnRlci52YWx1ZS5sZW5ndGggPiBzdWZmaXgubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gcG9pbnRlci52YWx1ZTtcbiAgICAgICAgcG9pbnRlci52YWx1ZSA9IHBvaW50ZXIudmFsdWUuc2xpY2UoMCwgc3VmZml4Lmxlbmd0aCAqIC0xKTtcbiAgICAgICAgcG9pbnRlci5hbHBoYXMgLT0gc3VmZml4Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFpc051bWJlck9yQ29kZShwb2ludGVyKSkge1xuICAgICAgICAgIHBvaW50ZXIuYWxwaGFzICs9IHN1ZmZpeC5sZW5ndGg7XG4gICAgICAgICAgcG9pbnRlci52YWx1ZSA9IG9sZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5ld1Rva2VuID0gaW5zZXJ0VG9rZW5BZnRlcihwb2ludGVyLCBzdWZmaXgpO1xuICAgICAgICAgIHBvaW50ZXIgPSBuZXdUb2tlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5uZXh0O1xuICB9XG5cbiAgLy8gU29tZSBtaXMtZm9ybWF0dGVkIGZhY2lsaXR5IGFkZHJlc3NlcyB3aWxsIHByZXBlbmQgYSAnMCcgdG8gbWFrZSB0aGVtIGFwcGVhciBsaWtlIHN0cmVldCBhZGRyZXNzZXMuXG4gIGlmIChoZWFkLm5leHQgJiYgaGVhZC5uZXh0LnZhbHVlID09PSAnMCcgJiYgaGVhZC5uZXh0Lm5leHQpIHtcbiAgICBoZWFkLm5leHQgPSBoZWFkLm5leHQubmV4dDtcbiAgfVxuXG4gIHJldHVybiBoZWFkO1xufVxuXG4vLyBUT0RPOiBVc2UgVVNQUyBoeXBoZW5hdGlvbiBzdGFuZGFyZHMuXG5leHBvcnQgZnVuY3Rpb24gaXNIeXBoZW5hdGVkQ29kZShwb2ludGVyOiBUb2tlbiB8IEhlYWQpOiBib29sZWFuIHtcbiAgaWYgKGlzSGVhZChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKCFwb2ludGVyLm5leHQgfHwgIWRhc2hlcy5oYXMocG9pbnRlci5zZXBhcmF0b3IgfHwgJycpKSB7IHJldHVybiBmYWxzZTsgfVxuICByZXR1cm4gISEoaXNOdW1lcmljYWwocG9pbnRlci52YWx1ZSkgJiYgaXNOdW1lcmljYWwoKHBvaW50ZXIubmV4dCBhcyBUb2tlbikudmFsdWUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmV3bGluZVNlcChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlciB8fCBpc0hlYWQocG9pbnRlcikpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIHJldHVybiBwb2ludGVyPy5pc0VPTDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5ld2xpbmVDb3VudChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgSGVhZCB8IG51bGwgPSBwb2ludGVyO1xuICBsZXQgaSA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBpKys7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZE5leHROZXdMaW5lKHBvaW50ZXI6IFRva2VuIHwgbnVsbCk6IFRva2VuIHwgbnVsbCB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc05ld2xpbmVTZXAoY3VycmVudCkpIHsgcmV0dXJuIGN1cnJlbnQubmV4dDsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNMYXRlclN0cmVldFR5cGUocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlcikgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKGlzTmV3bGluZVNlcChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXIubmV4dDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNTdHJlZXRUeXBlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNTdGF0ZVVuaXQocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc1N0YXRlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdMaW5lQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJlZXRUeXBlQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzU3RyZWV0VHlwZShjdXJyZW50LnZhbHVlKSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci90b2tlbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQTBFO0FBQzFFLG1EQUFrRDtBQUNsRCx5Q0FBd0M7QUFFeEMsb0RBQW9EO0FBQ3BELDRDQUE0QztBQUU1Qyx1QkFBdUI7QUFDdkIsaUNBQWlDO0FBQ2pDLG1DQUFtQztBQUNuQyx3Q0FBd0M7QUFDeEMsc0JBQXNCO0FBRXRCLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUVyRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDekUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7Q0FDdEQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdkIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUNqRCxDQUFDLENBQUM7QUFFSCw4Q0FBOEM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBRSxDQUFDLENBQUM7QUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBRSxDQUFDLENBQUM7QUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBRSxDQUFDLENBQUM7QUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxJQUFJLEVBQUUsR0FBRyxDQUFFLENBQUMsQ0FBQztBQW9CdkMsMEVBQTBFO0FBQzFFLDRDQUE0QztBQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNO0lBQy9ELDRHQUE0RztJQUM1RyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJO0lBQ2hILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0csS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUNsSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSztJQUNySCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztJQUN0SCxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUs7SUFDdkgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDekgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDdkgsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUk7SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN0SCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLO0lBQ3ZILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMzSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0gsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDdkgsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU87SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSztJQUN2SCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMxSCxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDN0gsS0FB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QU8sQ0FBQyxJQUFJLENBQUM7S0FDeEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFSRCxvQ0FRQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxPQUFxQjtJQUNuRCxJQUFJLE9BQU8sR0FBaUIsT0FBTyxDQUFDO0lBQ3BDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLE9BQU8sT0FBTyxFQUFFO1FBQ2QsSUFBSSx5QkFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUFFLEtBQUssRUFBRSxDQUFDO1NBQUU7UUFDN0MsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FDeEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFSRCwwQ0FRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRpdGxlQ2FzZSwgaXNOdW1lcmljYWwsIG9yZGVyVG9PcmRpbmFsLCBpc09yZGVyIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBpc1N0cmVldFR5cGUgfSBmcm9tICcuLi9kYXRhL1N0cmVldFR5cGUnO1xuaW1wb3J0IHsgaXNTdGF0ZSB9IGZyb20gJy4uL2RhdGEvU3RhdGUnO1xuaW1wb3J0IHsgVW5pdEFiYnIsIFN0cmVldFR5cGUgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcbi8vIGltcG9ydCB7IGlzRmFjaWxpdHlUeXBlIH0gZnJvbSAnLi4vRmFjaWxpdHlUeXBlJztcbi8vIGltcG9ydCB7IGlzVW5pdEFiYnIgfSBmcm9tICcuLi9Vbml0QWJicic7XG5cbi8vIC8qIGVzbGludC1kaXNhYmxlICovXG4vLyBUT0RPOiBTcGVsbCBDaGVjayBJbnRlZ3JhdGlvbj9cbi8vIGNvbnN0IFR5cG8gPSByZXF1aXJlKFwidHlwby1qc1wiKTtcbi8vIGNvbnN0IGRpY3Rpb25hcnkgPSBuZXcgVHlwbygnZW5fVVMnKTtcbi8vIC8qIGVzbGludC1lbmFibGUgKi9cblxuY29uc3QgYWxwaGFzID0gbmV3IFNldChbXG4gICdBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsXG4gICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onLFxuXG4gICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgJ2gnLCAnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsXG4gICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLFxuXSk7XG5cbmNvbnN0IGRlY2ltYWxzID0gbmV3IFNldChbXG4gICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5Jyxcbl0pO1xuXG4vLyBodHRwczovL3BlLnVzcHMuY29tL3RleHQvcHViMjgvMjhjM18wMTkuaHRtXG5jb25zdCBsZWdhbENoYXJzID0gbmV3IFNldChbIC4uLmFscGhhcywgLi4uZGVjaW1hbHMgXSk7XG5cbmNvbnN0IG5ld2xpbmVzID0gbmV3IFNldChbICcsJywgJ1xcdCcsICdcXG4nIF0pO1xuY29uc3QgZGFzaGVzID0gbmV3IFNldChbICctJywgJ+KAkycsICfigJQnIF0pO1xuY29uc3Qgc2xhc2hlcyA9IG5ldyBTZXQoWyAnXFxcXCcsICcvJyBdKTtcblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuICBwcmV2OiBIZWFkIHwgVG9rZW47XG4gIG5leHQ6IFRva2VuIHwgbnVsbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgc2VwYXJhdG9yOiAnLScgfCAnLicgfCAnIycgfCAnJicgfCAnLCcgfCAnLycgfCBudWxsO1xuICBhbHBoYXM6IG51bWJlcjtcbiAgZGVjaW1hbHM6IG51bWJlcjtcbiAgaXNFT0w6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZCB7XG4gIGlzSGVhZDogdHJ1ZTtcbiAgbmV4dDogVG9rZW4gfCBudWxsO1xuICBzZXBhcmF0b3I6ICcnO1xuICBpc0VPTDogZmFsc2U7XG59XG5cbi8vIFNwZWNpYWwgbm9uLWVudW1lcmF0ZWQgYWJicmV2aWF0aW9ucyB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBjYXBpdGFsaXplXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TaGlwX3ByZWZpeFxuY29uc3QgY2FwaXRhbGl6ZSA9IG5ldyBTZXQoWyAnQUZCJywgJ0FQTycsICdGUE8nLCAnQUVDT00nLCAnSFFCTicsXG4gIC8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xpc3Rfb2ZfY29sbG9xdWlhbF9uYW1lc19mb3JfdW5pdmVyc2l0aWVzX2FuZF9jb2xsZWdlc19pbl90aGVfVW5pdGVkX1N0YXRlc1xuICAnQUZBJywgJ0EmTScsICdBJlQnLCAnQVBTVScsICdBTEFTVScsICdBU1UnLCAnQVUnLCAnQVVNJywgJ0JDJywgJ0JHU1UnLCAnQkhTVScsICdCSlUnLCAnQk1DJywgJ0JTQycsICdCU1UnLCAnQlUnLFxuICAnQllVJywgJ0NCVScsICdDQycsICdDQ05ZJywgJ0NDU1UnLCAnQ0NVJywgJ0NDVicsICdDR1UnLCAnQ0lBJywgJ0NNQycsICdDTVUnLCAnQ05VJywgJ0NTQicsICdTSlUnLCAnQ1NFJywgJ0NTSScsXG4gICdDU1UnLCAnQ1NVRicsICdDU1VFQicsICdDU1VMQScsICdDU1VTJywgJ0NVJywgJ0NVQScsICdDVU5ZJywgJ0RDJywgJ0RQVScsICdEU1UnLCAnRFUnLCAnRUNVJywgJ0VJVScsICdFTVUnLCAnRU1VJyxcbiAgJ0VOQycsICdFVFNVJywgJ0VXVScsICdFS1UnLCAnRiZNJywgJ0ZBTVUnLCAnRkFVJywgJ0ZDJywgJ0ZEVScsICdGR0NVJywgJ0ZJVCcsICdGSVUnLCAnRlBVJywgJ0ZTVScsICdGVScsICdHQicsICdHQ1UnLFxuICAnR0dDJywgJ0dPTlonLCAnR1NVJywgJ0dUJywgJ0dWU1UnLCAnSElVJywgJ0hNQycsICdIVScsICdIVScsICdIU1UnLCAnSUMnLCAnSUlUJywgJ0lQRlcnLCAnSVNVJywgJ0lVUCcsICdJVVBVSScsICdJV1UnLFxuICAnSVcnLCAnSkhVJywgJ0pNVScsICdKV1UnLCAnSlNVJywgJ0pVJywgJ0tTVScsICdLVScsICdLVScsICdMQycsICdMSFUnLCAnTElVJywgJ0xNVScsICdMU1UnLCAnTFNTVScsICdMVFUnLCAnTFUnLCAnTFVDJyxcbiAgJ01DTEEnLCAnTUlUJywgJ01NQycsICdNU1UnLCAnTVRTVScsICdNVFUnLCAnTVUnLCAnTVZTVScsICdNVVcnLCAnTkFVJywgJ05DQ1UnLCAnTkNTVScsICdORCcsICdORFNVJywgJ05FVScsICdOSVUnLCAnTktVJyxcbiAgJ05NU1UnLCAnTk1VJywgJ05TVScsICdOVScsICdOVlUnLCAnTlcnLCAnTldNU1UnLCAnTllJVCcsICdOWU1DJywgJ05ZVScsICdPQycsICdPQ0MnLCAnT0NVJywgJ09EVScsICdPSVQnLCAnT05VJywgJ09SVScsXG4gICdPU1UnLCAnT1UnLCAnUEMnLCAnUENDJywgJ1BMTlUnLCAnUE9NJywgJ1BTVScsICdQVFMnLCAnUFZBTVUnLCAnUVUnLCAnUkhJVCcsICdSSUMnLCAnUklTRCcsICdSSVQnLCAnUi1NV0MnLCAnUlBJJywgJ1JVJyxcbiAgJ1JXVScsICdSV0MnLCAnU0JVJywgJ1NDJywgJ1NDU1UnLCAnU0NVJywgJ1NEU00mVCcsICdTRFNVJywgJ1NGU1UnLCAnU0hDJywgJ1NJVUUnLCAnU0pDJywgJ1NKRkMnLCAnU0pTVScsICdTSlUnLCAnU0xVJyxcbiAgJ1NNQycsICdTTVUnLCAnU05IVScsICdTT1NVJywgJ1NQVScsICdTUlUnLCAnU1NVJywgJ1NVJywgJ1NVSScsICdTVVUnLCAnU1VOWScsICdTV09TVScsICdUQU1VJywgJ1RBTVVDQycsICdUQ05KJywgJ1RDVScsXG4gICdUU1UnLCAnVFRVJywgJ1RVJywgJ1VBJywgJ1VBQScsICdVQUInLCAnVUFGJywgJ1VBSCcsICdVQUxSJywgJ1VBTScsICdVQVBCJywgJ1VCJywgJ1VDJywgJ1VDQicsICdVQ0EnLCAnVUNDUycsICdVQ0QnLCAnVUNGJyxcbiAgJ1VDSScsICdVQ0xBJywgJ1VDTScsICdVQ08nLCAnVUNSJywgJ1VDU0InLCAnVUNTQycsICdVQ1NEJywgJ1VDU0YnLCAnVUQnLCAnVURNJywgJ1VEQycsICdVRicsICdVR0EnLCAnVUgnLCAnVUhDTCcsICdVSEQnLCAnVUhTJyxcbiAgJ1VIVicsICdVSUMnLCAnVUlVQycsICdVSycsICdVTE0nLCAnVUwnLCAnVU1CJywgJ1VNQkMnLCAnVU1DJywgJ1VNRCcsICdVTUtDJywgJ1VNTCcsICdVTU8nLCAnVU1XJywgJ1VOQScsICdVTkMnLCAnVU5DQycsXG4gICdVTkNHJywgJ1VOQ1cnLCAnVU5EJywgJ1VORicsICdVTkgnLCAnVU5JJywgJ1VOSycsICdVTkwnLCAnVU5MVicsICdVTk0nLCAnVU5PJywgJ1VOUicsICdVTlQnLCAnVU8nLCAnVU9QJywgJ1VQJywgJ1VQSUtFJyxcbiAgJ1VSSScsICdVU0EnLCAnVVNBRkEnLCAnVVNBTycsICdVU0MnLCAnVVNDQScsICdVU0QnLCAnVVNGJywgJ1VTRkNBJywgJ1VTSScsICdVU00nLCAnVVNVJywgJ1VUJywgJ1VUQScsICdVVEIvVFNDJywgJ1VUQycsXG4gICdVVEQnLCAnVVRFUCcsICdVVE0nLCAnVVRQQicsICdVVFJHVicsICdVVFNBJywgJ1VWQScsICdVVk0nLCAnVVZVJywgJ1VXJywgJ1VXRicsICdVV0cnLCAnVVdHQicsICdVV00nLCAnVkNVJywgJ1ZNSScsICdWUEknLFxuICAnVlNVJywgJ1ZUQycsICdWVScsICdXJkonLCAnVyZMJywgJ1cmTScsICdXQycsICdXQ1UnLCAnV0ZVJywgJ1dHVScsICdXSVUnLCAnV0tVJywgJ1dNVScsICdXUEknLCAnV1NVJywgJ1dUQU1VJywgJ1dWVScsICdXVlVQJyxcbiAgJ1dXVScsICdYVScsICdYVUxBJywgJ1lTVScsICdZVScsXG5dKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSGVhZCh0b2tlbjogdW5rbm93bik6IHRva2VuIGlzIEhlYWQge1xuICByZXR1cm4gISEodG9rZW4gJiYgKHRva2VuIGFzIEhlYWQpLmlzSGVhZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRUb2tlbkFmdGVyKHByZXY6IFRva2VuLCB2YWx1ZTogc3RyaW5nKTogVG9rZW4ge1xuICBjb25zdCB0b2tlbiA9IHtcbiAgICBwcmV2LFxuICAgIG5leHQ6IHByZXYubmV4dCxcbiAgICB2YWx1ZSxcbiAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgYWxwaGFzOiAodmFsdWUubWF0Y2goL1thLXpBLVpdL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgZGVjaW1hbHM6ICh2YWx1ZS5tYXRjaCgvXFxkL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgaXNFT0w6IHByZXYuaXNFT0wsXG4gIH07XG4gIHRva2VuLnByZXYubmV4dCA9IHRva2VuO1xuICB0b2tlbi5wcmV2LmlzRU9MID0gZmFsc2U7XG4gIHRva2VuLm5leHQgJiYgKHRva2VuLm5leHQucHJldiA9IHRva2VuKTtcbiAgcmV0dXJuIHRva2VuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0VG9rZW5CZWZvcmUobmV4dDogVG9rZW4sIHZhbHVlOiBzdHJpbmcpOiBUb2tlbiB7XG4gIGNvbnN0IHRva2VuID0ge1xuICAgIHByZXY6IG5leHQucHJldixcbiAgICBuZXh0LFxuICAgIHZhbHVlLFxuICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICBhbHBoYXM6ICh2YWx1ZS5tYXRjaCgvW2EtekEtWl0vZykgfHwgW10pLmxlbmd0aCxcbiAgICBkZWNpbWFsczogKHZhbHVlLm1hdGNoKC9cXGQvZykgfHwgW10pLmxlbmd0aCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG4gIHRva2VuLnByZXYgJiYgKHRva2VuLnByZXYubmV4dCA9IHRva2VuKTtcbiAgdG9rZW4ubmV4dCAmJiAodG9rZW4ubmV4dC5wcmV2ID0gdG9rZW4pO1xuICByZXR1cm4gdG9rZW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlck9yQ29kZShwb2ludGVyOiBUb2tlbiB8IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgaWYgKCFwb2ludGVyKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIGNvbnN0IHdvcmtpbmcgPSB7XG4gICAgdmFsdWU6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIgOiBwb2ludGVyLnZhbHVlLFxuICAgIGRlY2ltYWxzOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyBwb2ludGVyLm1hdGNoKC9cXGQvZyk/Lmxlbmd0aCB8fCAwIDogcG9pbnRlci5kZWNpbWFscyxcbiAgICBhbHBoYXM6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIudG9Mb3dlckNhc2UoKS5tYXRjaCgvW15cXGRdL2cpPy5sZW5ndGggfHwgMCA6IHBvaW50ZXIuYWxwaGFzLFxuICAgIHByZXY6IG51bGwsXG4gICAgc2VwYXJhdG9yOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyAnJyA6IHBvaW50ZXIuc2VwYXJhdG9yLFxuICB9O1xuXG4gIGlmICh3b3JraW5nLnNlcGFyYXRvciA9PT0gJyYnKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIC8vIElmIHN0cmluZyBzdGFydHMgd2l0aCBhIG51bWJlciwgdGhpcyBpcyBhIGNvZGUuIEV4OiBPcmRpbmFscyAoMXN0LCAybmQsIGV0YylcbiAgaWYgKHdvcmtpbmcudmFsdWUgJiYgd29ya2luZy52YWx1ZVswXS5tYXRjaCgvXlxcZC8pKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gRGFzaGVkIG9uZSwgdHdvIGFuZCB0aHJlZSBjaGFyYWN0ZXIgYWxwaGEgc3RyaW5ncyAqYXJlKiBjb2RlcyFcbiAgaWYgKHdvcmtpbmcuYWxwaGFzIDw9IDMgJiYgIXdvcmtpbmcuZGVjaW1hbHMgJiYgKGRhc2hlcy5oYXMod29ya2luZy5zZXBhcmF0b3IgfHwgJycpIHx8IGRhc2hlcy5oYXMoKHBvaW50ZXIgYXMgVG9rZW4pLnByZXY/LnNlcGFyYXRvciB8fCAnJykpKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gSWYgZGVjaW1hbHMgZXF1YWwgb3Igb3V0bnVtYmVyIGFscGhhcywgb3IgdGhpcyBpcyBhIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nLCBpcyBhIGNvZGUuXG4gIHJldHVybiAod29ya2luZy5kZWNpbWFscyA+PSB3b3JraW5nLmFscGhhcyAmJiB3b3JraW5nLmRlY2ltYWxzID4gMSkgfHwgKHdvcmtpbmcuYWxwaGFzIDw9IDEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5pemUoYWRkcjogc3RyaW5nKTogSGVhZCB7XG4gIGNvbnN0IGhlYWQ6IEhlYWQgPSB7XG4gICAgbmV4dDogbnVsbCxcbiAgICBpc0hlYWQ6IHRydWUsXG4gICAgc2VwYXJhdG9yOiAnJyxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgLy8gQ29sbGFwc2Ugd2hpdGVzcGFjZVxuICAvLyBUT0RPOiBUaGlzIHJlZ2V4IGlzIGlub3JkaW5hdGVseSBleHBlbnNpdmUuIFJlcGxhY2UuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL1xcbisvZywgJ1xcbicpLnJlcGxhY2UoLyArL2csICcgJykucmVwbGFjZSgvXFx0Ky9nLCAnXFx0Jyk7XG5cbiAgLy8gVE9ETzogQWxsIG9mIHRoZSBiZWxvdyByZWdleHBzIGFyZSBWRVJZIGV4cGVuc2l2ZS4gU2ltcGxpZnkuXG4gIC8vIFJlbW92ZSBDYXJlIE9mIEFiYnIuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0NbLy5dT1xcLj8vZ2ksICcnKTtcblxuICAvLyBQLk8uIEJveGVzIGFuZCBILkMuIEJveGVzIGFyZSBTcGVjaWFsLlxuICBhZGRyID0gYWRkclxuICAgIC5yZXBsYWNlKC9QXFwuT1xcLi9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QXFwuTy9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QIE8gL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1BcXC5PXFwuQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC9QXFwuIE9cXC4gQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC8gUE9CW1xcZCBdL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT1ggQk9YL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT0JPWC9pLCAnUE8gQk9YJylcbiAgICAucmVwbGFjZSgvUE9CWC9pLCAnUE8gQk9YJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0hcXC5DXFwuL2ksICdIQyAnKS5yZXBsYWNlKC9IXFwuQy8sICdIQyAnKS5yZXBsYWNlKC9IIEMgLywgJ0hDICcpLnJlcGxhY2UoL0hDQk9YL2ksICdIQyBCT1gnKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9oaWdod2F5IGNhcnJpZXIgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY29udHJhY3Qgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY2Fycmllci9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjb250cmFjdC9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhciByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm91dGUvaSwgJ1JSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm9hZC9pLCAnUlInKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvdG93bnNoaXAgcm9hZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJvdXRlL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zdGF0ZSByb2FkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcm9hZC9pLCAnQ1InKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9yXFwuXFxyXFwuIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zXFwuXFxyXFwuIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jXFwuXFxyXFwuIHJkL2ksICdDUicpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3J1cmFsIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC90b3duc2hpcCByZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcmQvaSwgJ0NSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgQ0FNSU5JVE8vaSwgJ0xBQ0FNSU5JVE8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvRUwgQ0FNSU5PL2ksICdFTENBTUlOTycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBDRVJSQURBL2ksICdMQUNFUlJBREEnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgRU5UUkFEQS9pLCAnTEFFTlRSQURBJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0VMIFBBU0VPL2ksICdFTFBBU0VPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFBMQUNJVEEvaSwgJ0xBUExBQ0lUQScpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9FTCBSQU5DSE8vaSwgJ0VMUkFOQ0hPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFZFUkVEQS9pLCAnTEFWRVJFREEnKTtcblxuICBsZXQgcG9pbnRlcjogVG9rZW4gfCBudWxsID0ge1xuICAgIHByZXY6IGhlYWQsXG4gICAgbmV4dDogbnVsbCxcbiAgICB2YWx1ZTogJycsXG4gICAgc2VwYXJhdG9yOiBudWxsLFxuICAgIGFscGhhczogMCxcbiAgICBkZWNpbWFsczogMCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgaGVhZC5uZXh0ID0gcG9pbnRlcjtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGFkZHIubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjaGFyID0gYWRkcltpXTtcbiAgICBjb25zdCBuZXh0ID0gYWRkcltpICsgMV07XG4gICAgaWYgKCFwb2ludGVyKSB7IGJyZWFrOyB9XG4gICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKGNoYXIpKSB7XG4gICAgICBwb2ludGVyLnZhbHVlICs9IGNoYXI7XG4gICAgICBpZiAoYWxwaGFzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmFscGhhcysrO1xuICAgICAgfVxuICAgICAgaWYgKGRlY2ltYWxzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmRlY2ltYWxzKys7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaWYgKG5ld2xpbmVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLmlzRU9MID0gdHJ1ZTsgfVxuICAgICAgZWxzZSBpZiAoZGFzaGVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLnNlcGFyYXRvciA9ICctJzsgfVxuICAgICAgZWxzZSBpZiAoY2hhciA9PT0gJy4nKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJy4nOyB9XG4gICAgICBlbHNlIGlmIChjaGFyID09PSAnJicpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnJic7IH1cbiAgICAgIGVsc2UgaWYgKGNoYXIgPT09ICcjJykgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcjJzsgfVxuICAgICAgZWxzZSBpZiAoc2xhc2hlcy5oYXMoY2hhcikpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnLyc7IH1cbiAgICAgIC8vIGlmICghaXNOdW1iZXJPckNvZGUocG9pbnRlcikgJiYgIWlzU3RhdGUocG9pbnRlci52YWx1ZSkgJiYgIWlzU3RyZWV0VHlwZShwb2ludGVyLnZhbHVlKSAmJiAhaXNGYWNpbGl0eVR5cGUocG9pbnRlci52YWx1ZSkgJiYgIWlzVW5pdEFiYnIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIC8vICAgaWYgKCFkaWN0aW9uYXJ5LmNoZWNrKHBvaW50ZXIudmFsdWUpKSB7XG4gICAgICAvLyAgICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBkaWN0aW9uYXJ5LnN1Z2dlc3QocG9pbnRlci52YWx1ZSk7XG4gICAgICAvLyAgICAgcG9pbnRlci52YWx1ZSA9IHN1Z2dlc3Rpb25zWzBdIHx8IHBvaW50ZXIudmFsdWU7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cbiAgICAgIHBvaW50ZXIudmFsdWUgPSBjYXBpdGFsaXplLmhhcyhwb2ludGVyLnZhbHVlLnRvVXBwZXJDYXNlKCkpID8gcG9pbnRlci52YWx1ZS50b1VwcGVyQ2FzZSgpIDogdGl0bGVDYXNlKHBvaW50ZXIudmFsdWUpO1xuICAgICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKG5leHQpKSB7XG4gICAgICAgIHBvaW50ZXIgPSB7XG4gICAgICAgICAgcHJldjogcG9pbnRlcixcbiAgICAgICAgICBuZXh0OiBudWxsLFxuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgICAgICAgYWxwaGFzOiAwLFxuICAgICAgICAgIGRlY2ltYWxzOiAwLFxuICAgICAgICAgIGlzRU9MOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHBvaW50ZXIucHJldikge1xuICAgICAgICAgIHBvaW50ZXIucHJldi5uZXh0ID0gcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE5vIG5ld2xpbmVzIGFmdGVyIHRoZSBsYXN0IFN0YXRlIGRpc2NvdmVyZWQuXG4gIHdoaWxlIChwb2ludGVyKSB7XG4gICAgaWYgKHBvaW50ZXIubmV4dCAmJiBpc1N0YXRlKHBvaW50ZXIubmV4dC52YWx1ZSkpIHtcbiAgICAgIHdoaWxlIChwb2ludGVyKSB7XG4gICAgICAgIHBvaW50ZXIuaXNFT0wgPSBmYWxzZTtcbiAgICAgICAgcG9pbnRlciA9IHBvaW50ZXIubmV4dDtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoaXNIZWFkKHBvaW50ZXIucHJldikpIHsgYnJlYWs7IH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5wcmV2O1xuICB9XG5cbiAgLy8gSXQgaXMgY29tbW9uIGZvciBwZW9wbGUgdG8gYmUgc2lsbHkgYW5kIHByZWZpeC9zdWZmaXggc29tZSB1bml0IG51bWJlcnMgd2l0aCB0aGVzZSBjb21tb24gYWJicmV2aWF0aW9uLlxuICAvLyBFeDogMTIzIFdhdGVyIFN0LiBBcHQgQVBUMSwgNDUgU3BydWNlIEF2ZSAxUEhcbiAgLy8gVE9ETzogV2UgY2FuIG1ha2UgdGhpcyBtb3JlIHJvYnVzdC4uLlxuICBwb2ludGVyID0gaGVhZC5uZXh0O1xuICB3aGlsZSAocG9pbnRlcikge1xuICAgIGlmICghcG9pbnRlcikgeyBicmVhazsgfVxuXG4gICAgaWYgKGlzT3JkZXIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIHBvaW50ZXIudmFsdWUgPSBvcmRlclRvT3JkaW5hbChwb2ludGVyLnZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXhUZXN0ID0gWyBVbml0QWJici5BUFQsIFVuaXRBYmJyLlBILCBVbml0QWJici5MViwgU3RyZWV0VHlwZS5SUiwgJ1NVSVRFJywgJ1VOSVQnIF07XG4gICAgY29uc3Qgc3VmZml4VGV4dCA9IFtVbml0QWJici5QSF07XG5cbiAgICBmb3IgKGNvbnN0IHByZWZpeCBvZiBwcmVmaXhUZXN0KSB7XG4gICAgICBpZiAocG9pbnRlci52YWx1ZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocHJlZml4LnRvTG93ZXJDYXNlKCkpICYmIHBvaW50ZXIudmFsdWUubGVuZ3RoID4gcHJlZml4Lmxlbmd0aCkge1xuICAgICAgICAvLyBTcGVjaWFsIENhc2UgZm9yIHBsdXJhbHNcbiAgICAgICAgaWYgKHBvaW50ZXIudmFsdWUudG9VcHBlckNhc2UoKSA9PT0gcHJlZml4LnRvVXBwZXJDYXNlKCkgKyAnUycpIHsgY29udGludWU7IH1cblxuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHBvaW50ZXIudmFsdWU7XG4gICAgICAgIHBvaW50ZXIudmFsdWUgPSBwb2ludGVyLnZhbHVlLnNsaWNlKHByZWZpeC5sZW5ndGgpO1xuICAgICAgICBwb2ludGVyLmFscGhhcyAtPSBwcmVmaXgubGVuZ3RoO1xuICAgICAgICBpZiAoIWlzTnVtYmVyT3JDb2RlKHBvaW50ZXIpKSB7XG4gICAgICAgICAgcG9pbnRlci5hbHBoYXMgKz0gcHJlZml4Lmxlbmd0aDtcbiAgICAgICAgICBwb2ludGVyLnZhbHVlID0gb2xkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaW5zZXJ0VG9rZW5CZWZvcmUocG9pbnRlciwgcHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3Qgc3VmZml4IG9mIHN1ZmZpeFRleHQpIHtcbiAgICAgIGlmIChwb2ludGVyICYmIHBvaW50ZXIudmFsdWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChzdWZmaXgudG9Mb3dlckNhc2UoKSkgJiYgcG9pbnRlci52YWx1ZS5sZW5ndGggPiBzdWZmaXgubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gcG9pbnRlci52YWx1ZTtcbiAgICAgICAgcG9pbnRlci52YWx1ZSA9IHBvaW50ZXIudmFsdWUuc2xpY2UoMCwgc3VmZml4Lmxlbmd0aCAqIC0xKTtcbiAgICAgICAgcG9pbnRlci5hbHBoYXMgLT0gc3VmZml4Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFpc051bWJlck9yQ29kZShwb2ludGVyKSkge1xuICAgICAgICAgIHBvaW50ZXIuYWxwaGFzICs9IHN1ZmZpeC5sZW5ndGg7XG4gICAgICAgICAgcG9pbnRlci52YWx1ZSA9IG9sZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5ld1Rva2VuID0gaW5zZXJ0VG9rZW5BZnRlcihwb2ludGVyLCBzdWZmaXgpO1xuICAgICAgICAgIHBvaW50ZXIgPSBuZXdUb2tlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5uZXh0O1xuICB9XG5cbiAgLy8gU29tZSBtaXMtZm9ybWF0dGVkIGZhY2lsaXR5IGFkZHJlc3NlcyB3aWxsIHByZXBlbmQgYSAnMCcgdG8gbWFrZSB0aGVtIGFwcGVhciBsaWtlIHN0cmVldCBhZGRyZXNzZXMuXG4gIGlmIChoZWFkLm5leHQgJiYgaGVhZC5uZXh0LnZhbHVlID09PSAnMCcgJiYgaGVhZC5uZXh0Lm5leHQpIHtcbiAgICBoZWFkLm5leHQgPSBoZWFkLm5leHQubmV4dDtcbiAgfVxuXG4gIHJldHVybiBoZWFkO1xufVxuXG4vLyBUT0RPOiBVc2UgVVNQUyBoeXBoZW5hdGlvbiBzdGFuZGFyZHMuXG5leHBvcnQgZnVuY3Rpb24gaXNIeXBoZW5hdGVkQ29kZShwb2ludGVyOiBUb2tlbiB8IEhlYWQpOiBib29sZWFuIHtcbiAgaWYgKGlzSGVhZChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKCFwb2ludGVyLm5leHQgfHwgIWRhc2hlcy5oYXMocG9pbnRlci5zZXBhcmF0b3IgfHwgJycpKSB7IHJldHVybiBmYWxzZTsgfVxuICByZXR1cm4gISEoaXNOdW1lcmljYWwocG9pbnRlci52YWx1ZSkgJiYgaXNOdW1lcmljYWwoKHBvaW50ZXIubmV4dCBhcyBUb2tlbikudmFsdWUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmV3bGluZVNlcChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlciB8fCBpc0hlYWQocG9pbnRlcikpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIHJldHVybiBwb2ludGVyPy5pc0VPTDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5ld2xpbmVDb3VudChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgSGVhZCB8IG51bGwgPSBwb2ludGVyO1xuICBsZXQgaSA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBpKys7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZE5leHROZXdMaW5lKHBvaW50ZXI6IFRva2VuIHwgbnVsbCk6IFRva2VuIHwgbnVsbCB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc05ld2xpbmVTZXAoY3VycmVudCkpIHsgcmV0dXJuIGN1cnJlbnQubmV4dDsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNMYXRlclN0cmVldFR5cGUocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlcikgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKGlzTmV3bGluZVNlcChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXIubmV4dDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNTdHJlZXRUeXBlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNTdGF0ZVVuaXQocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc1N0YXRlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdMaW5lQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJlZXRUeXBlQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzU3RyZWV0VHlwZShjdXJyZW50LnZhbHVlKSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG4iXX0= |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.buildingHash = exports.unitHash = exports.hash = void 0; | ||
const crypto = require("crypto"); | ||
const util_1 = require("@universe/util"); | ||
const CACHE = new Map(); | ||
@@ -15,3 +15,3 @@ function hash(addr) { | ||
].filter(Boolean).join(); | ||
const hash = CACHE.get(val) || crypto.createHash('md5').update(val).digest('hex'); | ||
const hash = CACHE.get(val) || util_1.md5(val); | ||
CACHE.set(val, hash); | ||
@@ -32,3 +32,3 @@ return hash; | ||
].filter(Boolean).join(' ').toLowerCase().replace(/[-_/\\]/g, ' ').replace(/[^a-z0-9 ]/g, '') || JSON.stringify(addr); | ||
const hash = HASH_CACHE.get(val) || crypto.createHash('md5').update(val).digest('hex'); | ||
const hash = HASH_CACHE.get(val) || util_1.md5(val); | ||
HASH_CACHE.set(val, hash); | ||
@@ -46,3 +46,3 @@ return hash; | ||
].filter(Boolean).join(' ').toLowerCase().replace(/[-_/\\]/g, ' ').replace(/[^a-z0-9 ]/g, ''); | ||
const hash = HASH_CACHE.get(val) || crypto.createHash('md5').update(val).digest('hex'); | ||
const hash = HASH_CACHE.get(val) || util_1.md5(val); | ||
HASH_CACHE.set(val, hash); | ||
@@ -52,2 +52,2 @@ return hash; | ||
exports.buildingHash = buildingHash; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy91aWRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFpQztBQUlqQyxNQUFNLEtBQUssR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUM3QyxTQUFnQixJQUFJLENBQUMsSUFBcUI7SUFDeEMsTUFBTSxHQUFHLEdBQUc7UUFDVixJQUFJLENBQUMsTUFBTTtRQUNYLElBQUksQ0FBQyxZQUFZO1FBQ2pCLElBQUksQ0FBQyxVQUFVO1FBQ2YsSUFBSSxDQUFDLGFBQWE7UUFDbEIsSUFBSSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsR0FBRztLQUNULENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xGLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQVpELG9CQVlDO0FBRUQsMEVBQTBFO0FBQzFFLE1BQU0sVUFBVSxHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQ2xELFNBQWdCLFFBQVEsQ0FBQyxJQUFxQjtJQUM1QyxNQUFNLEdBQUcsR0FBRztRQUNWLElBQUksQ0FBQyxNQUFNO1FBQ1gsSUFBSSxDQUFDLFlBQVk7UUFDakIsSUFBSSxDQUFDLFVBQVU7UUFDZixJQUFJLENBQUMsVUFBVTtRQUNmLElBQUksQ0FBQyxhQUFhO1FBQ2xCLElBQUksQ0FBQyxPQUFPO0tBQ2IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RILE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZGLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQVpELDRCQVlDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLElBQXFCO0lBQ2hELE1BQU0sR0FBRyxHQUFHO1FBQ1YsSUFBSSxDQUFDLE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWTtRQUNqQixJQUFJLENBQUMsVUFBVTtRQUNmLElBQUksQ0FBQyxVQUFVO1FBQ2YsSUFBSSxDQUFDLGFBQWE7S0FDbkIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5RixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQixPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFYRCxvQ0FXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG5pbXBvcnQgeyBJU2l0dXMgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcblxuY29uc3QgQ0FDSEU6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKCk7XG5leHBvcnQgZnVuY3Rpb24gaGFzaChhZGRyOiBQYXJ0aWFsPElTaXR1cz4pOiBzdHJpbmcge1xuICBjb25zdCB2YWwgPSBbXG4gICAgYWRkci5udW1iZXIsXG4gICAgYWRkci5zdHJlZXRQcmVEaXIsXG4gICAgYWRkci5zdHJlZXROYW1lLFxuICAgIGFkZHIuc3RyZWV0UG9zdERpcixcbiAgICBhZGRyLnVuaXROdW0sXG4gICAgYWRkci56aXAsXG4gIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oKTtcbiAgY29uc3QgaGFzaCA9IENBQ0hFLmdldCh2YWwpIHx8IGNyeXB0by5jcmVhdGVIYXNoKCdtZDUnKS51cGRhdGUodmFsKS5kaWdlc3QoJ2hleCcpO1xuICBDQUNIRS5zZXQodmFsLCBoYXNoKTtcbiAgcmV0dXJuIGhhc2g7XG59XG5cbi8vIFRPRE86IFJlcGxhY2UgaGFzaCgpIHdpdGggdGhpcyBpbXBsZW1lbnRhdGlvbiBvbmNlIGdlb2RhdGEgaXMgbWlncmF0ZWQuXG5jb25zdCBIQVNIX0NBQ0hFOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xuZXhwb3J0IGZ1bmN0aW9uIHVuaXRIYXNoKGFkZHI6IFBhcnRpYWw8SVNpdHVzPik6IHN0cmluZyB7XG4gIGNvbnN0IHZhbCA9IFtcbiAgICBhZGRyLm51bWJlcixcbiAgICBhZGRyLnN0cmVldFByZURpcixcbiAgICBhZGRyLnN0cmVldE5hbWUsXG4gICAgYWRkci5zdHJlZXRUeXBlLFxuICAgIGFkZHIuc3RyZWV0UG9zdERpcixcbiAgICBhZGRyLnVuaXROdW0sXG4gIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1stXy9cXFxcXS9nLCAnICcpLnJlcGxhY2UoL1teYS16MC05IF0vZywgJycpIHx8IEpTT04uc3RyaW5naWZ5KGFkZHIpO1xuICBjb25zdCBoYXNoID0gSEFTSF9DQUNIRS5nZXQodmFsKSB8fCBjcnlwdG8uY3JlYXRlSGFzaCgnbWQ1JykudXBkYXRlKHZhbCkuZGlnZXN0KCdoZXgnKTtcbiAgSEFTSF9DQUNIRS5zZXQodmFsLCBoYXNoKTtcbiAgcmV0dXJuIGhhc2g7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZGluZ0hhc2goYWRkcjogUGFydGlhbDxJU2l0dXM+KTogc3RyaW5nIHtcbiAgY29uc3QgdmFsID0gW1xuICAgIGFkZHIubnVtYmVyLFxuICAgIGFkZHIuc3RyZWV0UHJlRGlyLFxuICAgIGFkZHIuc3RyZWV0TmFtZSxcbiAgICBhZGRyLnN0cmVldFR5cGUsXG4gICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bLV8vXFxcXF0vZywgJyAnKS5yZXBsYWNlKC9bXmEtejAtOSBdL2csICcnKTtcbiAgY29uc3QgaGFzaCA9IEhBU0hfQ0FDSEUuZ2V0KHZhbCkgfHwgY3J5cHRvLmNyZWF0ZUhhc2goJ21kNScpLnVwZGF0ZSh2YWwpLmRpZ2VzdCgnaGV4Jyk7XG4gIEhBU0hfQ0FDSEUuc2V0KHZhbCwgaGFzaCk7XG4gIHJldHVybiBoYXNoO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy91aWRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUFxQztBQUVyQyxNQUFNLEtBQUssR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUM3QyxTQUFnQixJQUFJLENBQUMsSUFBcUI7SUFDeEMsTUFBTSxHQUFHLEdBQUc7UUFDVixJQUFJLENBQUMsTUFBTTtRQUNYLElBQUksQ0FBQyxZQUFZO1FBQ2pCLElBQUksQ0FBQyxVQUFVO1FBQ2YsSUFBSSxDQUFDLGFBQWE7UUFDbEIsSUFBSSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsR0FBRztLQUNULENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksVUFBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQVpELG9CQVlDO0FBRUQsMEVBQTBFO0FBQzFFLE1BQU0sVUFBVSxHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQ2xELFNBQWdCLFFBQVEsQ0FBQyxJQUFxQjtJQUM1QyxNQUFNLEdBQUcsR0FBRztRQUNWLElBQUksQ0FBQyxNQUFNO1FBQ1gsSUFBSSxDQUFDLFlBQVk7UUFDakIsSUFBSSxDQUFDLFVBQVU7UUFDZixJQUFJLENBQUMsVUFBVTtRQUNmLElBQUksQ0FBQyxhQUFhO1FBQ2xCLElBQUksQ0FBQyxPQUFPO0tBQ2IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RILE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksVUFBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQVpELDRCQVlDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLElBQXFCO0lBQ2hELE1BQU0sR0FBRyxHQUFHO1FBQ1YsSUFBSSxDQUFDLE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWTtRQUNqQixJQUFJLENBQUMsVUFBVTtRQUNmLElBQUksQ0FBQyxVQUFVO1FBQ2YsSUFBSSxDQUFDLGFBQWE7S0FDbkIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5RixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFVBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQixPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFYRCxvQ0FXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTaXR1cyB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuaW1wb3J0IHsgbWQ1IH0gZnJvbSAnQHVuaXZlcnNlL3V0aWwnO1xuXG5jb25zdCBDQUNIRTogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoKTtcbmV4cG9ydCBmdW5jdGlvbiBoYXNoKGFkZHI6IFBhcnRpYWw8SVNpdHVzPik6IHN0cmluZyB7XG4gIGNvbnN0IHZhbCA9IFtcbiAgICBhZGRyLm51bWJlcixcbiAgICBhZGRyLnN0cmVldFByZURpcixcbiAgICBhZGRyLnN0cmVldE5hbWUsXG4gICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICAgIGFkZHIudW5pdE51bSxcbiAgICBhZGRyLnppcCxcbiAgXS5maWx0ZXIoQm9vbGVhbikuam9pbigpO1xuICBjb25zdCBoYXNoID0gQ0FDSEUuZ2V0KHZhbCkgfHwgbWQ1KHZhbCk7XG4gIENBQ0hFLnNldCh2YWwsIGhhc2gpO1xuICByZXR1cm4gaGFzaDtcbn1cblxuLy8gVE9ETzogUmVwbGFjZSBoYXNoKCkgd2l0aCB0aGlzIGltcGxlbWVudGF0aW9uIG9uY2UgZ2VvZGF0YSBpcyBtaWdyYXRlZC5cbmNvbnN0IEhBU0hfQ0FDSEU6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKCk7XG5leHBvcnQgZnVuY3Rpb24gdW5pdEhhc2goYWRkcjogUGFydGlhbDxJU2l0dXM+KTogc3RyaW5nIHtcbiAgY29uc3QgdmFsID0gW1xuICAgIGFkZHIubnVtYmVyLFxuICAgIGFkZHIuc3RyZWV0UHJlRGlyLFxuICAgIGFkZHIuc3RyZWV0TmFtZSxcbiAgICBhZGRyLnN0cmVldFR5cGUsXG4gICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICAgIGFkZHIudW5pdE51bSxcbiAgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvWy1fL1xcXFxdL2csICcgJykucmVwbGFjZSgvW15hLXowLTkgXS9nLCAnJykgfHwgSlNPTi5zdHJpbmdpZnkoYWRkcik7XG4gIGNvbnN0IGhhc2ggPSBIQVNIX0NBQ0hFLmdldCh2YWwpIHx8IG1kNSh2YWwpO1xuICBIQVNIX0NBQ0hFLnNldCh2YWwsIGhhc2gpO1xuICByZXR1cm4gaGFzaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkaW5nSGFzaChhZGRyOiBQYXJ0aWFsPElTaXR1cz4pOiBzdHJpbmcge1xuICBjb25zdCB2YWwgPSBbXG4gICAgYWRkci5udW1iZXIsXG4gICAgYWRkci5zdHJlZXRQcmVEaXIsXG4gICAgYWRkci5zdHJlZXROYW1lLFxuICAgIGFkZHIuc3RyZWV0VHlwZSxcbiAgICBhZGRyLnN0cmVldFBvc3REaXIsXG4gIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1stXy9cXFxcXS9nLCAnICcpLnJlcGxhY2UoL1teYS16MC05IF0vZywgJycpO1xuICBjb25zdCBoYXNoID0gSEFTSF9DQUNIRS5nZXQodmFsKSB8fCBtZDUodmFsKTtcbiAgSEFTSF9DQUNIRS5zZXQodmFsLCBoYXNoKTtcbiAgcmV0dXJuIGhhc2g7XG59XG4iXX0= |
@@ -138,2 +138,2 @@ import { isDirectional, getCountryDesc, isCountry } from '@universe/models'; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkMsYUFBYSxFQUFXLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5SCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYzNDLFNBQVMsTUFBTSxDQUFDLEdBQUcsTUFBeUI7SUFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUMvRCxDQUFDO0FBRUQsNERBQTREO0FBQzVELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLENBQUMsaUJBQWdCLENBQUMsQ0FBQztBQUN2RCxTQUFTLFVBQVUsQ0FBQyxJQUFtQixFQUFFLElBQXVCO0lBQzlELElBQUksQ0FBQyxJQUFJLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQUU7SUFFckQsSUFBSSxhQUFhLEdBQVcsSUFBSSxDQUFDO0lBQ2pDLElBQUksb0JBQW9CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUUsYUFBYSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJ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TyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsS0FBSyxLQUFtRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxLQUFLLEtBQWEsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDL0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2l0dXMsIFN0YXRlLCBGYWNpbGl0eVR5cGUsIFN0cmVldFR5cGUsIGlzRGlyZWN0aW9uYWwsIENvdW50cnksIGdldENvdW50cnlEZXNjLCBpc0NvdW50cnkgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcblxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICcuL3BhcnNlcic7XG5pbXBvcnQgeyBpc051bWJlck9yQ29kZSB9IGZyb20gJy4vcGFyc2VyL3Rva2VuaXplcic7XG5pbXBvcnQgeyB0b0RpcmVjdGlvbmFsIH0gZnJvbSAnLi9kYXRhL0RpcmVjdGlvbmFsJztcbmltcG9ydCB7IGlzVXJiYW5pemF0aW9uIH0gZnJvbSAnLi9kYXRhL0ZhY2lsaXR5VHlwZSc7XG5pbXBvcnQgeyBpc1N0cmVldFByZWZpeCwgdG9TdHJlZXRUeXBlLCBzdHJlZXRUeXBlU3RyaW5nIH0gZnJvbSAnLi9kYXRhL1N0cmVldFR5cGUnO1xuaW1wb3J0IHsgaXNPcmRpbmFsIH0gZnJvbSAnLi9wYXJzZXIvdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVTUFNMYWJlbCB7XG4gIGNhcmU6IHN0cmluZyB8IG51bGw7XG4gIHVyYmFuaXphdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgbGluZTE6IHN0cmluZyB8IG51bGw7XG4gIGxpbmUyOiBzdHJpbmcgfCBudWxsO1xuICBjaXR5OiBzdHJpbmcgfCBudWxsO1xuICBzdGF0ZTogU3RhdGUgfCBudWxsO1xuICB6aXA6IHN0cmluZyB8IG51bGw7XG4gIHppcDQ6IHN0cmluZyB8IG51bGw7XG4gIGNvdW50cnk6IHN0cmluZyB8IG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbmNhdCguLi52YWx1ZXM6IChzdHJpbmcgfCBudWxsKVtdKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRvVXBwZXJDYXNlKCkudHJpbSgpO1xufVxuXG4vLyBVU1BTIGxpa2VzIHRvIGZvcmNlIHNvbWUgc3RyZWV0cyB0byBhbHdheXMgYmUgZXhwYW5kZWQuLi5cbmNvbnN0IGZvcmNlU3RyZWV0RXhwYW5zaW9uID0gbmV3IFNldChbU3RyZWV0VHlwZS5QTFpdKTtcbmZ1bmN0aW9uIHN0cmVldE5hbWUobmFtZTogc3RyaW5nIHwgbnVsbCwgdHlwZTogU3RyZWV0VHlwZSB8IG51bGwpOiAoc3RyaW5nIHwgbnVsbClbXSB7XG4gIGlmICghdHlwZSB8fCBpc1N0cmVldFByZWZpeCh0eXBlKSkgeyByZXR1cm4gW25hbWVdOyB9XG5cbiAgbGV0IHN0cmVldFR5cGVPdXQ6IHN0cmluZyA9IHR5cGU7XG4gIGlmIChmb3JjZVN0cmVldEV4cGFuc2lvbi5oYXModHlwZSkpIHsgc3RyZWV0VHlwZU91dCA9IHN0cmVldFR5cGVTdHJpbmcodHlwZSkgfHwgdHlwZTsgfVxuXG4gIGlmICghbmFtZSkgeyByZXR1cm4gW3N0cmVldFR5cGVPdXRdOyB9XG4gIGlmIChpc051bWJlck9yQ29kZShuYW1lKSAmJiAhaXNPcmRpbmFsKG5hbWUpICYmICFpc0RpcmVjdGlvbmFsKG5hbWUpKSB7XG4gICAgcmV0dXJuIFsgc3RyZWV0VHlwZVN0cmluZyh0b1N0cmVldFR5cGUodHlwZSkpLCBuYW1lIF07XG4gIH1cblxuICByZXR1cm4gWyBuYW1lLCBzdHJlZXRUeXBlT3V0IF07XG59XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzIHtcbiAgYWRkcmVzczogSVNpdHVzO1xuXG4gIGNvbnN0cnVjdG9yKC4uLmxpbmVzOiBzdHJpbmdbXSB8IElTaXR1c1tdKSB7XG4gICAgaWYgKHR5cGVvZiBsaW5lc1swXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuYWRkcmVzcyA9IHBhcnNlKGxpbmVzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmFkZHJlc3MgPSBsaW5lc1swXTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbGFiZWwoYWRkcj86IElTaXR1cyB8IG51bGwpOiBVU1BTTGFiZWwge1xuICAgIGlmICghYWRkcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2FyZTogbnVsbCxcbiAgICAgICAgdXJiYW5pemF0aW9uOiBudWxsLFxuICAgICAgICBsaW5lMTogbnVsbCxcbiAgICAgICAgbGluZTI6IG51bGwsXG4gICAgICAgIGNpdHk6IG51bGwsXG4gICAgICAgIHN0YXRlOiBudWxsLFxuICAgICAgICB6aXA6IG51bGwsXG4gICAgICAgIHppcDQ6IG51bGwsXG4gICAgICAgIGNvdW50cnk6IG51bGwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgaG93IFVTUFMgd2FudHMgVU1ScyBwcmVzZW50ZWQuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuVU1SKSB7XG4gICAgICBhZGRyLmZhY2lsaXR5VHlwZSA9ICdVTklUJyBhcyBGYWNpbGl0eVR5cGU7XG4gICAgfVxuXG4gICAgYWRkci5zdHJlZXRQcmVEaXIgPSBhZGRyLnN0cmVldFByZURpciA/IHRvRGlyZWN0aW9uYWwoYWRkci5zdHJlZXRQcmVEaXIpIDogbnVsbDtcbiAgICBhZGRyLnN0cmVldFBvc3REaXIgPSBhZGRyLnN0cmVldFBvc3REaXIgPyB0b0RpcmVjdGlvbmFsKGFkZHIuc3RyZWV0UG9zdERpcikgOiBudWxsO1xuXG4gICAgLy8gRW5zdXJlIHdlIGhhdmUgY2xlYW4gUE8gQm94ZXMgZm9yIFVTUFMuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuUE8pIHtcbiAgICAgIGFkZHIuZmFjaWxpdHkgPSBudWxsO1xuICAgIH1cblxuICAgIGxldCBzdHJlZXRTZWdtZW50OiBzdHJpbmcgfCBudWxsID0gY29uY2F0KFxuICAgICAgYWRkci5mYWNpbGl0eVR5cGUgJiYgIWlzVXJiYW5pemF0aW9uKGFkZHIuZmFjaWxpdHlUeXBlKSA/ICcnIDogYWRkci5udW1iZXIsXG4gICAgICBpc1N0cmVldFByZWZpeChhZGRyLnN0cmVldFR5cGUpID8gc3RyZWV0VHlwZVN0cmluZyhhZGRyLnN0cmVldFR5cGUpIDogJycsXG4gICAgICBhZGRyLnN0cmVldFByZURpcixcbiAgICAgIC4uLnN0cmVldE5hbWUoYWRkci5zdHJlZXROYW1lLCBhZGRyLnN0cmVldFR5cGUpLFxuICAgICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICAgICk7XG4gICAgbGV0IGZhY2lsaXR5OiBzdHJpbmcgfCBudWxsID0gY29uY2F0KGFkZHIuZmFjaWxpdHlUeXBlLCBhZGRyLmZhY2lsaXR5LCBhZGRyLmZhY2lsaXR5VHlwZSA/IGFkZHIubnVtYmVyIDogJycpO1xuICAgIGNvbnN0IFBJTiA9IGNvbmNhdChhZGRyLnBpblR5cGUgfHwgKGFkZHIucGluTnVtICYmICcjJyksIGFkZHIucGluTnVtKTtcbiAgICBjb25zdCB1bml0ID0gY29uY2F0KGFkZHIudW5pdEFiYnIgfHwgKGFkZHIudW5pdE51bSAmJiAnIycpLCBhZGRyLnVuaXROdW0pO1xuXG4gICAgbGV0IHVyYmFuaXphdGlvbiA9IG51bGw7XG4gICAgaWYgKGlzVXJiYW5pemF0aW9uKGFkZHIuZmFjaWxpdHlUeXBlKSkge1xuICAgICAgdXJiYW5pemF0aW9uID0gY29uY2F0KGFkZHIuZmFjaWxpdHlUeXBlLCBhZGRyLmZhY2lsaXR5KTtcbiAgICAgIGZhY2lsaXR5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykge1xuICAgICAgc3RyZWV0U2VnbWVudCA9IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGluZTIgPSBudWxsO1xuICAgIGlmICh1bml0IHx8IFBJTikge1xuICAgICAgaWYgKChmYWNpbGl0eSAmJiBzdHJlZXRTZWdtZW50KSB8fCAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykpIHtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIHVuaXQpO1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgUElOKTtcbiAgICAgIH1cblxuICAgICAgZWxzZSBpZiAoc3RyZWV0U2VnbWVudCkge1xuICAgICAgICBzdHJlZXRTZWdtZW50ID0gY29uY2F0KHN0cmVldFNlZ21lbnQsIHVuaXQpO1xuICAgICAgICBzdHJlZXRTZWdtZW50ID0gY29uY2F0KHN0cmVldFNlZ21lbnQsIFBJTik7XG4gICAgICB9XG5cbiAgICAgIGVsc2Uge1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgdW5pdCk7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCBQSU4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlmIChQSU4pIHtcbiAgICAvLyAgIGlmICghZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCAmJiAhYWRkci5waW5UeXBlKSB7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNhcmU6IGFkZHIuY2FyZSA/IGFkZHIuY2FyZS50b1VwcGVyQ2FzZSgpIDogbnVsbCxcbiAgICAgIHVyYmFuaXphdGlvbixcbiAgICAgIGxpbmUxOiBmYWNpbGl0eSB8fCBzdHJlZXRTZWdtZW50LFxuICAgICAgbGluZTI6ICgoZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCkgPyBzdHJlZXRTZWdtZW50IDogbGluZTIpIHx8IG51bGwsXG4gICAgICBjaXR5OiBhZGRyLmNpdHkgPyBhZGRyLmNpdHkudG9VcHBlckNhc2UoKSA6IG51bGwsXG4gICAgICBzdGF0ZTogYWRkci5zdGF0ZSA/IGFkZHIuc3RhdGUgOiBudWxsLFxuICAgICAgemlwOiBhZGRyLnppcCB8fCBudWxsLFxuICAgICAgemlwNDogYWRkci56aXA0IHx8IG51bGwsXG4gICAgICBjb3VudHJ5OiBhZGRyLmNvdW50cnkgfHwgbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGxpbmVzKGFkZHI/OiBJU2l0dXMgfCBudWxsKTogW3N0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGxdIHtcbiAgICBpZiAoIWFkZHIpIHsgcmV0dXJuIFsgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCBdOyB9XG4gICAgY29uc3QgbGFiZWwgPSBBZGRyZXNzLmxhYmVsKGFkZHIpO1xuICAgIGNvbnN0IG91dCA9IFtcbiAgICAgIGxhYmVsLmNhcmUsXG4gICAgICBsYWJlbC51cmJhbml6YXRpb24sXG4gICAgICBbIGxhYmVsLmxpbmUxLCBsYWJlbC5saW5lMiBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLFxuICAgICAgWyBsYWJlbC5jaXR5LCBsYWJlbC5zdGF0ZSwgbGFiZWwuemlwID8gYCAke2xhYmVsLnppcH1gIDogbnVsbCBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pO1xuICAgIGlmIChpc0NvdW50cnkobGFiZWwuY291bnRyeSkgJiYgbGFiZWwuY291bnRyeSAhPT0gQ291bnRyeS5VU0EpIHtcbiAgICAgIGNvbnN0IG5hbWUgPSBnZXRDb3VudHJ5RGVzYyhsYWJlbC5jb3VudHJ5KT8ubmFtZTtcbiAgICAgIG5hbWUgJiYgb3V0LnB1c2gobmFtZS50b1VwcGVyQ2FzZSgpKTtcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIG91dFswXSB8fCBudWxsLFxuICAgICAgb3V0WzFdIHx8IG51bGwsXG4gICAgICBvdXRbMl0gfHwgbnVsbCxcbiAgICAgIG91dFszXSB8fCBudWxsLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJpbnQoYWRkcj86IElTaXR1cyB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghYWRkcikgeyByZXR1cm4gJyc7IH1cbiAgICByZXR1cm4gQWRkcmVzcy5saW5lcyhhZGRyKS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG4gIH1cblxuICBwdWJsaWMgbGFiZWwoKTogVVNQU0xhYmVsIHsgcmV0dXJuIEFkZHJlc3MubGFiZWwodGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgbGluZXMoKTogW3N0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGxdIHsgcmV0dXJuIEFkZHJlc3MubGluZXModGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgcHJpbnQoKTogc3RyaW5nIHsgcmV0dXJuIEFkZHJlc3MucHJpbnQodGhpcy5hZGRyZXNzKTsgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkMsYUFBYSxFQUFXLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5SCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYzNDLFNBQVMsTUFBTSxDQUFDLEdBQUcsTUFBeUI7SUFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUMvRCxDQUFDO0FBRUQsNERBQTREO0FBQzVELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLENBQUMsaUJBQWdCLENBQUMsQ0FBQztBQUN2RCxTQUFTLFVBQVUsQ0FBQyxJQUFtQixFQUFFLElBQXVCO0lBQzlELElBQUksQ0FBQyxJQUFJLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQUU7SUFFckQsSUFBSSxhQUFhLEdBQVcsSUFBSSxDQUFDO0lBQ2pDLElBQUksb0JBQW9CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUUsYUFBYSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJ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QixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRCxLQUFLLEtBQW1FLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdHLEtBQUssS0FBYSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUMvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTaXR1cywgU3RhdGUsIEZhY2lsaXR5VHlwZSwgU3RyZWV0VHlwZSwgaXNEaXJlY3Rpb25hbCwgQ291bnRyeSwgZ2V0Q291bnRyeURlc2MsIGlzQ291bnRyeSB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gJy4vcGFyc2VyJztcbmltcG9ydCB7IGlzTnVtYmVyT3JDb2RlIH0gZnJvbSAnLi9wYXJzZXIvdG9rZW5pemVyJztcbmltcG9ydCB7IHRvRGlyZWN0aW9uYWwgfSBmcm9tICcuL2RhdGEvRGlyZWN0aW9uYWwnO1xuaW1wb3J0IHsgaXNVcmJhbml6YXRpb24gfSBmcm9tICcuL2RhdGEvRmFjaWxpdHlUeXBlJztcbmltcG9ydCB7IGlzU3RyZWV0UHJlZml4LCB0b1N0cmVldFR5cGUsIHN0cmVldFR5cGVTdHJpbmcgfSBmcm9tICcuL2RhdGEvU3RyZWV0VHlwZSc7XG5pbXBvcnQgeyBpc09yZGluYWwgfSBmcm9tICcuL3BhcnNlci91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVVNQU0xhYmVsIHtcbiAgY2FyZTogc3RyaW5nIHwgbnVsbDtcbiAgdXJiYW5pemF0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBsaW5lMTogc3RyaW5nIHwgbnVsbDtcbiAgbGluZTI6IHN0cmluZyB8IG51bGw7XG4gIGNpdHk6IHN0cmluZyB8IG51bGw7XG4gIHN0YXRlOiBTdGF0ZSB8IG51bGw7XG4gIHppcDogc3RyaW5nIHwgbnVsbDtcbiAgemlwNDogc3RyaW5nIHwgbnVsbDtcbiAgY291bnRyeTogc3RyaW5nIHwgbnVsbDtcbn1cblxuZnVuY3Rpb24gY29uY2F0KC4uLnZhbHVlczogKHN0cmluZyB8IG51bGwpW10pOiBzdHJpbmcge1xuICByZXR1cm4gdmFsdWVzLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudG9VcHBlckNhc2UoKS50cmltKCk7XG59XG5cbi8vIFVTUFMgbGlrZXMgdG8gZm9yY2Ugc29tZSBzdHJlZXRzIHRvIGFsd2F5cyBiZSBleHBhbmRlZC4uLlxuY29uc3QgZm9yY2VTdHJlZXRFeHBhbnNpb24gPSBuZXcgU2V0KFtTdHJlZXRUeXBlLlBMWl0pO1xuZnVuY3Rpb24gc3RyZWV0TmFtZShuYW1lOiBzdHJpbmcgfCBudWxsLCB0eXBlOiBTdHJlZXRUeXBlIHwgbnVsbCk6IChzdHJpbmcgfCBudWxsKVtdIHtcbiAgaWYgKCF0eXBlIHx8IGlzU3RyZWV0UHJlZml4KHR5cGUpKSB7IHJldHVybiBbbmFtZV07IH1cblxuICBsZXQgc3RyZWV0VHlwZU91dDogc3RyaW5nID0gdHlwZTtcbiAgaWYgKGZvcmNlU3RyZWV0RXhwYW5zaW9uLmhhcyh0eXBlKSkgeyBzdHJlZXRUeXBlT3V0ID0gc3RyZWV0VHlwZVN0cmluZyh0eXBlKSB8fCB0eXBlOyB9XG5cbiAgaWYgKCFuYW1lKSB7IHJldHVybiBbc3RyZWV0VHlwZU91dF07IH1cbiAgaWYgKGlzTnVtYmVyT3JDb2RlKG5hbWUpICYmICFpc09yZGluYWwobmFtZSkgJiYgIWlzRGlyZWN0aW9uYWwobmFtZSkpIHtcbiAgICByZXR1cm4gWyBzdHJlZXRUeXBlU3RyaW5nKHRvU3RyZWV0VHlwZSh0eXBlKSksIG5hbWUgXTtcbiAgfVxuXG4gIHJldHVybiBbIG5hbWUsIHN0cmVldFR5cGVPdXQgXTtcbn1cblxuZXhwb3J0IGNsYXNzIEFkZHJlc3Mge1xuICBhZGRyZXNzOiBJU2l0dXM7XG5cbiAgY29uc3RydWN0b3IoLi4ubGluZXM6IHN0cmluZ1tdIHwgSVNpdHVzW10pIHtcbiAgICBpZiAodHlwZW9mIGxpbmVzWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5hZGRyZXNzID0gcGFyc2UobGluZXMuam9pbignXFxuJykpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuYWRkcmVzcyA9IGxpbmVzWzBdO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBsYWJlbChhZGRyPzogSVNpdHVzIHwgbnVsbCk6IFVTUFNMYWJlbCB7XG4gICAgaWYgKCFhZGRyKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjYXJlOiBudWxsLFxuICAgICAgICB1cmJhbml6YXRpb246IG51bGwsXG4gICAgICAgIGxpbmUxOiBudWxsLFxuICAgICAgICBsaW5lMjogbnVsbCxcbiAgICAgICAgY2l0eTogbnVsbCxcbiAgICAgICAgc3RhdGU6IG51bGwsXG4gICAgICAgIHppcDogbnVsbCxcbiAgICAgICAgemlwNDogbnVsbCxcbiAgICAgICAgY291bnRyeTogbnVsbCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVGhpcyBpcyBob3cgVVNQUyB3YW50cyBVTVJzIHByZXNlbnRlZC5cbiAgICBpZiAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5VTVIpIHtcbiAgICAgIGFkZHIuZmFjaWxpdHlUeXBlID0gJ1VOSVQnIGFzIEZhY2lsaXR5VHlwZTtcbiAgICB9XG5cbiAgICBhZGRyLnN0cmVldFByZURpciA9IGFkZHIuc3RyZWV0UHJlRGlyID8gdG9EaXJlY3Rpb25hbChhZGRyLnN0cmVldFByZURpcikgOiBudWxsO1xuICAgIGFkZHIuc3RyZWV0UG9zdERpciA9IGFkZHIuc3RyZWV0UG9zdERpciA/IHRvRGlyZWN0aW9uYWwoYWRkci5zdHJlZXRQb3N0RGlyKSA6IG51bGw7XG5cbiAgICAvLyBFbnN1cmUgd2UgaGF2ZSBjbGVhbiBQTyBCb3hlcyBmb3IgVVNQUy5cbiAgICBpZiAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykge1xuICAgICAgYWRkci5mYWNpbGl0eSA9IG51bGw7XG4gICAgfVxuXG4gICAgbGV0IHN0cmVldFNlZ21lbnQ6IHN0cmluZyB8IG51bGwgPSBjb25jYXQoXG4gICAgICBhZGRyLmZhY2lsaXR5VHlwZSAmJiAhaXNVcmJhbml6YXRpb24oYWRkci5mYWNpbGl0eVR5cGUpID8gJycgOiBhZGRyLm51bWJlcixcbiAgICAgIGlzU3RyZWV0UHJlZml4KGFkZHIuc3RyZWV0VHlwZSkgPyBzdHJlZXRUeXBlU3RyaW5nKGFkZHIuc3RyZWV0VHlwZSkgOiAnJyxcbiAgICAgIGFkZHIuc3RyZWV0UHJlRGlyLFxuICAgICAgLi4uc3RyZWV0TmFtZShhZGRyLnN0cmVldE5hbWUsIGFkZHIuc3RyZWV0VHlwZSksXG4gICAgICBhZGRyLnN0cmVldFBvc3REaXIsXG4gICAgKTtcbiAgICBsZXQgZmFjaWxpdHk6IHN0cmluZyB8IG51bGwgPSBjb25jYXQoYWRkci5mYWNpbGl0eVR5cGUsIGFkZHIuZmFjaWxpdHksIGFkZHIuZmFjaWxpdHlUeXBlID8gYWRkci5udW1iZXIgOiAnJyk7XG4gICAgY29uc3QgUElOID0gY29uY2F0KGFkZHIucGluVHlwZSB8fCAoYWRkci5waW5OdW0gJiYgJyMnKSwgYWRkci5waW5OdW0pO1xuICAgIGNvbnN0IHVuaXQgPSBjb25jYXQoYWRkci51bml0QWJiciB8fCAoYWRkci51bml0TnVtICYmICcjJyksIGFkZHIudW5pdE51bSk7XG5cbiAgICBsZXQgdXJiYW5pemF0aW9uID0gbnVsbDtcbiAgICBpZiAoaXNVcmJhbml6YXRpb24oYWRkci5mYWNpbGl0eVR5cGUpKSB7XG4gICAgICB1cmJhbml6YXRpb24gPSBjb25jYXQoYWRkci5mYWNpbGl0eVR5cGUsIGFkZHIuZmFjaWxpdHkpO1xuICAgICAgZmFjaWxpdHkgPSBudWxsO1xuICAgIH1cblxuICAgIGlmIChhZGRyLmZhY2lsaXR5VHlwZSA9PT0gRmFjaWxpdHlUeXBlLlBPKSB7XG4gICAgICBzdHJlZXRTZWdtZW50ID0gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBsaW5lMiA9IG51bGw7XG4gICAgaWYgKHVuaXQgfHwgUElOKSB7XG4gICAgICBpZiAoKGZhY2lsaXR5ICYmIHN0cmVldFNlZ21lbnQpIHx8IChhZGRyLmZhY2lsaXR5VHlwZSA9PT0gRmFjaWxpdHlUeXBlLlBPKSkge1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgdW5pdCk7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCBQSU4pO1xuICAgICAgfVxuXG4gICAgICBlbHNlIGlmIChzdHJlZXRTZWdtZW50KSB7XG4gICAgICAgIHN0cmVldFNlZ21lbnQgPSBjb25jYXQoc3RyZWV0U2VnbWVudCwgdW5pdCk7XG4gICAgICAgIHN0cmVldFNlZ21lbnQgPSBjb25jYXQoc3RyZWV0U2VnbWVudCwgUElOKTtcbiAgICAgIH1cblxuICAgICAgZWxzZSB7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCB1bml0KTtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIFBJTik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaWYgKFBJTikge1xuICAgIC8vICAgaWYgKCFmYWNpbGl0eSAmJiBzdHJlZXRTZWdtZW50ICYmICFhZGRyLnBpblR5cGUpIHtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2FyZTogYWRkci5jYXJlID8gYWRkci5jYXJlLnRvVXBwZXJDYXNlKCkgOiBudWxsLFxuICAgICAgdXJiYW5pemF0aW9uLFxuICAgICAgbGluZTE6IGZhY2lsaXR5IHx8IHN0cmVldFNlZ21lbnQsXG4gICAgICBsaW5lMjogKChmYWNpbGl0eSAmJiBzdHJlZXRTZWdtZW50KSA/IHN0cmVldFNlZ21lbnQgOiBsaW5lMikgfHwgbnVsbCxcbiAgICAgIGNpdHk6IGFkZHIuY2l0eSA/IGFkZHIuY2l0eS50b1VwcGVyQ2FzZSgpIDogbnVsbCxcbiAgICAgIHN0YXRlOiBhZGRyLnN0YXRlID8gYWRkci5zdGF0ZSA6IG51bGwsXG4gICAgICB6aXA6IGFkZHIuemlwIHx8IG51bGwsXG4gICAgICB6aXA0OiBhZGRyLnppcDQgfHwgbnVsbCxcbiAgICAgIGNvdW50cnk6IGFkZHIuY291bnRyeSB8fCBudWxsLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgbGluZXMoYWRkcj86IElTaXR1cyB8IG51bGwpOiBbc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbF0ge1xuICAgIGlmICghYWRkcikgeyByZXR1cm4gWyBudWxsLCBudWxsLCBudWxsLCBudWxsIF07IH1cbiAgICBjb25zdCBsYWJlbCA9IEFkZHJlc3MubGFiZWwoYWRkcik7XG4gICAgY29uc3Qgb3V0ID0gW1xuICAgICAgbGFiZWwuY2FyZSxcbiAgICAgIGxhYmVsLnVyYmFuaXphdGlvbixcbiAgICAgIFsgbGFiZWwubGluZTEsIGxhYmVsLmxpbmUyIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50cmltKCksXG4gICAgICBbIGxhYmVsLmNpdHksIGxhYmVsLnN0YXRlLCBsYWJlbC56aXAgPyBgICR7bGFiZWwuemlwfWAgOiBudWxsIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50cmltKCksXG4gICAgXS5maWx0ZXIoQm9vbGVhbik7XG4gICAgaWYgKGlzQ291bnRyeShsYWJlbC5jb3VudHJ5KSAmJiBsYWJlbC5jb3VudHJ5ICE9PSBDb3VudHJ5LlVTQSkge1xuICAgICAgY29uc3QgbmFtZSA9IGdldENvdW50cnlEZXNjKGxhYmVsLmNvdW50cnkpPy5uYW1lO1xuICAgICAgbmFtZSAmJiBvdXQucHVzaChuYW1lLnRvVXBwZXJDYXNlKCkpO1xuICAgIH1cbiAgICByZXR1cm4gW1xuICAgICAgb3V0WzBdIHx8IG51bGwsXG4gICAgICBvdXRbMV0gfHwgbnVsbCxcbiAgICAgIG91dFsyXSB8fCBudWxsLFxuICAgICAgb3V0WzNdIHx8IG51bGwsXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcmludChhZGRyPzogSVNpdHVzIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgaWYgKCFhZGRyKSB7IHJldHVybiAnJzsgfVxuICAgIHJldHVybiBBZGRyZXNzLmxpbmVzKGFkZHIpLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKTtcbiAgfVxuXG4gIHB1YmxpYyBsYWJlbCgpOiBVU1BTTGFiZWwgeyByZXR1cm4gQWRkcmVzcy5sYWJlbCh0aGlzLmFkZHJlc3MpOyB9XG4gIHB1YmxpYyBsaW5lcygpOiBbc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbF0geyByZXR1cm4gQWRkcmVzcy5saW5lcyh0aGlzLmFkZHJlc3MpOyB9XG4gIHB1YmxpYyBwcmludCgpOiBzdHJpbmcgeyByZXR1cm4gQWRkcmVzcy5wcmludCh0aGlzLmFkZHJlc3MpOyB9XG59XG4iXX0= |
@@ -384,2 +384,2 @@ import { titleCase, isNumerical, orderToOrdinal, isOrder } from './utils'; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci90b2tlbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4QyxvREFBb0Q7QUFDcEQsNENBQTRDO0FBRTVDLHVCQUF1QjtBQUN2QixpQ0FBaUM7QUFDakMsbUNBQW1DO0FBQ25DLHdDQUF3QztBQUN4QyxzQkFBc0I7QUFFdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDckIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ3pFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBRXJELEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUN0RCxDQUFDLENBQUM7QUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUN2QixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0NBQ2pELENBQUMsQ0FBQztBQUVILDhDQUE4QztBQUM5QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFFLENBQUMsQ0FBQztBQUV2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFFLENBQUMsQ0FBQztBQUM5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFFLENBQUMsQ0FBQztBQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLElBQUksRUFBRSxHQUFHLENBQUUsQ0FBQyxDQUFDO0FBb0J2QywwRUFBMEU7QUFDMUUsNENBQTRDO0FBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU07SUFDL0QsNEdBQTRHO0lBQzVHLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUk7SUFDaEgsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMvRyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ2xILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLO0lBQ3JILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLO0lBQ3RILElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztJQUN2SCxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN6SCxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN2SCxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSTtJQUN4SCxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ3RILEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUs7SUFDdkgsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQzNILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMvSCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTTtJQUN2SCxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTztJQUN4SCxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLO0lBQ3ZILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQzFILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxL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Q3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ3hCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxPQUFxQjtJQUNuRCxJQUFJLE9BQU8sR0FBaUIsT0FBTyxDQUFDO0lBQ3BDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLE9BQU8sT0FBTyxFQUFFO1FBQ2QsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsS0FBSyxFQUFFLENBQUM7U0FBRTtRQUM3QyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztLQUN4QjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRpdGxlQ2FzZSwgaXNOdW1lcmljYWwsIG9yZGVyVG9PcmRpbmFsLCBpc09yZGVyIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBpc1N0cmVldFR5cGUgfSBmcm9tICcuLi9kYXRhL1N0cmVldFR5cGUnO1xuaW1wb3J0IHsgaXNTdGF0ZSB9IGZyb20gJy4uL2RhdGEvU3RhdGUnO1xuaW1wb3J0IHsgVW5pdEFiYnIsIFN0cmVldFR5cGUgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcbi8vIGltcG9ydCB7IGlzRmFjaWxpdHlUeXBlIH0gZnJvbSAnLi4vRmFjaWxpdHlUeXBlJztcbi8vIGltcG9ydCB7IGlzVW5pdEFiYnIgfSBmcm9tICcuLi9Vbml0QWJicic7XG5cbi8vIC8qIGVzbGludC1kaXNhYmxlICovXG4vLyBUT0RPOiBTcGVsbCBDaGVjayBJbnRlZ3JhdGlvbj9cbi8vIGNvbnN0IFR5cG8gPSByZXF1aXJlKFwidHlwby1qc1wiKTtcbi8vIGNvbnN0IGRpY3Rpb25hcnkgPSBuZXcgVHlwbygnZW5fVVMnKTtcbi8vIC8qIGVzbGludC1lbmFibGUgKi9cblxuY29uc3QgYWxwaGFzID0gbmV3IFNldChbXG4gICdBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsXG4gICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onLFxuXG4gICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgJ2gnLCAnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsXG4gICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLFxuXSk7XG5cbmNvbnN0IGRlY2ltYWxzID0gbmV3IFNldChbXG4gICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5Jyxcbl0pO1xuXG4vLyBodHRwczovL3BlLnVzcHMuY29tL3RleHQvcHViMjgvMjhjM18wMTkuaHRtXG5jb25zdCBsZWdhbENoYXJzID0gbmV3IFNldChbIC4uLmFscGhhcywgLi4uZGVjaW1hbHMgXSk7XG5cbmNvbnN0IG5ld2xpbmVzID0gbmV3IFNldChbICcsJywgJ1xcdCcsICdcXG4nIF0pO1xuY29uc3QgZGFzaGVzID0gbmV3IFNldChbICctJywgJ+KAkycsICfigJQnIF0pO1xuY29uc3Qgc2xhc2hlcyA9IG5ldyBTZXQoWyAnXFxcXCcsICcvJyBdKTtcblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuICBwcmV2OiBIZWFkIHwgVG9rZW47XG4gIG5leHQ6IFRva2VuIHwgbnVsbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgc2VwYXJhdG9yOiAnLScgfCAnLicgfCAnIycgfCAnJicgfCAnLCcgfCAnLycgfCBudWxsO1xuICBhbHBoYXM6IG51bWJlcjtcbiAgZGVjaW1hbHM6IG51bWJlcjtcbiAgaXNFT0w6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZCB7XG4gIGlzSGVhZDogdHJ1ZTtcbiAgbmV4dDogVG9rZW4gfCBudWxsO1xuICBzZXBhcmF0b3I6ICcnO1xuICBpc0VPTDogZmFsc2U7XG59XG5cbi8vIFNwZWNpYWwgbm9uLWVudW1lcmF0ZWQgYWJicmV2aWF0aW9ucyB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBjYXBpdGFsaXplXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TaGlwX3ByZWZpeFxuY29uc3QgY2FwaXRhbGl6ZSA9IG5ldyBTZXQoWyAnQUZCJywgJ0FQTycsICdGUE8nLCAnQUVDT00nLCAnSFFCTicsXG4gIC8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xpc3Rfb2ZfY29sbG9xdWlhbF9uYW1lc19mb3JfdW5pdmVyc2l0aWVzX2FuZF9jb2xsZWdlc19pbl90aGVfVW5pdGVkX1N0YXRlc1xuICAnQUZBJywgJ0EmTScsICdBJlQnLCAnQVBTVScsICdBTEFTVScsICdBU1UnLCAnQVUnLCAnQVVNJywgJ0JDJywgJ0JHU1UnLCAnQkhTVScsICdCSlUnLCAnQk1DJywgJ0JTQycsICdCU1UnLCAnQlUnLFxuICAnQllVJywgJ0NCVScsICdDQycsICdDQ05ZJywgJ0NDU1UnLCAnQ0NVJywgJ0NDVicsICdDR1UnLCAnQ0lBJywgJ0NNQycsICdDTVUnLCAnQ05VJywgJ0NTQicsICdTSlUnLCAnQ1NFJywgJ0NTSScsXG4gICdDU1UnLCAnQ1NVRicsICdDU1VFQicsICdDU1VMQScsICdDU1VTJywgJ0NVJywgJ0NVQScsICdDVU5ZJywgJ0RDJywgJ0RQVScsICdEU1UnLCAnRFUnLCAnRUNVJywgJ0VJVScsICdFTVUnLCAnRU1VJyxcbiAgJ0VOQycsICdFVFNVJywgJ0VXVScsICdFS1UnLCAnRiZNJywgJ0ZBTVUnLCAnRkFVJywgJ0ZDJywgJ0ZEVScsICdGR0NVJywgJ0ZJVCcsICdGSVUnLCAnRlBVJywgJ0ZTVScsICdGVScsICdHQicsICdHQ1UnLFxuICAnR0dDJywgJ0dPTlonLCAnR1NVJywgJ0dUJywgJ0dWU1UnLCAnSElVJywgJ0hNQycsICdIVScsICdIVScsICdIU1UnLCAnSUMnLCAnSUlUJywgJ0lQRlcnLCAnSVNVJywgJ0lVUCcsICdJVVBVSScsICdJV1UnLFxuICAnSVcnLCAnSkhVJywgJ0pNVScsICdKV1UnLCAnSlNVJywgJ0pVJywgJ0tTVScsICdLVScsICdLVScsICdMQycsICdMSFUnLCAnTElVJywgJ0xNVScsICdMU1UnLCAnTFNTVScsICdMVFUnLCAnTFUnLCAnTFVDJyxcbiAgJ01DTEEnLCAnTUlUJywgJ01NQycsICdNU1UnLCAnTVRTVScsICdNVFUnLCAnTVUnLCAnTVZTVScsICdNVVcnLCAnTkFVJywgJ05DQ1UnLCAnTkNTVScsICdORCcsICdORFNVJywgJ05FVScsICdOSVUnLCAnTktVJyxcbiAgJ05NU1UnLCAnTk1VJywgJ05TVScsICdOVScsICdOVlUnLCAnTlcnLCAnTldNU1UnLCAnTllJVCcsICdOWU1DJywgJ05ZVScsICdPQycsICdPQ0MnLCAnT0NVJywgJ09EVScsICdPSVQnLCAnT05VJywgJ09SVScsXG4gICdPU1UnLCAnT1UnLCAnUEMnLCAnUENDJywgJ1BMTlUnLCAnUE9NJywgJ1BTVScsICdQVFMnLCAnUFZBTVUnLCAnUVUnLCAnUkhJVCcsICdSSUMnLCAnUklTRCcsICdSSVQnLCAnUi1NV0MnLCAnUlBJJywgJ1JVJyxcbiAgJ1JXVScsICdSV0MnLCAnU0JVJywgJ1NDJywgJ1NDU1UnLCAnU0NVJywgJ1NEU00mVCcsICdTRFNVJywgJ1NGU1UnLCAnU0hDJywgJ1NJVUUnLCAnU0pDJywgJ1NKRkMnLCAnU0pTVScsICdTSlUnLCAnU0xVJyxcbiAgJ1NNQycsICdTTVUnLCAnU05IVScsICdTT1NVJywgJ1NQVScsICdTUlUnLCAnU1NVJywgJ1NVJywgJ1NVSScsICdTVVUnLCAnU1VOWScsICdTV09TVScsICdUQU1VJywgJ1RBTVVDQycsICdUQ05KJywgJ1RDVScsXG4gICdUU1UnLCAnVFRVJywgJ1RVJywgJ1VBJywgJ1VBQScsICdVQUInLCAnVUFGJywgJ1VBSCcsICdVQUxSJywgJ1VBTScsICdVQVBCJywgJ1VCJywgJ1VDJywgJ1VDQicsICdVQ0EnLCAnVUNDUycsICdVQ0QnLCAnVUNGJyxcbiAgJ1VDSScsICdVQ0xBJywgJ1VDTScsICdVQ08nLCAnVUNSJywgJ1VDU0InLCAnVUNTQycsICdVQ1NEJywgJ1VDU0YnLCAnVUQnLCAnVURNJywgJ1VEQycsICdVRicsICdVR0EnLCAnVUgnLCAnVUhDTCcsICdVSEQnLCAnVUhTJyxcbiAgJ1VIVicsICdVSUMnLCAnVUlVQycsICdVSycsICdVTE0nLCAnVUwnLCAnVU1CJywgJ1VNQkMnLCAnVU1DJywgJ1VNRCcsICdVTUtDJywgJ1VNTCcsICdVTU8nLCAnVU1XJywgJ1VOQScsICdVTkMnLCAnVU5DQycsXG4gICdVTkNHJywgJ1VOQ1cnLCAnVU5EJywgJ1VORicsICdVTkgnLCAnVU5JJywgJ1VOSycsICdVTkwnLCAnVU5MVicsICdVTk0nLCAnVU5PJywgJ1VOUicsICdVTlQnLCAnVU8nLCAnVU9QJywgJ1VQJywgJ1VQSUtFJyxcbiAgJ1VSSScsICdVU0EnLCAnVVNBRkEnLCAnVVNBTycsICdVU0MnLCAnVVNDQScsICdVU0QnLCAnVVNGJywgJ1VTRkNBJywgJ1VTSScsICdVU00nLCAnVVNVJywgJ1VUJywgJ1VUQScsICdVVEIvVFNDJywgJ1VUQycsXG4gICdVVEQnLCAnVVRFUCcsICdVVE0nLCAnVVRQQicsICdVVFJHVicsICdVVFNBJywgJ1VWQScsICdVVk0nLCAnVVZVJywgJ1VXJywgJ1VXRicsICdVV0cnLCAnVVdHQicsICdVV00nLCAnVkNVJywgJ1ZNSScsICdWUEknLFxuICAnVlNVJywgJ1ZUQycsICdWVScsICdXJkonLCAnVyZMJywgJ1cmTScsICdXQycsICdXQ1UnLCAnV0ZVJywgJ1dHVScsICdXSVUnLCAnV0tVJywgJ1dNVScsICdXUEknLCAnV1NVJywgJ1dUQU1VJywgJ1dWVScsICdXVlVQJyxcbiAgJ1dXVScsICdYVScsICdYVUxBJywgJ1lTVScsICdZVScsXG5dKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSGVhZCh0b2tlbjogdW5rbm93bik6IHRva2VuIGlzIEhlYWQge1xuICByZXR1cm4gISEodG9rZW4gJiYgKHRva2VuIGFzIEhlYWQpLmlzSGVhZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRUb2tlbkFmdGVyKHByZXY6IFRva2VuLCB2YWx1ZTogc3RyaW5nKTogVG9rZW4ge1xuICBjb25zdCB0b2tlbiA9IHtcbiAgICBwcmV2LFxuICAgIG5leHQ6IHByZXYubmV4dCxcbiAgICB2YWx1ZSxcbiAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgYWxwaGFzOiAodmFsdWUubWF0Y2goL1thLXpBLVpdL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgZGVjaW1hbHM6ICh2YWx1ZS5tYXRjaCgvXFxkL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgaXNFT0w6IHByZXYuaXNFT0wsXG4gIH07XG4gIHRva2VuLnByZXYubmV4dCA9IHRva2VuO1xuICB0b2tlbi5wcmV2LmlzRU9MID0gZmFsc2U7XG4gIHRva2VuLm5leHQgJiYgKHRva2VuLm5leHQucHJldiA9IHRva2VuKTtcbiAgcmV0dXJuIHRva2VuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0VG9rZW5CZWZvcmUobmV4dDogVG9rZW4sIHZhbHVlOiBzdHJpbmcpOiBUb2tlbiB7XG4gIGNvbnN0IHRva2VuID0ge1xuICAgIHByZXY6IG5leHQucHJldixcbiAgICBuZXh0LFxuICAgIHZhbHVlLFxuICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICBhbHBoYXM6ICh2YWx1ZS5tYXRjaCgvW2EtekEtWl0vZykgfHwgW10pLmxlbmd0aCxcbiAgICBkZWNpbWFsczogKHZhbHVlLm1hdGNoKC9cXGQvZykgfHwgW10pLmxlbmd0aCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG4gIHRva2VuLnByZXYgJiYgKHRva2VuLnByZXYubmV4dCA9IHRva2VuKTtcbiAgdG9rZW4ubmV4dCAmJiAodG9rZW4ubmV4dC5wcmV2ID0gdG9rZW4pO1xuICByZXR1cm4gdG9rZW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlck9yQ29kZShwb2ludGVyOiBUb2tlbiB8IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgaWYgKCFwb2ludGVyKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIGNvbnN0IHdvcmtpbmcgPSB7XG4gICAgdmFsdWU6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIgOiBwb2ludGVyLnZhbHVlLFxuICAgIGRlY2ltYWxzOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyBwb2ludGVyLm1hdGNoKC9cXGQvZyk/Lmxlbmd0aCB8fCAwIDogcG9pbnRlci5kZWNpbWFscyxcbiAgICBhbHBoYXM6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIudG9Mb3dlckNhc2UoKS5tYXRjaCgvW15cXGRdL2cpPy5sZW5ndGggfHwgMCA6IHBvaW50ZXIuYWxwaGFzLFxuICAgIHByZXY6IG51bGwsXG4gICAgc2VwYXJhdG9yOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyAnJyA6IHBvaW50ZXIuc2VwYXJhdG9yLFxuICB9O1xuXG4gIGlmICh3b3JraW5nLnNlcGFyYXRvciA9PT0gJyYnKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIC8vIElmIHN0cmluZyBzdGFydHMgd2l0aCBhIG51bWJlciwgdGhpcyBpcyBhIGNvZGUuIEV4OiBPcmRpbmFscyAoMXN0LCAybmQsIGV0YylcbiAgaWYgKHdvcmtpbmcudmFsdWUgJiYgd29ya2luZy52YWx1ZVswXS5tYXRjaCgvXlxcZC8pKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gRGFzaGVkIG9uZSwgdHdvIGFuZCB0aHJlZSBjaGFyYWN0ZXIgYWxwaGEgc3RyaW5ncyAqYXJlKiBjb2RlcyFcbiAgaWYgKHdvcmtpbmcuYWxwaGFzIDw9IDMgJiYgIXdvcmtpbmcuZGVjaW1hbHMgJiYgKGRhc2hlcy5oYXMod29ya2luZy5zZXBhcmF0b3IgfHwgJycpIHx8IGRhc2hlcy5oYXMoKHBvaW50ZXIgYXMgVG9rZW4pLnByZXY/LnNlcGFyYXRvciB8fCAnJykpKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gSWYgZGVjaW1hbHMgZXF1YWwgb3Igb3V0bnVtYmVyIGFscGhhcywgb3IgdGhpcyBpcyBhIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nLCBpcyBhIGNvZGUuXG4gIHJldHVybiAod29ya2luZy5kZWNpbWFscyA+PSB3b3JraW5nLmFscGhhcyAmJiB3b3JraW5nLmRlY2ltYWxzID4gMSkgfHwgKHdvcmtpbmcuYWxwaGFzIDw9IDEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5pemUoYWRkcjogc3RyaW5nKTogSGVhZCB7XG4gIGNvbnN0IGhlYWQ6IEhlYWQgPSB7XG4gICAgbmV4dDogbnVsbCxcbiAgICBpc0hlYWQ6IHRydWUsXG4gICAgc2VwYXJhdG9yOiAnJyxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgLy8gQ29sbGFwc2Ugd2hpdGVzcGFjZVxuICAvLyBUT0RPOiBUaGlzIHJlZ2V4IGlzIGlub3JkaW5hdGVseSBleHBlbnNpdmUuIFJlcGxhY2UuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL1xcbisvZywgJ1xcbicpLnJlcGxhY2UoLyArL2csICcgJykucmVwbGFjZSgvXFx0Ky9nLCAnXFx0Jyk7XG5cbiAgLy8gVE9ETzogQWxsIG9mIHRoZSBiZWxvdyByZWdleHBzIGFyZSBWRVJZIGV4cGVuc2l2ZS4gU2ltcGxpZnkuXG4gIC8vIFJlbW92ZSBDYXJlIE9mIEFiYnIuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0NbLy5dT1xcLj8vZ2ksICcnKTtcblxuICAvLyBQLk8uIEJveGVzIGFuZCBILkMuIEJveGVzIGFyZSBTcGVjaWFsLlxuICBhZGRyID0gYWRkclxuICAgIC5yZXBsYWNlKC9QXFwuT1xcLi9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QXFwuTy9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QIE8gL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1BcXC5PXFwuQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC9QXFwuIE9cXC4gQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC8gUE9CW1xcZCBdL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT1ggQk9YL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT0JPWC9pLCAnUE8gQk9YJylcbiAgICAucmVwbGFjZSgvUE9CWC9pLCAnUE8gQk9YJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0hcXC5DXFwuL2ksICdIQyAnKS5yZXBsYWNlKC9IXFwuQy8sICdIQyAnKS5yZXBsYWNlKC9IIEMgLywgJ0hDICcpLnJlcGxhY2UoL0hDQk9YL2ksICdIQyBCT1gnKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9oaWdod2F5IGNhcnJpZXIgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY29udHJhY3Qgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY2Fycmllci9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjb250cmFjdC9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhciByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm91dGUvaSwgJ1JSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm9hZC9pLCAnUlInKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvdG93bnNoaXAgcm9hZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJvdXRlL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zdGF0ZSByb2FkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcm9hZC9pLCAnQ1InKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9yXFwuXFxyXFwuIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zXFwuXFxyXFwuIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jXFwuXFxyXFwuIHJkL2ksICdDUicpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3J1cmFsIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC90b3duc2hpcCByZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcmQvaSwgJ0NSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgQ0FNSU5JVE8vaSwgJ0xBQ0FNSU5JVE8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvRUwgQ0FNSU5PL2ksICdFTENBTUlOTycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBDRVJSQURBL2ksICdMQUNFUlJBREEnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgRU5UUkFEQS9pLCAnTEFFTlRSQURBJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0VMIFBBU0VPL2ksICdFTFBBU0VPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFBMQUNJVEEvaSwgJ0xBUExBQ0lUQScpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9FTCBSQU5DSE8vaSwgJ0VMUkFOQ0hPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFZFUkVEQS9pLCAnTEFWRVJFREEnKTtcblxuICBsZXQgcG9pbnRlcjogVG9rZW4gfCBudWxsID0ge1xuICAgIHByZXY6IGhlYWQsXG4gICAgbmV4dDogbnVsbCxcbiAgICB2YWx1ZTogJycsXG4gICAgc2VwYXJhdG9yOiBudWxsLFxuICAgIGFscGhhczogMCxcbiAgICBkZWNpbWFsczogMCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgaGVhZC5uZXh0ID0gcG9pbnRlcjtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGFkZHIubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjaGFyID0gYWRkcltpXTtcbiAgICBjb25zdCBuZXh0ID0gYWRkcltpICsgMV07XG4gICAgaWYgKCFwb2ludGVyKSB7IGJyZWFrOyB9XG4gICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKGNoYXIpKSB7XG4gICAgICBwb2ludGVyLnZhbHVlICs9IGNoYXI7XG4gICAgICBpZiAoYWxwaGFzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmFscGhhcysrO1xuICAgICAgfVxuICAgICAgaWYgKGRlY2ltYWxzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmRlY2ltYWxzKys7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaWYgKG5ld2xpbmVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLmlzRU9MID0gdHJ1ZTsgfVxuICAgICAgZWxzZSBpZiAoZGFzaGVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLnNlcGFyYXRvciA9ICctJzsgfVxuICAgICAgZWxzZSBpZiAoY2hhciA9PT0gJy4nKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJy4nOyB9XG4gICAgICBlbHNlIGlmIChjaGFyID09PSAnJicpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnJic7IH1cbiAgICAgIGVsc2UgaWYgKGNoYXIgPT09ICcjJykgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcjJzsgfVxuICAgICAgZWxzZSBpZiAoc2xhc2hlcy5oYXMoY2hhcikpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnLyc7IH1cbiAgICAgIC8vIGlmICghaXNOdW1iZXJPckNvZGUocG9pbnRlcikgJiYgIWlzU3RhdGUocG9pbnRlci52YWx1ZSkgJiYgIWlzU3RyZWV0VHlwZShwb2ludGVyLnZhbHVlKSAmJiAhaXNGYWNpbGl0eVR5cGUocG9pbnRlci52YWx1ZSkgJiYgIWlzVW5pdEFiYnIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIC8vICAgaWYgKCFkaWN0aW9uYXJ5LmNoZWNrKHBvaW50ZXIudmFsdWUpKSB7XG4gICAgICAvLyAgICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBkaWN0aW9uYXJ5LnN1Z2dlc3QocG9pbnRlci52YWx1ZSk7XG4gICAgICAvLyAgICAgcG9pbnRlci52YWx1ZSA9IHN1Z2dlc3Rpb25zWzBdIHx8IHBvaW50ZXIudmFsdWU7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cbiAgICAgIHBvaW50ZXIudmFsdWUgPSBjYXBpdGFsaXplLmhhcyhwb2ludGVyLnZhbHVlLnRvVXBwZXJDYXNlKCkpID8gcG9pbnRlci52YWx1ZS50b1VwcGVyQ2FzZSgpIDogdGl0bGVDYXNlKHBvaW50ZXIudmFsdWUpO1xuICAgICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKG5leHQpKSB7XG4gICAgICAgIHBvaW50ZXIgPSB7XG4gICAgICAgICAgcHJldjogcG9pbnRlcixcbiAgICAgICAgICBuZXh0OiBudWxsLFxuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgICAgICAgYWxwaGFzOiAwLFxuICAgICAgICAgIGRlY2ltYWxzOiAwLFxuICAgICAgICAgIGlzRU9MOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHBvaW50ZXIucHJldikge1xuICAgICAgICAgIHBvaW50ZXIucHJldi5uZXh0ID0gcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE5vIG5ld2xpbmVzIGFmdGVyIHRoZSBsYXN0IFN0YXRlIGRpc2NvdmVyZWQuXG4gIHdoaWxlIChwb2ludGVyKSB7XG4gICAgaWYgKHBvaW50ZXIubmV4dCAmJiBpc1N0YXRlKHBvaW50ZXIubmV4dC52YWx1ZSkpIHtcbiAgICAgIHdoaWxlIChwb2ludGVyKSB7XG4gICAgICAgIHBvaW50ZXIuaXNFT0wgPSBmYWxzZTtcbiAgICAgICAgcG9pbnRlciA9IHBvaW50ZXIubmV4dDtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoaXNIZWFkKHBvaW50ZXIucHJldikpIHsgYnJlYWs7IH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5wcmV2O1xuICB9XG5cbiAgLy8gSXQgaXMgY29tbW9uIGZvciBwZW9wbGUgdG8gYmUgc2lsbHkgYW5kIHByZWZpeC9zdWZmaXggc29tZSB1bml0IG51bWJlcnMgd2l0aCB0aGVzZSBjb21tb24gYWJicmV2aWF0aW9uLlxuICAvLyBFeDogMTIzIFdhdGVyIFN0LiBBcHQgQVBUMSwgNDUgU3BydWNlIEF2ZSAxUEhcbiAgLy8gVE9ETzogV2UgY2FuIG1ha2UgdGhpcyBtb3JlIHJvYnVzdC4uLlxuICBwb2ludGVyID0gaGVhZC5uZXh0O1xuICB3aGlsZSAocG9pbnRlcikge1xuICAgIGlmICghcG9pbnRlcikgeyBicmVhazsgfVxuXG4gICAgaWYgKGlzT3JkZXIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIHBvaW50ZXIudmFsdWUgPSBvcmRlclRvT3JkaW5hbChwb2ludGVyLnZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXhUZXN0ID0gWyBVbml0QWJici5BUFQsIFVuaXRBYmJyLlBILCBVbml0QWJici5MViwgU3RyZWV0VHlwZS5SUiwgJ1NVSVRFJywgJ1VOSVQnIF07XG4gICAgY29uc3Qgc3VmZml4VGV4dCA9IFtVbml0QWJici5QSF07XG5cbiAgICBmb3IgKGNvbnN0IHByZWZpeCBvZiBwcmVmaXhUZXN0KSB7XG4gICAgICBpZiAocG9pbnRlci52YWx1ZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocHJlZml4LnRvTG93ZXJDYXNlKCkpICYmIHBvaW50ZXIudmFsdWUubGVuZ3RoID4gcHJlZml4Lmxlbmd0aCkge1xuICAgICAgICAvLyBTcGVjaWFsIENhc2UgZm9yIHBsdXJhbHNcbiAgICAgICAgaWYgKHBvaW50ZXIudmFsdWUudG9VcHBlckNhc2UoKSA9PT0gcHJlZml4LnRvVXBwZXJDYXNlKCkgKyAnUycpIHsgY29udGludWU7IH1cblxuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHBvaW50ZXIudmFsdWU7XG4gICAgICAgIHBvaW50ZXIudmFsdWUgPSBwb2ludGVyLnZhbHVlLnNsaWNlKHByZWZpeC5sZW5ndGgpO1xuICAgICAgICBwb2ludGVyLmFscGhhcyAtPSBwcmVmaXgubGVuZ3RoO1xuICAgICAgICBpZiAoIWlzTnVtYmVyT3JDb2RlKHBvaW50ZXIpKSB7XG4gICAgICAgICAgcG9pbnRlci5hbHBoYXMgKz0gcHJlZml4Lmxlbmd0aDtcbiAgICAgICAgICBwb2ludGVyLnZhbHVlID0gb2xkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaW5zZXJ0VG9rZW5CZWZvcmUocG9pbnRlciwgcHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3Qgc3VmZml4IG9mIHN1ZmZpeFRleHQpIHtcbiAgICAgIGlmIChwb2ludGVyICYmIHBvaW50ZXIudmFsdWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChzdWZmaXgudG9Mb3dlckNhc2UoKSkgJiYgcG9pbnRlci52YWx1ZS5sZW5ndGggPiBzdWZmaXgubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gcG9pbnRlci52YWx1ZTtcbiAgICAgICAgcG9pbnRlci52YWx1ZSA9IHBvaW50ZXIudmFsdWUuc2xpY2UoMCwgc3VmZml4Lmxlbmd0aCAqIC0xKTtcbiAgICAgICAgcG9pbnRlci5hbHBoYXMgLT0gc3VmZml4Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFpc051bWJlck9yQ29kZShwb2ludGVyKSkge1xuICAgICAgICAgIHBvaW50ZXIuYWxwaGFzICs9IHN1ZmZpeC5sZW5ndGg7XG4gICAgICAgICAgcG9pbnRlci52YWx1ZSA9IG9sZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5ld1Rva2VuID0gaW5zZXJ0VG9rZW5BZnRlcihwb2ludGVyLCBzdWZmaXgpO1xuICAgICAgICAgIHBvaW50ZXIgPSBuZXdUb2tlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5uZXh0O1xuICB9XG5cbiAgLy8gU29tZSBtaXMtZm9ybWF0dGVkIGZhY2lsaXR5IGFkZHJlc3NlcyB3aWxsIHByZXBlbmQgYSAnMCcgdG8gbWFrZSB0aGVtIGFwcGVhciBsaWtlIHN0cmVldCBhZGRyZXNzZXMuXG4gIGlmIChoZWFkLm5leHQgJiYgaGVhZC5uZXh0LnZhbHVlID09PSAnMCcgJiYgaGVhZC5uZXh0Lm5leHQpIHtcbiAgICBoZWFkLm5leHQgPSBoZWFkLm5leHQubmV4dDtcbiAgfVxuXG4gIHJldHVybiBoZWFkO1xufVxuXG4vLyBUT0RPOiBVc2UgVVNQUyBoeXBoZW5hdGlvbiBzdGFuZGFyZHMuXG5leHBvcnQgZnVuY3Rpb24gaXNIeXBoZW5hdGVkQ29kZShwb2ludGVyOiBUb2tlbiB8IEhlYWQpOiBib29sZWFuIHtcbiAgaWYgKGlzSGVhZChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKCFwb2ludGVyLm5leHQgfHwgIWRhc2hlcy5oYXMocG9pbnRlci5zZXBhcmF0b3IgfHwgJycpKSB7IHJldHVybiBmYWxzZTsgfVxuICByZXR1cm4gISEoaXNOdW1lcmljYWwocG9pbnRlci52YWx1ZSkgJiYgaXNOdW1lcmljYWwoKHBvaW50ZXIubmV4dCBhcyBUb2tlbikudmFsdWUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmV3bGluZVNlcChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlciB8fCBpc0hlYWQocG9pbnRlcikpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIHJldHVybiBwb2ludGVyPy5pc0VPTDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5ld2xpbmVDb3VudChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgSGVhZCB8IG51bGwgPSBwb2ludGVyO1xuICBsZXQgaSA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBpKys7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZE5leHROZXdMaW5lKHBvaW50ZXI6IFRva2VuIHwgbnVsbCk6IFRva2VuIHwgbnVsbCB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc05ld2xpbmVTZXAoY3VycmVudCkpIHsgcmV0dXJuIGN1cnJlbnQubmV4dDsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNMYXRlclN0cmVldFR5cGUocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlcikgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKGlzTmV3bGluZVNlcChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXIubmV4dDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNTdHJlZXRUeXBlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNTdGF0ZVVuaXQocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc1N0YXRlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdMaW5lQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJlZXRUeXBlQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzU3RyZWV0VHlwZShjdXJyZW50LnZhbHVlKSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci90b2tlbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4QyxvREFBb0Q7QUFDcEQsNENBQTRDO0FBRTVDLHVCQUF1QjtBQUN2QixpQ0FBaUM7QUFDakMsbUNBQW1DO0FBQ25DLHdDQUF3QztBQUN4QyxzQkFBc0I7QUFFdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDckIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ3pFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBRXJELEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUN0RCxDQUFDLENBQUM7QUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUN2QixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0NBQ2pELENBQUMsQ0FBQztBQUVILDhDQUE4QztBQUM5QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFFLENBQUMsQ0FBQztBQUV2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFFLENBQUMsQ0FBQztBQUM5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFFLENBQUMsQ0FBQztBQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLElBQUksRUFBRSxHQUFHLENBQUUsQ0FBQyxDQUFDO0FBb0J2QywwRUFBMEU7QUFDMUUsNENBQTRDO0FBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU07SUFDL0QsNEdBQTRHO0lBQzVHLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUk7SUFDaEgsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMvRyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ2xILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLO0lBQ3JILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLO0lBQ3RILElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztJQUN2SCxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN6SCxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN2SCxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSTtJQUN4SCxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ3RILEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUs7SUFDdkgsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQzNILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMvSCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTTtJQUN2SCxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTztJQUN4SCxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLO0lBQ3ZILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQzFILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxL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QUUsQ0FBQztTQUFFO1FBQ3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ3hCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxPQUFxQjtJQUNuRCxJQUFJLE9BQU8sR0FBaUIsT0FBTyxDQUFDO0lBQ3BDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLE9BQU8sT0FBTyxFQUFFO1FBQ2QsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsS0FBSyxFQUFFLENBQUM7U0FBRTtRQUM3QyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztLQUN4QjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRpdGxlQ2FzZSwgaXNOdW1lcmljYWwsIG9yZGVyVG9PcmRpbmFsLCBpc09yZGVyIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBpc1N0cmVldFR5cGUgfSBmcm9tICcuLi9kYXRhL1N0cmVldFR5cGUnO1xuaW1wb3J0IHsgaXNTdGF0ZSB9IGZyb20gJy4uL2RhdGEvU3RhdGUnO1xuaW1wb3J0IHsgVW5pdEFiYnIsIFN0cmVldFR5cGUgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcbi8vIGltcG9ydCB7IGlzRmFjaWxpdHlUeXBlIH0gZnJvbSAnLi4vRmFjaWxpdHlUeXBlJztcbi8vIGltcG9ydCB7IGlzVW5pdEFiYnIgfSBmcm9tICcuLi9Vbml0QWJicic7XG5cbi8vIC8qIGVzbGludC1kaXNhYmxlICovXG4vLyBUT0RPOiBTcGVsbCBDaGVjayBJbnRlZ3JhdGlvbj9cbi8vIGNvbnN0IFR5cG8gPSByZXF1aXJlKFwidHlwby1qc1wiKTtcbi8vIGNvbnN0IGRpY3Rpb25hcnkgPSBuZXcgVHlwbygnZW5fVVMnKTtcbi8vIC8qIGVzbGludC1lbmFibGUgKi9cblxuY29uc3QgYWxwaGFzID0gbmV3IFNldChbXG4gICdBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsXG4gICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onLFxuXG4gICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgJ2gnLCAnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsXG4gICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLFxuXSk7XG5cbmNvbnN0IGRlY2ltYWxzID0gbmV3IFNldChbXG4gICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5Jyxcbl0pO1xuXG4vLyBodHRwczovL3BlLnVzcHMuY29tL3RleHQvcHViMjgvMjhjM18wMTkuaHRtXG5jb25zdCBsZWdhbENoYXJzID0gbmV3IFNldChbIC4uLmFscGhhcywgLi4uZGVjaW1hbHMgXSk7XG5cbmNvbnN0IG5ld2xpbmVzID0gbmV3IFNldChbICcsJywgJ1xcdCcsICdcXG4nIF0pO1xuY29uc3QgZGFzaGVzID0gbmV3IFNldChbICctJywgJ+KAkycsICfigJQnIF0pO1xuY29uc3Qgc2xhc2hlcyA9IG5ldyBTZXQoWyAnXFxcXCcsICcvJyBdKTtcblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuICBwcmV2OiBIZWFkIHwgVG9rZW47XG4gIG5leHQ6IFRva2VuIHwgbnVsbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgc2VwYXJhdG9yOiAnLScgfCAnLicgfCAnIycgfCAnJicgfCAnLCcgfCAnLycgfCBudWxsO1xuICBhbHBoYXM6IG51bWJlcjtcbiAgZGVjaW1hbHM6IG51bWJlcjtcbiAgaXNFT0w6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZCB7XG4gIGlzSGVhZDogdHJ1ZTtcbiAgbmV4dDogVG9rZW4gfCBudWxsO1xuICBzZXBhcmF0b3I6ICcnO1xuICBpc0VPTDogZmFsc2U7XG59XG5cbi8vIFNwZWNpYWwgbm9uLWVudW1lcmF0ZWQgYWJicmV2aWF0aW9ucyB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBjYXBpdGFsaXplXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TaGlwX3ByZWZpeFxuY29uc3QgY2FwaXRhbGl6ZSA9IG5ldyBTZXQoWyAnQUZCJywgJ0FQTycsICdGUE8nLCAnQUVDT00nLCAnSFFCTicsXG4gIC8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xpc3Rfb2ZfY29sbG9xdWlhbF9uYW1lc19mb3JfdW5pdmVyc2l0aWVzX2FuZF9jb2xsZWdlc19pbl90aGVfVW5pdGVkX1N0YXRlc1xuICAnQUZBJywgJ0EmTScsICdBJlQnLCAnQVBTVScsICdBTEFTVScsICdBU1UnLCAnQVUnLCAnQVVNJywgJ0JDJywgJ0JHU1UnLCAnQkhTVScsICdCSlUnLCAnQk1DJywgJ0JTQycsICdCU1UnLCAnQlUnLFxuICAnQllVJywgJ0NCVScsICdDQycsICdDQ05ZJywgJ0NDU1UnLCAnQ0NVJywgJ0NDVicsICdDR1UnLCAnQ0lBJywgJ0NNQycsICdDTVUnLCAnQ05VJywgJ0NTQicsICdTSlUnLCAnQ1NFJywgJ0NTSScsXG4gICdDU1UnLCAnQ1NVRicsICdDU1VFQicsICdDU1VMQScsICdDU1VTJywgJ0NVJywgJ0NVQScsICdDVU5ZJywgJ0RDJywgJ0RQVScsICdEU1UnLCAnRFUnLCAnRUNVJywgJ0VJVScsICdFTVUnLCAnRU1VJyxcbiAgJ0VOQycsICdFVFNVJywgJ0VXVScsICdFS1UnLCAnRiZNJywgJ0ZBTVUnLCAnRkFVJywgJ0ZDJywgJ0ZEVScsICdGR0NVJywgJ0ZJVCcsICdGSVUnLCAnRlBVJywgJ0ZTVScsICdGVScsICdHQicsICdHQ1UnLFxuICAnR0dDJywgJ0dPTlonLCAnR1NVJywgJ0dUJywgJ0dWU1UnLCAnSElVJywgJ0hNQycsICdIVScsICdIVScsICdIU1UnLCAnSUMnLCAnSUlUJywgJ0lQRlcnLCAnSVNVJywgJ0lVUCcsICdJVVBVSScsICdJV1UnLFxuICAnSVcnLCAnSkhVJywgJ0pNVScsICdKV1UnLCAnSlNVJywgJ0pVJywgJ0tTVScsICdLVScsICdLVScsICdMQycsICdMSFUnLCAnTElVJywgJ0xNVScsICdMU1UnLCAnTFNTVScsICdMVFUnLCAnTFUnLCAnTFVDJyxcbiAgJ01DTEEnLCAnTUlUJywgJ01NQycsICdNU1UnLCAnTVRTVScsICdNVFUnLCAnTVUnLCAnTVZTVScsICdNVVcnLCAnTkFVJywgJ05DQ1UnLCAnTkNTVScsICdORCcsICdORFNVJywgJ05FVScsICdOSVUnLCAnTktVJyxcbiAgJ05NU1UnLCAnTk1VJywgJ05TVScsICdOVScsICdOVlUnLCAnTlcnLCAnTldNU1UnLCAnTllJVCcsICdOWU1DJywgJ05ZVScsICdPQycsICdPQ0MnLCAnT0NVJywgJ09EVScsICdPSVQnLCAnT05VJywgJ09SVScsXG4gICdPU1UnLCAnT1UnLCAnUEMnLCAnUENDJywgJ1BMTlUnLCAnUE9NJywgJ1BTVScsICdQVFMnLCAnUFZBTVUnLCAnUVUnLCAnUkhJVCcsICdSSUMnLCAnUklTRCcsICdSSVQnLCAnUi1NV0MnLCAnUlBJJywgJ1JVJyxcbiAgJ1JXVScsICdSV0MnLCAnU0JVJywgJ1NDJywgJ1NDU1UnLCAnU0NVJywgJ1NEU00mVCcsICdTRFNVJywgJ1NGU1UnLCAnU0hDJywgJ1NJVUUnLCAnU0pDJywgJ1NKRkMnLCAnU0pTVScsICdTSlUnLCAnU0xVJyxcbiAgJ1NNQycsICdTTVUnLCAnU05IVScsICdTT1NVJywgJ1NQVScsICdTUlUnLCAnU1NVJywgJ1NVJywgJ1NVSScsICdTVVUnLCAnU1VOWScsICdTV09TVScsICdUQU1VJywgJ1RBTVVDQycsICdUQ05KJywgJ1RDVScsXG4gICdUU1UnLCAnVFRVJywgJ1RVJywgJ1VBJywgJ1VBQScsICdVQUInLCAnVUFGJywgJ1VBSCcsICdVQUxSJywgJ1VBTScsICdVQVBCJywgJ1VCJywgJ1VDJywgJ1VDQicsICdVQ0EnLCAnVUNDUycsICdVQ0QnLCAnVUNGJyxcbiAgJ1VDSScsICdVQ0xBJywgJ1VDTScsICdVQ08nLCAnVUNSJywgJ1VDU0InLCAnVUNTQycsICdVQ1NEJywgJ1VDU0YnLCAnVUQnLCAnVURNJywgJ1VEQycsICdVRicsICdVR0EnLCAnVUgnLCAnVUhDTCcsICdVSEQnLCAnVUhTJyxcbiAgJ1VIVicsICdVSUMnLCAnVUlVQycsICdVSycsICdVTE0nLCAnVUwnLCAnVU1CJywgJ1VNQkMnLCAnVU1DJywgJ1VNRCcsICdVTUtDJywgJ1VNTCcsICdVTU8nLCAnVU1XJywgJ1VOQScsICdVTkMnLCAnVU5DQycsXG4gICdVTkNHJywgJ1VOQ1cnLCAnVU5EJywgJ1VORicsICdVTkgnLCAnVU5JJywgJ1VOSycsICdVTkwnLCAnVU5MVicsICdVTk0nLCAnVU5PJywgJ1VOUicsICdVTlQnLCAnVU8nLCAnVU9QJywgJ1VQJywgJ1VQSUtFJyxcbiAgJ1VSSScsICdVU0EnLCAnVVNBRkEnLCAnVVNBTycsICdVU0MnLCAnVVNDQScsICdVU0QnLCAnVVNGJywgJ1VTRkNBJywgJ1VTSScsICdVU00nLCAnVVNVJywgJ1VUJywgJ1VUQScsICdVVEIvVFNDJywgJ1VUQycsXG4gICdVVEQnLCAnVVRFUCcsICdVVE0nLCAnVVRQQicsICdVVFJHVicsICdVVFNBJywgJ1VWQScsICdVVk0nLCAnVVZVJywgJ1VXJywgJ1VXRicsICdVV0cnLCAnVVdHQicsICdVV00nLCAnVkNVJywgJ1ZNSScsICdWUEknLFxuICAnVlNVJywgJ1ZUQycsICdWVScsICdXJkonLCAnVyZMJywgJ1cmTScsICdXQycsICdXQ1UnLCAnV0ZVJywgJ1dHVScsICdXSVUnLCAnV0tVJywgJ1dNVScsICdXUEknLCAnV1NVJywgJ1dUQU1VJywgJ1dWVScsICdXVlVQJyxcbiAgJ1dXVScsICdYVScsICdYVUxBJywgJ1lTVScsICdZVScsXG5dKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSGVhZCh0b2tlbjogdW5rbm93bik6IHRva2VuIGlzIEhlYWQge1xuICByZXR1cm4gISEodG9rZW4gJiYgKHRva2VuIGFzIEhlYWQpLmlzSGVhZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRUb2tlbkFmdGVyKHByZXY6IFRva2VuLCB2YWx1ZTogc3RyaW5nKTogVG9rZW4ge1xuICBjb25zdCB0b2tlbiA9IHtcbiAgICBwcmV2LFxuICAgIG5leHQ6IHByZXYubmV4dCxcbiAgICB2YWx1ZSxcbiAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgYWxwaGFzOiAodmFsdWUubWF0Y2goL1thLXpBLVpdL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgZGVjaW1hbHM6ICh2YWx1ZS5tYXRjaCgvXFxkL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgaXNFT0w6IHByZXYuaXNFT0wsXG4gIH07XG4gIHRva2VuLnByZXYubmV4dCA9IHRva2VuO1xuICB0b2tlbi5wcmV2LmlzRU9MID0gZmFsc2U7XG4gIHRva2VuLm5leHQgJiYgKHRva2VuLm5leHQucHJldiA9IHRva2VuKTtcbiAgcmV0dXJuIHRva2VuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0VG9rZW5CZWZvcmUobmV4dDogVG9rZW4sIHZhbHVlOiBzdHJpbmcpOiBUb2tlbiB7XG4gIGNvbnN0IHRva2VuID0ge1xuICAgIHByZXY6IG5leHQucHJldixcbiAgICBuZXh0LFxuICAgIHZhbHVlLFxuICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICBhbHBoYXM6ICh2YWx1ZS5tYXRjaCgvW2EtekEtWl0vZykgfHwgW10pLmxlbmd0aCxcbiAgICBkZWNpbWFsczogKHZhbHVlLm1hdGNoKC9cXGQvZykgfHwgW10pLmxlbmd0aCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG4gIHRva2VuLnByZXYgJiYgKHRva2VuLnByZXYubmV4dCA9IHRva2VuKTtcbiAgdG9rZW4ubmV4dCAmJiAodG9rZW4ubmV4dC5wcmV2ID0gdG9rZW4pO1xuICByZXR1cm4gdG9rZW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlck9yQ29kZShwb2ludGVyOiBUb2tlbiB8IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgaWYgKCFwb2ludGVyKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIGNvbnN0IHdvcmtpbmcgPSB7XG4gICAgdmFsdWU6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIgOiBwb2ludGVyLnZhbHVlLFxuICAgIGRlY2ltYWxzOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyBwb2ludGVyLm1hdGNoKC9cXGQvZyk/Lmxlbmd0aCB8fCAwIDogcG9pbnRlci5kZWNpbWFscyxcbiAgICBhbHBoYXM6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIudG9Mb3dlckNhc2UoKS5tYXRjaCgvW15cXGRdL2cpPy5sZW5ndGggfHwgMCA6IHBvaW50ZXIuYWxwaGFzLFxuICAgIHByZXY6IG51bGwsXG4gICAgc2VwYXJhdG9yOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyAnJyA6IHBvaW50ZXIuc2VwYXJhdG9yLFxuICB9O1xuXG4gIGlmICh3b3JraW5nLnNlcGFyYXRvciA9PT0gJyYnKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIC8vIElmIHN0cmluZyBzdGFydHMgd2l0aCBhIG51bWJlciwgdGhpcyBpcyBhIGNvZGUuIEV4OiBPcmRpbmFscyAoMXN0LCAybmQsIGV0YylcbiAgaWYgKHdvcmtpbmcudmFsdWUgJiYgd29ya2luZy52YWx1ZVswXS5tYXRjaCgvXlxcZC8pKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gRGFzaGVkIG9uZSwgdHdvIGFuZCB0aHJlZSBjaGFyYWN0ZXIgYWxwaGEgc3RyaW5ncyAqYXJlKiBjb2RlcyFcbiAgaWYgKHdvcmtpbmcuYWxwaGFzIDw9IDMgJiYgIXdvcmtpbmcuZGVjaW1hbHMgJiYgKGRhc2hlcy5oYXMod29ya2luZy5zZXBhcmF0b3IgfHwgJycpIHx8IGRhc2hlcy5oYXMoKHBvaW50ZXIgYXMgVG9rZW4pLnByZXY/LnNlcGFyYXRvciB8fCAnJykpKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gSWYgZGVjaW1hbHMgZXF1YWwgb3Igb3V0bnVtYmVyIGFscGhhcywgb3IgdGhpcyBpcyBhIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nLCBpcyBhIGNvZGUuXG4gIHJldHVybiAod29ya2luZy5kZWNpbWFscyA+PSB3b3JraW5nLmFscGhhcyAmJiB3b3JraW5nLmRlY2ltYWxzID4gMSkgfHwgKHdvcmtpbmcuYWxwaGFzIDw9IDEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5pemUoYWRkcjogc3RyaW5nKTogSGVhZCB7XG4gIGNvbnN0IGhlYWQ6IEhlYWQgPSB7XG4gICAgbmV4dDogbnVsbCxcbiAgICBpc0hlYWQ6IHRydWUsXG4gICAgc2VwYXJhdG9yOiAnJyxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgLy8gQ29sbGFwc2Ugd2hpdGVzcGFjZVxuICAvLyBUT0RPOiBUaGlzIHJlZ2V4IGlzIGlub3JkaW5hdGVseSBleHBlbnNpdmUuIFJlcGxhY2UuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL1xcbisvZywgJ1xcbicpLnJlcGxhY2UoLyArL2csICcgJykucmVwbGFjZSgvXFx0Ky9nLCAnXFx0Jyk7XG5cbiAgLy8gVE9ETzogQWxsIG9mIHRoZSBiZWxvdyByZWdleHBzIGFyZSBWRVJZIGV4cGVuc2l2ZS4gU2ltcGxpZnkuXG4gIC8vIFJlbW92ZSBDYXJlIE9mIEFiYnIuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0NbLy5dT1xcLj8vZ2ksICcnKTtcblxuICAvLyBQLk8uIEJveGVzIGFuZCBILkMuIEJveGVzIGFyZSBTcGVjaWFsLlxuICBhZGRyID0gYWRkclxuICAgIC5yZXBsYWNlKC9QXFwuT1xcLi9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QXFwuTy9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QIE8gL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1BcXC5PXFwuQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC9QXFwuIE9cXC4gQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC8gUE9CW1xcZCBdL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT1ggQk9YL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT0JPWC9pLCAnUE8gQk9YJylcbiAgICAucmVwbGFjZSgvUE9CWC9pLCAnUE8gQk9YJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0hcXC5DXFwuL2ksICdIQyAnKS5yZXBsYWNlKC9IXFwuQy8sICdIQyAnKS5yZXBsYWNlKC9IIEMgLywgJ0hDICcpLnJlcGxhY2UoL0hDQk9YL2ksICdIQyBCT1gnKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9oaWdod2F5IGNhcnJpZXIgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY29udHJhY3Qgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY2Fycmllci9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjb250cmFjdC9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhciByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm91dGUvaSwgJ1JSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm9hZC9pLCAnUlInKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvdG93bnNoaXAgcm9hZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJvdXRlL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zdGF0ZSByb2FkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcm9hZC9pLCAnQ1InKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9yXFwuXFxyXFwuIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zXFwuXFxyXFwuIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jXFwuXFxyXFwuIHJkL2ksICdDUicpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3J1cmFsIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC90b3duc2hpcCByZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcmQvaSwgJ0NSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgQ0FNSU5JVE8vaSwgJ0xBQ0FNSU5JVE8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvRUwgQ0FNSU5PL2ksICdFTENBTUlOTycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBDRVJSQURBL2ksICdMQUNFUlJBREEnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgRU5UUkFEQS9pLCAnTEFFTlRSQURBJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0VMIFBBU0VPL2ksICdFTFBBU0VPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFBMQUNJVEEvaSwgJ0xBUExBQ0lUQScpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9FTCBSQU5DSE8vaSwgJ0VMUkFOQ0hPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFZFUkVEQS9pLCAnTEFWRVJFREEnKTtcblxuICBsZXQgcG9pbnRlcjogVG9rZW4gfCBudWxsID0ge1xuICAgIHByZXY6IGhlYWQsXG4gICAgbmV4dDogbnVsbCxcbiAgICB2YWx1ZTogJycsXG4gICAgc2VwYXJhdG9yOiBudWxsLFxuICAgIGFscGhhczogMCxcbiAgICBkZWNpbWFsczogMCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgaGVhZC5uZXh0ID0gcG9pbnRlcjtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGFkZHIubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjaGFyID0gYWRkcltpXTtcbiAgICBjb25zdCBuZXh0ID0gYWRkcltpICsgMV07XG4gICAgaWYgKCFwb2ludGVyKSB7IGJyZWFrOyB9XG4gICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKGNoYXIpKSB7XG4gICAgICBwb2ludGVyLnZhbHVlICs9IGNoYXI7XG4gICAgICBpZiAoYWxwaGFzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmFscGhhcysrO1xuICAgICAgfVxuICAgICAgaWYgKGRlY2ltYWxzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmRlY2ltYWxzKys7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaWYgKG5ld2xpbmVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLmlzRU9MID0gdHJ1ZTsgfVxuICAgICAgZWxzZSBpZiAoZGFzaGVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLnNlcGFyYXRvciA9ICctJzsgfVxuICAgICAgZWxzZSBpZiAoY2hhciA9PT0gJy4nKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJy4nOyB9XG4gICAgICBlbHNlIGlmIChjaGFyID09PSAnJicpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnJic7IH1cbiAgICAgIGVsc2UgaWYgKGNoYXIgPT09ICcjJykgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcjJzsgfVxuICAgICAgZWxzZSBpZiAoc2xhc2hlcy5oYXMoY2hhcikpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnLyc7IH1cbiAgICAgIC8vIGlmICghaXNOdW1iZXJPckNvZGUocG9pbnRlcikgJiYgIWlzU3RhdGUocG9pbnRlci52YWx1ZSkgJiYgIWlzU3RyZWV0VHlwZShwb2ludGVyLnZhbHVlKSAmJiAhaXNGYWNpbGl0eVR5cGUocG9pbnRlci52YWx1ZSkgJiYgIWlzVW5pdEFiYnIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIC8vICAgaWYgKCFkaWN0aW9uYXJ5LmNoZWNrKHBvaW50ZXIudmFsdWUpKSB7XG4gICAgICAvLyAgICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBkaWN0aW9uYXJ5LnN1Z2dlc3QocG9pbnRlci52YWx1ZSk7XG4gICAgICAvLyAgICAgcG9pbnRlci52YWx1ZSA9IHN1Z2dlc3Rpb25zWzBdIHx8IHBvaW50ZXIudmFsdWU7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cbiAgICAgIHBvaW50ZXIudmFsdWUgPSBjYXBpdGFsaXplLmhhcyhwb2ludGVyLnZhbHVlLnRvVXBwZXJDYXNlKCkpID8gcG9pbnRlci52YWx1ZS50b1VwcGVyQ2FzZSgpIDogdGl0bGVDYXNlKHBvaW50ZXIudmFsdWUpO1xuICAgICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKG5leHQpKSB7XG4gICAgICAgIHBvaW50ZXIgPSB7XG4gICAgICAgICAgcHJldjogcG9pbnRlcixcbiAgICAgICAgICBuZXh0OiBudWxsLFxuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgICAgICAgYWxwaGFzOiAwLFxuICAgICAgICAgIGRlY2ltYWxzOiAwLFxuICAgICAgICAgIGlzRU9MOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHBvaW50ZXIucHJldikge1xuICAgICAgICAgIHBvaW50ZXIucHJldi5uZXh0ID0gcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE5vIG5ld2xpbmVzIGFmdGVyIHRoZSBsYXN0IFN0YXRlIGRpc2NvdmVyZWQuXG4gIHdoaWxlIChwb2ludGVyKSB7XG4gICAgaWYgKHBvaW50ZXIubmV4dCAmJiBpc1N0YXRlKHBvaW50ZXIubmV4dC52YWx1ZSkpIHtcbiAgICAgIHdoaWxlIChwb2ludGVyKSB7XG4gICAgICAgIHBvaW50ZXIuaXNFT0wgPSBmYWxzZTtcbiAgICAgICAgcG9pbnRlciA9IHBvaW50ZXIubmV4dDtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoaXNIZWFkKHBvaW50ZXIucHJldikpIHsgYnJlYWs7IH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5wcmV2O1xuICB9XG5cbiAgLy8gSXQgaXMgY29tbW9uIGZvciBwZW9wbGUgdG8gYmUgc2lsbHkgYW5kIHByZWZpeC9zdWZmaXggc29tZSB1bml0IG51bWJlcnMgd2l0aCB0aGVzZSBjb21tb24gYWJicmV2aWF0aW9uLlxuICAvLyBFeDogMTIzIFdhdGVyIFN0LiBBcHQgQVBUMSwgNDUgU3BydWNlIEF2ZSAxUEhcbiAgLy8gVE9ETzogV2UgY2FuIG1ha2UgdGhpcyBtb3JlIHJvYnVzdC4uLlxuICBwb2ludGVyID0gaGVhZC5uZXh0O1xuICB3aGlsZSAocG9pbnRlcikge1xuICAgIGlmICghcG9pbnRlcikgeyBicmVhazsgfVxuXG4gICAgaWYgKGlzT3JkZXIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIHBvaW50ZXIudmFsdWUgPSBvcmRlclRvT3JkaW5hbChwb2ludGVyLnZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXhUZXN0ID0gWyBVbml0QWJici5BUFQsIFVuaXRBYmJyLlBILCBVbml0QWJici5MViwgU3RyZWV0VHlwZS5SUiwgJ1NVSVRFJywgJ1VOSVQnIF07XG4gICAgY29uc3Qgc3VmZml4VGV4dCA9IFtVbml0QWJici5QSF07XG5cbiAgICBmb3IgKGNvbnN0IHByZWZpeCBvZiBwcmVmaXhUZXN0KSB7XG4gICAgICBpZiAocG9pbnRlci52YWx1ZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocHJlZml4LnRvTG93ZXJDYXNlKCkpICYmIHBvaW50ZXIudmFsdWUubGVuZ3RoID4gcHJlZml4Lmxlbmd0aCkge1xuICAgICAgICAvLyBTcGVjaWFsIENhc2UgZm9yIHBsdXJhbHNcbiAgICAgICAgaWYgKHBvaW50ZXIudmFsdWUudG9VcHBlckNhc2UoKSA9PT0gcHJlZml4LnRvVXBwZXJDYXNlKCkgKyAnUycpIHsgY29udGludWU7IH1cblxuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHBvaW50ZXIudmFsdWU7XG4gICAgICAgIHBvaW50ZXIudmFsdWUgPSBwb2ludGVyLnZhbHVlLnNsaWNlKHByZWZpeC5sZW5ndGgpO1xuICAgICAgICBwb2ludGVyLmFscGhhcyAtPSBwcmVmaXgubGVuZ3RoO1xuICAgICAgICBpZiAoIWlzTnVtYmVyT3JDb2RlKHBvaW50ZXIpKSB7XG4gICAgICAgICAgcG9pbnRlci5hbHBoYXMgKz0gcHJlZml4Lmxlbmd0aDtcbiAgICAgICAgICBwb2ludGVyLnZhbHVlID0gb2xkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaW5zZXJ0VG9rZW5CZWZvcmUocG9pbnRlciwgcHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3Qgc3VmZml4IG9mIHN1ZmZpeFRleHQpIHtcbiAgICAgIGlmIChwb2ludGVyICYmIHBvaW50ZXIudmFsdWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChzdWZmaXgudG9Mb3dlckNhc2UoKSkgJiYgcG9pbnRlci52YWx1ZS5sZW5ndGggPiBzdWZmaXgubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gcG9pbnRlci52YWx1ZTtcbiAgICAgICAgcG9pbnRlci52YWx1ZSA9IHBvaW50ZXIudmFsdWUuc2xpY2UoMCwgc3VmZml4Lmxlbmd0aCAqIC0xKTtcbiAgICAgICAgcG9pbnRlci5hbHBoYXMgLT0gc3VmZml4Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFpc051bWJlck9yQ29kZShwb2ludGVyKSkge1xuICAgICAgICAgIHBvaW50ZXIuYWxwaGFzICs9IHN1ZmZpeC5sZW5ndGg7XG4gICAgICAgICAgcG9pbnRlci52YWx1ZSA9IG9sZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5ld1Rva2VuID0gaW5zZXJ0VG9rZW5BZnRlcihwb2ludGVyLCBzdWZmaXgpO1xuICAgICAgICAgIHBvaW50ZXIgPSBuZXdUb2tlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5uZXh0O1xuICB9XG5cbiAgLy8gU29tZSBtaXMtZm9ybWF0dGVkIGZhY2lsaXR5IGFkZHJlc3NlcyB3aWxsIHByZXBlbmQgYSAnMCcgdG8gbWFrZSB0aGVtIGFwcGVhciBsaWtlIHN0cmVldCBhZGRyZXNzZXMuXG4gIGlmIChoZWFkLm5leHQgJiYgaGVhZC5uZXh0LnZhbHVlID09PSAnMCcgJiYgaGVhZC5uZXh0Lm5leHQpIHtcbiAgICBoZWFkLm5leHQgPSBoZWFkLm5leHQubmV4dDtcbiAgfVxuXG4gIHJldHVybiBoZWFkO1xufVxuXG4vLyBUT0RPOiBVc2UgVVNQUyBoeXBoZW5hdGlvbiBzdGFuZGFyZHMuXG5leHBvcnQgZnVuY3Rpb24gaXNIeXBoZW5hdGVkQ29kZShwb2ludGVyOiBUb2tlbiB8IEhlYWQpOiBib29sZWFuIHtcbiAgaWYgKGlzSGVhZChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKCFwb2ludGVyLm5leHQgfHwgIWRhc2hlcy5oYXMocG9pbnRlci5zZXBhcmF0b3IgfHwgJycpKSB7IHJldHVybiBmYWxzZTsgfVxuICByZXR1cm4gISEoaXNOdW1lcmljYWwocG9pbnRlci52YWx1ZSkgJiYgaXNOdW1lcmljYWwoKHBvaW50ZXIubmV4dCBhcyBUb2tlbikudmFsdWUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmV3bGluZVNlcChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlciB8fCBpc0hlYWQocG9pbnRlcikpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIHJldHVybiBwb2ludGVyPy5pc0VPTDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5ld2xpbmVDb3VudChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgSGVhZCB8IG51bGwgPSBwb2ludGVyO1xuICBsZXQgaSA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBpKys7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZE5leHROZXdMaW5lKHBvaW50ZXI6IFRva2VuIHwgbnVsbCk6IFRva2VuIHwgbnVsbCB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc05ld2xpbmVTZXAoY3VycmVudCkpIHsgcmV0dXJuIGN1cnJlbnQubmV4dDsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNMYXRlclN0cmVldFR5cGUocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlcikgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKGlzTmV3bGluZVNlcChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXIubmV4dDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNTdHJlZXRUeXBlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNTdGF0ZVVuaXQocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc1N0YXRlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdMaW5lQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJlZXRUeXBlQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzU3RyZWV0VHlwZShjdXJyZW50LnZhbHVlKSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG4iXX0= |
@@ -1,2 +0,2 @@ | ||
import * as crypto from 'crypto'; | ||
import { md5 } from '@universe/util'; | ||
const CACHE = new Map(); | ||
@@ -12,3 +12,3 @@ export function hash(addr) { | ||
].filter(Boolean).join(); | ||
const hash = CACHE.get(val) || crypto.createHash('md5').update(val).digest('hex'); | ||
const hash = CACHE.get(val) || md5(val); | ||
CACHE.set(val, hash); | ||
@@ -28,3 +28,3 @@ return hash; | ||
].filter(Boolean).join(' ').toLowerCase().replace(/[-_/\\]/g, ' ').replace(/[^a-z0-9 ]/g, '') || JSON.stringify(addr); | ||
const hash = HASH_CACHE.get(val) || crypto.createHash('md5').update(val).digest('hex'); | ||
const hash = HASH_CACHE.get(val) || md5(val); | ||
HASH_CACHE.set(val, hash); | ||
@@ -41,6 +41,6 @@ return hash; | ||
].filter(Boolean).join(' ').toLowerCase().replace(/[-_/\\]/g, ' ').replace(/[^a-z0-9 ]/g, ''); | ||
const hash = HASH_CACHE.get(val) || crypto.createHash('md5').update(val).digest('hex'); | ||
const hash = HASH_CACHE.get(val) || md5(val); | ||
HASH_CACHE.set(val, hash); | ||
return hash; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy91aWRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBSWpDLE1BQU0sS0FBSyxHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQzdDLE1BQU0sVUFBVSxJQUFJLENBQUMsSUFBcUI7SUFDeEMsTUFBTSxHQUFHLEdBQUc7UUFDVixJQUFJLENBQUMsTUFBTTtRQUNYLElBQUksQ0FBQyxZQUFZO1FBQ2pCLElBQUksQ0FBQyxVQUFVO1FBQ2YsSUFBSSxDQUFDLGFBQWE7UUFDbEIsSUFBSSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsR0FBRztLQUNULENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xGLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELDBFQUEwRTtBQUMxRSxNQUFNLFVBQVUsR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUNsRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQXFCO0lBQzVDLE1BQU0sR0FBRyxHQUFHO1FBQ1YsSUFBSSxDQUFDLE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWTtRQUNqQixJQUFJLENBQUMsVUFBVTtRQUNmLElBQUksQ0FBQyxVQUFVO1FBQ2YsSUFBSSxDQUFDLGFBQWE7UUFDbEIsSUFBSSxDQUFDLE9BQU87S0FDYixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEgsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkYsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFxQjtJQUNoRCxNQUFNLEdBQUcsR0FBRztRQUNWLElBQUksQ0FBQyxNQUFNO1FBQ1gsSUFBSSxDQUFDLFlBQVk7UUFDakIsSUFBSSxDQUFDLFVBQVU7UUFDZixJQUFJLENBQUMsVUFBVTtRQUNmLElBQUksQ0FBQyxhQUFhO0tBQ25CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUYsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkYsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbmltcG9ydCB7IElTaXR1cyB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5jb25zdCBDQUNIRTogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoKTtcbmV4cG9ydCBmdW5jdGlvbiBoYXNoKGFkZHI6IFBhcnRpYWw8SVNpdHVzPik6IHN0cmluZyB7XG4gIGNvbnN0IHZhbCA9IFtcbiAgICBhZGRyLm51bWJlcixcbiAgICBhZGRyLnN0cmVldFByZURpcixcbiAgICBhZGRyLnN0cmVldE5hbWUsXG4gICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICAgIGFkZHIudW5pdE51bSxcbiAgICBhZGRyLnppcCxcbiAgXS5maWx0ZXIoQm9vbGVhbikuam9pbigpO1xuICBjb25zdCBoYXNoID0gQ0FDSEUuZ2V0KHZhbCkgfHwgY3J5cHRvLmNyZWF0ZUhhc2goJ21kNScpLnVwZGF0ZSh2YWwpLmRpZ2VzdCgnaGV4Jyk7XG4gIENBQ0hFLnNldCh2YWwsIGhhc2gpO1xuICByZXR1cm4gaGFzaDtcbn1cblxuLy8gVE9ETzogUmVwbGFjZSBoYXNoKCkgd2l0aCB0aGlzIGltcGxlbWVudGF0aW9uIG9uY2UgZ2VvZGF0YSBpcyBtaWdyYXRlZC5cbmNvbnN0IEhBU0hfQ0FDSEU6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKCk7XG5leHBvcnQgZnVuY3Rpb24gdW5pdEhhc2goYWRkcjogUGFydGlhbDxJU2l0dXM+KTogc3RyaW5nIHtcbiAgY29uc3QgdmFsID0gW1xuICAgIGFkZHIubnVtYmVyLFxuICAgIGFkZHIuc3RyZWV0UHJlRGlyLFxuICAgIGFkZHIuc3RyZWV0TmFtZSxcbiAgICBhZGRyLnN0cmVldFR5cGUsXG4gICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICAgIGFkZHIudW5pdE51bSxcbiAgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvWy1fL1xcXFxdL2csICcgJykucmVwbGFjZSgvW15hLXowLTkgXS9nLCAnJykgfHwgSlNPTi5zdHJpbmdpZnkoYWRkcik7XG4gIGNvbnN0IGhhc2ggPSBIQVNIX0NBQ0hFLmdldCh2YWwpIHx8IGNyeXB0by5jcmVhdGVIYXNoKCdtZDUnKS51cGRhdGUodmFsKS5kaWdlc3QoJ2hleCcpO1xuICBIQVNIX0NBQ0hFLnNldCh2YWwsIGhhc2gpO1xuICByZXR1cm4gaGFzaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkaW5nSGFzaChhZGRyOiBQYXJ0aWFsPElTaXR1cz4pOiBzdHJpbmcge1xuICBjb25zdCB2YWwgPSBbXG4gICAgYWRkci5udW1iZXIsXG4gICAgYWRkci5zdHJlZXRQcmVEaXIsXG4gICAgYWRkci5zdHJlZXROYW1lLFxuICAgIGFkZHIuc3RyZWV0VHlwZSxcbiAgICBhZGRyLnN0cmVldFBvc3REaXIsXG4gIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1stXy9cXFxcXS9nLCAnICcpLnJlcGxhY2UoL1teYS16MC05IF0vZywgJycpO1xuICBjb25zdCBoYXNoID0gSEFTSF9DQUNIRS5nZXQodmFsKSB8fCBjcnlwdG8uY3JlYXRlSGFzaCgnbWQ1JykudXBkYXRlKHZhbCkuZGlnZXN0KCdoZXgnKTtcbiAgSEFTSF9DQUNIRS5zZXQodmFsLCBoYXNoKTtcbiAgcmV0dXJuIGhhc2g7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy91aWRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxNQUFNLEtBQUssR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUM3QyxNQUFNLFVBQVUsSUFBSSxDQUFDLElBQXFCO0lBQ3hDLE1BQU0sR0FBRyxHQUFHO1FBQ1YsSUFBSSxDQUFDLE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWTtRQUNqQixJQUFJLENBQUMsVUFBVTtRQUNmLElBQUksQ0FBQyxhQUFhO1FBQ2xCLElBQUksQ0FBQyxPQUFPO1FBQ1osSUFBSSxDQUFDLEdBQUc7S0FDVCxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyQixPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCwwRUFBMEU7QUFDMUUsTUFBTSxVQUFVLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUM7QUFDbEQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFxQjtJQUM1QyxNQUFNLEdBQUcsR0FBRztRQUNWLElBQUksQ0FBQyxNQUFNO1FBQ1gsSUFBSSxDQUFDLFlBQVk7UUFDakIsSUFBSSxDQUFDLFVBQVU7UUFDZixJQUFJLENBQUMsVUFBVTtRQUNmLElBQUksQ0FBQyxhQUFhO1FBQ2xCLElBQUksQ0FBQyxPQUFPO0tBQ2IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RILE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBcUI7SUFDaEQsTUFBTSxHQUFHLEdBQUc7UUFDVixJQUFJLENBQUMsTUFBTTtRQUNYLElBQUksQ0FBQyxZQUFZO1FBQ2pCLElBQUksQ0FBQyxVQUFVO1FBQ2YsSUFBSSxDQUFDLFVBQVU7UUFDZixJQUFJLENBQUMsYUFBYTtLQUNuQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTaXR1cyB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuaW1wb3J0IHsgbWQ1IH0gZnJvbSAnQHVuaXZlcnNlL3V0aWwnO1xuXG5jb25zdCBDQUNIRTogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoKTtcbmV4cG9ydCBmdW5jdGlvbiBoYXNoKGFkZHI6IFBhcnRpYWw8SVNpdHVzPik6IHN0cmluZyB7XG4gIGNvbnN0IHZhbCA9IFtcbiAgICBhZGRyLm51bWJlcixcbiAgICBhZGRyLnN0cmVldFByZURpcixcbiAgICBhZGRyLnN0cmVldE5hbWUsXG4gICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICAgIGFkZHIudW5pdE51bSxcbiAgICBhZGRyLnppcCxcbiAgXS5maWx0ZXIoQm9vbGVhbikuam9pbigpO1xuICBjb25zdCBoYXNoID0gQ0FDSEUuZ2V0KHZhbCkgfHwgbWQ1KHZhbCk7XG4gIENBQ0hFLnNldCh2YWwsIGhhc2gpO1xuICByZXR1cm4gaGFzaDtcbn1cblxuLy8gVE9ETzogUmVwbGFjZSBoYXNoKCkgd2l0aCB0aGlzIGltcGxlbWVudGF0aW9uIG9uY2UgZ2VvZGF0YSBpcyBtaWdyYXRlZC5cbmNvbnN0IEhBU0hfQ0FDSEU6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKCk7XG5leHBvcnQgZnVuY3Rpb24gdW5pdEhhc2goYWRkcjogUGFydGlhbDxJU2l0dXM+KTogc3RyaW5nIHtcbiAgY29uc3QgdmFsID0gW1xuICAgIGFkZHIubnVtYmVyLFxuICAgIGFkZHIuc3RyZWV0UHJlRGlyLFxuICAgIGFkZHIuc3RyZWV0TmFtZSxcbiAgICBhZGRyLnN0cmVldFR5cGUsXG4gICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICAgIGFkZHIudW5pdE51bSxcbiAgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvWy1fL1xcXFxdL2csICcgJykucmVwbGFjZSgvW15hLXowLTkgXS9nLCAnJykgfHwgSlNPTi5zdHJpbmdpZnkoYWRkcik7XG4gIGNvbnN0IGhhc2ggPSBIQVNIX0NBQ0hFLmdldCh2YWwpIHx8IG1kNSh2YWwpO1xuICBIQVNIX0NBQ0hFLnNldCh2YWwsIGhhc2gpO1xuICByZXR1cm4gaGFzaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkaW5nSGFzaChhZGRyOiBQYXJ0aWFsPElTaXR1cz4pOiBzdHJpbmcge1xuICBjb25zdCB2YWwgPSBbXG4gICAgYWRkci5udW1iZXIsXG4gICAgYWRkci5zdHJlZXRQcmVEaXIsXG4gICAgYWRkci5zdHJlZXROYW1lLFxuICAgIGFkZHIuc3RyZWV0VHlwZSxcbiAgICBhZGRyLnN0cmVldFBvc3REaXIsXG4gIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1stXy9cXFxcXS9nLCAnICcpLnJlcGxhY2UoL1teYS16MC05IF0vZywgJycpO1xuICBjb25zdCBoYXNoID0gSEFTSF9DQUNIRS5nZXQodmFsKSB8fCBtZDUodmFsKTtcbiAgSEFTSF9DQUNIRS5zZXQodmFsLCBoYXNoKTtcbiAgcmV0dXJuIGhhc2g7XG59XG4iXX0= |
{ | ||
"name": "@universe/address-parser", | ||
"version": "0.4.0", | ||
"version": "0.4.1", | ||
"main": "dist/src/index.js", | ||
@@ -20,3 +20,4 @@ "module": "esm/src/index.js", | ||
"dependencies": { | ||
"@universe/models": "^0.4.0" | ||
"@universe/models": "^0.4.0", | ||
"@universe/util": "^0.3.1" | ||
}, | ||
@@ -23,0 +24,0 @@ "devDependencies": { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
2052022
2
+ Added@universe/util@^0.3.1
+ Added@universe/util@0.3.2(transitive)