§
    �ŠtjÅY  ã                   ó0  — d dl Z d dlZd dlZd dl mZ d dlmZ d dlZ	 d dlZ n# e$ r Y nw xY w G d„ d¦  «        Z	 G d„ de
¦  «        Z e¦   «         Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"dS )é    N)Ú	reduction)Úregister_after_forkc                   óN   — e Zd ZdZddgZd„ Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚStorageWeakRefzŽA weak reference to a Storage.

    The cdata member is a Python number containing the integer representation of
    the Storage pointer.
    ÚcdataÚ_free_weak_refc                 ód   — |                      ¦   «         | _        t          j        j        | _        d S ©N)Ú	_weak_refr   ÚtorchÚStorager   )ÚselfÚstorages     ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/multiprocessing/reductions.pyÚ__init__zStorageWeakRef.__init__   s*   € Ø×&Ò&Ñ(Ô(ˆŒ
õ $œmÔ:ˆÔÐÐó    c                 ój   — |                       | ¦  «        }||_        t          j        j        |_        |S r
   )Ú__new__r   r   r   r   )Úclsr   Úinstances      r   Úfrom_weakrefzStorageWeakRef.from_weakref%   s,   € à—;’;˜sÑ#Ô#ˆØˆŒÝ"'¤-Ô">ˆÔØˆr   c                 óJ   — t           j                             | j        ¦  «        S r
   )r   r   Ú_expiredr   ©r   s    r   ÚexpiredzStorageWeakRef.expired,   s   € ÝŒ}×%Ò% d¤jÑ1Ô1Ð1r   c                 ó:   — |                       | j        ¦  «         d S r
   )r   r   r   s    r   Ú__del__zStorageWeakRef.__del__/   s   € Ø×Ò˜DœJÑ'Ô'Ð'Ð'Ð'r   c                 ó   — | j         S r
   )r   r   s    r   Ú__hash__zStorageWeakRef.__hash__2   s
   € ØŒzÐr   c                 óf   — t          | ¦  «        t          |¦  «        k    rdS | j        |j        k    S )NT)Úidr   )r   Úothers     r   Ú__eq__zStorageWeakRef.__eq__5   s-   € Ýˆd‰8Œ8•r˜%‘y”yÒ Ð Ø�4ØŒz˜Uœ[Ò(Ð(r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   Úclassmethodr   r   r   r   r#   © r   r   r   r      s‘   € € € € € ðð ð Ð*Ð+€Ið;ð ;ð ;ð ðð ñ „[ðð2ð 2ð 2ð(ð (ð (ðð ð ð)ð )ð )ð )ð )r   r   c                   ó2   — e Zd ZdZd	d„Zd„ Zd„ Zd„ Zd„ ZdS )
ÚSharedCachez:Dictionary from multiprocessing handles to StorageWeakRef.ÚreturnNc                 óp   — d| _         |                      ¦   «          t          | t          j        ¦  «         d S )Né€   )ÚlimitÚ_after_forkr   r,   r   s    r   r   zSharedCache.__init__>   s8   € ð ˆŒ
ð 	×ÒÑÔÐÝ˜D¥+Ô"9Ñ:Ô:Ð:Ð:Ð:r   c                 ó6   — t          j        ¦   «         | _        d S r
   )Ú	threadingÚLockÚlockr   s    r   r1   zSharedCache._after_forkH   s   € Ý”NÑ$Ô$ˆŒ	ˆ	ˆ	r   c                 óz   — | j         5  t                               | |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S r
   )r5   ÚdictÚget)r   Úkeys     r   r8   zSharedCache.getK   s   € ØŒYð 	'ð 	'Ý—8’8˜D #Ñ&Ô&ð	'ð 	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	'ð 	's   ˆ0°4·4c                 óÖ   — | j         5  t                               | ||¦  «         t          | ¦  «        | j        k    r|                      ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S r
   )r5   r7   Ú__setitem__Úlenr0   Úfree_dead_references)r   r9   Ústorage_refs      r   r;   zSharedCache.__setitem__O   s«   € ØŒYð 	,ð 	,Ý×Ò˜T 3¨Ñ4Ô4Ð4Ý�4‰yŒy˜4œ:Ò%Ð%Ø×)Ò)Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,s   ˆA	AÁA"Á%A"c                 óÂ   — d}t          |                      ¦   «         ¦  «        D ]"\  }}|                     ¦   «         r| |= Œ|dz  }Œ#t          d|dz  ¦  «        | _        d S )Nr   é   r/   é   )ÚlistÚitemsr   Úmaxr0   )r   Úliver9   r>   s       r   r=   z SharedCache.free_dead_referencesU   sl   € ØˆÝ $ T§Z¢Z¡\¤\Ñ 2Ô 2ð 	ð 	ÑˆC�Ø×"Ò"Ñ$Ô$ð Ø˜�I�Ià˜‘	��Ý˜˜d Q™hÑ'Ô'ˆŒ
