
    lh'                     :   d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
mZmZmZ  ej                    dk    r	 ddlZn# e$ r ddlZY nw xY wdZd Zd Z	 ej        d	         ej        d
<   n# e$ r Y nw xY w	  e            Zn# eef$ r dZej                            d          rdZnej        dk    redz  Znej        dk    rxdddZeD ]jZ ej        dez             5 Ze                                 !                                ree         Z	 ddd            na	 ddd           n# 1 swxY w Y   kedz  ZnB e"ed          r6 ej#                    \  Z$Z%Z&e$pd'                                Z$e$dv rdZne$dv rdZ edez             w xY wed         Z(ed         Z)	 ddl*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1  e+j2        e)            ej3                    Z4e)5                     ej6        e4                      ej3                    Z7e)8                     ej6        e7                     d e9e):                                          v Z; e+j<        e)e4j=                    e/j2        e(e4j=                    e.j2        e(e4j=                    e-j2        e(e4j=                    e0j2        e(e4j=                    e1j2        e(e4j=        e7j=        e;            e,j2        e(e4j=                   [;[7[4n$# e>$ r  ed ej?                    z             w xY wdZ@ ej                    dk    rDejA        B                                ZCeCsd  ejD                    v rd!ZCeCr ejE        eC          Z@dS dS ejA        F                    d"          ZGeGrejH        I                    eG          Z@n0d#ZJeJD ]+ZG	 ejH        I                    eG          Z@ n# eef$ r Y (w xY we@r=ejK        ejL        ge@jM        _N        ejO        e@jM        _P        ejO        ge@jQ        _N        dS dS )$z:mod:`wand.api` --- Low-level interfaces
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. versionchanged:: 0.1.10
   Changed to throw :exc:`~exceptions.ImportError` instead of
   :exc:`~exceptions.AttributeError` when the shared library fails to load.

    N   )AffineMatrixMagickPixelPacket	PixelInfo	PointInfoWindows)r   r   librarylibc	libmagickload_libraryr   r   c            	   #   	  K   d} d}d}d}t          j                    }t          j                            d          t          j                            d          }|dk    r	 t          j        t
          j        d          5 }t          j        |d          }t          j        |d	          }t          j        |d
          }	|d         t          j        dxx         t          d|d         z   dz   |d         z   dz   |	d         z             z  cc<   ddd           n# 1 swxY w Y   n# t          $ r Y nw xY wfd}
t          j        ||          }t                      }|r"t          |                              d          }|                    t          d |D                                  r|D ]}|dk    rd                    |          f} d                    |          f} |
|            |
|          fV  d                    |          f} d                    |          f} |
|            |
|          fV  d                    |          f} d                    |          f} |
|            |
|          fV  |dk    r1dd                    |          f}  |
|            |
|           fV  dd                    |          f} dd                    |          f} |
|            |
|          fV  dd                    |          f} dd                    |          f} |
|            |
|          fV  dd                    |          f} dd                    |          f} |
|            |
|          fV  |D ]:}|dk    rt"          j                            d|z             } t"          j                            d |z             }| |fV  t"          j                            d!|z             } t"          j                            d"|z             }| |fV  t"          j                            d#|z             } t"          j                            d$|z             }| |fV  t"          j                            d%|z             }t"          j                            d&|z             } || |fV  | | fV  <dS )'zIterates for library paths to try loading.  The result paths are not
    guaranteed that they exist.

    :returns: a pair of libwand and libmagick paths.  they can be the same.
              path can be ``None`` as well
    :rtype: :class:`tuple`

    N) z-7z-7.Q8z-7.Q16z-6z-Q16z-Q8z-6.Q16)r   HDRIzHDRI-2MAGICK_HOMEWAND_MAGICK_LIBRARY_SUFFIXr   zSOFTWARE\ImageMagick\CurrentLibPathCoderModulesPathFilterModulesPathr   PATH;c                 2    t          j        j        g| R  S N)ospathjoin)r   magick_homes    K/var/www/html/research.buxo.ca/env/lib/python3.11/site-packages/wand/api.pymagick_pathz"library_paths.<locals>.magick_pathC   s    w|K/$////    c              3   &   K   | ]\  }}||z   V  d S r    ).0versionoptions      r   	<genexpr>z library_paths.<locals>.<genexpr>K   s+      NNogv6)NNNNNNr   zCORE_RL_wand_{0}.dllzCORE_RL_magick_{0}.dllzCORE_RL_MagickWand_{0}.dllzCORE_RL_MagickCore_{0}.dllzlibMagickWand{0}.dllzlibMagickCore{0}.dllDarwinlibzlibMagickWand{0}.dylibzlibMagickWand{0}.sozlibMagickCore{0}.sozlibMagickWand{0}.so.9zlibMagickCore{0}.so.9zlibMagickWand{0}.so.6zlibMagickCore{0}.so.6CORE_RL_wand_CORE_RL_magick_CORE_RL_MagickWand_CORE_RL_MagickCore_libMagickWandlibMagickCore
