
    %h]                        S SK r S SKrS SKrS SKrS SKJr  S SKJrJrJ	r	J
r
JrJrJr  SSKJr  SSKJrJr  SSKJrJrJrJrJrJrJrJrJr  SSKJrJrJ r   S	r!S
r" " S S\5      r# " S S\#5      r$ " S S\#5      r% " S S\#5      r& " S S\RN                  \#5      r( " S S\)\#5      r* " S S\+\#5      r, " S S\-\#5      r. " S S\-\#5      r/S\-S\+4S jr0g)     N)	unhexlify)AnyCallableListOptionalTupleUnioncast   )_pdfdoc_encoding_rev)PdfObjectProtocolPdfWriterProtocol)	
StreamTypeb_deprecation_with_replacementhex_str	hexencodelogger_warningread_non_whitespaceread_until_regexstr_)STREAM_TRUNCATED_PREMATURELYPdfReadErrorPdfStreamErrorzMathieu Fenniakzbiziqe@mathieu.fenniak.netc            
          \ rS rSr% \R
                  r\S   \S'   \	S   \S'   S\
4S jrS\
4S jr  SS
\S\S\\\S4   \\   S4   SS 4S jjrS\S
\S\4S jrS\	S    4S jrS\	S    4S jrS\S\S\\
4   SS4S jrS	rg)	PdfObject6   ).zhashlib._Hash	hash_funcIndirectObjectindirect_referencereturnc                 (    SU -  R                  5       $ )Nz%s)encodeselfs    L/var/www/auris/envauris/lib/python3.13/site-packages/PyPDF2/generic/_base.pyhash_value_dataPdfObject.hash_value_data;   s    t##%%    c                     U R                   R                  < SU R                  U R                  5       5      R	                  5       < 3R                  5       $ )N:)	__class____name__r   r'   	hexdigestr#   r$   s    r&   
hash_valuePdfObject.hash_value>   sB     ''t3356@@B
 &(	r)    pdf_destforce_duplicateignore_fields.Nc                     [        S5      e)a  
clone object into pdf_dest (PdfWriterProtocol which is an interface for PdfWriter)
force_duplicate: in standard if the object has been already cloned and reference,
                 the copy is returned; when force_duplicate == True, a new copy is always performed
ignore_fields : list/tuple of Fields names (for dictionaries that will be ignored during cloning (apply also to childs duplication)
in standard, clone function call _reference_clone (see _reference)
zclone PdfObject)	Exceptionr%   r2   r3   r4   s       r&   clonePdfObject.cloneG   s     )**r)   r8   c                      UR                   R                  U:X  a  U$  [        U S5      (       Ga<  U R                   n[	        UR
                  5      S-   nUb  [        UR                  5      UR                  ;  a"  0 UR                  [        UR                  5      '   UR                  UR                  [        UR                  5         ;   aE  UR                  UR                  [        UR                  5         UR                     5      nUc   eU$ XBR                  [        UR                  5         UR                  '   UR
                  R                  U5        [        USU5      Ul         U$ ! [         a     GN]f = f)z
reference the object within the _objects of pdf_dest only if
indirect_reference attribute exists (which means the objects
was already identified in xref/xobjstm)
if object has been already referenced do nothing
r       r   )r    pdfr6   hasattrlen_objectsid_id_translatedidnum
get_objectappendr   )r%   r8   r2   indiobjs         r&   _reference_clonePdfObject._reference_cloneV   sD   	''++x7 8 4-..))CH%%&*Acgg;h&=&==;=H++BswwK899 7 7377 DD"-- //377<SYYGC ?*?JBC''3774SYY?$$U+'5aH'EE$#  		s   E/ /
E=<E=c                     U $ )zResolve indirect references.r1   r$   s    r&   rC   PdfObject.get_objectu       r)   c                 <    [        SSS5        U R                  5       $ )N	getObjectrC   3.0.0)r   rC   r$   s    r&   rN   PdfObject.getObjecty   s    $[,H  r)   streamencryption_keyc                     [         eN)NotImplementedErrorr%   rQ   rR   s      r&   write_to_streamPdfObject.write_to_stream}   s
     "!r)   Fr1   )r-   
