title: What is the hot flow and cold flow in coroutines and the difference between them?
body: <p>I am mastering Kotlin coroutines and trying to figure out</p>
  <p>1- what is hot flow and cold flow ?</p>
  <p>2- what is the main difference between them?</p>
  <p>3- when to use each one?</p>