ˆ
ˆ
r   )r-   N)	r$   r%   r&   r'   r   r1   r8   r;   r=   r*   r   r   r,   r,   ;   sj   € € € € € ØDÐDð;ð ;ð ;ð ;ð%ð %ð %ð'ð 'ð 'ð,ð ,ð ,ð(ð (ð (ð (ð (r   r,   c                 óL   — t           j        j                             | |¦  «        S r
   )r   ÚcudaÚEventÚfrom_ipc_handle)ÚdeviceÚhandles     r   Úrebuild_eventrL   c   s   € ÝŒ:Ô×+Ò+¨F°FÑ;Ô;Ð;r   c                 óJ   — |                       ¦   «         }t          | j        |ffS r
   )Ú
ipc_handlerL   rJ   )ÚeventrK   s     r   Úreduce_eventrP   g   s%   € Ø×ÒÑÔ€FÝ˜EœL¨&Ð1Ð2Ð2r   c                 óè   — |\  }}}}t           j                             ||||¦  «        }| t           j        j        j        k    r't           j        j                             ||¬¦  «        }n||_        |S )N©Úrequires_grad)r   Ú_utilsÚ_rebuild_tensorÚnnÚ	parameterÚ	ParameterrS   )r   r   ÚmetadataÚstorage_offsetÚsizeÚstriderS   Úts           r   Úrebuild_tensorr^   l   sk   € Ø2:Ñ/€N�D˜& -ÝŒ×$Ò$ W¨n¸dÀFÑKÔK€AØ
�eŒhÔ Ô*Ò*Ð*õ ŒHÔ×(Ò(¨¸-Ð(ÑHÔHˆˆà'ˆŒØ€Hr   c                 ó4  — t          j        |d¬¦  «        }t          j        ||d¬¦  «        }t           j                             ||||¦  «        }	| t           j        j        j        k    r't           j        j                             |	|¬¦  «        }	n||	_        |	S )NÚmeta©rJ   T©Úwrap_storageÚdtypeÚ	_internalrR   )	r   ÚUntypedStorageÚTypedStoragerT   rU   rV   rW   rX   rS   )
Ú
tensor_clsÚtensor_sizeÚtensor_strideÚtensor_offsetrd   Ústorage_size_bytesrS   Úuntyped_storageÚtyped_storager]   s
             r   Úrebuild_meta_tensorro   y   sŸ   € õ Ô*Ð+=ÀfÐMÑMÔM€OåÔ&Ø$¨E¸Tðñ ô €Mõ 	Œ×$Ò$ØØØØñ		ô 	€Að •U”XÔ'Ô1Ò1Ð1õ ŒHÔ×(Ò(¨¸-Ð(ÑHÔHˆˆà'ˆŒà€Hr   c           
      ó�  — |�|dk    r |d||d¬¦  «        }n€t          |||	f¦  «        }|€Tt          j                             ¦   «          |                     ||||	||||¦  «        }t          |¦  «        t          ||	f<   n|                     |||¬¦  «         t          |t          j	        ¦  «        r|n|j
        }t          j                             t          j                             ||d¬¦  «        |||¦  «        }| t          j        j        j        k    r't          j        j                             ||