MagickCore
MagickWand)platformsystemr   environgetwinregOpenKeyHKEY_LOCAL_MACHINEQueryValueExstrOSError	itertoolsproductlistsplitextendformatctypesutilfind_library)libwandr   versionsoptionsr1   magick_suffixreg_keylibPath	coderPath
filterPathr   combinationssuffixessuffixr   s                 @r   library_pathsrN       s      GIIH"G_F*..//KJNN#?@@M	 9 ?A A ODK -gyAA"/9KLL	#0:MNN
%aj
6"""c3+;c+A*3A,,79<,=?I!},M 'O 'O O"""O O O O O O O O O O O O O O O  	 	 	 D	
0 0 0 0 0$Xw77LvvH 1}%%++C00 OODNNNNNNNOOO C  	C 	CF ""077??@4;;FCCD	!k'**KK	,B,BBBBB6==fEEF8??GGH	!k'**KK	,B,BBBBB077??@299&AAB	!k'**KK	,B,BBBBBB8##!9!@!@!H!HI!k'**KK,@,@@@@@@!6!=!=f!E!EF!#8#?#?#G#GH	!k'**KK	,B,BBBBB!8!?!?!G!GH!#:#A#A&#I#IJ	!k'**KK	,B,BBBBB!8!?!?!G!GH!#:#A#A&#I#IJ	!k'**KK	,B,BBBBBB # #Yk../GHHG001BV1KLLI9$$$$k../Dv/MNNG00%. I 9$$$$k../GHHG0061IJJI9$$$$$001FGGIk..|f/DEEG$y((((7"""""%# #s7   $D+ BDD+ D##D+ &D#'D+ +
D87D8c                     g } t                      D ]\  }}||
	 |                     |           t          j        t	          |                    }||k    r|}n6|                     |           t          j        t	          |                    }n# t
          t          f$ r Y w xY w||fc S t          dt          |           z             )zLoads the MagickWand library.

    :returns: the MagickWand library and the ImageMagick library
    :rtype: :class:`ctypes.CDLL`

    Nz"cannot find library; tried paths: )rN   appendr@   CDLLr8   IOErrorr9   repr)tried_pathslibwand_pathlibmagick_pathrC   r   s        r   r   r   ~   s     K(5 " "$n>#9		|,,,k#l"3"344G~--#		"">222"KN(;(;<<	! 	 	 	H		!!!!
6k9J9JJ
K
KKs   A5BB&%B&zwand.apiz	wand._apiz5https://docs.wand-py.org/en/latest/guide/install.html)	dragonflyfreebsdzpkg installwin32z#install-imagemagick-on-windowsdarwinz!brew install freetype imagemagickzport install imagemagick)brewportzwhich z#install-imagemagick-on-maclinux_distributionr   )debianubuntuz!apt-get install libmagickwand-dev)fedoracentosredhatzyum install ImageMagick-develzkMagickWand shared library not found.
You probably had not installed ImageMagick library.
Try to install:
  )coredrawing_wandmagick_imagemagick_propertymagick_wandpixel_iterator
pixel_wandr   zVMagickWand shared library not found or incompatible
Original exception was raised in:
1900zvcruntime140.dllc)z	libc.so.6zlibc.sozlibc.az
libc.dylibz/usr/lib/libc.dylib)R__doc__r@   ctypes.utilr:   r   os.pathr0   sys	tracebackcdefs.structuresr   r   r   r   r1   r4   ImportError_winreg__all__rN   r   modulesKeyError	librariesr9   rR   msg
startswithmac_pkgmgrspkgmgrpopenfreadstriphasattrr]   distname___lowerr	   r   
wand.cdefsrc   rd   re   rf   rg   rh   ri   loadc_size_t
IM_VERSIONGetMagickVersionbyrefIM_QUANTUM_DEPTHGetMagickQuantumDepthr8   GetMagickFeaturesIM_HDRIload_with_versionvalueAttributeError
format_excr
   rA   find_msvcrtmsvcrtpython_compilerrQ   rB   	libc_pathcdllLoadLibrary
libc_pathsc_intc_char_pfdopenargtypesc_void_prestypefflushr!   r   r   <module>r      s             				   



    * * * * * * * * * * * * 8?	!!! ! ! !      !5[# [# [#|L L L2	"{:6CK 	 	 	D	3II 3 3 3
AC
|788 2		 	 00		!	!B9; ;! 	1 	1F(V+,, 6688>>## %f-C                     
 00CC	/	0	0 25(577!RN))+++++5CC7771C
+ ,.12 3 3 3/38 A, aL	.E E E E E E E E E E E E E E E E E E DIi ""J|v|J77888&v((##LFL1A$B$BCCCI7799:::GD9j&6777KWj.///O*"2333Lgz/000N!1222JOGZ-/?/EwOOOLgz/000!:: . . .
+ <*i*,,- . . .. 8?	!![$$&&F $f 8 8 : :::# #v{6""# # ((--I {&&y11-
# 	 	I{..y99W%    1 &fo>$o &01 1s{   A 	AA A6 6A>=A>
B AF-0D7F+F7D;;F>D;?AF.E	K8 8!L3OOO