§
    ƒÛguD  ã                   óØ   — d Z ddlZddlZddlmZ ddlmZ ddlm	Z	m
Z
 ddlmZmZ ddlmZ ed„ ¦   «         Z G d	„ d
ej        ¬¦  «        Z G d„ de¦  «        ZdZ G d„ de¦  «        ZdS )z-
Implements helpers to build LLVM debuginfo.
é    N)Úcontextmanager)Úir)ÚcgutilsÚtypes)ÚComplexModelÚUniTupleModel)Úconfigc              #   óV   K  — | j         }d| _         	 dV — || _         dS # || _         w xY w)zZSuspends the emission of debug_metadata for the duration of the context
    managed block.N)Údebug_metadata)ÚbuilderÚrefs     úJ/granary/edev/quantum/lib/python3.11/site-packages/numba/core/debuginfo.pyÚsuspend_emissionr      sH   è è € ð Ô
 €CØ!€GÔð%Øˆˆˆà!$ˆÔÐÐø ˆÔÐ$Ð$Ð$Ð$s   ’ Ÿ	(c                   ó²   — e Zd Zej        	 dd„¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Zej        d„ ¦   «         Z	dS )ÚAbstractDIBuilderNc	                 ó   — dS )z*Emit debug info for the variable.
        N© ©	Úselfr   ÚallocavalueÚnameÚlltypeÚsizeÚlineÚ	datamodelÚargidxs	            r   Úmark_variablezAbstractDIBuilder.mark_variable   s	   € ð
 	ˆó    c                 ó   — dS )zAEmit source location information to the given IRBuilder.
        Nr   ©r   r   r   s      r   Úmark_locationzAbstractDIBuilder.mark_location$   ó	   € ð 	ˆr   c                 ó   — dS )zAEmit source location information for the given function.
        Nr   ©r   ÚfunctionÚqualnameÚargnamesÚargtypesr   s         r   Úmark_subprogramz!AbstractDIBuilder.mark_subprogram*   r"   r   c                 ó   — dS )zvInitialize the debug info. An opportunity for the debuginfo to
        prepare any necessary data structures.
        Nr   ©r   s    r   Ú
initializezAbstractDIBuilder.initialize0   s   € € € r   c                 ó   — dS )zCFinalize the debuginfo by emitting all necessary metadata.
        Nr   r+   s    r   ÚfinalizezAbstractDIBuilder.finalize6   r"   r   ©NN)
Ú__name__Ú
__module__Ú__qualname__ÚabcÚabstractmethodr   r!   r)   r,   r.   r   r   r   r   r      sµ   € € € € € ØÔà-1ðð ð ñ Ôðð 	Ôðð ñ Ôðð
 	Ôðð ñ Ôðð
 	Ôðð ñ Ôðð
 	Ôðð ñ Ôðð ð r   r   )Ú	metaclassc                   ó6   — e Zd Zd„ Z	 dd„Zd„ Zd„ Zd„ Zd„ ZdS )	ÚDummyDIBuilderc                 ó   — d S ©Nr   ©r   ÚmoduleÚfilepathÚcgctxÚdirectives_onlys        r   Ú__init__zDummyDIBuilder.__init__?   ó   € Øˆr   Nc	                 ó   — d S r9   r   r   s	            r   r   zDummyDIBuilder.mark_variableB   s   € àˆr   c                 ó   — d S r9   r   r    s      r   r!   zDummyDIBuilder.mark_locationF   r@   r   c                 ó   — d S r9   r   r$   s         r   r)   zDummyDIBuilder.mark_subprogramI   r@   r   c                 ó   — d S r9   r   r+   s    r   r,   zDummyDIBuilder.initializeL   r@   r   c                 ó   — d S r9   r   r+   s    r   r.   zDummyDIBuilder.finalizeO   r@   r   r/   )	r0   r1   r2   r?   r   r!   r)   r,   r.   r   r   r   r7   r7   =   sx   € € € € € ðð ð ð .2ðð ð ð ðð ð ðð ð ðð ð ðð ð ð ð r   r7   é   c                   ó¬   — e Zd ZdZdZdZdZd„ Zd„ Zdd„Z		 dd	„Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zedd„¦   «         Zed„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú	DIBuilderé   é   zllvm.dbg.cuFc                 óô   — || _         t          j                             |¦  «        | _        |                      ¦   «         | _        g | _        || _        |rd| _	        nd| _	        |  
                    ¦   «          d S )NÚDebugDirectivesOnlyÚ	FullDebug)r;   ÚosÚpathÚabspathr<   Ú_di_fileÚdifileÚsubprogramsr=   Úemission_kindr,   r:   s        r   r?   zDIBuilder.__init__\   sm   € ØˆŒÝœŸš¨Ñ1Ô1ˆŒØ—m’m‘o”oˆŒØˆÔØˆŒ