__module____qualname____firstlineno__hashlibsha1r   r   __annotations__r   bytesr'   r/   r   boolr	   r   strr   r8   r   r   rH   rC   rN   r   rW   __static_attributes__r1   r)   r&   r   r   6   s    07Ix,-< !122& &E  !&AC	+#+ + U38_d3i=>	+
 
+$5	>H[1 !8K0 !" "27c58H2I"	"r)   r   c            
           \ rS rSr  SS\S\S\\\S4   \	\   S4   SS 4S	 jjr
S
\S\S\\4   SS4S jr\S
\SS 4S j5       rS
\S\S\\4   SS4S jrS\4S jr\S
\SS 4S j5       rSrg)
NullObject   r1   r2   r3   r4   .Nr!   c                 J    [        SU R                  [        5       U5      5      $ )clone object into pdf_destre   )r
   rH   re   r7   s       r&   r8   NullObject.clone   s      L$"7"7
h"OPPr)   rQ   rR   c                 &    UR                  S5        g )N   null)writerV   s      r&   rW   NullObject.write_to_stream   s     	Wr)   c                 Z    U R                  S5      nUS:w  a  [        S5      e[        5       $ )N   rk   zCould not read Null object)readr   re   )rQ   nulltxts     r&   read_from_streamNullObject.read_from_stream   s+    ++a.g;<<|r)   c                 @    [        SSS5        U R                  X5        g NwriteToStreamrW   rO   r   rW   rV   s      r&   rv   NullObject.writeToStream        	%_6GQV4r)   c                     g)Nre   r1   r$   s    r&   __repr__NullObject.__repr__   s    r)   c                 F    [        SSS5        [        R                  U 5      $ NreadFromStreamrr   rO   )r   re   rr   rQ   s    r&   r   NullObject.readFromStream   s!    $%57I7S**622r)   rY   )r-   rZ   r[   r\   r   ra   r	   r   rb   r   r8   r   r`   rW   staticmethodrr   rv   r{   r   rc   r1   r)   r&   re   re      s     !&AC	Q#Q Q U38_d3i=>	Q
 
Q 27c58H2I	
    5 527c58H2I5	5#  3z 3l 3 3r)   re   c            
           \ rS rSrS\SS4S jr  SS\S\S\\	\
S	4   \\
   S4   SS 4S
 jjrS\S\4S jrS\
4S jrS\S\S\
\4   SS4S jrS\S\S\
\4   SS4S jr\S\SS 4S j5       r\S\SS 4S j5       rSrg)BooleanObject   valuer!   Nc                     Xl         g rT   r   )r%   r   s     r&   __init__BooleanObject.__init__   s    
r)   r2   r3   r4   .c                 `    [        SU R                  [        U R                  5      U5      5      $ )rh   r   )r
   rH   r   r   r7   s       r&   r8   BooleanObject.clone   s,     T22=3LhW
 	
r)   _BooleanObject__oc                     [        U[        5      (       a  U R                  UR                  :H  $ [        U[        5      (       a  U R                  U:H  $ g)NF)
isinstancer   r   ra   )r%   r   s     r&   __eq__BooleanObject.__eq__   sA    c=))::**T""::$$r)   c                 ,    U R                   (       a  S$ S$ )NTrueFalser   r$   s    r&   r{   BooleanObject.__repr__   s    v00r)   rQ   rR   c                 l    U R                   (       a  UR                  S5        g UR                  S5        g )N   trues   false)r   rl   rV   s      r&   rW   BooleanObject.write_to_stream   s#     ::LL!LL"r)   c                 @    [        SSS5        U R                  X5        g ru   rw   rV   s      r&   rv   BooleanObject.writeToStream   ry   r)   c                     U R                  S5      nUS:X  a  [        S5      $ US:X  a  U R                  S5        [        S5      $ [        S5      e)Nro   r   Ts   falsr;   FzCould not read Boolean object)rp   r   r   )rQ   words     r&   rr   BooleanObject.read_from_stream   sJ    {{1~7? &&W_KKN ''>??r)   c                 F    [        SSS5        [        R                  U 5      $ r~   )r   r   rr   r   s    r&   r   BooleanObject.readFromStream   s!    $%57I7S--f55r)   r   rY   )r-   rZ   r[   r\   r   r   r   ra   r	   r   rb   r   r8   objectr   r{   r   r`   rW   rv   r   rr   r   rc   r1   r)   r&   r   r      s   c d  !&AC		
#	
 	
 U38_d3i=>		

 
	
