Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
testing.cpython-313.pyc333 linesDownload Raw Back to __pycache__
1�

2�j�X����SSKJr SSKJr SSKrSSKrSSKrSSKrSSK	r	SSK3r4SSKrSSKr
SSKJr SSKJr SSKJr SSKJr SSKJr SS	KJr \
R,(aSS5KJr SSKJr "SS
5r\R8SSj5r"SS\R<5r"SS5r "SS\RB5r"SSjr#"SS5r$"SS5r%g)�)�annotationsN)�
TracebackType�)�_compat)�6formatting)�termui)�utils)�_find_binary_reader)�ReadableBuffer)�Commandc�z�\rSrSrS
SjrSSjrSSjrSSSjjrSSSjjrSSSjjr	SSjr7SS	jrSS8jrSr
g)�EchoingStdin�c�*�XlX lSUlg)NF��_input�_output�_paused)�self�input�outputs   �SD:\code\apps\devtools\python\user_packages\Python313\site-packages\click/testing.py�__init__�EchoingStdin.__init__s���������c�.�[URU5$�N)�getattrr�r�xs  r�__getattr__�EchoingStdin.__getattr__ s���t�{�{�A�&�&rc�^�UR(dURRU5 U$r)rr�write)r�rvs  r�_echo�EchoingStdin._echo#s ���|�|��L�L���r�"��	rc�V�URURRU55$r)r&r�read�r�ns  rr)�EchoingStdin.read)s ���z�z�$�+�+�*�*�1�-�.�.rc�V�URURRU55$r)r&r�read1r*s  rr.�EchoingStdin.read1,s ���z�z�$�+�+�+�+�A�.�/�/rc�V�URURRU55$r)r&r�readliner*s  rr1�EchoingStdin.readline/s ���z�z�$�+�+�.�.�q�1�2�2rc�~�URR5Vs/sHoRU5PM sn$s snfr)r�	readlinesr&rs  rr4�EchoingStdin.readlines2s/��'+�{�{�'<�'<�'>�?�'>�!�9�10�1�
�'>�?�?��?s�:c�B^�[U4SjTR55$)Nc3�F># �UHnTRU5v� M g7fr)r&)�.0r rs  �r�	<genexpr>�(EchoingStdin.__iter__.<locals>.<genexpr>6s����7�;�a�D�J�J�q�M�M�;�s�!)�iterr�rs`r�__iter__�EchoingStdin.__iter__5s����7�4�;�;�7�7�7rc�,�[UR5$r)�reprrr<s r�__repr__�EchoingStdin.__repr__8s���D�K�K� � rrN)r�11t.BinaryIOrrC�return�None)r �strrD�t.Any)r%�bytesrDrH)�����)r+�intrDrH)rDzlist[bytes])rDzcabc.Iterator[bytes]�rDrF)�__name__�12__module__�__qualname__�__firstlineno__rr!r&r)r.r1r4r=rA�__static_attributes__�rrrrs0���13'��/�0�3�@�8�!rrc#�@# �UcSv� gSUlSv� SUlg7f)NTF)r��streams r�_pause_echorU<s���
�~�
����
����s�c�P^�\rSrSrSrSU4SjjrSU4SjjrS	U4SjjrSrU=r	$)14�BytesIOCopy�Fz\Patch ``io.BytesIO`` to let the written stream be copied to another.15 16.. versionadded:: 8.217c�.>�[TU]5 Xlgr)�superr�copy_to)rr[�	__class__s  �rr�BytesIOCopy.__init__Ls���
�����rc�V>�[TU]5 URR5 gr)rZ�flushr[�rr\s �rr_�BytesIOCopy.flushPs���
��
�������rc�X>�URRU5 [TU]U5$r)r[r$rZ)r�br\s  �rr$�BytesIOCopy.writeTs$��������1���w�}�Q��r�r[)r[z18io.BytesIOrDrE�rDrE)rcrrDrJ)19rLrMrNrO�__doc__rr_r$rP�
__classcell__�r\s@rrWrWFs����20�� � rrWc�"�\rSrSrSrSSjrSrg)�StreamMixer�YzvMixes `<stdout>` and `<stderr>` streams.21 22The result is available in the ``output`` attribute.23 24.. versionadded:: 8.225c��[R"5Ul[URS9Ul[URS9Ulg)Nre)�io�BytesIOrrW�stdout�stderrr<s rr�StreamMixer.__init__as/��"$�*�*�,���"-�d�k�k�"B���"-�d�k�k�"B��r)rrqrpNrf)rLrMrNrOrgrrPrQrrrkrkYs
���Crrkc�^�\rSrSrSrSS.SU4SjjjrSSjrS
U4Sjjr\SSj5r	\SS	j5r26S27rU=r$)�_NamedTextIOWrapper�ga�A :class:`~io.TextIOWrapper` with custom ``name`` and ``mode``28that does not close its underlying buffer.29 30An optional ``original_fd`` preserves the file descriptor of the31stream being replaced, so that C-level consumers that call32:meth:`fileno` (``faulthandler``, ``subprocess``, ...) still work.33Inspired by pytest's ``capsys``/``capfd`` split: see :doc:`/testing`34for details.35 36.. versionchanged:: 8.3.337    Added ``original_fd`` parameter and :meth:`fileno` override.38rI)�original_fdc�L>�[TU]"U40UD6 X lX0lX@lgr)rZr�_name�_mode�_original_fd)r�buffer�name�moderv�kwargsr\s      �rr�_NamedTextIOWrapper.__init__us'���	����*�6�*��39��40�'�rc��g)z�The buffer this object contains belongs to some other object,41so prevent the default ``__del__`` implementation from closing42that buffer.43 44.. versionadded:: 8.3.245NrQr<s r�close�_NamedTextIOWrapper.close�s�rc�X>�URS:�aUR$[TU]	5$)a@Return the file descriptor of the original stream, if one was46provided at construction time.47 48This allows C-level consumers (``faulthandler``, ``subprocess``,49signal handlers, ...) to obtain a valid fd without crashing, even50though the Python-level writes are redirected to an in-memory51buffer.52 53.. versionadded:: 8.3.354r)rzrZ�filenor`s �rr��_NamedTextIOWrapper.fileno�s,�������!��$�$�$��w�~��rc��UR$r)rxr<s rr|�_NamedTextIOWrapper.name�����z�z�rc��UR$r)ryr<s rr}�_NamedTextIOWrapper.mode�r�r)ryrxrz)r{rCr|rFr}rFrvrJr~rGrDrErf)rDrJrK)
rLrMrNrOrgrr�r��propertyr|r}rPrhris@rrtrtgs�����&�
(��(��(��	(��
(��(�55�(�(��
 ��������rrtc��[US5(a0[[R"SU55nUbU$[	S5eUcSnO&[U[5(aURU5n[R"U5$)Nr)�t.IO[t.Any]z.Could not find binary reader for input stream.r)56�hasattrr57�t�cast�	TypeError�58isinstancerF�encodernro)r�charsetr%s   r�make_input_streamr��sp���u�f���
 ����
�u�!=�
>��
�>��I��H�I�I��}���	�E�3�	�	����W�%��
�:�:�e��rc��\rSrSrSrS59SSjjr\SSj5r\SSj5r\SSj5r	SSjr60S	rg)
�Result�aHolds the captured result of an invoked CLI script.61 62:param runner: The runner that created the result63:param stdout_bytes: The standard output as bytes.64:param stderr_bytes: The standard error as bytes.65:param output_bytes: A mix of ``stdout_bytes`` and ``stderr_bytes``, as the66    user would see  it in its terminal.67:param return_value: The value returned from the invoked command.68:param exit_code: The exit code as integer.69:param exception: The exception that happened if one did.70:param exc_info: Exception information (exception type, exception instance,71    traceback type).72 73.. versionchanged:: 8.274    ``stderr_bytes`` no longer optional, ``output_bytes`` introduced and75    ``mix_stderr`` has been removed.76 77.. versionadded:: 8.078    Added ``return_value``.79Nc	�d�XlX lX0lX@lXPlX`lXplX�lgr��runner�stdout_bytes�stderr_bytes�output_bytes�return_value�	exit_code�	exception�exc_info)	rr�r�r�r�r�r�r�r�s	         rr�Result.__init__�s0����(��(��(��(��"��"�� �
rc��URRURRS5R	SS5$)z�The terminal output as unicode string, as the user would see it.80 81.. versionchanged:: 8.282    No longer a proxy for ``self.stdout``. Now has its own independent stream83    that is mixing `<stdout>` and `<stderr>`, in the order they were written.84�replace�
85�86)r��decoder�r�r�r<s rr�
Result.output�s9��� � �'�'����(;�(;�Y�G�O�O��D�87�	88rc��URRURRS5R	SS5$)z&The standard output as unicode string.r�r�r�)r�r�r�r�r�r<s rrp�
Result.stdout�s9��� � �'�'����(;�(;�Y�G�O�O��D�89�	90rc��URRURRS5R	SS5$)z�The standard error as unicode string.91 92.. versionchanged:: 8.293    No longer raise an exception, always returns the `<stderr>` string.94r�r�r�)r�r�r�r�r�r<s rrq�
Result.stderr�s9��� � �'�'����(;�(;�Y�G�O�O��D�95�	96rc��UR(a[UR5OSnS[U5RSUS3$)N�okay�<� �>)r�r@�typerL)r�exc_strs  rrA�Result.__repr__s8��*.�.�.�$�t�~�~�&�f���4��:�&�&�'�q��	��3�3r)r�r�r�r�r�r�r�r�r)r��	CliRunnerr�rHr�rHr�rHr�rGr�rJr�zBaseException | Noner�z?tuple[type[BaseException], BaseException, TracebackType] | NonerK)rLrMrNrOrgrr�rrprqrArPrQrrr�r��s����>�!��!��!��	!�97�!��
!��!�(�!��!�*�	98��	99��100��101��102��103�4rr�c�104�\rSrSrSrSSSjjrS
SjrSSSjjr\RSSSjj5r105SSSjjr\RSSS	jj5rS106r
g)r�ia�The CLI runner provides functionality to invoke a Click command line107script for unittesting purposes in a isolated environment.  This only108works in single-threaded systems without any concurrency as it changes the109global interpreter state.110 111:param charset: the character set for the input and output data.112:param env: a dictionary with environment variables for overriding.113:param echo_stdin: if this is set to `True`, then reading from `<stdin>` writes114                   to `<stdout>`.  This is useful for showing examples in115                   some circumstances.  Note that regular prompts116                   will automatically echo the input.117:param catch_exceptions: Whether to catch any exceptions other than118                         ``SystemExit`` when running :meth:`~CliRunner.invoke`.119 120.. versionchanged:: 8.2121    Added the ``catch_exceptions`` parameter.122 123.. versionchanged:: 8.2124    ``mix_stderr`` parameter has been removed.125Nc�H�XlU=(d 0UlX0lX@lgr)r��env�126echo_stdin�catch_exceptions)rr�r�r�r�s     rr�CliRunner.__init__s����25�)����$�� 0�rc�,�UR=(d S$)z�Given a command object it will return the default program name127for it.  The default is the `name` attribute or ``"root"`` if not128set.129�root)r|)r�clis  r�get_default_prog_name�CliRunner.get_default_prog_name's��130�x�x�!�6�!rc�`�[UR5nU(aURU5 U$)z8Returns the environment overrides for invoking a script.)�dictr��update)r�	overridesr%s   r�make_env�CliRunner.make_env.s%���$�(�(�^����I�I�i� ��	rc	#�	^^^# �[XR5nSn[Rn[Rn[R131n[Rn	S[lURU5n[5n132SSjnU"U5nU"U5n
UR(a9[R"[R[XJR55=pE[X@RSSS9=[lmUR(aSTl[U133RURSS	US1349[l[U135R136URSS	SU
S
9[l[#U5SSU4Sjjj5n[#U5SSU4Sjjj5n[#U5SSj5nUmSSU4Sjjjn[$R&n[$R(n[$R*n[,R.n[0R.n[2R4R6mU[$lU[$lU[$lU[,lU[0lSSU4SjjjnU[2R4l0nUR95HRunn[:R<R?U5UU'Uc[:R<U	M?U[:R<U'MT U137RU138R139U140RB4v� UR95H0unnUc[:R<U	MU[:R<U'M2 U[lU[lU[lU[$lU[$lU[$lU[,lU[0lU	[lT[2R4lg![@a GMFf=f![@a M�f=f!UR95HAunnUc%[:R<U	M![@a M*f=fU[:R<U'MC U[lU[lU[lU[$lU[$lU[$lU[,lU[0lU	[lT[2R4lf=f7f)a�A context manager that sets up the isolation for invoking of a141command line tool.  This sets up `<stdin>` with the given input data142and `os.environ` with the overrides from the given dictionary.143This also rebinds some internals in Click to be mocked (like the144prompt functionality).145 146This is automatically done in the :meth:`invoke` method.147 148:param input: the input stream to put into `sys.stdin`.149:param env: the environment overrides as dictionary.150:param color: whether the output should contain color codes. The151              application can still override this explicitly.152 153.. versionadded:: 8.2154    An additional output stream is returned, which is a mix of155    `<stdout>` and `<stderr>` streams.156 157.. versionchanged:: 8.2158    Always returns the `<stderr>` stream.159 160.. versionchanged:: 8.0161    `<stderr>` is opened with ``errors="backslashreplace"``162    instead of the default ``"strict"``.163 164.. versionchanged:: 4.0165    Added the ``color`` parameter.166N�Pc�d�UR5$![[R4a gf=f)NrI)r��AttributeErrorrn�UnsupportedOperationrSs r�_safe_fileno�)CliRunner.isolation.<locals>._safe_filenoks0��
��}�}��&��"�B�$;�$;�<�
��
�s��/�/z<stdin>�r)�encodingr|r}rz<stdout>�w)r�r|r}rvz<stderr>�backslashreplace)r�r|r}�errorsrvc�H>�[RRU=(d S5 [T5R	S5n[RRUS35 [RR5 U$![167an[
5UeSnAff=f)N�r�r�)�sysrpr$�next�rstrip�
StopIteration�EOFErrorr_)�prompt�val�e�168text_inputs   �r�
visible_input�*CliRunner.isolation.<locals>.visible_input�s~����J�J���V�\�r�*�
(��:�&�-�-�f�5��
�J�J����u�B�Z�(��J�J�����J��	!�
(��j�a�'��
(�s�B�169B!�B�B!c�>�[RRU=(d SS35 [RR5 [	T5RS5$![an[5UeSnAff=f)Nr�r�r�)r�rpr$r_r�r�r�r�)r�r�r�s  �r�hidden_input�)CliRunner.isolation.<locals>.hidden_input�se����J�J�����"�~�R�0�1��J�J����
(��J�'�.�.�v�6�6�� �
(��j�a�'��
(�s�A&�&170B�0A;�;Bc���[RRS5nU(a[RR	U5 [RR5 U$)Nr)r��stdinr)rpr$r_)�echo�chars  r�_getchar�%CliRunner.isolation.<locals>._getchar�s>���9�9�>�>�!�$�D���171�172� � ��&��J�J�����Krc�&>�UcT(+$U(+$rrQ)rT�color�
default_colors  �r�should_strip_ansi�.CliRunner.isolation.<locals>.should_strip_ansi�s����}�(�(�(��9�rc�j>�Uc[RnUc[RnT"U4XUS.UD6 g)a�Default ``pdb.Pdb`` to real terminal streams during173``CliRunner`` isolation.174 175Without this patch, ``pdb.Pdb.__init__`` inherits from176``cmd.Cmd`` which falls back to ``sys.stdin``/``sys.stdout``177when no explicit streams are provided. During isolation178those are ``BytesIO``-backed wrappers, so the debugger179reads from an empty buffer and writes to captured output,180making interactive debugging impossible.181 182By defaulting to ``sys.__stdin__``/``sys.__stdout__`` (the183original terminal streams Python preserves regardless of184redirection), debuggers can interact with the user while185``click.echo`` output is still captured normally.186 187This covers ``pdb.set_trace()``, ``breakpoint()``,188``pdb.post_mortem()``, and debuggers that subclass189``pdb.Pdb`` (ipdb, pdbpp). Explicit ``stdin``/``stdout``190arguments are honored and not overridden. Debuggers that191do not subclass ``pdb.Pdb`` (pudb, debugpy) are not192covered.193N)�completekeyr�rp)r��	__stdin__�194__stdout__)rr�r�rpr~�old_pdb_inits     �r�_patched_pdb_init�.CliRunner.isolation.<locals>._patched_pdb_init�s>���:�}��
�
���~�������
�"-�6�
�MS�
r)rTr�rDrJr)r�z195str | NonerDrF)r��boolrDrF)NN)rTzt.IO[t.Any] | Noner��bool | NonerDr�)�tabNN)rzpdb.Pdbr�rFr��t.IO[str] | Nonerpr�r~rGrDrE)"r�r�r�r�rprqr�FORCED_WIDTHr�rkr�r�r��BinaryIOrrt�_CHUNK_SIZErUr�visible_prompt_func�hidden_prompt_funcr�r	r�r�pdb�Pdbr�items�os�environ�get�	Exceptionr)rrr�r��bytes_input�196echo_input�	old_stdin�197old_stdout�198old_stderr�old_forced_width�stream_mixerr��
old_stdout_fd�
old_stderr_fdr�r�r�r��old_visible_prompt_func�old_hidden_prompt_func�old__getchar_func�old_should_strip_ansi�old__compat_should_strip_ansir��old_env�key�valuer�r�r�s                           @@@r�	isolation�CliRunner.isolation7sF����D(��|�|�<���199��I�I�	��Z�Z�200��Z�Z�201�%�2�2��"$�202���m�m�C� ��"�}��	�%�Z�0�
�$�Z�0�
��?�?�'(�v�v��203�204�L��6I�6I�J�(�
�K�"5��,�,�Y�S�"205�	206��	�J��?�?�&'�J�"�(�����\�\���%�207��208�)�����\�\���%�%�
209��210�211�Z�	 �	�	�212!�	�213�Z�	 �	(�	(�214!�	(�215�Z�	 �	�216!�	��
�EI�	�&�	�6A�	�
�	�	�#)�"<�"<��!'�!:�!:��"�O�O�� %� 7� 7��(/�(A�(A�%��w�w�'�'��%2��"�$0��!�"���"3���$5��!� %�&*�'+�	#	��#	��#	�$�#	�%�	#	�217�#	��
#	�#	�J-�������	,�!�i�i�k�218��U�!�z�z�~�~�c�2�����=���J�J�s�O�',�B�J�J�s�O�*� �&�&��(;�(;�\�=P�=P�Q�Q�%�m�m�o�219��U��=���J�J�s�O�',�B�J�J�s�O�.�$�C�J�#�C�J�!�C�I�)@�F�&�(>�F�%�/�F�O�&;�E�#�(E�G�%�&6�J�#�+�C�G�G���/%�����%�����	&�m�m�o�220��U��=���J�J�s�O��$�����',�B�J�J�s�O�.�$�C�J�#�C�J�!�C�I�)@�F�&�(>�F�%�/�F�O�&;�E�#�(E�G�%�&6�J�#�+�C�G�G��s��JS�;P�O�">P� S�:O/�BS�221O,�'P�+O,�,P�/222O=�9S�<O=�=S�S�P.�,S�.223P<	�8S�;P<	�<BS�Sc�^�SnUcURnURX4US9n	Sn224SnSn[U[5(a[R225"U5nUR
S5n
UR"SU=(d SU
S.UD6n226[R"R)5 [R*R)5 U	SR-5nU	S	R-5nU	S227R-5nSSS5 [/UWWWW228WWUS9$![a URU5n
N�f=f![a�n[R"5n[R"SUR5nUcSnUS:waUn[U[ 5(dI[R"R%[U55 [R"R%S5 S	nUnSnAGNbSnAf[&a,nU(deUnS	n[R"5nSnAGN�SnAff=f![R"R)5 [R*R)5 U	SR-5nU	S	R-5nU	S229R-5nf=f!,(df   GN�=f)akInvokes a command in an isolated environment.  The arguments are230forwarded directly to the command line script, the `extra` keyword231arguments are passed to the :meth:`~clickpkg.Command.main` function of232the command.233 234This returns a :class:`Result` object.235 236:param cli: the command to invoke237:param args: the arguments to invoke. It may be given as an iterable238             or a string. When given as string it will be interpreted239             as a Unix shell command. More details at240             :func:`shlex.split`.241:param input: the input data for `sys.stdin`.242:param env: the environment overrides.243:param catch_exceptions: Whether to catch any other exceptions than244                         ``SystemExit``. If :data:`None`, the value245                         from :class:`CliRunner` is used.246:param extra: the keyword arguments to pass to :meth:`main`.247:param color: whether the output should contain color codes. The248              application can still override this explicitly.249 250.. versionadded:: 8.2251    The result object has the ``output_bytes`` attribute with252    the mix of ``stdout_bytes`` and ``stderr_bytes``, as the user would253    see it in its terminal.254 255.. versionchanged:: 8.2256    The result object always returns the ``stderr_bytes`` stream.257 258.. versionchanged:: 8.0259    The result object has the ``return_value`` attribute with260    the value returned from the invoked command.261 262.. versionchanged:: 4.0263    Added the ``color`` parameter.264 265.. versionchanged:: 3.0266    Added the ``catch_exceptions`` parameter.267 268.. versionchanged:: 3.0269    The result object has the ``exc_info`` attribute with the270    traceback if available.271N)rr�r�r�	prog_namerQ)�argsrzint | t.Any | Noner�r�r�)r�rr�rF�shlex�split�pop�KeyErrorr��main�272SystemExitr�r�r�r��coderJrpr$rr_rq�getvaluer�)rr�rrr�r�r��extrar��273outstreamsr�r�r�rr��e_coderprqrs                   r�invoke�CliRunner.invoke
sB��j���#�#�4�4��
�^�^�%��^�
>�*��L�.2�I��I��$��$�$��{�{�4�(��
<�!�I�I�k�2�	�
2�"�x�x�V�T�Z�R�9�V�PU�V��2�274�275� � �"��276�277� � �"�#�A��/�/�1��#�A��/�/�1��#�A��/�/�1��W?�Z�����%����	278�		279��G�
<� �6�6�s�;�	�
<��280�
#��<�<�>����� 4�a�f�f�=���>��F��Q�;� !�I�!�&�#�.�.��J�J�$�$�S��[�1��J�J�$�$�T�*��F�"�	���
*�'���	��	��<�<�>���
*���281�282� � �"��283�284� � �"�#�A��/�/�1��#�A��/�/�1��#�A��/�/�1���W?�
>�st�2J�D�'D4�A5J�D1�.J�0D1�1J�4285H �>B#G'�!H#�'
H �4!H�H#�H � H#�#A7J�J�286J,c#�# �[R"5n[R"US9n[R"U5 Uv� [R"U5 UcSSKnUR
U5 gg![a gf=f![R"U5 Uc'SSKnUR
U5 f![a ff=ff=f7f)a�A context manager that creates a temporary directory and287changes the current working directory to it. This isolates tests288that affect the contents of the CWD to prevent them from289interfering with each other.290 291:param temp_dir: Create the temporary directory under this292    directory. If given, the created directory is not removed293    when exiting.294 295.. versionchanged:: 8.0296    Added the ``temp_dir`` parameter.297)�dirNr)r�getcwd�tempfile�mkdtemp�chdir�shutil�rmtree�OSError)r�temp_dir�cwd�dtr0s     r�isolated_filesystem�CliRunner.isolated_filesystem~s���� �i�i�k��
�
�
�(�
+��298�����	��H��H�H�S�M������M�M�"�%�	 ��299�����
�H�H�S�M������M�M�"�%������� �sf�AC
�B�C
�%A8�6C
�8300B�C
�B�C
�C301�'B9�8C302�9303C�C304�C�C305�306C
)r�r�r�r�)zutf-8NFT)307r�rFr��$cabc.Mapping[str, str | None] | Noner�r�r�r�rDrE)r�rrDrFr)r�r8rDzcabc.Mapping[str, str | None])NNF)r� str | bytes | t.IO[t.Any] | Noner�r8r�r�rDz8cabc.Iterator[tuple[io.BytesIO, io.BytesIO, io.BytesIO]])NNNNF)r�rrzstr | cabc.Sequence[str] | Nonerr9r�r8r�r�r�r�r%rGrDr�)r3zstr | os.PathLike[str] | NonerDzcabc.Iterator[str])rLrMrNrOrgrr�r��308contextlib�contextmanagerrr(r6rPrQrrr�r�sY���.�48� �!%�3091��3101�2�3111��	3121�313�3141�315�
3161�"�AE��=��	&�����37�48��	S,�/�S,�2�S,��	S,�317318B�S,��S,�p15�26�48�(,��o319�
�o320�.�o321�0�	o322�3232�o324�&�
o325��o326��o327�328�o329�b���8<��5��	���rr�)rTzEchoingStdin | NonerDzcabc.Iterator[None])rr9r�rFrDrC)&�330__future__r�collections.abc�abc�cabcr:rnrr�rr�r-�typingr��typesrr�rrrr	r331�
TYPE_CHECKING�	_typeshedr�corerrr;rUrorWrk�
TextIOWrapperrtr�r�r�rQrr�<module>rFs���"���	�	�332��333��������(��?�?�(��!�!�D������ �"�*�*� �&C�C�9�"�*�*�9�x�+��69����(K4�K4�\X�Xr
codekingpro/portable-devtools · Team Ai