o
    C»V)H  ã                   @   s¾  d dl mZ d dlmZ d dlmZ d dlmZ i d d“dd“dd	“d
d“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“d"d#“d$d%“i d&d'“d(d)“d*d+“d,d-“d.d/“d0d1“d2d3“d4d5“d6d7“d8d9“d:d;“d<d=“d>d?“d@dA“dBdC“dDdE“dFdG“¥i dHdI“dJdK“dLdM“dNdO“dPdQ“dRdS“dTdU“dVdW“dXdY“dZd[“d\d]“d^d_“d`da“dbdc“ddde“dfdg“dhdi“¥i djdk“dldm“dndo“dpdq“drds“dtdu“dvdw“dxdy“dzd{“d|d}“d~d“d€d�“d‚dƒ“d„d…“d†d‡“dˆd‰“dŠd‹“¥i dŒd�“dŽd�“d�d‘“d’d““d”d•“d–d—“d˜d™“dšd›“dœd�“dždŸ“d d¡“d¢d£“d¤d¥“d¦d§“d¨d©“dªd«“d¬d­“¥i d®d¯“d°d±“d²d³“d´dµ“d¶d·“d¸d¹“dºd»“d¼d½“d¾d¿“dÀdÁ“dÂdÃ“dÄdÅ“dÆdÇ“dÈdÉ“dÊdË“dÌdÍ“dÎdÏ“¥dÐdÑdÒdÓdÔdÕœ¥ZdÖ\Z	Z
ZZi d×d “dØd“dÙd“dÚd
“dÛd“dÜd“dÝd“dÞd“dßd“dàd“dád“dâd“dãd“däd“dåd “dæd"“dçd$“i dèd&“déd(“dêd*“dëd,“dìd.“díd0“dîd2“dïd4“dðd6“dñd8“dòd:“dód<“dôd>“dõd@“dödB“d÷dD“dødF“¥i dùdH“dúdJ“dûdL“düdN“dýdP“dþdR“dÿdT“�d dV“�ddX“�ddZ“�dd\“�dd^“�dd`“�ddb“�ddd“�ddf“�d	dh“¥i �d
dj“�ddl“�ddn“�ddp“�ddr“�ddt“�ddv“�ddx“�ddz“�dd|“�dd~“�dd€“�dd‚“�dd„“�dd†“�ddˆ“�ddŠ“¥i �ddŒ“�ddŽ“�dd�“�dd’“�dd”“�d d–“�d!d˜“�d"dš“�d#dœ“�d$dž“�d%d “�d&d¢“�d'd¤“�d(d¦“�d)d¨“�d*dª“�d+d¬“¥i �d,d®“�d-d°“�d.d²“�d/d´“�d0d¶“�d1d¸“�d2dº“�d3d¼“�d4d¾“�d5dÀ“�d6dÂ“�d7dÄ“�d8dÆ“�d9dÈ“�d:dÊ“�d;dÌ“�d<dÎ“¥�d=�d>i¥Zi d×d “dØd“dÙd“dÚd
“dÛd“dÜd“dÝd“dÞd“dßd“dàd“dád“dâd“dãd“däd“dåd “dæd"“dçd$“i dèd&“déd(“dêd*“dëd,“dìd.“díd0“dîd2“dïd4“dðd6“dñd8“dòd:“dód<“dôd>“dõd@“dödB“d÷dD“dødF“¥i dùdH“dúdJ“dûdL“düdN“dýdP“dþdR“dÿdT“�d dV“�ddX“�ddZ“�dd\“�dd^“�dd`“�ddb“�ddd“�ddf“�d	dh“¥i �d
dj“�ddl“�ddn“�ddp“�ddr“�ddt“�ddv“�ddx“�ddz“�dd|“�dd~“�dd€“�dd‚“�d?d„“�d@d†“�dAdˆ“�dBdŠ“¥i �dCdŒ“�dDdŽ“�dEd�“�dFd’“�dGd”“�dHd–“�dId˜“�dJdš“�dKdœ“�dLdž“�dMd “�dNd¢“�dOd¤“�dPd¦“�dQd¨“�dRdª“�dSd¬“¥i �dTd®“�dUd°“�dVd²“�dWd´“�dXd¶“�dYd¸“�dZdº“�d[d¼“�d\d¾“�d]dÀ“�d^dÂ“�d7dÄ“�d8dÆ“�d9dÈ“�d:dÊ“�d<dÌ“�d_dÎ“¥�d=�d>i¥Zi �d`d “�dad“�dbd“�dcd
“�ddd“�ded“�dfd“�dgd“�dhd“�did“�djd“�dkd“�dld“�dmd“�dnd “�dod"“�dpd$“i �dqd&“�drd(“�dsd*“�dtd,“�dud.“�dvd0“�dwd2“�dxd4“�dyd6“�dzd8“�d{d:“�d|d<“�d}d>“�d~d@“�ddB“�d€dD“�d�dF“¥i �d‚dH“�dƒdJ“�d„dL“�d…dN“�d†dP“�d‡dR“�dˆdT“�d‰dV“�dŠdX“�d‹dZ“�dŒd\“�d�d^“�dŽd`“�d�db“�d�dd“�d‘df“�d’dh“¥i �d“dj“�d”dl“�d•dn“�d–dp“�d—dr“�d˜dt“�d™dv“�dšdx“�d›dz“�dœd|“�d�d~“�džd€“�dŸd‚“�d d„“�d¡d†“�d¢dˆ“�d£dŠ“¥i �d¤dŒ“�d¥dŽ“�d¦d�“�d§d’“�d¨d”“�d©d–“�dªd˜“�d«dš“�d¬dœ“�d­dž“�d®d “�d¯d¢“�d°d¤“�d±d¦“�d²d¨“�d³dª“�d´d¬“¥i �dµd®“�d¶d°“�d·d²“�d¸d´“�d¹d¶“�dºd¸“�d»dº“�d¼d¼“�d½d¾“�d¾dÀ“�d¿dÂ“�dÀdÄ“�dÁdÆ“�dÂdÈ“�dÃdÊ“�d;dÌ“�d_dÎ“¥�d=�d>i¥Zeefeefe�dÄfe	eefe
eefee�dÄf�dÅœZ�dÆZee ¡ ƒZG �dÇ�dÈ„ �dÈeƒZG �dÉ�dÊ„ �dÊeƒZe�dËk�r\�dÌ�dÍ„ Zeƒ  �dÄS �dÄS (Î  é    )Úinch)ÚasNative)ÚMultiWidthBarcode)ÚdigitsÚBaBbBbé   ÚBbBaBbé   ÚBbBbBaé   ÚAbAbBcé   ÚAbAcBbé   ÚAcAbBbé   ÚAbBbAcé   ÚAbBcAbé   ÚAcBbAbé	   ÚBbAbAcé
   ÚBbAcAbé   ÚBcAbAbé   ÚAaBbCbé   ÚAbBaCbé   ÚAbBbCaé   ÚAaCbBbé   ÚAbCaBbé   ÚAbCbBaé   ÚBbCbAaé   ÚBbAaCbé   ÚBbAbCaé   ÚBaCbAbé   ÚBbCaAbé   ÚCaBaCaé   ÚCaAbBbé   ÚCbAaBbé   ÚCbAbBaé   ÚCaBbAbé   ÚCbBaAbé   ÚCbBbAaé   ÚBaBaBcé   ÚBaBcBaé    ÚBcBaBaé!   ÚAaAcBcé"   ÚAcAaBcé#   ÚAcAcBaé$   ÚAaBcAcé%   ÚAcBaAcé&   ÚAcBcAaé'   ÚBaAcAcé(   ÚBcAaAcé)   ÚBcAcAaé*   ÚAaBaCcé+   ÚAaBcCaé,   ÚAcBaCaé-   ÚAaCaBcé.   ÚAaCcBaé/   ÚAcCaBaé0   ÚCaCaBaé1   ÚBaAcCaé2   ÚBcAaCaé3   ÚBaCaAcé4   ÚBaCcAaé5   ÚBaCaCaé6   ÚCaAaBcé7   ÚCaAcBaé8   ÚCcAaBaé9   ÚCaBaAcé:   ÚCaBcAaé;   ÚCcBaAaé<   ÚCaDaAaé=   ÚBbAdAaé>   ÚDcAaAaé?   ÚAaAbBdé@   ÚAaAdBbéA   ÚAbAaBdéB   ÚAbAdBaéC   ÚAdAaBbéD   ÚAdAbBaéE   ÚAaBbAdéF   ÚAaBdAbéG   ÚAbBaAdéH   ÚAbBdAaéI   ÚAdBaAbéJ   ÚAdBbAaéK   ÚBdAbAaéL   ÚBbAaAdéM   ÚDaCaAaéN   ÚBdAaAbéO   ÚAcDaAaéP   ÚAaAbDbéQ   ÚAbAaDbéR   ÚAbAbDaéS   ÚAaDbAbéT   ÚAbDaAbéU   ÚAbDbAaéV   ÚDaAbAbéW   ÚDbAaAbéX   ÚDbAbAaéY   ÚBaBaDaéZ   ÚBaDaBaé[   ÚDaBaBaé\   ÚAaAaDcé]   ÚAaAcDaé^   ÚAcAaDaé_   ÚAaDaAcé`   ÚAaDcAaéa   ÚDaAaAcéb   ÚDaAcAaéc   ÚAaCaDaéd   ÚAaDaCaée   ÚCaAaDaÚDaAaCaÚBaAdAbÚBaAbAdÚBaAbCbÚBcCaAaB)éf   ég   éh   éi   éj   )r×   rØ   rÙ   rÚ   ú ú!ú"ú#ú$ú%ú&ú'ú(ú)Ú*ú+ú,ú-Ú.ú/Ú0Ú1Ú2Ú3Ú4Ú5Ú6Ú7Ú8Ú9ú:ú;ú<ú=ú>ú?ú@ÚAÚBÚCÚDÚEÚFÚGÚHÚIÚJÚKÚLÚMÚNÚOÚPÚQÚRÚSÚTÚUÚVÚWÚXÚYÚZú[ú\ú]ú^Ú_ú úúúúúúúúú	Ú