àð 	-Ø!6ˆDÔÐà!,ˆDÔà�ŠÑÔÐÐÐr   c                 ó8   — |                       ¦   «         | _        d S r9   )Ú_di_compile_unitÚdicompileunitr+   s    r   r,   zDIBuilder.initializej   s   € ð "×2Ò2Ñ4Ô4ˆÔÐÐr   Nc                 óü  — | j         r"t          d|||t          |dd¦  «        ¦  «         | j        }t          |z  }t
          j        f}t
          j        t
          j        f}t          |||z   ¦  «        rœ|€%t          |¦  «        }t          ||¦  «        rd}	nJd}	nGt          |j        ¦  «        }t          |j        t          j        ¦  «        r|j        j        rd}	nd}	nd}	|                     d||t          j        |	¦  «        dœ¦  «        }
�nmt          |t"          ¦  «        �rCg }d	}t%          d
¦  «        D ]Å\  }}|j        |         }| j                             |¦  «        }|                     dt          |¦  «        t          |z  t          j        d¦  «        dœ¦  «        }|                     dt          j        d¦  «        ||t          |z  |dœ¦  «        }|                     |¦  «         |t          |z  z  }ŒÆ|                     dt          j        d¦  «        |j        › dt          |¦  «        › d�t          |¦  «        |                     |¦  «        |dœd¬¦  «        }
�nt          |t0          ¦  «        rÀ|j        }| j                             |¦  «        }|                      ||¦  «        }|j        › dt          |¦  «        › d�}||z  }|                     dd|i¦  «        }|                     dt          j        d¦  «        |||t          |¦  «        |                     |g¦  «        dœ¦  «        }
�n?t          |t
          j        ¦  «        r˜t          |dd ¦  «        }|                      |j        | j                             |j        ¦  «        |¦  «        }|                     dt          j        d¦  «        |t          | j                             |¦  «        z  dœ¦  «        }
�n�t          |t
          j        ¦  «        �rþg }d	}|�|                     ¦   «         sºdt          |¦  «        › d�}t%          |j        ¦  «        D ]‘\  }}| j                             |¦  «        }|                      ||¦  «        }|                     dt          j        d¦  «        d|› d�|t          |z  |dœ¦  «        }|                     |¦  «         |t          |z  z  }Œ’nØ|j        › dt          |¦  «        › d�}t?          |j        |j         |                     ¦   «         ¦  «        D ]�\  }}}| j                             |¦  «        }|                      |||¬¦  «        }|                     dt          j        d¦  «        ||t          |z  |dœ¦  «        }|                     |¦  «         |t          |z  z  }Œ‘|                     dt          j        d¦  «        |t          |¦  «        |                     |¦  «        |dœd¬¦  «        }
�ntt          |t
          j!        ¦  «        r²|j        }| j                             |¦  «        }|                      ||¦  «        }||z  }|                     dd|i¦  «        }|                     dt          j        d¦  «        |t          |¦  «        |t          |¦  «        |                     |g¦  «        dœ¦  «        }
