+
    ˜°³j–  ã            	       óÊ   € ^ RI Ht ^ RIHt ^ RIHt ^ RIHt RR.t]! RRR	7      t	]! R
4       ! R R]4      4       t
]! R4       ! R R]]]	R3,          ,          4      4       tR# )é    )ÚSized)ÚTypeVar)Úfunctional_datapipe©ÚMapDataPipeÚConcaterMapDataPipeÚZipperMapDataPipeÚ_T_coT)Ú	covariantÚconcatc                   óf   a € ] tR t^t o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R ltR	t	V t
R
# )r   a”  
Concatenate multiple Map DataPipes (functional name: ``concat``).

The new index is the cumulative sum of source DataPipes.
For example, if there are 2 source DataPipes both with length 5,
index 0 to 4 of the resulting `ConcatMapDataPipe` would refer to
elements of the first DataPipe, and 5 to 9 would refer to elements
of the second DataPipe.

Args:
    datapipes: Map DataPipes being concatenated

Example:
    >>> # xdoctest: +SKIP
    >>> from torchdata.datapipes.map import SequenceWrapper
    >>> dp1 = SequenceWrapper(range(3))
    >>> dp2 = SequenceWrapper(range(3))
    >>> concat_dp = dp1.concat(dp2)
    >>> list(concat_dp)
    [0, 1, 2, 0, 1, 2]
