<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def ec_construct_private(num):
 """ Given a set of values on public and private attributes build a elliptic curve private key instance. :param num: A dictionary with public and private attributes and their values :return: A cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey instance. """

    pub_ecpn = ec.EllipticCurvePublicNumbers(num['x'], num['y'],
                                             NIST2SEC[as_unicode(num['crv'])]())
    priv_ecpn = ec.EllipticCurvePrivateNumbers(num['d'], pub_ecpn)
    return priv_ecpn.private_key(default_backend())