3 }:a @ s d Z ddlZddlZddlmZmZ ddlZddlm Z ddl mZ ddl mZ ddl mZmZ ddlmZ dd lmZ dd lmZmZmZ ddlmZ ejeZG dd d ejZG dd deeZG dd deZG dd dZ G dd de eZ!G dd de eZ"G dd deZ#ej$edej%Z&ej$edej'Z(ej$edej)Z*ej$e!dej%Z+ej$e!dej'Z,ej$e!dej)Z-ej$e"d ej%Z.ej$e"d!ej'Z/ej$e"d"ej)Z0ej$e#d#ej%Z1ej$e#d$ej'Z2ej$e#d%ej)Z3dS )&zZJSON Web Algorithms. https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40 N)DictType)default_backend)hashes)hmac)paddingec)decode_dss_signature)encode_dss_signature)errors interfacesjwk)Hashablec @ s e Zd ZdZdS )JWAzJSON Web Algorithm.N)__name__ __module____qualname____doc__ r r /usr/lib/python3.6/jwa.pyr s r c @ s~ e Zd ZU dZi Zeeef dd Zdd Z dd Z edd Zd d Z edd Zejdd Zejdd Zdd ZdS )JWASignaturez-Base class for JSON Web Signature Algorithms.c C s || _ d S )N)name)selfr r r r __init__$ s zJWASignature.__init__c C s t |tstS | j|jkS )N) isinstancer NotImplementedr )r otherr r r __eq__' s zJWASignature.__eq__c C s t | j| jfS )N)hash __class__r )r r r r __hash__, s zJWASignature.__hash__c C s || j |j<