
    h                         S SK JrJrJr  SSKJr  SSKJr  SSKJ	r	J
r
  SSKJr  \
r\	r\R                  " S5      S\\\4   4S	 j5       rS
\\\4   S\S\S\\\\/\4   4   4S jrg)    )CallableTuplecast   )registry)Model)Floats2dRagged)	ArrayInfozreduce_last.v1returnc                  "    [        S[        5      $ )z8Reduce ragged-formatted sequences to their last element.reduce_last)r   forward     R/home/james-whalen/.local/lib/python3.13/site-packages/thinc/layers/reduce_last.pyr   r      s     ((r   modelXris_trainc                    ^ ^^^ T R                   R                  [        [        TR                  5      TR
                  5      u  nm[        R                  " U5      mS[        S[        4UUUU 4S jjnX44$ )NdYr   c                    > TR                  U 5        TR                  R                  U T5      n[        UTR                  5      $ )N)check_consistencyopsbackprop_reduce_lastr
   lengths)r   dXr   
array_infolastsr   s     r   backpropforward.<locals>.backprop   s8    $$R(YY++B6b"**%%r   )
r   r   r   r	   datar   r   
from_arrayOutTInT)r   r   r   Yr    r   r   s   ``   @@r   r   r      s`     yy$$T(BGG%<bjjIHAu%%a(J&T &c & &
 ;r   N)typingr   r   r   configr   r   r   typesr	   r
   utilr   r%   r$   layersr   boolr   r   r   r   <module>r-      s    ( (   $  
!")U39% ) #)
d!$04
44&#+&&'r   