
    ԋg                    T    d dl mZ d dlmZmZ d dlmZ  ed      Z ed      ZddZ	y)	    )annotations)IterableIterator)TypeVarXYc              #     K   t        ||      }d}d|}}| D ]+  }|s#|||k\  r|}		 t        |      \  }}|s	|||k\  r	 - y# t        $ r d}Y w xY ww)aV  Forward-fill interpolation

    Parameters
    ----------
    x:
        Output x series. Must be monotonic ascending.
    xp:
        Input x series. Must be strictly monotonic ascending.
    fp:
        Input y series. If it contains more or less elements than xp, the two series
        will be clipped to the shortest one (like in :func:`zip`).
    left:
        Value to yield for x < xp[0]

    Yields
    ------
    Forward-fill interpolated elements from fp matching x

    Examples
    --------
    >>> list(ffill([0.5, 2.2, 2.3, 4.5], [1, 2, 3], "abc", "-"))
    ["-", "b", "b", "c"]
    FNT)zipnextStopIteration)
xxpfpleftitxp_donexp1fp1xifp0s
             5lib/python3.12/site-packages/distributed/itertools.pyffillr   
   sz     0 
RBGTCs{bCiC8S s{bCi 	 
 ! s1   #AAAAAAAAAN)
r   Iterable[X]r   r   r   zIterable[Y]r   r   returnzIterator[Y])

__future__r   collections.abcr   r   typingr   r   r   r        r   <module>r       s%    " . CLCL"r   