Ë
    T^(hÑ  ã                   ó   — d dl mZ d„ Zd„ Zy)é    )Úceilc                 óB  — t        t        d|«      «      }t        | j                  «       «      D ��cg c]  }|D ]  }|‘Œ Œ }}}g }|D ]-  }|j                  |«      dkD  sŒ||vsŒ|j	                  |«       Œ/ |D �cg c]	  }||vsŒ|‘Œ }}|D �cg c]	  }||vsŒ|‘Œ }	}t        |«      dk7  rt        dt        |«      z   «      ‚t        |«      dk7  rt        dt        |«      z   «      ‚t        |	«      dk7  rt        dt        |	«      z   «      ‚y c c}}w c c}w c c}w )Nr   é   zœDuplicate attention blocks specified in device_map. Attention blocks must be specified to one device. These attention blocks were specified more than once: zŽThere are attention blocks for this model that are not specified in the device_map. Add these attention blocks to a device on the device_map: zdThe device_map contains more attention blocks than this model has. Remove these from the device_map:)ÚlistÚrangeÚvaluesÚcountÚappendÚlenÚ
ValueErrorÚstr)
Ú
device_mapÚ
num_blocksÚblocksÚsublistÚitemÚdevice_map_blocksÚduplicate_blocksÚiÚmissing_blocksÚextra_blockss
             úe/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/transformers/utils/model_parallel_utils.pyÚassert_device_mapr      sW  € Ü”%˜˜:Ó&Ó'€Fä-1°*×2CÑ2CÓ2EÓ-F×[ 'ÐSZÒ[È4šÐ[˜Ð[ÐÑ[ð ÐØò 'ˆØ×"Ñ" 1Ó%¨Ó)¨aÐ7GÒ.GØ×#Ñ# AÕ&ð'ð "(ÖF˜A¨1Ð4EÒ+E’aÐF€NÐFØ0ÖD˜!°A¸V²O’AÐD€LÐDä
ÐÓ Ò!ÜðFÜHKÐL\ÓH]ñ^ó
ð 	
ô ˆ>Ó˜aÒÜð5Ü7:¸>Ó7JñKó
ð 	
ô ˆ<Ó˜AÒÜØrÜ�,Óñ ó
ð 	
ð ùó+ \ùò GùÚDs   ²DÁ=	DÂDÂ	DÂDc                 óÞ   — t        t        | «      «      }t        t        | t	        |«      z  «      «      }t        d| |«      D �cg c]
  }||||z    ‘Œ }}t        t        ||«      «      S c c}w )zEReturns a dictionary of layers distributed evenly across all devices.r   )r   r   Úintr   r   ÚdictÚzip)Ún_layersÚdevicesÚlayersÚn_blocksr   Úlayers_lists         r   Úget_device_mapr#   1   sg   € ä”%˜“/Ó"€FÜ”4˜¤3 w£<Ñ/Ó0Ó1€HÜ5:¸1¸hÈÓ5QÖR°�6˜!˜a (™lÒ+ÐR€KÐRä”�G˜[Ó)Ó*Ð*ùò Ss   ÁA*N)Úmathr   r   r#   © ó    r   ú<module>r'      s   ðõ ò
ó>+r&   