
    Q?hu#                        S SK Jr  S SKJr  S SKJr  0 SS_SS_SS	_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S!_S"S#_S$S%_0 S&S'_S(S)_S*S+_S,S-_S.S/_S0S1_S2S3_S4S5_S6S7_S8S9_S:S;_S<S=_S>S?_S@SA_SBSC_SDSE_SFSG_ESHSISJSKSLSMSNSOSPSQSRSSSTSUSVSW.Er0 r\R                  5        H  u  r	r
\	\\
SX   '   M     0 SYSZ_S[S\_S]S^_S_S`_SaSb_ScSd_SeSf_SgSh_SiSj_SkSl_SmSn_SoSp_SqSr_SsSt_SuSv_SwSx_SySz_0 S{S|_S}S~_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_E0 SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_E0 SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_E0 SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SGS _GSGS_EGSGSGSGSGS.ErGS r " GS	 GS
\5      r " GS GS\5      r " GS GS\5      rGg(      )inch)asNative)MultiWidthBarcode0)AcAaAbr   1)AaAbAc   2)AaAcAb   3)AaAdAa   4)AbAaAc   5)AbAbAb   6)AbAcAa   7)AaAaAd   8)AcAbAa   9)AdAaAa	   A)BaAaAc
   B)BaAbAb   C)BaAcAa   D)BbAaAb   E)BbAbAa   F)BcAaAa   G)AaBaAc   H)AaBbAb   I)AaBcAa   J)AbBaAb   K)AcBaAa   L)AaAaBc   M)AaAbBb   N)AaAcBa   O)AbAaBb   P)AcAaBa   Q)BaBaAb   R)BaBbAa   S)BaAaBb   T)BaAbBa   U)BbAaBa   V)BbBaAa   W)AaBaBb    X)AaBbBa!   )AbBaBa"   )AbCaAa#   )AbAaCa$   )CaAaAb%   )CaAbAa&   )CbAaAa'   )AaBaCa(   )AaCaBa)   )BaAaCa*   )AbAbBa+   )CaBaAa,   )CaAaBa-   )AbBbAa.   )AaAaDa)AaAaDaA)YZ-. $/+%#!=&startstopr
    z!Uz#Az#Bz#Cz#Dz#Ez#Fz#Gz#H	z#I
z#Jz#Kz#Lz#Mz#Nz#Oz#Pz#Qz#Rz#Sz#Tz#Uz#Vz#Wz#Xz#Yz#Zz!Az!Bz!Cz!Dz!Er   z=A"z=Br   z=Cr   z=Dr   z=Er   z=F'z=G(z=H)z=I*z=Jr   z=K,z=Lr   z=O:z=Z;z!F<z!Gr   z!H>z!I?z!J@z!V[z!K\z!L]z!M^z!N_z!O`z!Waz&Abz&Bcz&Cdz&Dez&Efz&Fgz&Ghz&Hiz&Ijz&Jkz&Klz&Lmz&Mnz&Noz&Opz&Pqz&Qrz&Rsz&Stz&Tuz&Uvz&Vwz&Wxz&Xyz&Yzz&Z{z!Pz!Qz!Rz!Sz!T)|}~c                    [        U 5      nUR                  5         SnSnSnU[        U5      :  a5  XC[        X      S   -  -   nUS-   o#S-   nUS:  a  SnU[        U5      :  a  M5  UR	                  S[
        US-     5        SnSnSnU[        U5      :  a5  XC[        X      S   -  -   nUS-   o#S-   nUS:  a  SnU[        U5      :  a  M5  UR	                  S[
        US-     5        UR                  5         SR                  U5      $ )Nr   r
   rC   /   r4    )listreverselen	_patternsinsert_charsbyvaljoin)strr   r   r   r   s        S/var/www/html/env/lib/python3.13/site-packages/reportlab/graphics/barcode/code93.py	_encode93r   W   s   S	AIIK 	
Aq1a!
c!f*IadOA&&&E1u1r6A	 c!f*
 HHQAF#$ 	
Aq1a!
c!f*IadOA&&&E1u1r6A	 c!f*
 HHQAF#$IIK771:    c                   B    \ rS rSr\S-  rSrSrSrSr	Sr
