1. What is the base contract? It is the parent contract from which other contracts/objects inherit from it.
2. Which functions are available for derived contracts? All public and internally scoped functions (incl events, modifiers, functions, variables) and state variables are inherited to and available to the child contracts.
3. What is hierarchical inheritance? A parent contract acts as the base for more than 1 child contract.