& T 1# 1# #27c58H2I#	#5 527c58H2I5	5 @ @ @ @ 6z 6o 6 6r)   r   c            
       J   \ rS rSrS\S\S\SS4S jr  SS\S	\S
\	\
\S4   \\   S4   SS 4S jjr\SS j5       rS\S   4S jrS\4S jrS\S\4S jrS\S\4S jrS\S\	S\\4   SS4S jrS\S\	S\\4   SS4S jr\S\S\SS 4S j5       r\S\S\SS 4S j5       rSrg)r      rB   
generationr<   r!   Nc                 (    Xl         X l        X0l        g rT   )rB   r   r<   )r%   rB   r   r<   s       r&   r   IndirectObject.__init__   s    
$r)   r2   r3   r4   .c                 8   U R                   U:X  a	  U(       d  U $ [        U R                   5      UR                  ;  a"  0 UR                  [        U R                   5      '   U(       do  U R                  UR                  [        U R                   5         ;   a?  UR	                  UR                  [        U R                   5         U R                     5      nO'U R	                  5       nUc   eUR                  XU5      nUc   eUR                  c   eUR                  $ )rh   )r<   r@   rA   rB   rC   r8   r    )r%   r2   r3   r4   duprG   s         r&   r8   IndirectObject.clone   s     88xKdhh<x66646H##BtxxL14::1H1HDHH1V#V%%h&=&=bl&KDJJ&WXC//#C?"?))H}EC%%111%%%r)   c                     U $ rT   r1   r$   s    r&   r    !IndirectObject.indirect_reference   rL   r)   r   c                 `    U R                   R                  U 5      nUc  g UR                  5       $ rT   )r<   rC   )r%   rG   s     r&   rC   IndirectObject.get_object  s+    hh!!$';~~r)   c                 l    SU R                   < SU R                  < S[        U R                  5       S3$ )NzIndirectObject(z, ))rB   r   r@   r<   r$   s    r&   r{   IndirectObject.__repr__  s/     b0C2bl^STUUr)   otherc                     US L=(       ao    [        U[        5      =(       aX    U R                  UR                  :H  =(       a8    U R                  UR                  :H  =(       a    U R                  UR                  L $ rT   )r   r   rB   r   r<   r%   r   s     r&   r   IndirectObject.__eq__  sc     &5.1&

ekk)& 5#3#33& EII%	
r)   c                 .    U R                  U5      (       + $ rT   )r   r   s     r&   __ne__IndirectObject.__ne__  s    ;;u%%%r)   rQ   rR   c                 l    UR                  [        U R                   SU R                   S35      5        g )N z R)rl   r   rB   r   rV   s      r&   rW   IndirectObject.write_to_stream  s+     	R4::,a'8;<=r)   c                 @    [        SSS5        U R                  X5        g ru   rw   rV   s      r&   rv   IndirectObject.writeToStream  ry   r)   c                    Sn U R                  S5      nU(       d  [        [        5      eUR                  5       (       a  OX#-  nMC  Sn U R                  S5      nU(       d  [        [        5      eUR                  5       (       a
  U(       d  MF  OXC-  nML  [	        U 5      nUS:w  a%  [        S[        U R                  5       5       35      e[        [        U5      [        U5      U5      $ )Nr)   r;      Rz0Error reading indirect object reference at byte )
rp   r   r   isspacer   r   r   tellr   int)rQ   r<   rB   tokr   rs         r&   rr   IndirectObject.read_from_stream"  s    ++a.C$%ABB{{}}LE  
++a.C$%ABB{{}}!J   '9B76;;=CYBZ[  c%j#j/3??r)   c                 F    [        SSS5        [        R                  X5      $ r~   )r   r   rr   rQ   r<   s     r&   r   IndirectObject.readFromStream=  s#     	%%57I7S..v;;r)   )r   rB   r<   rY   )r!   r   )r-   rZ   r[   r\   r   r   r   r   ra   r	   r   rb   r   r8   propertyr    r   rC   r{   r   r   r   r`   rW   rv   r   rr   r   rc   r1   r)   r&   r   r      st   c s    !&AC	&#& & U38_d3i=>	&
 
