+
    öÙ†j€  ã                   ó¢  € R t Rt. ROt^ RIt^ RIt^ R	IHt ^ R
IHtHtH	t	H
t
HtHtHtHtHtHtHtHtHtHtHt ^ t^t^t ! R R]P2                  ]P4                  R7      t ! R R]P8                  ]4      t ! R R]P<                  ]4      t ! R R]P@                  ]4      t!]PE                  ]4       ]]]]]3 F  t#]PE                  ]#4       K  	  ]]3 F  t#]!PE                  ]#4       K  	  A# ^ RIH$t$ ]PE                  ]$4       ]&! ]'](,          4      t) ! R R]P4                  R7      t* ! R R]P4                  R7      t+R#   ]% d     LFi ; i)aÁ  The io module provides the Python interfaces to stream handling. The
builtin open function is defined in this module.

At the top of the I/O hierarchy is the abstract base class IOBase. It
defines the basic interface to a stream. Note, however, that there is no
separation between reading and writing to streams; implementations are
allowed to raise an OSError if they do not support a given operation.

Extending IOBase is RawIOBase which deals simply with the reading and
writing of raw bytes to a stream. FileIO subclasses RawIOBase to provide
an interface to OS files.

BufferedIOBase deals with buffering on a raw byte stream (RawIOBase). Its
subclasses, BufferedWriter, BufferedReader, and BufferedRWPair buffer
streams that are readable, writable, and both respectively.
BufferedRandom provides a buffered interface to random access
streams. BytesIO is a simple stream of in-memory bytes.

Another IOBase subclass, TextIOBase, deals with the encoding and decoding
of streams into text. TextIOWrapper, which extends it, is a buffered text
interface to a buffered raw stream (`BufferedIOBase`). Finally, StringIO
is an in-memory stream for text.

Argument names are not part of the specification, and only the arguments
of open() are intended to be used as keyword arguments.

data:

DEFAULT_BUFFER_SIZE

   An int containing the default buffer size used by the module's buffered
   I/O classes. open() uses the file's blksize (as obtained by os.stat) if
   possible.
zëGuido van Rossum <guido@python.org>, Mike Verdone <mike.verdone@gmail.com>, Mark Russell <mark.russell@zen.co.uk>, Antoine Pitrou <solipsis@pitrou.net>, Amaury Forgeot d'Arc <amauryfa@gmail.com>, Benjamin Peterson <benjamin@python.org>ÚIOBaseÚ	RawIOBaseÚBufferedIOBaseÚ
TextIOBaseÚReaderÚWriterN)Ú_check_methods)ÚDEFAULT_BUFFER_SIZEÚBlockingIOErrorÚUnsupportedOperationÚopenÚ	open_codeÚFileIOÚBytesIOÚStringIOÚBufferedReaderÚBufferedWriterÚBufferedRWPairÚBufferedRandomÚIncrementalNewlineDecoderÚtext_encodingÚTextIOWrapperc                   óB   € ] tR t^Gt]P
                  P                  tRtR# )r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú_ioÚ_IOBaseÚ__doc__Ú__static_attributes__r   ó    Ú/usr/lib/python3.14/io.pyr   r   G   s   † Ø�k‰k×!Ñ!„Gr"   )Ú	metaclassc                   óB   € ] tR t^Jt]P
                  P                  tRtR# )r   r   N)r   r   r   r   r   Ú
_RawIOBaser    r!   r   r"   r#   r   r   J   s   † Ø�n‰n×$Ñ$„Gr"   c                   óB   € ] tR t^Mt]P
                  P                  tRtR# )r   r   N)r   r   r   r   r   Ú_BufferedIOBaser    r!   r   r"   r#   r   r   M   s   † Ø×!Ñ!×)Ñ)„Gr"   c                   óB   € ] tR t^Pt]P
                  P                  tRtR# )r   r   N)r   r   r   r   r   Ú_TextIOBaser    r!   r   r"   r#   r   r   P   s   † Ø�o‰o×%Ñ%„Gr"   )Ú_WindowsConsoleIOc                   óp   a € ] tR t^kt o RtRt]P                  RR l4       t]	R 4       t
]	! ]4      tRtV tR# )r   zUProtocol for simple I/O reader instances.

This protocol only supports blocking I/O.
c               ó   € R# )z~Read data from the input stream and return it.

If *size* is specified, at most *size* items (bytes/characters) will be
read.
Nr   )ÚselfÚsizes   ""r#   ÚreadÚReader.reads   ó   ‚ r"   c                ó:   € V \         J d   \        VR 4      # \        # )r0   )r   r   ÚNotImplemented©ÚclsÚCs   &&r#   Ú__subclasshook__ÚReader.__subclasshook__{   s   € à”&‹=Ü! ! VÓ,Ð,ÜÐr"   r   N).)r   r   r   r   r    Ú	__slots__ÚabcÚabstractmethodr0   Úclassmethodr8   ÚGenericAliasÚ__class_getitem__r!   Ú__classdictcell__©Ú__classdict__s   @r#   r   r   k   sJ   ø‡ € ñð
 €Ià×Ñóó ðð ñó ðñ
 $ LÓ1Ör"   c                   ól   a € ] tR t^„t o RtRt]P                  R 4       t]	R 4       t
]	! ]4      tRtV tR# )r   zUProtocol for simple I/O writer instances.

This protocol only supports blocking I/O.
c               ó   € R# )zIWrite *data* to the output stream and return the number of items written.Nr   )r.   Údatas   ""r#   ÚwriteÚWriter.writeŒ   r2   r"   c                ó:   € V \         J d   \        VR 4      # \        # )rF   )r   r   r4   r5   s   &&r#   r8   ÚWriter.__subclasshook__�   s   € à”&‹=Ü! ! WÓ-Ð-ÜÐr"   r   N)r   r   r   r   r    r:   r;   r<   rF   r=   r8   r>   r?   r!   r@   rA   s   @r#   r   r   „   sL   ø‡ € ñð
 €Ià×ÑñXó ðXð ñó ðñ
 $ LÓ1Ör"   )r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ÚSEEK_SETÚSEEK_CURÚSEEK_ENDr	   r   r   r   r   ),r    Ú
__author__Ú__all__r   r;   Ú_collections_abcr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   rJ   rK   rL   r   ÚABCMetar   r&   r   r(   r   r*   r   ÚregisterÚklassr+   ÚImportErrorÚtypeÚlistÚintr>   r   r   r   r"   r#   Ú<module>rW      sV  ðñ!ðH8€
ò€ó Û 
å +÷J÷ J÷ J÷ Jñ Jð €Ø€Ø€ô
"ˆS�[‰[ C§K¡Kõ "ô%�—‘ ô %ô*�S×(Ñ(¨&ô *ô&�—‘ &ô &ð 
× Ñ �6Ô à�~ ~°~Øó€Eà×Ñ˜EÖ"ñð ˜Ó&€EØ×Ñ˜Öñ 'à	ð*Ý%ð ×ÑÐ(Ô)ñ �D˜•I‹€ô2�s—{‘{õ 2ô22�s—{‘{÷ 2øðK ô 	Ùð	ús   Ã0E ÅEÅE