¬¦  «        }n|
|_        |S )Nr   T)rd   rJ   re   ra   rb   rR   )Ústorage_from_cacher   rG   Ú
_lazy_initÚ_new_shared_cudar   Úshared_cacheÚ_release_ipc_counterÚ
isinstancerf   Ú_untyped_storagerT   rU   r   rg   rV   rW   rX   rS   )rh   ri   rj   rk   Ústorage_clsrd   Ústorage_deviceÚstorage_handlerl   Ústorage_offset_bytesrS   Úref_counter_handleÚref_counter_offsetÚevent_handleÚevent_sync_requiredr   Ú_storager]   s                     r   Úrebuild_cuda_tensorr�   ™   sƒ  € ð$ ÐÐ!3°qÒ!8Ð!8Ø�+˜a u°^ÈtÐTÑTÔTˆˆå$Ø˜.Ð*>Ð?ñ
ô 
ˆð ˆ?ÝŒJ×!Ò!Ñ#Ô#Ð#Ø!×2Ò2ØØØ"Ø$Ø"Ø"ØØ#ñ	ô 	ˆGõ DRØñDô D�L˜.Ð*>Ð?Ñ@Ð@ð
 ×,Ò,Ø"Ð$6¸~ð -ñ ô ð õ �g�uÔ3Ñ4Ô4ð	&ˆˆàÔ%ð õ 	Œ×$Ò$ÝŒ×"Ò"°ÀÐQUÐ"ÑVÔVØØØñ		ô 	€Að •U”XÔ'Ô1Ò1Ð1õ ŒHÔ×(Ò(¨¸-Ð(ÑHÔHˆˆà'ˆŒà€Hr   c                 óü  — | j         r| j        st          d¦  «        ‚t          j        j                             | ¦  «         ddlm} | j	        rt          | |¦  «        st          | ¦  «        S | j        t          j        t          j        t          j        t          j        t          j        hv rt%          | ¦  «        S |                      ¦   «         }|j        j        j        dk    r¨|                     ¦   «         \  }}}}}}}	}