&.   H[1  V# V
C 
D 
&C &D &> >27c58H2I>	>
5 527c58H2I5	5 @ @# @:J @ @4 <<!$<	< <r)   r   c            
           \ rS rSr SS\\\4   S\\   SS 4S jjr  SS\S	\	S
\\
\S4   \\   S4   SS 4S jjrS\4S jrS\4S jrS\S\S\\4   SS4S jrS\S\S\\4   SS4S jrSrg)FloatObjectiE  Nr   contextr!   c                      [         R                  R                  U [        U5      U5      $ ! [         a7    [        SU S3[        5        [         R                  R                  U S5      s $ f = f)NzFloatObject (z) invalid; use 0.0 insteadz0.0)decimalDecimal__new__r   r6   r   r-   )clsr   r   s      r&   r   FloatObject.__new__F  s`    	7??**3UWEE 	7 ]5'1KLhW??**366		7s   ), >A-,A-r1   r2   r3   r4   .c                 L    [        SU R                  [        U 5      U5      5      $ )rh   r   )r
   rH   r   r7   s       r&   r8   FloatObject.cloneQ  s#     M4#8#8T9JH#UVVr)   c                     X R                  5       :X  a.  [        U R                  [        R                  " S5      5      5      $ U S R                  S5      $ )Nr;   f0)to_integralrb   quantizer   r   rstripr$   s    r&   r{   FloatObject.__repr__Z  sE    ##%%t}}W__Q%7899 1X%%c**r)   c                 H    [        [        U 5      R                  S5      5      $ Nutf8)floatreprr#   r$   s    r&   
as_numericFloatObject.as_numericc  s    T$Z&&v.//r)   rQ   rR   c                 V    UR                  [        U 5      R                  S5      5        g r   rl   r   r#   rV   s      r&   rW   FloatObject.write_to_streamf       	T$Z&&v./r)   c                 @    [        SSS5        U R                  X5        g ru   rw   rV   s      r&   rv   FloatObject.writeToStreamk  ry   r)   )r   NrY   )r-   rZ   r[   r\   r	   rb   r   r   r   ra   r   r   r8   r{   r   r   r   r`   rW   rv   rc   r1   r)   r&   r   r   E  s    DH	7#s(O	74<SM	7		7 !&AC	WW W U38_d3i=>	W
 
W+# +0E 00 027c58H2I0	0
5 527c58H2I5	5r)   r   c            
          \ rS rSr\R
                  " S5      rS\SS 4S jr  SS\S\	S	\
\\S
4   \\   S4   SS 4S jjrS\4S jrS\S\
S\\4   SS4S jrS\S\
S\\4   SS4S jr\S\S\
S   4S j5       r\S\S\
S   4S j5       rSrg)NumberObjectir  s	   [^+-.0-9]r   r!   c                      [         R                  U [        U5      5      $ ! [         a-    [        SU S3[        5        [         R                  U S5      s $ f = f)NzNumberObject(z) invalid; use 0 insteadr   )r   r   
ValueErrorr   r-   )r   r   s     r&   r   NumberObject.__new__u  sP    	';;sCJ// 	']5'1IJHU;;sA&&	's   ! 4AAr1   r2   r3   r4   .Nc                 L    [        SU R                  [        U 5      U5      5      $ )rh   r   )r
   rH   r   r7   s       r&   r8   NumberObject.clone|  s#     ND$9$9,t:Lh$WXXr)   c                 H    [        [        U 5      R                  S5      5      $ r   )r   r   r#   r$   s    r&   r   NumberObject.as_numeric  s    4:$$V,--r)   rQ   rR   c                 V    UR                  [        U 5      R                  S5      5        g r   r   rV   s      r&   rW   NumberObject.write_to_stream  r   r)   c                 @    [        SSS5        U R                  X5        g ru   rw   rV   s      r&   rv   NumberObject.writeToStream  ry   r)   )r   r   c                     [        U [        R                  5      nUR                  S5      S:w  a  [	        U5      $ [        U5      $ )N   .)r   r   NumberPatternfindr   )rQ   nums     r&   rr   NumberObject.read_from_stream  s:    v|'A'AB88D>Rs##C  r)   c                 F    [        SSS5        [        R                  U 5      $ r~   )r   r   rr   r   s    r&   r   NumberObject.readFromStream  s#     	%%57I7S,,V44r)   rY   )r-   rZ   r[   r\   recompiler   r   r   ra   r	   r   rb   r   r8   r   r   r   r`   rW   rv   r   rr   r   rc   r1   r)   r&   r   r   r  s#   JJ|,M'C 'N ' !&AC	YY Y U38_d3i=>	Y
 
Y.C .0 027c58H2I0	0
5 527c58H2I5	5 ! !6S0T ! ! 55	,	-5 5r)   r   c            
           \ rS rSrSr  SS\S\S\\\	S4   \
\	   S4   S	S 4S
 jjr\S	\4S j5       rS\S\S\	\4   S	S4S jrS\S\S\	\4   S	S4S jrSrg)ByteStringObjecti  a)  