n¨|}|                     dd|i¦  «        }|                     dd t          t          j        d!¦  «        dœ¦  «        }|                     dt          j        d¦  «        |t          |¦  «        |t          |¦  «        |                     |g¦  «        dœ¦  «        }
|
S )"Nz-->Úfe_typez
NO FE TYPEÚDW_ATE_unsignedÚDW_ATE_floatÚDW_ATE_signedÚDIBasicType)r   r   Úencodingr   )ÚrealÚimagÚDIDerivedTypeÚDW_TAG_member)Útagr   ÚbaseTyper   ÚoffsetÚDICompositeTypeÚDW_TAG_structure_typez (ú))rc   r   Ú
identifierÚelementsr   T©Úis_distinctÚ
DISubrangeÚcountÚDW_TAG_array_type)rc   rd   r   r   ri   rj   Ú_pointee_modelÚDW_TAG_pointer_type)rc   rd   r   zAnonymous struct (z<field ú>©r   ÚbyteÚDW_ATE_unsigned_char)"Ú_DEBUGÚprintÚgetattrr;   Ú
_BYTE_SIZEr   ÚIntTypeÚ	FloatTypeÚ
DoubleTypeÚ
isinstanceÚstrrY   r   ÚIntegerÚsignedÚadd_debug_infoÚDITokenr   Ú	enumeraterj   r=   Úget_abi_sizeofÚappendÚadd_metadatar   ÚelementÚ	_var_typeÚPointerTypeÚpointeeÚLiteralStructTypeÚinner_modelsÚzipÚ_fieldsÚ	ArrayType)r   r   r   r   ÚmÚbitsizeÚint_typeÚ	real_typer   ÚditokÚmdtypeÚmetare   ÚixÚ	componentÚcomponent_sizeÚcomponent_basetypeÚderived_typer‡   Úel_sizeÚbasetypern   ÚmdrangeÚmodelÚfield_idÚfieldÚmdbases                              r   rˆ   zDIBuilder._var_typeo   s  € ØŒ;ð 	?Ý�%˜  yÝ˜) Y°Ñ=Ô=ñ?ô ?ð ?àŒKˆÝ˜tÑ#ˆå”:�;ˆÝ”L¥"¤-Ð/ˆ	õ �f˜h¨Ñ2Ñ3Ô3ð f	ØÐ å˜6‘{”{�Ý˜f hÑ/Ô/ð +Ø-�E�Eà*�E�Eõ ˜9Ô,Ñ-Ô-�Ý˜iÔ/µ´Ñ?Ô?ð +Ø Ô(Ô/ð 2Ø /˜˜à 1˜˜à*�EØ×%Ò% mØØÝœJ uÑ-Ô-ð6ð 6ñ ô ˆF‰Fõ
 ˜	¥<Ñ0Ô0ñ O	ð ˆDØˆFÝ%Ð&6Ñ7Ô7ð 8ð 8‘��DØ"œO¨BÔ/�	Ø!%¤×!:Ò!:¸9Ñ!EÔ!E�Ø%&×%5Ò%5°mÝ 	™NœNÝ&¨Ñ7Ý "¤
¨>Ñ :Ô :ðFð Fñ &ô &Ð"ð
  !×/Ò/°Ýœ: oÑ6Ô6Ø Ø 2Ý&¨Ñ7Ø$ðBð Bñ  ô  �ð —’˜LÑ)Ô)Ð)Ø�:¨Ñ6Ñ7��Ø×%Ò%Ð&7Ý”zÐ"9Ñ:Ô:Ø$Ô,Ð>Ð>µ°F±´Ð>Ð>Ð>Ý! &™kœkØŸNšN¨4Ñ0Ô0Øð:ð :ð  ð &ñ !ô !ˆF‰Fõ ˜	¥=Ñ1Ô1ð g	Ø”nˆGØ”j×/Ò/°Ñ8Ô8ˆGØ—~’~ g¨wÑ7Ô7ˆHØÔ'Ð9Ð9­3¨v©;¬;Ð9Ð9Ð9ˆDØ˜G‘OˆEØ×&Ò& |Ø˜ð6ñ ô ˆGð ×%Ò%Ð&7Ý”zÐ"5Ñ6Ô6Ø$ØØÝ! &™kœkØŸNšN¨G¨9Ñ5Ô5ð:ð :ñ ô ˆF‰Fõ ˜¥¤Ñ/Ô/ð V	Ý˜IÐ'7¸Ñ>Ô>ˆEØ—~’~ f¤nØ&*¤j×&?Ò&?ÀÄÑ&OÔ&OØ&+ñ-ô -ˆHð ×%Ò% oÝ”zÐ"7Ñ8Ô8Ø$Ý" T¤Z×%>Ò%>¸vÑ%FÔ%FÑFð8ð 8ñ ô ˆF‰Fõ
 ˜¥Ô 4Ñ5Ô5ñ L	àˆDØˆFØÐ ¨	×(>Ò(>Ñ(@Ô(@Ð Ø:­C°©K¬KÐ:Ð:Ð:�Ý)2°6´?Ñ)CÔ)Cð 2ð 2Ñ%�H˜gØœ:×4Ò4°WÑ=Ô=�DØ#Ÿ~š~¨g°tÑ<Ô<�HØ#$×#3Ò#3°OÝ!œz¨/Ñ:Ô:Ø 5¨(Ð 5Ð 5Ð 5Ø$,Ý *¨TÑ 1Ø"(ðFð Fñ $ô $�Lð —K’K Ñ-Ô-Ð-Ø�z¨DÑ0Ñ1�F�Fð2ð $Ô+Ð=Ð=­s°6©{¬{Ð=Ð=Ð=�Ý-0°´Ø1:Ô1BØ1:×1GÒ1GÑ1IÔ1Iñ.Kô .Kð 2ð 2Ñ)�G˜U Eð  œ:×4Ò4°WÑ=Ô=�DØ#Ÿ~š~¨g°tÀu˜~ÑMÔM�HØ#$×#3Ò#3°OÝ!œz¨/Ñ:Ô:Ø %Ø$,Ý *¨TÑ 1Ø"(ðFð Fñ $ô $�Lð —K’K Ñ-Ô-Ð-Ø�z¨DÑ0Ñ1�F�Fà×%Ò%Ð&7Ý”zÐ"9Ñ:Ô:ØÝ! &™kœkØŸNšN¨4Ñ0Ô0Øð:ð :ð  ð &ñ !ô !ˆF‰Fõ ˜¥¤Ñ-Ô-ð "	Ø”nˆGØ”j×/Ò/°Ñ8Ô8ˆGØ—~’~ g¨wÑ7Ô7ˆHØ˜G‘OˆEØ×&Ò& |Ø˜ð6ñ ô ˆGð ×%Ò%Ð&7Ý”zÐ"5Ñ6Ô6Ø$Ý˜F™œØÝ! &™kœkØŸNšN¨G¨9Ñ5Ô5ð:ð :ñ ô ˆFˆFð ˆEØ×&Ò& |Ø˜ð6ñ ô ˆGð ×%Ò% mØÝ"ÝœJÐ'=Ñ>Ô>ð6ð 6ñ ô ˆFð
 ×%Ò%Ð&7Ý”zÐ"5Ñ6Ô6Ø"Ý˜F™œØÝ! &™kœkØŸNšN¨G¨9Ñ5Ô5ð:ð :ñ ô ˆFð ˆr   c	           
      óÒ  — |€dn|}	| j         }
