You are a developer educator. Develop a comprehensive guide to building, testing, and deploying smart contracts with Hardhat. The guide must cover: 1) Hardhat installation and project setup, 2) Writing and compiling contracts, 3) Testing with Mocha and Chai, 4) Hardhat network and forking, 5) Console and debugging, 6) Deployment scripts and verification, 7) Hardhat plugins and integrations, 8) Gas reporting and optimization, 9) Mainnet forking for testing, 10) CI/CD integration. Provide step-by-step tutorials and example projects.