SS jrS rSrg)	_Code93Baseq   gQ~?Nr
   c                    [        U5      [        S5      L a  [        U5      nUR                  5        H  u  p4[        XU5        M     U R                  (       aX  U R
                  cJ  [        [        S-  U R                  S-  5      U l        [        [        S-  U R                  S-  5      U l	        OS=U l        U l	        [        R                  " X5        g )Nr
   g      ?g      $@g        )typer   itemssetattrquietlquietmaxr   barWidthrquietr   __init__)selfvalueargsr   r   s        r   r  _Code93Base.__init__x   s    ;$q'!UOEjjlFQDQ # ::{{"!$+t}}t/CD!$+t}}t/CD(++DK$+""4/r   c                 L   U R                   =(       a    [        S   S   /=(       d    / nXR                   Vs/ s H  n[        U   S   PM     sn-  nU R                   (       a  UR                  [        S   S   5        SR	                  U5      U l        U R
                  $ s  snf )Nr   r   r   r   )r   r   encodedappendr   
decomposed)r  dvalr   s      r   	decompose_Code93Base.decompose   s    yy4i034:,,7,Q1a,7799dkk)F"3A"67''$- 8s   B!)r  r   r  )r   )__name__
__module____qualname____firstlineno__r   r  r   r  r   	barHeightr   r  r  __static_attributes__ r   r   r   r   q   s.    f}HFFEID0"r   r   c                   $    \ rS rSrSrS rS rSrg)
Standard93   a  
Code 93 is a Uppercase alphanumeric symbology with some punctuation.
See Extended Code 93 for a variant that can represent the entire
128 characrter ASCII set.

Options that may be passed to constructor:

    value (int, or numeric string. required.):
        The value to encode.

    barWidth (float, default .0075):
        X-Dimension, or width of the smallest element
        Minumum is .0075 inch (7.5 mils).
        
    barHeight (float, see default below):
        Height of the symbol.  Default is the height of the two
        bearer bars (if they exist) plus the greater of .25 inch
        or .15 times the symbol's length.

    quiet (bool, default 1):
        Wether to include quiet zones in the symbol.
        
    lquiet (float, see default below):
        Quiet zone size to left of code, if quiet is true.
        Default is the greater of .25 inch, or 10 barWidth
        
    rquiet (float, defaults as above):
        Quiet zone size to right left of code, if quiet is true.

    stop (bool, default 1):
        Whether to include start/stop symbols.

Sources of Information on Code 93:

http://www.semiconductor.agilent.com/barcode/sg/Misc/code_93.html

Official Spec, "NSI/AIM BC5-1995, USS" is available for US$45 from
http://www.aimglobal.org/aimstore/
c                     SnSU l         U R                  R                  5        H  nU[        ;  a	  SU l         M  X-   nM     Xl        U$ )Nr   r
   r   )validr  upperr   	validated)r  vvalr   s      r   validateStandard93.validate   sJ    
!!#A	!
8D	 $
 r   c                 N    [        U R                  5      U l        U R                  $ )N)r   r  r	  r  s    r   encodeStandard93.encode   s     0||r   r	  r  r  N)r  r  r  r  __doc__r  r"  r  r  r   r   r  r     s    &N	r   r  c                   *    \ rS rSrSrS rS rS rSrg)
Extended93   z
Extended Code 93 is a convention for encoding the entire 128 character
set using pairs of characters to represent the characters missing in
Standard Code 93. It is very much like Extended Code 39 in that way.

See Standard93 for arguments.
c                     / nSU l         UR                  nU R                   H(  nU[        ;  a  U[        ;  a	  SU l         M   U" U5        M*     SR                  U5      U l        U R                  $ )Nr
   r   r   )r  r
  r  r   	_extendedr   r  )r  r  r   r   s       r   r  Extended93.validate   s`    
KKA	!ay&8
aD	 
 ~~r   c                    SU l         U R                   HN  nU[        ;   a  U R                   U-   U l         M#  U[        ;   a  U R                   [        U   -   U l         MJ  [        e   [        U R                   5      U l         U R                   $ )Nr   )r	  r  r   r*  
ValueErrorr   )r  r   s     r   r"  Extended93.encode   sk    AI~#||a/i#||il:     !.||r   c                 :    U R                   U R                  SS  -   $ )Nr   )r  r	  r!  s    r   
_humanTextExtended93._humanText   s    ~~dll23///r   r$  N)	r  r  r  r  r%  r  r"  r0  r  r  r   r   r'  r'     s    

0r   r'  N)reportlab.lib.unitsr   reportlab.lib.utilsr   !reportlab.graphics.barcode.commonr   r   r   r   r   r   r*  r   r   r  r'  r  r   r   <module>r5     s.  B % ( ?m.1Mm.1M  m /2M 	 n	 /2N	
 
 n
 /2N  n /2N  n /2N  n /2N  n /2N  n /2N  n /2N  -NnNnNnNno#	( OODAqK! 
Tt(.:@4
Tt(.:@4 T t )/ ;A4 T	 t	 )/	 ;A4	
 T
 t
 )/
 ;A4 T t )/ ;A4 T t )/ ;A4 T t )/ ;A4 T t ), ;>4 T t )- ;>4 T t ), ;>4 T t ), ;>4 T t ), ;>4 T t ), ;>4 T t ), ;>4  T!  t!  ),!  ;>4!" T#" t#" ),#" ;>4#$ T%$ t%$ ),%$ ;>4%& T'& t'& ),'& ;>4'( T)( t)( ),)( ;>4)* T+* t+* ),+* ;>4+, T-,  $4/	44# >5 5p"0 "0r   