t          j        t          j        ¦   «         t          j        ¦   «         gdz  ¦  «        }t          j        |
|d¦  «        }|                      |||¬¦  «        }|                     dd¦  «        }|
 	                    d||	| j
        d         | j        ||d	œ¦  «        }|
 	                    d
i ¦  «        }|                     ||||g¦  «        S )Nr   rJ   zllvm.dbg.declarers   ú.ú$ÚDILocalVariableéÿÿÿÿ)r   ÚargÚscopeÚfiler   ÚtypeÚDIExpression)r;   r   ÚFunctionTypeÚVoidTypeÚMetaDataTyper   Úget_or_insert_functionrˆ   Úreplacer�   rS   rR   Úcall)r   r   r   r   r   r   r   r   r   Ú	arg_indexr�   ÚfntyÚdeclr•   Ú
mdlocalvarÚmdexprs                   r   r   zDIBuilder.mark_variable$  sî   € ð  ˜�A�A¨Vˆ	ØŒKˆÝŒ�rœ{™}œ}­r¬Ñ/@Ô/@Ð.AÀAÑ.EÑFÔFˆÝÔ-¨a°Ð7IÑJÔJˆà—’ ¨¸	�ÑBÔBˆØ�|Š|˜C Ñ%Ô%ˆØ×%Ò%Ð&7ØØØÔ% bÔ)Ø”KØØð:
ð :
ñ ô ˆ
ð ×!Ò! .°"Ñ5Ô5ˆà�|Š|˜D ;°
¸FÐ"CÑDÔDÐDr   c                 ó:   — |                       |¦  «        |_        d S r9   )Ú_add_locationr   r    s      r   r!   zDIBuilder.mark_location:  s   € Ø!%×!3Ò!3°DÑ!9Ô!9ˆÔÐÐr   c                 ó®   — |}t          t          ||¦  «        ¦  «        }|                      ||j        |||¬¦  «        }|                     d|¦  «         d S )N)r   Úlinkagenamer   r%   ÚargmapÚdbg)Údictr�   Ú_add_subprogramr   Úset_metadata)	r   r%   r&   r'   r(   r   r   r¼   Údi_subps	            r   r)   zDIBuilder.mark_subprogram=  sd   € ØˆÝ•c˜( HÑ-Ô-Ñ.Ô.ˆØ×&Ò&¨D¸h¼mØ,0¸8Ø.4ð 'ñ 6ô 6ˆð 	×Ò˜e WÑ-Ô-Ð-Ð-Ð-r   c                 ó    — t          j        | j        | j        ¦  «        }|                     | j        ¦  «         |                      ¦   «          d S r9   )r   Úget_or_insert_named_metadatar;   ÚDBG_CU_NAMEÚaddrW   Ú_set_module_flags)r   Údbgcus     r   r.   zDIBuilder.finalizeE  sF   € ÝÔ4°T´[À$ÔBRÑSÔSˆØ�	Š	�$Ô$Ñ%Ô%Ð%Ø×ÒÑ Ô Ð Ð Ð r   c                 ó²  — | j         }t          j        |d¦  «        }|                      d¦  «        }| j        �N|                     |d|                      | j        ¦  «        g¦  «        }||j        vr|                     |¦  «         |                     |d|                      | j        ¦  «        g¦  «        }||j        vr|                     |¦  «         dS dS )z&Set the module flags metadata
        zllvm.module.flagsé   NzDwarf VersionzDebug Info Version)	r;   r   rÃ   Ú
