+
    ,jK                        ^ RI Ht ^ RIHt ^ RIHtHtHtHtH	t	 ^ RI
Ht ^ RIHt ]R,          t ! R R]4      t ! R R	]R
7      tR# )    )annotations)Iterator)AnyDictLiteralTupleOptional)
PyPlatform)Archc                  F   a  ] tR t^%t$ R]R&   R R ltR V 3R lltRtV ;t# )PlatformSingletonzDict[str, Platform]
_instancesc               $    V ^8  d   QhRRRRRR/# )   args
Tuple[Any]kwargsDict[Any, Any]returnNone )formats   "9lib/python3.14/site-packages/rattler/platform/platform.py__annotate__PlatformSingleton.__annotate__(   s!      Z > d     c                	    / V n         R # N)r   )clsr   r   s   &*,r   __init__PlatformSingleton.__init__(   s	    r   c               (    V ^8  d   QhRRRRRRRR/# )	r   platformstrr   r   r   r   r   Platformr   )r   s   "r   r   r   +   s)       J . U] r   c                	   <  V P                   V,          #   \         d     Mi ; i\        ST `  ! T.TO5/ TB pY@P                   T&   T# r   )r   KeyErrorsuper__call__)r   r#   r   r   instance	__class__s   &&*, r   r)   PlatformSingleton.__call__+   sU    	>>(++ 		 7#H>t>v>#+x s    $$r   )	__name__
__module____qualname____firstlineno____annotations__r    r)   __static_attributes____classcell__)r+   s   @r   r   r   %   s    ## r   r   c                      ] tR t^6tR R lt]R R l4       tR R ltR R lt]R	 R
 l4       t	]R R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       tRtR# )r%   c                   V ^8  d   QhRR/# )r   valuezPlatformLiteral | strr   )r   s   "r   r   Platform.__annotate__7   s     ( (3 (r   c                	&    \        V4      V n        R # r   )r
   _inner)selfr6   s   &&r   r    Platform.__init__7   s     'r   c                    V ^8  d   QhRRRR/# )r   py_platformr
   r   r%   r   )r   s   "r   r   r7   ;   s      J 8 r   c                     V P                   VP                  ,          pV#   \         d3    T P                  T 4      pYn        Y P                   \        T4      &    T# i ; i)z1Construct Rattler version from FFI PyArch object.)r   namer'   __new__r9   r$   )r   r=   r#   s   && r   _from_py_platformPlatform._from_py_platform:   s[    	5~~k&6&67H
 	  	5{{3'H)O,4NN3x=)		5s   ! 9AAc                   V ^8  d   QhRR/# r   r   r$   r   )r   s   "r   r   r7   E   s          r   c                .    V P                   P                  # )z
Returns a string representation of the platform.

Examples
--------
```python
>>> str(Platform("linux-64"))
'linux-64'
>>>
```
r9   r?   r:   s   &r   __str__Platform.__str__E   s     {{r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r7   S   s     / /# /r   c                6    RV P                   P                   R2# )z|
Returns a representation of the platform.

Examples
--------
```python
>>> Platform("linux-64")
Platform(linux-64)
>>>
```
z	Platform()rF   rG   s   &r   __repr__Platform.__repr__S   s     4;;++,A..r   c                   V ^8  d   QhRR/# )r   r   r%   r   )r   s   "r   r   r7   b   s     ; ; ;r   c                J    V P                  \        P                  ! 4       4      # )z
Returns the current platform.
)rA   r
   currentr   s   &r   rQ   Platform.currenta   s    
 $$Z%7%7%9::r   c                   V ^8  d   QhRR/# )r   r   zIterator[Platform]r   )r   s   "r   r   r7   i   s     D D& Dr   c                B   a  V 3R l\         P                  ! 4        4       # )z
Returns all supported platforms.

Examples
--------
```python
>>> next(Platform.all())
Platform(noarch)
>>> len(list(Platform.all()))
25
>>>
c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir   )rA   ).0pr   s   & r   	<genexpr>Platform.all.<locals>.<genexpr>v   s!     C2BQ%%a((2Bs   !)r
   allrR   s   fr   r[   Platform.allh   s     D*..2BCCr   c                   V ^8  d   QhRR/# r   r   boolr   )r   s   "r   r   r7   y   s     $ $$ $r   c                .    V P                   P                  # )z
Return True if the platform is linux.

Examples
--------
```python
>>> Platform("linux-64").is_linux
True
>>> Platform("osx-64").is_linux
False
>>>
```
)r9   is_linuxrG   s   &r   ra   Platform.is_linuxx   s     {{###r   c                   V ^8  d   QhRR/# r^   r   )r   s   "r   r   r7      s     " " "r   c                .    V P                   P                  # )z
Return True if the platform is osx.

Examples
--------
```python
>>> Platform("osx-64").is_osx
True
>>> Platform("linux-64").is_osx
False
>>>
```
)r9   is_osxrG   s   &r   re   Platform.is_osx   s     {{!!!r   c                   V ^8  d   QhRR/# r^   r   )r   s   "r   r   r7      s     & &D &r   c                .    V P                   P                  # )z
Return True if the platform is win.

Examples
--------
```python
>>> Platform("win-64").is_windows
True
>>> Platform("linux-64").is_windows
False
>>>
```
)r9   
is_windowsrG   s   &r   ri   Platform.is_windows   s     {{%%%r   c                   V ^8  d   QhRR/# r^   r   )r   s   "r   r   r7      s     # # #r   c                .    V P                   P                  # )z
Return True if the platform is unix.

Examples
--------
```python
>>> Platform("linux-64").is_unix
True
>>> Platform("win-64").is_unix
False
>>>
```
)r9   is_unixrG   s   &r   rm   Platform.is_unix   s     {{"""r   c                   V ^8  d   QhRR/# )r   r   zOptional[Arch]r   )r   s   "r   r   r7      s     F Fn Fr   c                n    V P                   P                  4       pVe   \        P                  ! V4      # R# )z
Return the architecture of the platform.

Examples
--------
```python
>>> Platform("linux-64").arch
Arch(x86_64)
>>> Platform("linux-aarch64").arch
Arch(aarch64)
>>>
```
N)r9   archr   _from_py_arch)r:   rq   s   & r   rq   Platform.arch   s1     {{!+/+;t!!$'EEr   c                   V ^8  d   QhRR/# )r   r   zOptional[str]r   )r   s   "r   r   r7      s     ) )} )r   c                .    V P                   P                  # )z
Return the platform without the architecture.

Examples
--------
```python
>>> Platform("linux-64").only_platform
'linux'
>>>
```
)r9   only_platformrG   s   &r   rv   Platform.only_platform   s     {{(((r   )r9   N)r-   r.   r/   r0   r    classmethodrA   rH   rM   rQ   r[   propertyra   re   ri   rm   rq   rv   r2   r   r   r   r%   r%   6   s    (   / ; ; D D $ $  " "  & &  # #  F F" ) )r   r%   )	metaclassN)noarchunknownzlinux-32zlinux-64zlinux-aarch64zlinux-armv6lzlinux-armv7lzlinux-loongarch64zlinux-ppc64lezlinux-ppc64z	linux-ppczlinux-s390xzlinux-riscv32zlinux-riscv64z
freebsd-32z
freebsd-64zfreebsd-arm64zosx-64z	osx-arm64zwin-32zwin-64z	win-arm64zemscripten-wasm32zwasi-wasm32zzos-z)
__future__r   collections.abcr   typingr   r   r   r   r	   rattler.rattlerr
   rattler.platform.archr   PlatformLiteraltyper   r%   r   r   r   <module>r      sA    " $ 6 6 & &: "e)* e)r   