Ë
    ¤ehL  ã                  ó°   — d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	m
Z
mZmZ d dlmZmZ d dlmZmZ erd dlmZ dd„Zdd	„Z	 	 	 	 	 	 dd
„Z	 	 	 	 	 	 dd„Zy)é    )Úannotations)ÚTYPE_CHECKINGÚcast)ÚFillTypeÚLineType)Úconcat_codes_or_noneÚconcat_offsets_or_noneÚconcat_points_or_noneÚconcat_points_or_none_with_nan)Úas_fill_typeÚas_line_type)Úcheck_filledÚcheck_linesNc                óæ  — t        |«      }|t        j                  t        j                  fv r| S t	        | |«       t        | d   «      dk  r| S t        rt        t        j                  | «      } t        | d   «      }|t        j                  k(  r>t        rt        t        j                  | «      } |€dgdgf}|S |gt        | d   «      gf}|S |t        j                  k(  r>t        rt        t        j                  | «      } |€dgdgf}|S |gt!        | d   «      gf}|S |t        j"                  k(  rPt        rt        t        j$                  | «      } |€
dgdgdgf}|S t!        | d   «      }|gt        | d   «      g|gf}|S |t        j&                  k(  rPt        rt        t        j(                  | «      } |€
dgdgdgf}|S t!        | d   «      }|gt!        | d   «      g|gf}|S t+        d|› �«      ‚)a¨  Return the specified filled contours with chunked data moved into the first chunk.

    Filled contours that are not chunked (``FillType.OuterCode`` and ``FillType.OuterOffset``) and
    those that are but only contain a single chunk are returned unmodified. Individual polygons are
    unchanged, they are not geometrically combined.

    Args:
        filled (sequence of arrays): Filled contour data, such as returned by
            :meth:`.ContourGenerator.filled`.
        fill_type (FillType or str): Type of :meth:`~.ContourGenerator.filled` as enum or string
            equivalent.

    Return:
        Filled contours in a single chunk.

    .. versionadded:: 1.2.0
    r   é   Né   zInvalid FillType )r   r   Ú	OuterCodeÚOuterOffsetr   Úlenr   r   ÚcpyÚFillReturn_Chunkr
   ÚChunkCombinedCodeÚFillReturn_ChunkCombinedCoder   ÚChunkCombinedOffsetÚFillReturn_ChunkCombinedOffsetr	   ÚChunkCombinedCodeOffsetÚ"FillReturn_ChunkCombinedCodeOffsetÚChunkCombinedOffsetOffsetÚ$FillReturn_ChunkCombinedOffsetOffsetÚ
ValueError)ÚfilledÚ	fill_typeÚpointsÚret1Úret2Úret3Úouter_offsetsÚret4s           úO/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/contourpy/dechunk.pyÚdechunk_filledr*      s!  € ô$ ˜YÓ'€Ià”X×'Ñ'¬×)=Ñ)=Ð>Ñ>àˆä�˜Ô#Ü
ˆ6�!‰9ƒ~˜ÒàˆåÜ”c×*Ñ*¨FÓ3ˆÜ" 6¨!¡9Ó-€Fà”H×.Ñ.Ò.ÝÜœ#×:Ñ:¸FÓCˆFØˆ>Ø7;°f¸t¸fÐ5EˆDð ˆð �HÔ3°F¸1±IÓ>Ð?Ð@ˆDØˆØ	”h×2Ñ2Ò	2ÝÜœ#×<Ñ<¸fÓEˆFØˆ>Ø9=¸ÀÀÐ7GˆDð ˆð �HÔ5°f¸Q±iÓ@ÐAÐBˆDØˆØ	”h×6Ñ6Ò	6ÝÜœ#×@Ñ@À&ÓIˆFØˆ>Ø=A¸FÀTÀFÈTÈFÐ;SˆDð ˆô 3°6¸!±9Ó=ˆMØ�HÔ3°F¸1±IÓ>Ð?À-ÀÐQˆDØˆØ	”h×8Ñ8Ò	8ÝÜœ#×BÑBÀFÓKˆFØˆ>Ø?C¸fÀtÀfÈtÈfÐ=UˆDð ˆô 3°6¸!±9Ó=ˆMØ�HÔ5°f¸Q±iÓ@ÐAÀMÀ?ÐSˆDØˆäÐ,¨Y¨KÐ8Ó9Ð9ó    c                ó  — t        |«      }|t        j                  t        j                  fv r| S t	        | |«       t        | d   «      dk  r| S t        rt        t        j                  | «      } |t        j                  k(  rLt        rt        t        j                  | «      } t        | d   «      }|€dgdgf}|S |gt        | d   «      gf}|S |t        j                  k(  rLt        rt        t        j                  | «      } t        | d   «      }|€dgdgf}|S |gt!        | d   «      gf}|S |t        j"                  k(  r4t        rt        t        j$                  | «      } t'        | d   «      }|gf}|S t)        d|› �«      ‚)aš  Return the specified contour lines with chunked data moved into the first chunk.

    Contour lines that are not chunked (``LineType.Separate`` and ``LineType.SeparateCode``) and
    those that are but only contain a single chunk are returned unmodified. Individual lines are
    unchanged, they are not geometrically combined.

    Args:
        lines (sequence of arrays): Contour line data, such as returned by
            :meth:`.ContourGenerator.lines`.
        line_type (LineType or str): Type of :meth:`~.ContourGenerator.lines` as enum or string
            equivalent.

    Return:
        Contour lines in a single chunk.

    .. versionadded:: 1.2.0
    r   r   Nr   zInvalid LineType )r   r   ÚSeparateÚSeparateCoder   r   r   r   r   ÚLineReturn_Chunkr   ÚLineReturn_ChunkCombinedCoder
   r   r   ÚLineReturn_ChunkCombinedOffsetr	   ÚChunkCombinedNanÚLineReturn_ChunkCombinedNanr   r    )ÚlinesÚ	line_typer#   r$   r%   r&   s         r)   Údechunk_linesr6   Z   sˆ  € ô$ ˜YÓ'€Ià”X×&Ñ&¬×(=Ñ(=Ð>Ñ>àˆä��yÔ!Ü