_const_intÚDWARF_VERSIONr†   ÚoperandsrÅ   ÚDEBUG_INFO_VERSION)r   r;   ÚmflagsÚrequire_warning_behaviorÚdwarf_versionÚdebuginfo_versions         r   rÆ   zDIBuilder._set_module_flagsN  sñ   € ð ”ˆÝÔ5°fÐ>QÑRÔRˆð $(§?¢?°1Ñ#5Ô#5Ð ØÔÐ)Ø"×/Ò/Ø(ØØ—’ Ô 2Ñ3Ô3ð1ñ ô ˆMð
  F¤OÐ3Ð3Ø—
’
˜=Ñ)Ô)Ð)Ø"×/Ò/Ø$Ø Ø�OŠO˜DÔ3Ñ4Ô4ð1
ñ ô Ðð
  F¤OÐ3Ð3Ø�JŠJÐ(Ñ)Ô)Ð)Ð)Ð)ð 4Ð3r   c                 ól   — |                       |||||¦  «        }| j                             |¦  «         |S )z!Emit subprogram metadata
        )Ú_di_subprogramrS   r…   )r   r   r»   r   r%   r¼   Úsubps          r   r¿   zDIBuilder._add_subprogramf  s;   € ð ×"Ò" 4¨°d¸HÀfÑMÔMˆØÔ×Ò Ñ%Ô%Ð%Øˆr   c                 ó0   — |                       |¦  «        }|S )zEmit location metatdaa
        )Ú_di_location)r   r   Úlocs      r   r¹   zDIBuilder._add_locationm  s   € ð ×Ò Ñ%Ô%ˆØˆ
r   é    c                 ó<   —  t          j        |¦  «        |¦  «        S )z0Util to create constant int in metadata
        ©r   rz   )ÚclsÚnumÚbitss      r   rÊ   zDIBuilder._const_ints  s   € ð  �rŒz˜$ÑÔ Ñ$Ô$Ð$r   c                 ó<   —  t          j        d¦  «        |¦  «        S )z4Util to create constant boolean in metadata
        é   rÚ   )rÛ   Úbooleans     r   Ú_const_boolzDIBuilder._const_booly  s   € ð �rŒz˜!‰}Œ}˜WÑ%Ô%Ð%r   c                 óÆ   — | j                              dt          j                             | j        ¦  «        t          j                             | j        ¦  «        dœ¦  «        S )NÚDIFile)Ú	directoryÚfilename)r;   r�   rN   rO   Údirnamer<   Úbasenamer+   s    r   rQ   zDIBuilder._di_fileƒ  sP   € ØŒ{×)Ò)¨(ÝœŸš¨¬Ñ7Ô7Ýœ×(Ò(¨¬Ñ7Ô7ð5
ð 5
ñ ô ð 	r   c                 óÂ   — | j                              dt          j        d¦  «        | j        ddt
          j        dk    t          j        | j        ¦  «        dœd¬¦  «        S )NÚDICompileUnitÚDW_LANG_C_plus_pluszclang (Numba)r   )Úlanguagerª   ÚproducerÚruntimeVersionÚisOptimizedÚemissionKindTrk   )r;   r�   r   r‚   rR   r	   ÚOPTrT   r+   s    r   rV   zDIBuilder._di_compile_unit‰  sf   € ØŒ{×)Ò)¨/Ýœ