Represents a string object where the text encoding could not be determined.
This occurs quite often, as the PDF spec doesn't provide an alternate way to
represent strings -- for example, the encryption data stored in files (like
/O) is clearly not text, but is still stored in a "String" object.
r1   r2   r3   r4   .Nr!   c           
      ^    [        SU R                  [        [        U 5      5      U5      5      $ )rh   r   )r
   rH   r   r`   r7   s       r&   r8   ByteStringObject.clone  s.     !!"25;"?J
 	
r)   c                     U $ )z7For compatibility with TextStringObject.original_bytes.r1   r$   s    r&   original_bytesByteStringObject.original_bytes  s	     r)   rQ   rR   c                     U nU(       a  SSK Jn  U" X#5      nUR                  S5        UR                  [        U5      5        UR                  S5        g )Nr   RC4_encrypt   <   >)	_securityr  rl   r   )r%   rQ   rR   bytearrr  s        r&   rW    ByteStringObject.write_to_stream  sB     /!.:GTYw'(Tr)   c                 @    [        SSS5        U R                  X5        g ru   rw   rV   s      r&   rv   ByteStringObject.writeToStream  ry   r)   rY   )r-   rZ   r[   r\   __doc__r   ra   r	   r   rb   r   r8   r   r`   r  r   rW   rv   rc   r1   r)   r&   r   r     s     !&AC	



 

 U38_d3i=>	


 


   
 
27c58H2I
	
5 527c58H2I5	5r)   r   c            
           \ rS rSrSr  SS\S\S\\\	S4   \
