ó
    È…†iº  ã                   ó<   • S SK r S/rS\S\S\4S jr " S S5      rg)é    NÚLinearBlockSparsePatternÚrow_block_sizeÚcol_block_sizeÚreturnc                 óT   • U S:H  =(       a    US:H  =(       d    U S:H  =(       a    US:H  $ )Né   é   é   © )r   r   s     Ú\/home/james-whalen/.local/lib/python3.13/site-packages/torch/ao/nn/sparse/quantized/utils.pyÚ%_is_valid_linear_block_sparse_patternr      s2   € ð ˜aÑ×7 N°aÑ$7÷ Ø˜!Ñ×3 °!Ñ 3ðó    c                   óä   • \ rS rSr% \R
                  " 5       rSr\\	S'   Sr
\\	S'   Sr\\	S'   Sr\\	S'   SS\S\4S jjrSS jrS\\   S
-  S\S
-  S\S
-  S	S
4S jr\S	\\\4   4S j5       rSrg
)r   é   r   r   r	   r   Úprev_row_block_sizeÚprev_col_block_sizec                 ó  • [        X5      (       d  [        SU SU 35      e[        R                  R	                  5         [        R
                  [        l        [        R                  [        l        U[        l        U[        l        g )Nz4Invalid linear block sparse pattern: row_block_size=z, col_block_size=)	r   ÚAssertionErrorr   ÚrlockÚacquirer   r   r   r   )Úselfr   r   s      r   Ú__init__Ú!LinearBlockSparsePattern.__init__   s€   € Ü4°^×TÑTÜ ð"Ø"0Ð!1Ð1BÀ>ÐBRðTóð ô 	!×&Ñ&×.Ñ.Ô0ä$×3Ñ3ô 	!Ô4ô %×3Ñ3ô 	!Ô4ð 3AÔ Ô/Ø2@Ô Õ/r   r   Nc                 ó   • g ©Nr   )r   s    r   Ú	__enter__Ú"LinearBlockSparsePattern.__enter__,   s   € Ør   Úexc_typeÚ	exc_valueÚ	backtracec                 ó¤   • [         R                  [         l        [         R                  [         l        [         R
                  R                  5         g r   )r   r   r   r   r   r   Úrelease)r   r   r   r    s       r   Ú__exit__Ú!LinearBlockSparsePattern.__exit__/   s<   € ô %×8Ñ8ô 	!Ô/ô %×8Ñ8ô 	!Ô/ô 	!×&Ñ&×.Ñ.Õ0r   c                  óB   • [         R                  [         R                  4$ r   )r   r   r   r   r   r   Ú
block_sizeÚ#LinearBlockSparsePattern.block_size=   s    € ô %×3Ñ3Ü$×3Ñ3ð
ð 	
r   r   )r   r	   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	threadingÚRLockr   r   ÚintÚ__annotations__r   r   r   r   r   ÚtypeÚBaseExceptionÚobjectr#   ÚstaticmethodÚtupler&   Ú__static_attributes__r   r   r   r   r      s´   ‡ ØOŠOÓ€EØ€NCÓØ€NCÓØ Ð˜Ó Ø Ð˜Ó ñA sð AÀõ Aô ð1à}Ñ%¨Ñ,ð1ð ! 4Ñ'ð1ð ˜D‘=ð	1ð
 
ô1ð ð
˜˜c 3˜h™ó 
ó ó
r   )r,   Ú__all__r.   Úboolr   r   r   r   r   Ú<module>r8      s9   ðÛ ð &Ð
&€ðØðØ),ðà	ô÷-
ò -
r   