Ð#8Ñ9Ô9Ø”Kð (ØÝ!œ:¨š?ÝœJ tÔ'9Ñ:Ô:ð<
ð <
ð ð *ñ ô ð 	r   c                 ó  — |}g }t          |j        ¦  «        D ]ˆ\  }}|j                             d¦  «        si|j                             dd¦  «        }|j        }	| j                             |	¦  «        }
|                      |	|
d ¬¦  «        }| 	                    |¦  «         Œ‰t          | 
                    ¦   «         ¦  «        D ]‘\  }\  }}|                     dd¦  «        }| j        j        |         }| j                             |¦  «        }	| j                             |	¦  «        }
|                      |	|
|¬¦  «        }| 	                    |¦  «         Œ’| j                             dd| j                             |¦  «        i¦  «        S )Nzarg.r¤   r¥   rs   ÚDISubroutineTyper   )rƒ   Úargsr   Ú
startswithr±   r«   r=   r„   rˆ   r…   ÚitemsÚdata_model_managerÚget_value_typer;   r�   r†   )r   r   r%   r¼   ÚllfuncÚmdÚidxÚllargr   r   r   r•   Únbtyper   s                 r   Ú_di_subroutine_typezDIBuilder._di_subroutine_type›  su  € àˆØˆå# F¤KÑ0Ô0ð 	"ð 	"‰JˆC�Ø”:×(Ò(¨Ñ0Ô0ð "Ø”z×)Ò)¨#¨sÑ3Ô3�Øœ�Ø”z×0Ò0°Ñ8Ô8�ØŸš¨°À˜ÑEÔE�Ø—	’	˜&Ñ!Ô!Ð!øå#,¨V¯\ª\©^¬^Ñ#<Ô#<ð 	ð 	ÑˆC‘�$˜Ø—<’<  SÑ)Ô)ˆDØœ
Ô5°fÔ=ˆIØ”Z×.Ò.¨vÑ6Ô6ˆFØ”:×,Ò,¨VÑ4Ô4ˆDØ—^’^ F¨D¸I�^ÑFÔFˆFØ�IŠI�fÑÔÐÐàŒ{×)Ò)Ð*<Ø�T”[×-Ò-¨bÑ1Ô1ð?
ñ ô ð 	r   c                 ó¸   — | j                              d||| j        | j        ||                      |||¦  «        dd|t          j        dk    | j        dœd¬¦  «        S )NÚDISubprogramFTr   )r   ÚlinkageNamer©   rª   r   r«   ÚisLocalÚisDefinitionÚ	scopeLinerî   Úunitrk   )r;   r�   rR   rý   r	   rð   rW   )r   r   r»   r   r%   r¼   s         r   rÓ   zDIBuilder._di_subprogram´  sr   € ØŒ{×)Ò)¨.ØØ&Ø”[Ø”KØØ×,Ò,¨T°8¸VÑDÔDØØ ØÝ!œ:¨š?ØÔ&ð;
ð ;
ð ð *ñ ô ð 	r   c                 óV   — | j                              d|d| j        d         dœ¦  «        S )NÚ
DILocationrß   r§   )r   Úcolumnr©   )r;   r�   rS   )r   r   s     r   rÖ   zDIBuilder._di_locationÃ  s9   € ØŒ{×)Ò)¨,ØØØÔ% bÔ)ð9
ð 9
ñ ô ð 	r   r9   r/   )rØ   )r0   r1   r2   rË   rÍ   rÄ   rv   r?   r,   rˆ   r   r!   r)   r.   rÆ   r¿   r¹   ÚclassmethodrÊ   rá   rQ   rV   rý   rÓ   rÖ   r   r   r   rH   rH   V   s]  € € € € € Ø€MØÐØ€KØ€Fðð ð ð5ð 5ð 5ð
sð sð sð sðl .2ðEð Eð Eð Eð,:ð :ð :ð.ð .ð .ð!ð !ð !ð*ð *ð *ð0ð ð ðð ð ð ð%ð %ð %ñ „[ð%ð
 ð&ð &ñ „[ð&ðð ð ðð ð ð$ð ð ð2ð ð ðð ð ð ð r   rH   )Ú__doc__r3   Úos.pathrN   Ú
contextlibr   Úllvmliter   Ú
numba.corer   r   Únumba.core.datamodel.modelsr   r   r	   r   ÚABCMetar   r7   ry   rH   r   r   r   ú<module>r     sG  ððð ð
 €
€
€
Ø €€€Ø %Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ Ð Ð Ð Ð Ð ð ð%ð %ñ „ð%ðð ð ð ð  #¤+ð ñ ô ð ðBð ð ð ð Ð&ñ ô ð ð, €
ðrð rð rð rð rÐ!ñ rô rð rð rð rr   