|                      ¦   «         }t3          |¦  «        t4          |<   t6          t-          | ¦  «        |                      ¦   «         |                      ¦   «         |t-          |¦  «        | j        ||||| j         |||	|
ffS |j        j        j        dk    r�t>          t-          | ¦  «        |                      ¦   «         |                      ¦   «         |                      ¦   «         | j        |                       ¦   «                              ¦   «         | j         ffS |                      ¦   «         |                      ¦   «         |                      ¦   «         | j         f}tB          t-          | ¦  «        ||ffS )NzøCowardly refusing to serialize non-leaf tensor which requires_grad, since autograd does not support crossing process boundaries.  If you just want to transfer the data, call detach() on the tensor before serializing (e.g., putting it on the queue).r   )ÚNestedTensorrG   r`   )"rS   Úis_leafÚRuntimeErrorr   ÚutilsÚhooksÚwarn_if_has_hooksÚ$torch.nested._internal.nested_tensorrƒ   Ú	is_nestedrv   Úreduce_nested_tensorÚlayoutÚ
sparse_cooÚ
sparse_csrÚ
sparse_bsrÚ
sparse_cscÚ
sparse_bscÚreduce_sparse_tensorÚ_typed_storagerw   rJ   ÚtypeÚ_share_cuda_rZ   r   rt   r�   r[   r\   rd   ro   rm   r^   )Útensorrƒ   r   rJ   rK   rl   r{   r|   r}   r~   r   rk   rY   s                r   Úreduce_tensorr—   Ý   sm  € ØÔð 
 F¤Nð 
ÝðBñ
ô 
ð 	
õ 
„KÔ×'Ò'¨Ñ/Ô/Ð/ð~ BÐAÐAÐAÐAÐAàÔð ,¥
¨6°<Ñ @Ô @ð ,Ý# FÑ+Ô+Ð+à„}ÝÔÝÔÝÔÝÔÝÔðð ð õ $ FÑ+Ô+Ð+à×#Ò#Ñ%Ô%€GàÔÔ&Ô+¨vÒ5Ð5ð × Ò Ñ"Ô"ñ		
ØØØØ ØØØØà×-Ò-Ñ/Ô/ˆÝ-¨gÑ6Ô6��VÑõ  å�V‘”Ø—’‘”Ø—’‘”ØÝ�W‘”Ø”ØØØ"Ø$ØÔ$Ø"Ø"ØØ#ðð
ð 	
ð( 
Ô	!Ô	(Ô	-°Ò	7Ð	7åå�V‘”Ø—’‘”Ø—’‘”Ø×%Ò%Ñ'Ô'Ø”Ø×&Ò&Ñ(Ô(×-Ò-Ñ/Ô/ØÔ$ðð
ð 	
ð 	×ÒÑÔØ�Š‰ŒØ�Š‰ŒØÔð	€Hõ �T &™\œ\¨7°HÐ=Ð>Ð>r   c                 óX   —  | |Ž } ||Ž }	 ||Ž }
 ||Ž }t          j        ||	|
|¦  «        S r
   )r   Ú_nested_view_from_buffer_copy)Úrebuild_buffer_funcÚrebuild_buffer_argsÚrebuild_sizes_funcÚrebuild_sizes_argsÚrebuild_strides_funcÚrebuild_strides_argsÚrebuild_offsets_funcÚrebuild_offsets_argsÚbufferÚsizesÚstridesÚoffsetss               r   Úrebuild_nested_tensorr¦   �  sS   € ð !Ð Ð"5Ð6€FØÐÐ 2Ð3€EØ"Ð"Ð$8Ð9€GØ"Ð"Ð$8Ð9€GÝÔ.¨v°u¸gÀwÑOÔOÐOr   c           	      óD  — t          |                      ¦   «         ¦  «        \  }}t          |                      ¦   «         ¦  «        \  }}t          |                      ¦   «         ¦  «        \  }}t          |                      ¦   «         ¦  «        \  }}t
          ||||||||ffS r
   )r—   ÚvaluesÚ_nested_tensor_sizeÚ_nested_tensor_stridesÚ_nested_tensor_storage_offsetsr¦   )	Úntrš   r›   rœ   r�   rž   rŸ   r    r¡   s	            r   r‹   r‹   ¡  s¶   € Ý/<¸R¿YºY¹[¼[Ñ/IÔ/IÑ,ÐÐ,Ý-:¸2×;QÒ;QÑ;SÔ;SÑ-TÔ-TÑ*ÐÐ*Ý1>Ø
×!Ò!Ñ#Ô#ñ2ô 2Ñ.ÐÐ.õ 2?Ø
×)Ò)Ñ+Ô+ñ2ô 2Ñ.ÐÐ.õ
 	àØØØØ Ø Ø Ø ð		
ðð r   c                 óF   —  | |Ž } ||Ž }t          j        ||||¬¦  «        S )N)Úis_coalesced)r   Úsparse_coo_tensor)Úrebuild_indices_funcÚrebuild_indices_argsÚrebuild_values_funcÚrebuild_values_argsÚshaper®   Úindicesr¨   s           r   Úrebuild_sparse_coo_tensorr¶   º  s:   € ð #Ð"Ð$8Ð9€GØ Ð Ð"5Ð6€FÝÔ" 7¨F°EÈÐUÑUÔUÐUr   c                 óR   —  | |Ž } ||Ž }	 ||Ž }
t          j        ||	|
||¬¦  «        S )N)rŒ   )r   Úsparse_compressed_tensor)Úrebuild_compressed_indices_funcÚrebuild_compressed_indices_argsÚrebuild_plain_indices_funcÚrebuild_plain_indices_argsr²   r³   r´   rŒ   Úcompressed_indicesÚplain_indicesr¨   s              r   Ú rebuild_sparse_compressed_tensorr¿   Ç  sX   € ð 9Ð8Ø	(ðÐð /Ð.Ð0JÐK€MØ Ð Ð"5Ð6€FÝÔ)Ø˜M¨6°5Àðñ ô ð r   c           	      ó  — | j         t          j        u rnt          |                      ¦   «         ¦  «        \  }}t          |                      ¦   «         ¦  «        \  }}t          ||||| j        |                      ¦   «         ffS | j         t          j	        t          j
        hv r)|                      ¦   «         }|                      ¦   «         }n\| j         t          j        t          j        hv r)|                      ¦   «         }|                      ¦   «         }nt#          | j         ¦  «        ‚t          |¦  «        \  }}t          |¦  «        \  }	}
t          |                      ¦   «         ¦  «        \  }}t&          |||	|
||| j        | j         ffS r
   )rŒ   r   r�   r—   Ú_indicesÚ_valuesr¶   r´   r®   rŽ   r�   Úcrow_indicesÚcol_indicesr�   r‘   Úccol_indicesÚrow_indicesÚNotImplementedErrorr¨   r¿   )Úsparser°   r±   r²   r³   r½   r¾   r¹   rº   r»   r¼   s              r   r’   r’   Û  s�  € Ø„}�Ô(Ð(Ð(Ý5BÀ6Ç?Â?ÑCTÔCTÑ5UÔ5UÑ2ÐÐ2Ý3@ÀÇÂÑAQÔAQÑ3RÔ3RÑ0ÐÐ0å%à$Ø$Ø#Ø#Ø”Ø×#Ò#Ñ%Ô%ðð

ð 
	
ð Œ=�UÔ-­uÔ/?Ð@Ð@Ð@Ø!'×!4Ò!4Ñ!6Ô!6ÐØ"×.Ò.Ñ0Ô0ˆMˆMØŒ]�uÔ/µÔ1AÐBÐBÐBØ!'×!4Ò!4Ñ!6Ô!6ÐØ"×.Ò.Ñ0Ô0ˆMˆMå% f¤mÑ4Ô4Ð4õ Ð,Ñ-Ô-ñ	
Ø+Ø+åANØñB
ô B
Ñ>Ð"Ð$>õ 4AÀÇÂÁÄÑ3QÔ3QÑ0ÐÐ0å,à/Ø/Ø*Ø*Ø#Ø#Ø”Ø”ð	ð
ð 	
r   c                 óF   — t          j        | ¦  «        }|j        |j        fS r
   )ÚosÚfstatÚst_inoÚst_dev)ÚfdÚstats     r   Úfd_idrÐ   
  s    € õ Œ8�B‰<Œ<€DØŒK˜œÐ%Ð%r   c                 ó†   — t                                |¦  «        }|€d S t          j                             |j        ¦  «        S r
   )rt   r8   r   rf   Ú_new_with_weak_ptrr   )r   r9   r>   s      r   rq   rq     s:   € Ý×"Ò" 3Ñ'Ô'€KØÐØˆtÝÔ×2Ò2°;Ô3DÑEÔEÐEr   c                 óh  — |                      ¦   «         }	 t          | t          |¦  «        ¦  «        }|�|t          j        |¦  «         S |                      ||¦  «        }t          |¦  «        t          t          |¦  «        <   |t          j        |¦  «         S # t          j        |¦  «         w xY wr
   )Údetachrq   rÐ   rÊ   ÚcloseÚ_new_shared_fd_cpur   rt   )r   Údfr[   rÎ   r   s        r   Úrebuild_storage_fdrØ     s–   € Ø	�Š‰Œ€BðÝ$ S­%°©)¬)Ñ4Ô4ˆØÐØõ
 	Œ�‰Œˆˆð	 ×(Ò(¨¨TÑ2Ô2ˆÝ"0°Ñ"9Ô"9�•U˜2‘Y”YÑØå
Œ�‰Œˆˆø�Œ�‰Œˆˆøøøs   – B Á;B ÂB1c                 ó   — t          | |¦  «        }|�|                     ¦   «         S |€"t          j                             |||¦  «        }nZ|t          j                             |¦  «        z  }t          j                             |||¦  «        }t          j        ||d¬¦  «        }t          |¦  «        t          |<   |                     ¦   «         S ©NTrb   )
rq   Ú_shared_decrefr   rf   Ú_new_shared_filename_cpurT   Ú_element_sizerg   r   rt   )r   ÚmanagerrK   r[   rd   r   Ú	byte_sizerm   s           r   Úrebuild_storage_filenamerà   &  sÉ   € Ý9KÈCÐQWÑ9XÔ9X€GØÐØ×%Ò%Ñ'Ô'Ð'Ø€}ÝÔ&×?Ò?ÀÈÐQUÑVÔVˆˆà�5œ<×5Ò5°eÑ<Ô<Ñ<ˆ	åÔ ×9Ò9¸'À6È9ÑUÔUð 	õ Ô$Ø(°Àð
ñ 
ô 
ˆõ *¨'Ñ2Ô2…L�ÑØ×!Ò!Ñ#Ô#Ð#r   c                 ó   —  | ¦   «         S r
   r*   )r   s    r   Úrebuild_storage_emptyrâ   8  s   € Øˆ3‰5Œ5€Lr   c                 óF   — t           j                             | |d¬¦  «        S rÚ   )r   r   rg   )r   rd   s     r   Úrebuild_typed_storagerä   <  s    € ÝŒ=×%Ò%°7À%ÐSWÐ%ÑXÔXÐXr   c                 ó,   — t           | j        | j        ffS r
   )rä   rw   rd   ©r   s    r   Úreduce_typed_storagerç   A  s   € Ý! GÔ$<¸g¼mÐ#LÐMÐMr   c                 ó   —  || d¬¦  «        S )NT)rc   re   r*   )r   Ústorage_types     r   Úrebuild_typed_storage_childrê   E  s   € Øˆ< W¸Ð=Ñ=Ô=Ð=r   c                 ó<   — t           | j        t          | ¦  «        ffS r
   )rê   rw   r”   ræ   s    r   Úreduce_typed_storage_childrì   J  s   € Ý'¨'Ô*BÅDÈÁMÄMÐ)RÐSÐSr   c                 ó¤  — ddl m} | j        rt          d¦  «        ‚| j        j        dk    rt          d¦  «        ‚ |¦   «         dk    r]|                      ¦   «         }|d         }t          }t          | t          j
        ¦  «        r|| j        fz  }|                      ¦   «          n|                      ¦   «         dk    rt          t          | ¦  «        ffS |                      ¦   «         \  }}t           j                             |¦  «        }t'          |¦  «        }||f}t(          }t+          | ¦  «        t,          |<   |t          | ¦  «        f|z   fS )Nr@   )Úget_sharing_strategyz>Cannot pickle CUDA storage; try pickling a CUDA tensor insteadr`   z>Cannot pickle meta storage; try pickling a meta tensor insteadÚfile_systemr   )Ú rî   Úis_cudar…   rJ   r”   Ú_share_filename_cpu_rà   rv   r   rg   rd   Ú_shared_increfr[   râ   Ú_share_fd_cpu_Úmultiprocessingr   ÚDupFdrÐ   rØ   r   rt   )r   rî   rY   Ú	cache_keyÚrebuildrÎ   r[   r×   s           r   Úreduce_storagerù   N  s`  € Ø&Ð&Ð&Ð&Ð&Ð&à„ð %ÝØLñ
ô 
ð 	
ð 
ŒÔ	 Ò	&Ð	&ÝØLñ
ô 
ð 	
ð 
Ð	Ñ	Ô	 =Ò	0Ð	0Ø×/Ò/Ñ1Ô1ˆØ˜Q”Kˆ	Ý*ˆÝ�g�uÔ1Ñ2Ô2ð 	)Ø˜œÐ(Ñ(ˆHØ×ÒÑ Ô Ð Ð Ø	�Š‰Œ˜1Ò	Ð	õ &­¨W©¬Ð'7Ð8Ð8à×)Ò)Ñ+Ô+‰ˆˆDÝÔ&×,Ò,¨RÑ0Ô0ˆÝ˜"‘I”Iˆ	Ø˜�:ˆÝ$ˆå,¨WÑ5Ô5…L�ÑØ•d˜7‘m”mÐ%¨Ñ0Ð1Ð1r   c                  ó"  — t          j        t          j        j        t
          ¦  «         t          j        D ]B} | j        dk    rt          j        | t          ¦  «         Œ(t          j        | t          ¦  «         ŒCt          j        t          j
        j        t          ¦  «         t          j        D ]} t          j        | t          ¦  «         Œt          j        t          j        t          ¦  «         ddlm} t          j        |t          ¦  «         d S )Nrf   r   )rX   )r   Úregisterr   rG   rH   rP   Ú_storage_classesr$   rù   rì   r   rg   rç   Ú_tensor_classesr—   ÚTensorÚtorch.nn.parameterrX   )r]   rX   s     r   Úinit_reductionsr   o  sê   € ÝÔ•u”zÔ'­Ñ6Ô6Ð6åÔ#ð >ð >ˆØŒ:Ð)Ò)Ð)ÝÔ˜q¥.Ñ1Ô1Ð1Ð1åÔ˜qÕ"<Ñ=Ô=Ð=Ð=åÔ•u”}Ô1Õ3GÑHÔHÐHåÔ"ð -ð -ˆÝÔ˜1�mÑ,Ô,Ð,Ð,õ Ô•u”|¥]Ñ3Ô3Ð3à,Ð,Ð,Ð,Ð,Ð,åÔ�y¥-Ñ0Ô0Ð0Ð0Ð0r   r
   )#rõ   rÊ   r3   r   Úmultiprocessing.utilr   r   Úmultiprocessing.resource_sharerÚImportErrorr   r7   r,   rt   rL   rP   r^   ro   r�   r—   r¦   r‹   r¶   r¿   r’   rÐ   rq   rØ   rà   râ   rä   rç   rê   rì   rù   r   r*   r   r   ú<module>r     s`  ðà Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4à €€€ð	ð +Ð*Ð*Ð*Ð*øØð 	ð 	ð 	Ø€Dð	øøøð")ð ")ð ")ð ")ð ")ñ ")ô ")ð ")ðJ!(ð !(ð !(ð !(ð !(�$ñ !(ô !(ð !(ðJ ˆ{‰}Œ}€ð<ð <ð <ð3ð 3ð 3ð

ð 
ð 
ðð ð ð@Að Að AðHp?ð p?ð p?ðfPð Pð Pð"ð ð ð2
Vð 
Vð 
Vðð ð ð(,
ð ,
ð ,
ð^&ð &ð &ðFð Fð Fð
ð 
ð 
ð$ð $ð $ð $ð$ð ð ðYð Yð Yð
Nð Nð Nð>ð >ð >ð
Tð Tð Tð2ð 2ð 2ðB1ð 1ð 1ð 1ð 1s   ž# £+ª+