3TfXddlmZddlZddlmZddlmZddlmZm Z m Z GddZ y)) annotationsN) constant_time) InvalidToken)HOTP HOTPHashTypes _generate_uricTeZdZ d ddZddZd dZ d dZy) TOTPNc:||_t|||||_y)N)enforce_key_length) _time_stepr_hotp)selfkeylength algorithm time_stepbackendr s O/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/twofactor/totp.py__init__z TOTP.__init__s!$ 7I  cht||jz }|jj|S)N)intr rgenerate)rtimecounters rrz TOTP.generate!s*dT__,-zz""7++rcdtj|j||s tdy)Nz#Supplied TOTP value does not match.)rbytes_eqrr)rtotprs rverifyz TOTP.verify%s-%%dmmD&94@DE EArc `t|jd||dt|jfgS)Nrperiod)rrrr )r account_nameissuers rget_provisioning_urizTOTP.get_provisioning_uri)s5 JJ   DOO, - .   r)NT) rbytesrrrrrrrz typing.Anyr bool)rztyping.Union[int, float]returnr&)rr&rrr(None)r#strr$ztyping.Optional[str]r(r*)__name__ __module__ __qualname__rrr r%rrr r sq##'      !      !  ,F    )=    rr ) __future__rtypingcryptography.hazmat.primitivesr(cryptography.hazmat.primitives.twofactorr-cryptography.hazmat.primitives.twofactor.hotprrrr r.rrr4s' # 8A   r