c                ó$   <€ V ^8„  d   QhRS[ RR/# ©é   Ú	datapipesÚreturnNr   )ÚformatÚ__classdict__s   "€Úi/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/utils/data/datapipes/map/combining.pyÚ__annotate__Ú ConcaterMapDataPipe.__annotate__(   s   ø€ ÷ #ñ #¡;ð #°4ñ #ó    c                ó\  € \        V4      ^ 8X  d   \        R4      h\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        R4      h\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        R4      hWn        R# )	r   ú/Expected at least one DataPipe, but got nothingc              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5i©N©Ú
isinstancer   ©Ú.0Údps   & r   Ú	<genexpr>Ú/ConcaterMapDataPipe.__init__.<locals>.<genexpr>+   ó   é € ÐC¹°2”:˜b¤+×.Ð.»ùó   ‚FTú'Expected all inputs to be `MapDataPipe`c              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5ir   ©r   r   r   s   & r   r"   r#   .   ó   é € Ð=±9¨R”:˜b¤%×(Ð(³9ùr%   ú!Expected all inputs to be `Sized`N©ÚlenÚ
ValueErrorÚallÚ	TypeErrorr   ©Úselfr   s   &*r   Ú__init__ÚConcaterMapDataPipe.__init__(   óy   € Üˆy‹>˜QÔÜÐNÓOÐOß‹sÑC¹ÓC�s�sŠsÑC¹ÓC×CÒCÜÐEÓFÐFç‹sÑ=±9Ó=�s�sŠsÑ=±9Ó=×=Ò=ÜÐ?Ó@Ð@Ø"Žr   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   )r
   )r   r   s   "€r   r   r   2   s   ø€ ÷ 	<ñ 	<¡Eñ 	<r   c                ó¼   € ^ pV P                    F<  pW,
          \        V4      8  d   W1V,
          ,          u # V\        V4      ,          pK>  	  \        RV R24      h)r   úIndex z is out of range.)r   r,   Ú
IndexError)r1   ÚindexÚoffsetr!   s   &&  r   Ú__getitem__ÚConcaterMapDataPipe.__getitem__2   sW   € ØˆØ—.”.ˆBà�~¤ B£Ô'Ø &�.Õ)Ò)ð œ#˜b›'Õ!’ñ !ô ˜6 % Ð(9Ð:Ó;Ð;r   c                ó    <€ V ^8„  d   QhRS[ /# r6   ©Úint)r   r   s   "€r   r   r   =   ó   ø€ ÷ 5ñ 5™ñ 5r   c                ó:   € \        R  V P                   4       4      # )c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   ©r,   r   s   & r   r"   Ú.ConcaterMapDataPipe.__len__.<locals>.<genexpr>?   ó   é € Ð4¡^˜r”3�r—7�7£^ùó   ‚)Úsumr   ©r1   s   &r   Ú__len__ÚConcaterMapDataPipe.__len__=   ó   € äÑ4 T§^¢^Ó4Ó4Ð4r   c                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )r   r   )Útupler   )r   r   s   "€r   r   r      s   ø‡ ‚ ñ0 ‘[Õ!Ñ!ò1 r   ©r   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r2   r<   rJ   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s0   ø‡ € ñ÷0#ð #÷	<ð 	<÷5ð 5÷_ ƒ r   Úzipc                   óf   a € ] tR t^Bt o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R ltR	t	V t
R
# )r	   aõ  
Aggregates elements into a tuple from each of the input DataPipes (functional name: ``zip``).

This MapDataPipe is out of bounds as soon as the shortest input DataPipe is exhausted.

Args:
    *datapipes: Map DataPipes being aggregated

Example:
    >>> # xdoctest: +SKIP
    >>> from torchdata.datapipes.map import SequenceWrapper
    >>> dp1 = SequenceWrapper(range(3))
    >>> dp2 = SequenceWrapper(range(10, 13))
    >>> zip_dp = dp1.zip(dp2)
    >>> list(zip_dp)
    [(0, 10), (1, 11), (2, 12)]
c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# r   )r   r
   )r   r   s   "€r   r   ÚZipperMapDataPipe.__annotate__X   s    ø€ ÷ #ñ #¡;©uÕ#5ð #¸$ñ #r   c                ó\  € \        V4      ^ 8X  d   \        R4      h\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        R4      h\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        R4      hWn        R# )	r   r   c              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5ir   r   r   s   & r   r"   Ú-ZipperMapDataPipe.__init__.<locals>.<genexpr>[   r$   r%   FTr&   c              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5ir   r(   r   s   & r   r"   r`   ^   r)   r%   r*   Nr+   r0   s   &*r   r2   ÚZipperMapDataPipe.__init__X   r4   r   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# )r   r   .)rN   r
   )r   r   s   "€r   r   r]   b   s   ø€ ÷ 	ñ 	¡E©%°¨*Õ$5ñ 	r   c           	     ó¾   € . pV P                    F  p VP                  W1,          4       K  	  \        V4      #   \         d   p\        R T RT R24      ThRp?ii ; i)r8   z3 is out of range for one of the input MapDataPipes Ú.N)r   Úappendr9   rN   )r1   r:   Úresr!   Úes   &&   r   r<   ÚZipperMapDataPipe.__getitem__b   sl   € ØˆØ—.”.ˆBðØ—
‘
˜2�9Ö%ñ !ô �S‹zÐøô	 ô Ü Ø˜U˜GÐ#VÐWYÐVZÐZ[Ð\óàðûðús   “9¹AÁAÁAc                ó    <€ V ^8„  d   QhRS[ /# r6   r?   )r   r   s   "€r   r   r]   m   rA   r   c                ó:   € \        R  V P                   4       4      # )c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   rD   r   s   & r   r"   Ú,ZipperMapDataPipe.__len__.<locals>.<genexpr>o   rF   rG   )Úminr   rI   s   &r   rJ   ÚZipperMapDataPipe.__len__m   rL   r   c                óJ   <€ V ^8„  d   Qh/ S[ S[S[,          R3,          ;R&   # )r   .r   )rN   r   r
   )r   r   s   "€r   r   r]   B   s!   ø‡ ‚ ñ( ‘[¡Õ'¨Ð,Õ-Ñ-ò) r   rO   NrP   rY   s   @r   r	   r	   B   s0   ø‡ € ñ÷(#ð #÷	ð 	÷5ð 5÷W ƒ r   .N)Úcollections.abcr   Útypingr   Ú%torch.utils.data.datapipes._decoratorr   Ú#torch.utils.data.datapipes.datapiper   Ú__all__r
   r   rN   r	   © r   r   Ú<module>rw      sy   ðå !Ý å EÝ ;ð !Ð"5Ð
6€á� 4Ô(€ñ �XÓô05˜+ó 05ó ð05ñf �UÓô,5˜ E¨%°¨*Õ$5Õ6ó ,5ó ò,5r   