abstract contract Lib_AddressResolver {

    /*************
     * Variables *
     *************/

    Lib_AddressManager public libAddressManager;


    /***************
     * Constructor *
     ***************/

    /**
     * @param _libAddressManager Address of the Lib_AddressManager.
     */
    constructor(
        address _libAddressManager
    ) {
        libAddressManager = Lib_AddressManager(_libAddressManager);
    }


    /********************
     * Public Functions *
     ********************/

    /**
     * Resolves the address associated with a given name.
     * @param _name Name to resolve an address for.
     * @return Address associated with the given name.
     */
    function resolve(
        string memory _name
    )
        public
        view
        returns (
            address
        )
    {
        return libAddressManager.getAddress(_name);
    }
}
/**
 * @title Lib_AddressResolver
 */
function resolve(
    string memory _name
)
    public
    view
    returns (
        address
    )
{
    return libAddressManager.getAddress(_name);
}

/**
 * Resolves the address associated with a given name.
 * @param _name Name to resolve an address for.
 * @return Address associated with the given name.
 */