How we get dZ1 formula in backward propagation in a one hidden layer net

Could someone help here - I want to understand how we derive the dZ1 in a one hidden layer net.
the formula is dZ1 = np.dot(W2.T,dZ2)*g1_prime(Z1)

If you could me step by step derivation, it would be very helpful!

Many thanks
Francis

There are several threads. See these: Thread one, two, three, four.

Thank you so much. It is really helpful!!