
    	i%	                     B   d dl Z d dlmZmZ d ZdZdZ ee j                  dk    re j        d         Z	n e
d            e j                     	  ee	d          Z eee            e
d	e            d
ez   e                                v r eee            e
d	e            dS dS # e$ r1Z e
d ee                       e j                     Y dZ[dS dZ[we$ r@Z e
d ee                       e
de	 d            e j                     Y dZ[dS dZ[we$ r@Z e
d ee           de	 d            e
d            e j                     Y dZ[dS dZ[we$ r1Z e
d ee                       e j                     Y dZ[dS dZ[ww xY w)    N)
BadZipFileZipFilec                     |                      d|z             }t          |d          }|                    |           |                                 d S )Nxl/wb)readopenwriteclose)xlsm_zipfilenamedatafiles       P/srv/django_bis/venv311/lib/python3.11/site-packages/../../../bin/vba_extract.pyextract_filer      sL    ==)**D $DJJtJJLLLLL    zvbaProject.binzvbaProjectSignature.bin   a(  
Utility to extract a vbaProject.bin binary from an Excel 2007+ xlsm macro file for insertion into an XlsxWriter file.
If the macros are digitally signed, extracts also a vbaProjectSignature.bin file.

See: https://xlsxwriter.readthedocs.io/working_with_macros.html

Usage: vba_extract file.xlsm
rzExtracted: r   zFile error: z+File may not be an Excel xlsm macro file: ''z: 'z)File may not be an Excel xlsm macro file.)syszipfiler   r   r   vba_filenamevba_signature_filenamelenargv	xlsm_fileprintexitr   namelistIOErrorestrKeyError	Exception r   r   <module>r&      s   


 ' ' ' ' ' ' ' '    2  3sx==1II	E	)	 	 	 CHJJJ wy#&&H L<(((	E
&
&
&'''%%):):)<)<<<X5666424455555 =<
    	E
!Q
!
!"""CHJJJJJJJJJ   	E
!Q
!
!"""	E
D	
D
D
DEEECHJJJJJJJJJ   	E
0Q
0
0I
0
0
0111	E
5666CHJJJJJJJJJ   	E
!Q
!
!"""CHJJJJJJJJJs=   AB. .F3&CF'5D""F*5E%%F-&FF