úúúúúúúúúúúúúúúúúúúúúõ   Ã³õ   Ã²ÚSHIFTÚTO_CÚTO_Bõ   Ã´õ   Ã±rÖ   ú`ÚaÚbÚcÚdÚeÚfÚgÚhÚiÚjÚkÚlÚmÚnÚoÚpÚqÚrÚsÚtÚuÚvÚwÚxÚyÚzÚ{ú|Ú}ú~úÚTO_AÚ00Ú01Ú02Ú03Ú04Ú05Ú06Ú07Ú08Ú09Ú10Ú11Ú12Ú13Ú14Ú15Ú16Ú17Ú18Ú19Ú20Ú21Ú22Ú23Ú24Ú25Ú26Ú27Ú28Ú29Ú30Ú31Ú32Ú33Ú34Ú35Ú36Ú37Ú38Ú39Ú40Ú41Ú42Ú43Ú44Ú45Ú46Ú47Ú48Ú49Ú50Ú51Ú52Ú53Ú54Ú55Ú56Ú57Ú58Ú59Ú60Ú61Ú62Ú63Ú64Ú65Ú66Ú67Ú68Ú69Ú70Ú71Ú72Ú73Ú74Ú75Ú76Ú77Ú78Ú79Ú80Ú81Ú82Ú83Ú84Ú85Ú86Ú87Ú88Ú89Ú90Ú91Ú92Ú93Ú94Ú95Ú96Ú97Ú98Ú99N)rb  r?  r>  ÚSTART_AÚSTART_BÚSTART_C)rÈ  rb  r?  c                   @   sZ   e Zd ZdZed ZdZdZdZdZ	ddd„Z
dd	„ Zd
d„ Zdd„ Zdd„ Zdd„ ZdS )ÚCode128uï  
    Code 128 is a very compact symbology that can encode the entire
    128 character ASCII set, plus 4 special control codes,
    (FNC1-FNC4, expressed in the input string as Ã± to Ã´).
    Code 128 can also encode digits at double density (2 per byte)
    and has a mandatory checksum.  Code 128 is well supported and
    commonly used -- for example, by UPS for tracking labels.
    
    Because of these qualities, Code 128 is probably the best choice
    for a linear symbology today (assuming you have a choice).

    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.
            
    Sources of Information on Code 128:

    http://www.semiconductor.agilent.com/barcode/sg/Misc/code_128.html
    http://www.adams1.com/pub/russadam/128code.html
    http://www.barcodeman.com/c128.html

    Official Spec, "ANSI/AIM BC4-1999, ISS" is available for US$45 from
    http://www.aimglobal.org/aimstore/
    g¸…ëQ¸~?Nr   Ú c                 K   sœ   t |tƒr	t|ƒnt|ƒ}| ¡ D ]
\}}t| ||ƒ q| jr@| jd u r/tt	d | j
d ƒ| _| jd u r?tt	d | j
d ƒ| _nd | _| _t | |¡ d S )Ng      Ð?g      $@g        )Ú
isinstanceÚintÚstrr   ÚitemsÚsetattrÚquietÚlquietÚmaxr   ÚbarWidthÚrquietr   Ú__init__)ÚselfÚvalueÚargsrM  rX  © rÚ  úT/var/www/html/env/lib/python3.10/site-packages/reportlab/graphics/barcode/code128.pyrÖ  ß   s   

€zCode128.__init__c                 C   sD   d}d| _ | jD ]}t|ƒdkr|dvrd| _ q|| }q|| _|S )NrË  r   é   u   Ã±Ã²Ã³Ã´r   )ÚvalidrØ  ÚordÚ	validated)r×  ÚvvalrE  rÚ  rÚ  rÛ  Úvalidateï   s   

zCode128.validatec                 C   sz  d}g }|t |ƒk �r;|}g }d}|t |ƒk rÓ|| tv r |}n³|| dkr2| || ¡ |d7 }q|| tv rV||d  tv rV| || ||d   ¡ |d7 }|d7 }q|| tv rÒ||d  dkrÒg }d}	|}
|
|kr©||
 dkr€| || ¡ |
d8 }
n%||
 tv r¤||
d  tv r¤| ||
d  ||
  ¡ |	d7 }	|
d8 }
nn|
|ksn| ¡  |	|t|dko»|o»|d tv ƒ d krÒ||| 7 }|d7 }|}~|d7 }	 || dkpÜ||k }|dkoé|oé|d tv }|t|ƒ t|ƒk�r'|�r|d dd… d }|d= nd	}||g| 7 }|�r| d
|| dd…  ¡ | || ¡ n
||||d … 7 }|d7 }|t |ƒk s|S )z?Improved version of old _trailingDigitsToC(self, l) inspired byr   éÿÿÿÿrA  r   r	   ÚSTOPNrþ   r>  ÚTOéþÿÿÿ)ÚlenÚcStartsÚappendr   ÚreverserÍ  )r×  rN  rK  ÚnlÚstartposÚrlÚsavingsrL  ÚrrlÚrsavingsrM  ÚtaÚxsÚtocrÚ  rÚ  rÛ  Ú	_try_TO_Cû   sr   

÷
(É8zCode128._try_TO_Cc           	      C   sb  | j }dg}|D ]}|tvr|d|dg }q| |¡ q| d¡ |  |¡}|d tv r9d|d d  g|d d…< t|d	  \}}}|g}|dd… }|r�|d	 }|d
krh||| ||d  g }|dd … }n%|tv r€| || ¡ t| \}}|dd … }n| || ¡ |dd … }|sM|d	 }tdt|ƒƒD ]
}||||   }qš||d tg | _	| j	S )NrÈ  rb  r?  rã  r   ÚSTART_râ  r	   r   r=  r×   )
rß  Úsetbrè  ró  ÚtosÚsetmapÚrangeræ  ÚstopÚencoded)	r×  rU  rN  rE  ÚstartÚsetÚshsetrG  rK  rÚ  rÚ  rÛ  Úencode9  s<   

õzCode128.encodec                 C   s   d  dd„ | jD ƒ¡| _| jS )NrË  c                 S   s   g | ]}t | ‘qS rÚ  )Ú	_patterns)Ú.0rE  rÚ  rÚ  rÛ  Ú
<listcomp>e  s    z%Code128.decompose.<locals>.<listcomp>)Újoinrú  Ú
decomposed©r×  rÚ  rÚ  rÛ  Ú	decomposed  s   zCode128.decomposec                 C   s   | j S )N)rØ  r  rÚ  rÚ  rÛ  Ú
_humanTexth  s   zCode128._humanText)rË  )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   rÔ  rÒ  rÕ  rÑ  Ú	barHeightrÖ  rá  ró  rþ  r  r  rÚ  rÚ  rÚ  rÛ  rÊ  ­   s    ,
>+rÊ  c                   @   s   e Zd ZdZdd„ ZdS )ÚCode128Autozœcontributed by https://bitbucket.org/kylemacfarlane/
    see https://bitbucket.org/rptlab/reportlab/issues/69/implementations-of-code-128-auto-and-data
    c                 C   s   | j }d }g }t|ƒ}|rS| d¡}|tv r%|r%|d tv r%|| d¡7 }|tv r,d}n	|tv r3d}nd}||krL|rC| d| ¡ n| d| ¡ |}| |¡ |s| d¡ t|d  \}}}	|g}
|dd	… }|r®|d }|d
kr‡|
|| |	|d  g }
|dd … }n%|tv rŸ|
 || ¡ t| \}}	|dd … }n|
 || ¡ |dd … }|sl|
d }t	dt
|
ƒƒD ]
}|||
|   }q¹|
|d tg | _| jS )Nr   rþ   rý   rü   ÚTO_rô  rã  r   râ  r=  r	   r×   )rß  ÚlistÚpopr   Úsetcrõ  rè  r÷  rö  rø  ræ  rù  rú  )r×  rU  Úcurrent_setrN  rØ  rE  Úset_rû  rü  rý  rG  rK  rÚ  rÚ  rÛ  rþ  o  sR   

í
õzCode128Auto.encodeN)r  r  r	  r
  rþ  rÚ  rÚ  rÚ  rÛ  r  k  s    r  Ú__main__c                  C   sÀ   ddl m}  ddlm}m} ddlm}m} ddlm	} ddl
m} ddlm} dd l}|ƒ }	|	d }
|	d	 }g }|j}d
D ]}|||d| |
ƒ| |ƒgƒƒ ||||ƒƒ q>|dƒ |¡ d S )Nr   )rÊ  )ÚSpacerÚSimpleDocTemplate)r   Úcm)ÚgetSampleStyleSheet)Ú	Paragraph)ÚKeepTogetherÚNormalÚHeading1)ÚBBBB123456BBBÚBBBB12345BBBÚBBBB1234BBBÚ
BBBB123BBBÚ	BBBB12BBBÚBBBB1BBBÚBBBB123456aaÚ
BBBB1234aaÚ	BBBB123aaÚBBBB12aaÚBBBB1aaÚ
BBBB123456Ú	BBBB12345ÚBBBB1234ÚBBBB123ÚBBBB12ÚBBBB1u   Ã±1234Bu	   BaÃ±1234BÚBa12ÚBa123BÚBa1234BÚBBBB1234567ÚBBBB1234567aazCode 128 %rzcode128-out.pdf)Ú"reportlab.graphics.barcode.code128rÊ  Úreportlab.platypusr  r  Úreportlab.lib.unitsr   r  Úreportlab.lib.stylesr  Úreportlab.platypus.paragraphr  Úreportlab.platypus.flowablesr  Úosrè  Úbuild)rÊ  r  r  r   r  r  r  r  r8  ÚstylesÚstyleNÚstyleHÚstoryÚstoryAddrU  rÚ  rÚ  rÛ  Úmain£  s    r?  )r4  r   Úreportlab.lib.utilsr   Ú!reportlab.graphics.barcode.commonr   Ústringr   rÿ  ÚstartaÚstartbÚstartcrù  Úsetarõ  r  r÷  rç  r  Úkeysrö  rÊ  r  r  r?  rÚ  rÚ  rÚ  rÛ  Ú<module>   s¤   ÿÿÿþþþýýýüüüûûûúúúùùùøøø	÷	÷	÷
ö
ö
öõõõôôôóóóòòòñññðððïïïîîîíííìììëëëêêêéééèèèçççæææåååäääãããâââááá à à à!ß!ß!ß"Þ"Þ"Þ#Ü'ÿÿÿÿþþþþýýýýüüüüûûûûúúúúùùùùøøøø	÷	÷	÷	÷
ö
ö
ö
öõõõõôôôôóóóóòòòòññññððððïïïïîîîîííííììììëëëëêêêêééééèèèèççççæææÿÿÿÿþþþþýýýýüüüüûûûûúúúúùùùùøøøø	÷	÷	÷	÷
ö
ö
ö
öõõõõôôôôóóóóòòòòññññððððïïïïîîîîííííììììëëëëêêêêééééèèèèççççæææÿÿÿÿÿþþþþþýýýýýüüüüüûûûûûúúúúúùùùùùøøøøø	÷	÷	÷	÷	÷
ö
ö
ö
ö
öõõõõõôôôôôóóóóóòòòòòñññññðððððïïïïïîîîîîíííííìììììêêê
ú ?7*Õ