�
�t0^c @ s
d Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z m Z m Z m
Z
m Z m Z d e
f d � � YZ d e j f d � � YZ d e j f d � � YZ d
e j f d � � YZ d e
f d
� � YZ e d k re e j � � n d S( s JSON Web Signature.i����N( t b64t errorst json_utilt jwat jwkt utilt MediaTypec B s2 e Z d Z d Z e d � � Z e d � � Z RS( s MediaType field encoder/decoder.s application/c C s9 d | k r5 d | k r* t j d � � n | j | S| S( s Decoder.t /t ;s Unexpected semi-colon( R t DeserializationErrort PREFIX( t clst value( ( s. /usr/lib/python2.7/site-packages/josepy/jws.pyt decode s
c C s9 d | k r5 | j | j � s$ t � | t | j � S| S( s Encoder.R ( t
startswithR
t AssertionErrort len( R R ( ( s. /usr/lib/python2.7/site-packages/josepy/jws.pyt encode s ( t __name__t
__module__t __doc__R
t classmethodR
R ( ( ( s. /usr/lib/python2.7/site-packages/josepy/jws.pyR s
t Headerc B s� e Z d Z e j d d e j j d e �Z e j d d e �Z
e j d d e j j d e �Z e j d d e �Z
e j d d e �Z e j d d e d d �Z e j d
d e j d e �Z e j d d e j d e �Z e j d d
e j d e j d e �Z e j d d
e j d e j d e �Z e j d d e d d �Z d � Z d � Z d � Z e j d � � Z e j d � � Z e j d � � Z RS( s6 JOSE Header.
.. warning:: This class supports **only** Registered Header
Parameter Names (as defined in section 4.1 of the
protocol). If you need Public Header Parameter Names (4.2)
or Private Header Parameter Names (4.3), you must subclass
and override :meth:`from_json` and :meth:`to_partial_json`
appropriately.
.. warning:: This class does not support any extensions through
the "crit" (Critical) Header Parameter (4.1.11) and as a
conforming implementation, :meth:`from_json` treats its
occurrence as an error. Please subclass if you seek for
a different behaviour.
:ivar x5tS256: "x5t#S256"
:ivar str typ: MIME Media Type, inc. :const:`MediaType.PREFIX`.
:ivar str cty: Content-Type, inc. :const:`MediaType.PREFIX`.
t algt decodert omitemptyt jkuR t kidt x5ut x5ct defaultt x5ts x5t#S256t typt encodert ctyt critc s&