+
    bIi                     Z    R t ^ RIHtHtHt ^ RIHt R t ! R R]4      t ! R R4      t	R# )	zHhelper for importing pdf structures into a ReportLab generated document
)format	PDFObject	pdfdocEnc)strTypesc                    \        \        \        4      '       d   \        M\        3pV\        \        3,           pV  F  p\        W!4      '       d   K  \        V4      ^8w  d   \        R\        V4      ,           4      h\        V^ ,          \        4      '       d   K`  \        R\        V^ ,          4      ,           4      h	  R# )   zTsequence elts must be strings/bytes/PDFPatternIfs or singletons containing strings: zCSingletons must contain strings/bytes or PDFObject instances only: N)
isinstancer   tupler   PDFPatternIflen
ValueErrorascii)pattern_sequenceallowedTypesxs   &  څC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\venv\Lib\site-packages\reportlab/pdfbase/pdfpattern.py_patternSequenceCheckr      s    )(E::8L9\"::L!))1vqy !wx}~  yA  "A  B  Bad8,, !fglmnopmqgr!rss     c                   H   a  ] tR t^t o ^tR tR tR tR tR t	R t
RtV tR# )	
PDFPatternc                4    \        V4       Wn        W n        R# )a  
Description of a kind of PDF object using a pattern.

Pattern sequence should contain strings, singletons of form [string] or
PDFPatternIf objects.
Strings are literal strings to be used in the object.
Singletons are names of keyword arguments to include.
PDFpatternIf objects allow some conditionality.
Keyword arguments can be non-instances which are substituted directly in string conversion,
or they can be object instances in which case they should be pdfdoc.* style
objects with a x.format(doc) method.
Keyword arguments may be set on initialization or subsequently using __setitem__, before format.
"constant object" instances can also be inserted in the patterns.
N)r   pattern	arguments)selfr   keywordargss   &&,r   __init__PDFPattern.__init__   s     	./'$r   c                "    W P                   V&   R # Nr   )r   itemvalues   &&&r   __setitem__PDFPattern.__setitem__%   s    $tr   c                (    V P                   V,          # r   r   )r   r    s   &&r   __getitem__PDFPattern.__getitem__(   s    ~~d##r   c              #  >  "   V P                   pV P                  pV EFy  p\        V\        4      '       d   \	        V4      x  K)  \        V\
        4      '       d   VP                  V4      x  KT  \        V\        4      '       dt   \        V P                  VP                  4      4      pT;'       d
    V^ ,          pT P                  V'       d   VP                  MVP                  4       F  pVx  K	  	  K  V^ ,          pVP                  VR4      p	V	f   \        R\        V4      ,          4      h\        V	\
        4      '       d   \        W4      x  EK=  \        V	\        4      '       d   \	        V	4      x  EKc  \	        \!        V	4      4      x  EK|  	  R# 5i)    Nz%s value not defined)r   _PDFPattern__documentr   r   r   r   r   r
   listevalcondthenPartelsePartgetr   r   str)
r   Lr   documentr   resultr,   znamer!   s
   &&        r   r+   PDFPattern.eval+   s"    NN	??A!H%%l"Ai((hhx((Al++dii/0++&)1::1::FAG G t!dD1=$%;eDk%IJJeI.. 00h//#E**#CJ//) s   B1F4FCFc                v    Wn          R P                  V P                  V P                  4      4      V = #   T = i ; i)r   )r)   joinr+   r   )r   r2   s   &&r   r   PDFPattern.formatD   s0    "	 88DIIdll34s   )4 8c                    \         P                  V P                  4      pV P                  Vn        V P                  Vn        V# r   )object__new__	__class__r   r   )r   cs   & r   clonePDFPattern.cloneK   s/    NN4>>*LL	nnr   )
__documentr   r   N)__name__
__module____qualname____firstlineno____RefOnly__r   r"   r%   r+   r   r?   __static_attributes____classdictcell____classdict__s   @r   r   r      s-     K%&%$02  r   r   c                   2   a  ] tR t^Qt o Rt. . 3R ltRtV tR# )r
   zcond will be evaluated as [cond] in PDFpattern eval.
It should evaluate to a list with value 0/1 etc etc.
thenPart is a list to be evaluated if the cond evaulates true,
elsePart is the false sequence.
c                    \        V\        4      '       g   V.pWV3 F  p\        V4       K  	  Wn        W n        W0n        R # r   )r   r*   r   r,   r-   r.   )r   r,   r-   r.   r   s   &&&& r   r   PDFPatternIf.__init__W   s;    $t$$dVd)A!!$ *	  r   )r,   r.   r-   N)rB   rC   rD   rE   __doc__r   rG   rH   rI   s   @r   r
   r
   Q   s     
 %' ! !r   r
   N)
rN   reportlab.pdfbase.pdfdocr   r   r   reportlab.lib.utilsr   r   r   r
    r   r   <module>rR      s2   	 A A (t? ?B! !r   