1. Inherits
1.1. Ownable
1.1.1. TODO
2. Crowd Loan
2.1. CrowdLoanFactory
2.2. CrowdLoan
2.2.1. types
2.2.1.1. enums
2.2.1.1.1. TimeUnitType
2.2.1.1.2. LoanStatus
2.2.1.2. struct
2.2.1.2.1. Borrower
2.2.1.2.2. CrowdFundParams
2.2.1.2.3. LoanParams
2.2.2. storage
2.2.2.1. Borrower
2.2.2.2. loanParams
2.2.2.3. crowdfundParams
2.2.2.4. debtToken
2.2.3. functions
2.2.3.1. _getDebtTokenValueForAmount
2.2.3.1.1. TODO (I don't quite understand this yet)
2.2.3.2. _isBelowMaxSupply
3. Debt Token
3.1. DebtTokenFactory
3.1.1. Functions
3.1.1.1. createDebtToken
3.2. DebtToken
3.2.1. Inherits
3.2.1.1. ERC721Metadata
3.2.1.1.1. inherits
3.2.1.1.2. storage
3.2.1.1.3. functions
3.2.1.2. ERC721Mintable
3.2.1.2.1. functions
3.2.1.2.2. inherits
3.2.1.3. ERC721Enumerable
3.2.1.3.1. Inherits
3.2.1.3.2. Storage
3.2.1.3.3. _mint
3.2.1.3.4. Functions
3.2.1.4. DebtManager
3.2.2. functions
3.2.2.1. mint (onlyMinter)
3.2.2.2. addDebt
3.2.2.2.1. calls _addDebtValue?
3.2.2.3. removeDebt
3.2.2.3.1. calls _removeDebtValue
4. Debt Contracts
4.1. DebtManager
4.1.1. storage
4.1.1.1. _totalDebt (uint256)
4.1.1.2. _tokenDebtValue (mapping uint256 => uint256)
4.1.2. functions
4.1.2.1. _addDebtValue
4.1.2.2. _removeDebtValue
4.1.2.3. totalDebt()
4.1.2.4. debtValue()
4.1.2.4.1. Returns the debt value of a particular token
4.2. RepaymentRouter
4.2.1. storage
4.2.1.1. _totalRepaid
4.2.1.2. _withdrawnByTokenId (uint256 => uint256)
4.2.2. functions
4.2.2.1. _transferERC20(to)
4.2.2.2. _transferERC20(to, from)
4.2.2.3. _repay
4.2.2.4. _withdraw
4.2.2.5. getWithdrawalAllowance
4.2.2.6. totalRepaid()
4.2.2.7. totalWithdrawn()
4.3. TermsContract
4.3.1. functions
4.3.1.1. getExpectedRepaymentValue (timestamp)
4.3.1.2. getValueRepaidToDate
4.3.1.3. getTermStartTimestamp
4.3.1.4. getTermEndTimestamp