
    g|                        d dl mZ d dlmZ d dlmZmZ d dlmZ	 d dl
Zd dlmZmZ d dlmZ er
d dlmZmZmZ d
dZdd	Zy)    )annotations)pairwise)TYPE_CHECKINGcastN)FillTypeLineType)codes_from_offsets)
FillReturn
LineReturnLineReturn_Separatec                   |t         j                  t         j                  fv r3t        |  D cg c]  \  }}|	t	        j
                  ||        }}}|S |t         j                  t         j                  fv r;t        |  D cg c]&  \  }}|t	        j
                  |t        |            ( }}}|S |t         j                  k(  rg }t        |  D ]q  \  }}}|
t        j                  ||dd       }t        j                  ||dd       }|t        ||      D cg c]  \  }}t	        j
                  ||       c}}z  }s |S |t         j                  k(  ryg }t        |  D ]j  \  }}}|
t        t        |      dz
        D ]G  }	|||	   ||	dz      dz    }
||
d   |
d    }|t	        j
                  |t        |
|
d   z
              gz  }I l |S t        d| d      c c}}w c c}}w c c}}w )N   r   zConversion of FillType   to MPL Paths is not implemented)r   	OuterCodeChunkCombinedCodezipmpathPathOuterOffsetChunkCombinedOffsetr	   ChunkCombinedCodeOffsetnpsplitChunkCombinedOffsetOffsetrangelenRuntimeError)filled	fill_typepointscodespathsoffsetsouter_offsetspcioffsptss               T/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/contourpy/util/mpl_util.pyfilled_to_mpl_pathsr,      s*   X'')C)CDD@CVc}vuPVPbFE*cc. L- 
x++X-I-IJ	J(+VL$VW8J F$6w$?@ L L* L' 
h66	6,/L 	G(FE=~XXfmAb&9:FHHUM!B$78E3vu3EF41aejjA&FFE	G" L 
h88	8.16l 	O*FG]~3}-a/0 O}Q/ac0B10DET!WT"X.%**S*<TDG^*LMNNO	O L 4YK?_`aa- dL Gs   
G!G!+G' G-
c                   |t         j                  k(  r_t        rt        t        |       } g }| D ]@  }|d   |d   k(  xr |d   |d   k(  }|j                  t        j                  ||             B |S |t         j                  t         j                  fv r3t        |  D cg c]  \  }}|	t        j                  ||        }}}|S |t         j                  k(  rg }t        |  D ]p  \  }}|	t        t        |      dz
        D ]N  }|||   ||dz       }|d   |d   k(  xr |d   |d   k(  }|j                  t        j                  ||             P r |S |t         j                  k(  rg }| d   D ]  }|t        j                   t        j"                  |d d df               d   }	t        j$                  dg|	t        |      gg      }	t'        |	      D ]K  \  }
}||
dz   | }|d   |d   k(  xr |d   |d   k(  }|j                  t        j                  ||             M  |S t)        d	| d
      c c}}w )N)r   r   )r   r   )r   r   )r   r   )closedr   r   r   zConversion of LineType r   )r   Separater   r   r   appendr   r   SeparateCoder   r   r   r   r   ChunkCombinedNanr   nonzeroisnanconcatenater   r   )lines	line_typer#   liner.   r!   r"   r$   r(   nan_offsetsses               r+   lines_to_mpl_pathsr<   ,   se   H%%%,e4E 	:D$Z4;.L4:e3LFLLD89	:8 L1 
x,,h.H.HI	I@CUb}vuvOaFE*bb. L- 
h22	2"E{ 	>OFG~3w<>* >gaj16dtE{2PtDzT%[7PUZZV<=>	>( L 
h//	/Ah 	>F~**RXXfQTl%;<Q?K..2$c&k])KLK - >1ac!}dtE{2PtDzT%[7PUZZV<=>	> L 4YK?_`aa- cs    
H;+H;)r   r
   r    r   returnlist[mpath.Path])r6   r   r7   r   r=   r>   )
__future__r   	itertoolsr   typingr   r   matplotlib.pathpathr   numpyr   	contourpyr   r   contourpy.arrayr	   contourpy._contourpyr
   r   r   r,   r<        r+   <module>rJ      s-    "  &   ( .PP8!rI   