ˆ5�‰8ƒ}�qÒàˆåÜ”S×)Ñ)¨5Ó1ˆà”H×.Ñ.Ò.ÝÜœ×9Ñ9¸5ÓAˆEÜ& u¨Q¡xÓ0ˆØˆ>Ø7;°f¸t¸fÐ5EˆDð ˆð �HÔ3°E¸!±HÓ=Ð>Ð?ˆDØˆØ	”h×2Ñ2Ò	2ÝÜœ×;Ñ;¸UÓCˆEÜ& u¨Q¡xÓ0ˆØˆ>Ø9=¸ÀÀÐ7GˆDð ˆð �HÔ5°e¸A±hÓ?Ð@ÐAˆDØˆØ	”h×/Ñ/Ò	/ÝÜœ×8Ñ8¸%Ó@ˆEÜ/°°a±Ó9ˆØ28°°ˆØˆäÐ,¨Y¨KÐ8Ó9Ð9r+   c                óž   — t        |«      }|t        j                  t        j                  fv r| S | D �cg c]  }t	        ||«      ‘Œ c}S c c}w )aÐ  Return multiple sets of filled contours with chunked data moved into the first chunks.

    Filled contours that are not chunked (``FillType.OuterCode`` and ``FillType.OuterOffset``) and
    those that are but only contain a single chunk are returned unmodified. Individual polygons are
    unchanged, they are not geometrically combined.

    Args:
        multi_filled (nested sequence of arrays): Filled contour data, such as returned by
            :meth:`.ContourGenerator.multi_filled`.
        fill_type (FillType or str): Type of :meth:`~.ContourGenerator.filled` as enum or string
            equivalent.

    Return:
        Multiple sets of filled contours in a single chunk.

    .. versionadded:: 1.3.0
    )r   r   r   r   r*   )Úmulti_filledr"   r!   s      r)   Údechunk_multi_filledr9   –   sH   € ô* ˜YÓ'€Ià”X×'Ñ'¬×)=Ñ)=Ð>Ñ>àÐà<HÖI°&ŒN˜6 9Õ-ÒIÐIùÒIó   ´A
c                óž   — t        |«      }|t        j                  t        j                  fv r| S | D �cg c]  }t	        ||«      ‘Œ c}S c c}w )aÆ  Return multiple sets of contour lines with all chunked data moved into the first chunks.

    Contour lines that are not chunked (``LineType.Separate`` and ``LineType.SeparateCode``) and
    those that are but only contain a single chunk are returned unmodified. Individual lines are
    unchanged, they are not geometrically combined.

    Args:
        multi_lines (nested sequence of arrays): Contour line data, such as returned by
            :meth:`.ContourGenerator.multi_lines`.
        line_type (LineType or str): Type of :meth:`~.ContourGenerator.lines` as enum or string
            equivalent.

    Return:
        Multiple sets of contour lines in a single chunk.

    .. versionadded:: 1.3.0
    )r   r   r-   r.   r6   )Úmulti_linesr5   r4   s      r)   Údechunk_multi_linesr=   ´   sH   € ô* ˜YÓ'€Ià”X×&Ñ&¬×(=Ñ(=Ð>Ñ>àÐà9DÖE°ŒM˜% Õ+ÒEÐEùÒEr:   )r!   úcpy.FillReturnr"   úFillType | strÚreturnr>   )r4   úcpy.LineReturnr5   úLineType | strr@   rA   )r8   úlist[cpy.FillReturn]r"   r?   r@   rC   )r<   úlist[cpy.LineReturn]r5   rB   r@   rD   )Ú
__future__r   Útypingr   r   Úcontourpy._contourpyr   r   Úcontourpy.arrayr   r	   r
   r   Úcontourpy.enum_utilr   r   Úcontourpy.typecheckr   r   Ú
_contourpyr   r*   r6   r9   r=   © r+   r)   ú<module>rM      sy   ðÝ "ç &ç 3÷ó ÷ ;ß 9áÝ&óD:óN9:ðxJØ&ðJàðJð óJð<FØ%ðFàðFð ôFr+   