\	   S	4   S
S 4S jjrSrSr\S
\4S j5       rS
\4S jrS\S\S	\	\4   S
S	4S jrS\S\S	\	\4   S
S	4S jrSrg	)TextStringObjecti  z
Represents a string object that has been decoded into a real unicode string.
If read from a PDF document, this string appeared to match the
PDFDocEncoding, or contained a UTF-16BE BOM mark to cause UTF-16 decoding to
occur.
Fr1   r2   r3   r4   .Nr!   c                     [        U 5      nU R                  Ul        U R                  Ul        [        SU R	                  XA5      5      $ )rh   r  )r  autodetect_pdfdocencodingautodetect_utf16r
   rH   )r%   r2   r3   r4   rG   s        r&   r8   TextStringObject.clone  sC     t$(,(F(F%#44&(=(=c(LMMr)   c                 "    U R                  5       $ )a  
It is occasionally possible that a text string object gets created where
a byte string object was expected due to the autodetection mechanism --
if that occurs, this "original_bytes" property can be used to
back-calculate what the original encoded bytes were.
)get_original_bytesr$   s    r&   r  TextStringObject.original_bytes  s     &&((r)   c                     U R                   (       a"  [        R                  U R                  S5      -   $ U R                  (       a  [        U 5      $ [        S5      e)Nutf-16bez#no information about original bytes)r  codecsBOM_UTF16_BEr#   r  encode_pdfdocencodingr6   r$   s    r&   r  #TextStringObject.get_original_bytes  sG       &&Z)@@@++(..ABBr)   rQ   rR   c                     [        U 5      nU(       a,  SSKJn  U" X#5      n[        U5      nUR                  US 5        g UR                  S5        U Hi  n[        U5      R                  5       (       d%  US:w  a  UR                  [        SU-  5      5        MF  UR                  [        [        U5      5      5        Mk     UR                  S5        g ! [         a%    [        R                  U R	                  S5      -   n Nf = f)Nr  r   r     (    z\%03o   ))r  UnicodeEncodeErrorr  r  r#   r  r  r   rW   rl   chrisalnumr   )r%   rQ   rR   r  r  rG   cs          r&   rW    TextStringObject.write_to_stream  s    	D+D1G /!.:G"7+C-LL1v~~''AI
 LLHqL!12LLCF,  LL' " 	D))DKK
,CCG	Ds   C ,D Dc                 @    [        SSS5        U R                  X5        g ru   rw   rV   s      r&   rv   TextStringObject.writeToStream  ry   r)   rY   )r-   rZ   r[   r\   r  r   ra   r	   r   rb   r   r8   r  r  r   r`   r  r  r   rW   rv   rc   r1   r)   r&   r  r    s     !&AC	
N
N 
N U38_d3i=>	
N
 

N !&) ) )CE C 27c58H2I	:5 527c58H2I5	5r)   r  c            
          \ rS rSr\R
                  " S5      rSrSSSSS.\" S	5       V VVs0 s H!  n[        U5      S
US 3R                  5       _M#     snnn Er  SS\S\S\\\S4   \\   S4   SS 4S jjrS\S\S\\4   SS4S jrS\S\S\\4   SS4S jrS\4S jr\S\S\4S j5       r\S\S\SS 4S j5       r\S\S\SS 4S j5       rSrgs  snnn f )
NameObjecti   s   \s+|[\(\)<>\[\]{}/%]   /s   #23s   #28s   #29s   #2F)#(r   /!   r.  02Xr1   r2   r3   r4   .Nr!   c                 L    [        SU R                  [        U 5      U5      5      $ )rh   r,  )r
   rH   r,  r7   s       r&   r8   NameObject.clone+  s#     L$"7"7
48H("STTr)   rQ   rR   c                 B    UR                  U R                  5       5        g rT   )rl   renumberrV   s      r&   rW   NameObject.write_to_stream4  s     	T]]_%r)   c                 @    [        SSS5        U R                  X5        g ru   rw   rV   s      r&   rv   NameObject.writeToStream9  ry   r)   c                 T   U S   R                  S5      nUS:w  a  [        SU  S3[        5        U SS   HL  nUS:  a1  UR                  S5       H  nUSUS	 3R                  5       -  nM     M:   XR                  U   -  nMN     U$ ! [         a    XR                  S5      -  n Mr  f = f)
Nr   utf-8r-  z$Incorrect first char in NameObject:(r   r;   ~r.  r2  )r#   r   r-   renumber_tableKeyError)r%   outr'  xs       r&   r6  NameObject.renumber?  s    1gnnW%$;A$qI8TabA3w'*AQqg;--//C +-..q11C  
   -88G,,C-s   /BB'&B'sinc                     U R                  SS5      nUS:  a?   U S U [        XS-   US-    5      -   XS-   S  -   n U R                  SUS-   5      nUS:  a  M?  U $ ! [         a    US-   n Nf = f)N   #r   r;      )r   r   r   )rB  rF   s     r&   unnumberNameObject.unnumberN  s    HHT11f"1g	#!ea!e*< ==EGLHHT1q5) 1f 
	   Es   6A A,+A,r<   c                 N   U R                  S5      nU[        R                  :w  a  [        S5      eU[	        U [        R
                  SS9-  n [        R                  U5      nS H   n UR                  U5      n[        U5      s  $    [        SUSSS5      e! [         a     M@  f = f! [        [        4 ak  nUR                  (       d<  [        S	[        U5       S
3[        5        [        UR                  S5      5      s S nA$ [        S	[        U5       S
35      UeS nAff = f)Nr;   zname read errorT)
ignore_eof)r;  gbk r   zCode Not Foundz"Illegal character in Name Object (r   charmap)rp   r,  surfixr   r   delimiter_patternrF  decoder6   UnicodeDecodeErrorr$  strictr   r   r-   )rQ   r<   nameencretes         r&   rr   NameObject.read_from_stream[  s   {{1~:$$$011 )E)ERVWW	 &&t,D'++c*C%c?* ( %Rq!5EFF !  #$67 		::8dAF "$++i"899"8dAF		sO   B) )BB) B) 
B&"B) %B&&B) )D$9AD D$DD$c                 F    [        SSS5        [        R                  X5      $ r~   )r   r,  rr   r   s     r&   r   NameObject.readFromStreamw  s#     	%%57I7S**677r)   rY   )r-   rZ   r[   r\   r   r   rN  rM  ranger%  r#   r=  r   ra   r	   r   rb   r   r8   r   r`   rW   rv   r6  r   rF  rr   r   rc   ).0rF   r%  s   000r&   r,  r,     s   

#;<F	
 27r
;A3q6Qqg;%%''
;N !&AC	UU U U38_d3i=>	U
 
U& &27c58H2I&	&
5 527c58H2I5	5%  
e 
 
 
  # ,  6 88!$8	8 8a <s   (C
r,  unicode_stringr!   c           	          SnU  H"  n U[        [        [        U   5      5      -  nM$     U$ ! [         a    [	        SUSSS5      ef = f)Nr)   pdfdocencodingr   z#does not exist in translation table)r   r%  r   r>  r$  )r[  retvalr'  s      r&   r  r    sa    F	b1!4566F  M	  	$ !R-R 	s	   -A)1r  r   r]   r   binasciir   typingr   r   r   r   r   r	   r
   _codecsr   
_protocolsr   r   _utilsr   r   r   r   r   r   r   r   r   errorsr   r   r   
__author____author_email__r   re   r   r   r   r   r   r   r`   r   rb   r  r,  r  r1   r)   r&   <module>rg     s   8    	  D D D * =
 
 
 P O
/ J"! J"Z"3 "3J66I 66ra<Y a<H*5'//9 *5Z-53	 -5`)5ui )5XO5sI O5d\8i \8~	# 	% 	r)   