403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.66
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Python315/Lib/_pyrepl/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python315/Lib/_pyrepl/__pycache__/commands.cpython-315.pyc
R
>lqj�6c��]QHGs]PHs]PHs]QHGs]QHGs]QH Gs\%c]QH$G
s
QQ2sQQ	\2sQ
Q\2s
QQ
\2sQQ\2sQQ\2sQQksQQksQQ\2sQQ\2sQQ\2sQQ\2sQQ\2sQ Q!\2sQ"Q#\2sQ$Q%\2sQ&Q'\2sQ(Q)\
2sQ*Q+\
2sQ,Q-\2sQ.Q/\2sQ0Q1\2s Q2Q3\2s!Q4Q5\2s"Q6Q7\2s#Q8Q9\2s$Q:Q;\2s%Q<Q=\2s&Q>Q?\2s'Q@QA\2s(QBQC\2s)QDQE\2s*QFQG\2s+QHQI\2s,QJQK\2s-QLQM\2s.QNQO\2s/QPQQ\2s0QRQS\2s1QTQU\2s2QVQW\2s3QXQY\2s4QZQ[\2s5Q\Q]\2s6P!)^�)�annotations)�
TYPE_CHECKING)�RenderedScreen)�trace)�HistoricalReaderc�N�\sQs],s"P
sQ\Q$P	sQ\Q$QQksQQksQs	P!)	�Command�bool�finish�kills_digit_argc�*�U]6�cPgQQQQQQQQ-!)	��readerr�
event_name�str�eventz	list[str]�return�None�)�formats"�%C:\Python315\\Lib\_pyrepl\commands.py�__annotate__�Command.__init__.__annotate__0s,��	%�	%�&�	%�47�	%�@I�	%�	
�	%�c	�,�VmV0mV mP!�N)rrr)�selfrrrs&&&&r�__init__�Command.__init__0s�����
�$�rc��U]6�cPgQQ-!�r
rrr)rs"rr�Command.do.__annotate__;���
�
�D�
rc	��P!rr�rs&r�do�
Command.do;���r)rrr)
�__name__�
__module__�__qualname__�__firstlineno__r
�__annotations__rrr%�__static_attributes__rrrrr,s'����F�D�� �O�T� �	%�
�
rrc�$�\sQs]?sQQksQsP!)�KillCommandc�&�U]6�cPgQQQQQQ-!)r
�start�int�endrrr)rs"rr�#KillCommand.kill_range.__annotate__@s!��#�#��#�#�#�$�#rc	��V6XcP!UOoUOoVAUoVAU/[UO2%c`VO6c(VSO
P**UO
P$LCUO
P*U*UO
P$LUO
O
U2VmUOU2P!r)r�buffer�is_kill�last_command�pos�	kill_ring�append�invalidate_buffer)rr1r3�r�b�texts&&&   r�
kill_range�KillCommand.kill_range@s����<���K�K��
�H�H���s�|��
�C�i�L��1�>�>�"�"��u�u�}�"&���R��"8����B��"#�+�+�b�/�D�"8����B��
�K�K���t�$���	���E�"rr)r(r)r*r+r@r-rrrr/r/?���#�#rr/c��\sQs]RsQsP!)�YankCommandr�r(r)r*r+r-rrrrDrDR���rrDc��\sQs]VsQsP!)�
MotionCommandrrErrrrHrHVrFrrHc��\sQs]ZsQsP!)�EditCommandrrErrrrJrJZrFrrJc��\sQs]^sP	sQsP!)�
FinishCommandr)r(r)r*r+r
r-rrrrLrL^s
��
�F�rrLc�"�U]6�cPgQQQQ-!�r
�commandztype[Command] | Nonerr	r)rs"rr�is_kill.__annotate__c���D�D�)�D�d�Drc�<�UPI9%c[U[2!r)�
issubclassr/�rOs&rr7r7c����$��C�C�:�g�{�#C�Crc�"�U]6�cPgQQQQ-!rNr)rs"rr�is_yank.__annotate__grQrc�<�UPI9%c[U[2!r)rSrDrTs&r�is_yankrYgrUrc�(�\sQs]nsP
sQQksQsP!)�	digit_argc��U]6�cPgQQ-!r r)rs"rr�digit_arg.do.__annotate__qs����D�rc	��UOoUOP*oUQ6Xc*UOdUO'UmLxPUmLp[U2oUOeV1mLPUO]6c!]
UO*U*
UmL]
UO*U*UmUO	2P!)��-)rr�argr2�invalidate_prompt)rr=�c�ds&   rr%�digit_arg.doqs����K�K���J�J�r�N����8��u�u� �����������A��A��u�u�}����5�5�1�9�����J��N�A�E�����J��N�A�E�	���rr)r(r)r*r+rr%r-rrrr[r[ns���O��rr[c�$�\sQs]�sQQksQsP!)�clear_screenc��U]6�cPgQQ-!r r)rs"rr�clear_screen.do.__annotate__�s����D�rc	��UOo[Q2UOO2UO	2P!)zcommand.clear_screen)rr�console�clear�invalidate_full�rr=s& rr%�clear_screen.do�s.���K�K��
�$�%�	�	�	����	���rr�r(r)r*r+r%r-rrrrgrg�s���rrgc�$�\sQs]�sQQksQsP!)�refreshc��U]6�cPgQQ-!r r)rs"rr�refresh.do.__annotate__�s��&�&�D�&rc	�R�[Q2UOO2P!)zcommand.refresh)rrrmr$s&rr%�
refresh.do�s��
�� ����#�#�%rrrprrrrrrr�s��&�&rrrc�$�\sQs]�sQQksQsP!)�repaintc��U]6�cPgQQ-!r r)rs"rr�repaint.do.__annotate__�s��&�&�D�&rc	��[Q2UOO2UOOO	2P!)zcommand.repaint)rrrmrkrxr$s&rr%�
repaint.do�s1��
�� ����#�#�%������#�#�%rrrprrrrxrx�s��&�&rrxc�$�\sQs]�sQQksQsP!)�	kill_linec��U]6�cPgQQ-!r r)rs"rr�kill_line.do.__annotate__�s��	,�	,�D�	,rc	�6�UOoUOoUO2oV!OUFD9oUO	2%cJUOUOU2P!	UOUOU]*2P!r)rr6�eolr9�isspacer@)rr=r>r�rcs&    rr%�kill_line.do�si���K�K��
�H�H���e�e�g���5�5�3��A��9�9�;�;�������s�+�� �

�O�O�A�E�E�3��7�+rrrprrrr~r~�s��	,�	,rr~c�$�\sQs]�sQQksQsP!)�unix_line_discardc��U]6�cPgQQ-!r r)rs"rr�!unix_line_discard.do.__annotate__����(�(�D�(rc	�t�UOoUOUO2UO2P!r)rr@�bolr9rns& rr%�unix_line_discard.do�s#���K�K������������'rrrprrrr�r�����(�(rr�c�$�\sQs]�sQQksQsP!)�unix_word_ruboutc��U]6�cPgQQ-!r r)rs"rr� unix_word_rubout.do.__annotate__����,�,�D�,rc	��UOo[UO22FD-oUOUO	2UO
2J/	P!r�r�range�get_argr@�bowr9�rr=�is&  rr%�unix_word_rubout.do��8���K�K���q�y�y�{�#�A��O�O�A�E�E�G�Q�U�U�+�$rrrprrrr�r�����,�,rr�c�$�\sQs]�sQQksQsP!)�	kill_wordc��U]6�cPgQQ-!r r)rs"rr�kill_word.do.__annotate__�r�rc	��UOo[UO22FD-oUOUOUO22J/	P!r)rr�r�r@r9�eowr�s&  rr%�kill_word.do�s8���K�K���q�y�y�{�#�A��O�O�A�E�E�1�5�5�7�+�$rrrprrrr�r��r�rr�c�$�\sQs]�sQQksQsP!)�backward_kill_wordc��U]6�cPgQQ-!r r)rs"rr�"backward_kill_word.do.__annotate__�r�rc	��UOo[UO22FD-oUOUO	2UO
2J/	P!rr�r�s&  rr%�backward_kill_word.do�r�rrrprrrr�r��r�rr�c�$�\sQs]�sQQksQsP!)�yankc��U]6�cPgQQ-!r r)rs"rr�yank.do.__annotate__�s��"�"�D�"rc	��UOoUO%fUOQ2P!UOUOP*2P!)�nothing to yank)rr:�error�insertrns& rr%�yank.do�s8���K�K���{�{�{�
�G�G�%�&��	������R��!rrrprrrr�r��s��"�"rr�c�$�\sQs]�sQQksQsP!)�yank_popc��U]6�cPgQQ-!r r)rs"rr�yank_pop.do.__annotate__�s��#�#�D�#rc	�z�UOoUOoUO%fUOQ2P![	UO
2%fUOQ2P![
UOP*2oUOO]UOO22UOP*oUOU*
oVBUOU*
UO#UOU*
[
U2*Um	UOU2P!)r�zprevious command was not a yank)rr6r:r�rYr8�lenr��popr9r<)rr=r>�repl�tr1s&     rr%�yank_pop.do�s����K�K��
�H�H���{�{�{�
�G�G�%�&���q�~�~�&�&�
�G�G�5�6���1�;�;�r�?�#��	�����1�a�k�k�o�o�/�0�
�K�K��O��������"#�!�%�%�$�,����������s�1�v�%���	���E�"rrrprrrr�r��rBrr�c�$�\sQs]�sQQksQsP!)�	interruptc��U]6�cPgQQ-!r r)rs"rr�interrupt.do.__annotate__�s��,�,�D�,rc	���]PHoUOOO2UOO2[O
[O2UO2P!�r)�signalrrkr
�os�kill�getpid�SIGINT)rr�s& rr%�interrupt.do�sC��������"�"�$�������
����	�	��V�]�]�+rrrprrrr�r��s��,�,rr�c�$�\sQs]�sQQksQsP!)�ctrl_cc��U]6�cPgQQ-!r r)rs"rr�ctrl_c.do.__annotate__�s�� � �D� rc	��UOOO2UOO2[gr)rrkr
�KeyboardInterruptr$s&rr%�	ctrl_c.do�s.�������"�"�$��������rrrprrrr�r��s�� � rr�c�$�\sQs]�sQQksQsP!)�suspendc��U]6�cPgQQ-!r r)rs"rr�suspend.do.__annotate__�s��P�P�D�Prc	���]PHoUOoUOoUOO	2[
O[
O2UO2UOO2V2mUO2[Q2UOO[O2UOO2P!)rz$command.suspend sync_rendered_screen)r�rr9rkr
r�r�r��SIGSTOP�preparermr�sync_rendered_screenr�empty�posxy)rr�r=�ps&   rr%�
suspend.do�s�����K�K��
�E�E��	�	�	����
����	�	��V�^�^�,�	
�	�	������	����
�4�5�	�	�	�&�&�~�';�';�'=�q�y�y���Orrrprrrr�r��s��P�Prr�c�$�\sQsQsQQksQsP!)�up�c��U]6�cPgQQ-!r r)rs"rr�up.do.__annotate__s��'�'�D�'rc	���UOo[UO22FCD6oUO2vq4U]*
oUO	2]6XcTUO
]6�c'UO
UO
]*
2P!]UmUOQ2P!UUOU29o6�f�V1OU26Xcr[9PIc7QUOUO	2P2D%fJP	L+	P
L'QUOUO	2P22%cSoUOV52CJ9	P!)r_�start of bufferc3�V�SF �DpO2%(w�	J	P!3hr�r���.0r�s& r�	<genexpr>�up.do.<locals>.<genexpr>���-@���-@��	�	��O�O�-@���"))
rr�r��pos2xyr��historyi�select_itemr9r��
max_column�anyr6�setpos_from_xy)rr=�_�x�y�new_y�new_xs&      rr%�up.dos���K�K���q�y�y�{�#�#�A��8�8�:�D�A���E�E��u�u�w�!�|��:�:��>��M�M�!�*�*�q�.�1��������)�*����\�\�%�0�0�E�����Q��'��C��-.�X�X�a�e�e�g�i�-@��C�C�C��-.�X�X�a�e�e�g�i�-@������
���Q�&�1$rrrprrrr�r�s��'�'rr�c�$�\sQsQsQQksQsP!)�down�c��U]6�cPgQQ-!r r)rs"rr�down.do.__annotate__s��'�'�D�'rc	�X�UOoUOo[UO22FCDqoUO	2vqEU]*oUO2[
U26Xc�UO[
UO26c=UOUO]*2UO]2Um
P![
U2Um
UOQ2P!UUOU29o6�f�VAOU26Xcr[9PIc7QUOUO2P2D%fJP	L+	P
L'QUOUO2P22%cSoUOVF2CJt	P!)r_�
end of bufferc3�V�SF �DpO2%(w�	J	P!3hrr�r�s& rr��down.do.<locals>.<genexpr>5r�r�)rr6r�r�r�r�r�r��historyr�r9r�r�r�r�r�)rr=r>r�r�r�r�r�s&       rr%�down.dos9���K�K��
�H�H���q�y�y�{�#�#�A��8�8�:�D�A���E�E��u�u�w�#�a�&� ��:�:��A�I�I��.��M�M�!�*�*�q�.�1��E�E�!�H�A�E���A��������(����\�\�%�0�0�E�����Q��'��C��-.�X�X�a�e�e�g�i�-@��C�C�C��-.�X�X�a�e�e�g�i�-@������
���Q�&�3$rrrprrrr�r�s��'�'rr�c�$�\sQsQsQQksQsP!)�left�>c��U]6�cPgQQ-!r r)rs"rr�left.do.__annotate__?s��5�5�D�5rc	���UOo[UO22FD@oUO]*
oU]6�c	V1mJ%UOO	Q2JB	P!)r_r�)rr�r�r9r�)rr=r�r�s&   rr%�left.do?sL���K�K���q�y�y�{�#�A�����	�A��A�v������!�!�"3�4�$rrrprrrrr>s��5�5rrc�$�\sQsQsQQksQsP!)�right�Ic��U]6�cPgQQ-!r r)rs"rr�right.do.__annotate__Js��3�3�D�3rc	��UOoUOo[UO22FDIoUO]*oU[U26:c	VAmJ.UOO
Q2JK	P!)r_r�)rr6r�r�r9r�r�)rr=r>r�r�s&    rr%�right.doJsX���K�K��
�H�H���q�y�y�{�#�A�����	�A��C��F�{������!�!�/�2�$rrrprrrr
r
Is��3�3rr
c�$�\sQsQsQQksQsP!)�beginning_of_line�Uc��U]6�cPgQQ-!r r)rs"rr�!beginning_of_line.do.__annotate__V���,�,�D�,rc	�Z�UOO2UOmP!r)rr�r9r$s&rr%�beginning_of_line.doV����+�+�/�/�+����rrrprrrrrU���,�,rrc�$�\sQsQsQQksQsP!)�end_of_line�Zc��U]6�cPgQQ-!r r)rs"rr�end_of_line.do.__annotate__[rrc	�Z�UOO2UOmP!r)rr�r9r$s&rr%�end_of_line.do[rrrrprrrrrZrrrc�$�\sQsQsQQksQsP!)�home�_c��U]6�cPgQQ-!r r)rs"rr�home.do.__annotate__`s����D�rc	�*�]UOmP!r�)rr9r$s&rr%�home.do`s
������rrrprrrr"r"_s���rr"c�$�\sQsQsQQksQsP!)r3�dc��U]6�cPgQQ-!r r)rs"rr�end.do.__annotate__es��2�2�D�2rc	�d�[UOO2UOmP!r)r�rr6r9r$s&rr%�end.does���d�k�k�0�0�1����rrrprrrr3r3ds��2�2rr3c�$�\sQsQsQQksQsP!)�forward_word�ic��U]6�cPgQQ-!r r)rs"rr�forward_word.do.__annotate__j�����D�rc	��UOo[UO22FDoUO2UmJ	P!r)rr�r�r�r9r�s&  rr%�forward_word.doj�-���K�K���q�y�y�{�#�A��E�E�G�A�E�$rrrprrrr/r/i����rr/c�$�\sQsQsQQksQsP!)�
backward_word�pc��U]6�cPgQQ-!r r)rs"rr�backward_word.do.__annotate__qr3rc	��UOo[UO22FDoUO2UmJ	P!r)rr�r�r�r9r�s&  rr%�backward_word.doqr6rrrprrrr9r9pr7rr9c�$�\sQsQsQQksQsP!)�self_insert�wc��U]6�cPgQQ-!r r)rs"rr�self_insert.do.__annotate__xs��+�+�D�+rc	�x�UOoUOUO2*oUOoUO	U2UO
%c]PoUOO2oVEO*
oU%c%UO	U2UOU2P!P!P!)�)
rrr�r9r��
paste_moderk�
getpending�datar<)rr=r?r1rH�evs&     rr%�self_insert.doxs����K�K���z�z�A�I�I�K�'������	������<�<�<��D����%�%�'�B��G�G�O�D��������#�#�E�*��	rrrprrrr@r@ws��+�+rr@c�$�\sQsQsQQksQsP!)�	insert_nl�c��U]6�cPgQQ-!r r)rs"rr�insert_nl.do.__annotate__�s��%�%�D�%rc	�l�UOoUOQUO2*2P!)�
)rr�r�rns& rr%�insert_nl.do�s"���K�K��	�����	�	��#�$rrrprrrrLrL�s��%�%rrLc�$�\sQsQsQQksQsP!)�transpose_characters�c��U]6�cPgQQ-!r r)rs"rr�$transpose_characters.do.__annotate__�s��#�#�D�#rc	��UOoUOoUO]*
oU]6cUOQ2P!U[	U26Xc
U]*o[V1O
2*[	U2]*
2oV#*oV#UOVE2VAmUOU2P!)r_z#cannot transpose at start of buffer)	rr6r9r�r��minr�r�r<)rr=r>�sr�rcs&     rr%�transpose_characters.do�s����K�K��
�H�H��
�E�E�A�I���q�5�
�G�G�9�:��C��F�{��Q����A�	�	��O�S��V�a�Z�0�A���A���
�H�H�Q�N��E�
����"rrrprrrrTrT�s��#�#rrTc�$�\sQsQsQQksQsP!)�	backspace�c��U]6�cPgQQ-!r r)rs"rr�backspace.do.__annotate__�s��.�.�D�.rc	��UOoUOoPo[UO22FD{oUO]6�cMU9O]*tmV!OUe
UOL[V1O2oJ`UOO
Q2J}	UdUOU2P!P!)Nzcan't backspace at start)rr6r�r�r9rYr�r<�rr=r>�changed_fromr�s&    rr%�backspace.do�s����K�K��
�H�H��#'���q�y�y�{�#�A��u�u�q�y�����
���e�e�H�(4�(<�q�u�u�#�l�TY�TY�BZ�����!�!�"<�=�
$��#�
����-�$rrrprrrr]r]�s��.�.rr]c�$�\sQsQsQQksQsP!)�delete�c��U]6�cPgQQ-!r r)rs"rr�delete.do.__annotate__�s��.�.�D�.rc	��UOoUOoUOP*Q6Xc�U%c'UP*OQ2%c	P	UmLQUO
]6XcA[
U2]6Xc1UO2UOO	2[gPo[UO22FDkoUO
[
U26wc4V!O
Ue
UO
L[V1O
2oJPUOOQ2Jm	UdUOU2P!P!)r_�rQr�)rr6r�endswithr
r9r��
update_screenrk�EOFErrorr�r�rYr�r<rbs&    rr%�	delete.do�s����K�K��
�H�H���:�:�b�>�V�#��Q�r�U�^�^�D�)�)�"�������
���F�a�K����!��	�	� � �"���#'���q�y�y�{�#�A��u�u��A����e�e�H�(4�(<�q�u�u�#�l�TY�TY�BZ�����!�!�/�2�$��#�
����-�$r)r
rprrrrfrf�s��.�.rrfc�$�\sQsQsQQksQsP!)�accept��c��U]6�cPgQQ-!r r)rs"rr�accept.do.__annotate__�r"rc	��P!rrr$s&rr%�	accept.do�r'rrrprrrrqrq�s��
�
rrqc�$�\sQsQsQQksQsP!)�help��c��U]6�cPgQQ-!r r)rs"rr�help.do.__annotate__�s��(�(�D�(rc	��]PHoUOO29^tt^2UO22UOmPPP2UOO2P!)%fhK,9hr�)�
_sitebuiltinsrr��_Helper�msgrb)rr}s& rr%�help.do�sM���
�[�[�
 �
 �
"�
"�+�3�3�5�7�D�K�K�O�#����%�%�'�#�
"�s�%A1�1B	�:B	rrprrrrxrx�s��(�(rrxc�$�\sQsQsQQksQsP!)�invalid_key��c��U]6�cPgQQ-!r r)rs"rr�invalid_key.do.__annotate__�s��0�0�D�0rc	���UOOO2oPOUO2UO
*oUOO
QU*2P!)rEz`%r' not bound)rrkrG�joinrrHr�)r�pendingrZs&  rr%�invalid_key.do�sM���+�+�%�%�0�0�2���G�G�D�J�J��'�,�,�.�������*�Q�.�/rrrprrrr�r��s��0�0rr�c�$�\sQsQsQQksQsP!)�invalid_command��c��U]6�cPgQQ-!r r)rs"rr�invalid_command.do.__annotate__�s��8�8�D�8rc	�d�UOoUOOQU*2P!)zcommand `%s' not known)rrr�)rrZs& rr%�invalid_command.do�s#���O�O�������2�Q�6�7rrrprrrr�r��s��8�8rr�c�$�\sQsQsQQksQsP!)�show_history��c��U]6�cPgQQ-!r r)rs"rr�show_history.do.__annotate__�s��&�&�D�&rc	���]QHGo]QH
GoUOO
O
2[OOUOOQ*2oUOO
O2U2oUV222UOO
O2UOO2P!)r_)�	get_pager)�gethistoryfile:NNN)�pagerr��siter�rrkrlr��linesepr�r�restorer�rm)rr�r�rr�s&    rr%�show_history.do�s���$�'�
	
�����!�!�#��*�*�/�/�$�+�+�"5�"5�a�"8�9�������#�#�%����
�g�~�'�(������#�#�%����#�#�%rrrprrrr�r��s��&�&rr�c�$�\sQsQsQQksQsP!)rF�c��U]6�cPgQQ-!r r)rs"rr�paste_mode.do.__annotate__�r�rc	��UOO%(UOmUOO2P!r)rrFrbr$s&rr%�
paste_mode.do�s+��%)�[�[�%;�%;�!;��������%�%�'rrrprrrrFrF�r�rrFc�$�\sQsQsQQksQsP!)�perform_bracketed_paste�c��U]6�cPgQQ-!r r)rs"rr�'perform_bracketed_paste.do.__annotate__�s��3�3�D�3rc	�n�QoPo[O2oV7c9UOOO2oV$O*
oJ>[Q[
U2[O2U*
Q5UOOUOUP22P!)z[201~z/bracketed pasting of {l} chars done in {s:.2f}s)�lrZ)	�timerrkrGrHrr�r��replace)r�donerHr1rIs&    rr%�perform_bracketed_paste.do�s�������	�	��������$�$�/�/�1�B��G�G�O�D�
�=��$�i��i�i�k�E�!�	
�
	
�����4�<�<��b�1�2rrrprrrr�r��s��3�3rr�)7�
__future__rr�r��typingr�renderrr�historical_readerrrr/rDrHrJrLr7rYr[rgrrrxr~r�r�r�r�r�r�r�r�r�r�r�rr
rrr"r3r/r9r@rLrTr]rfrqrxr�r�r�rFr�rrr�<module>r�s(��,#�	�� �#���3�
�
�&#�'�#�&	�'�	�	�G�	�	�'�	�	�G�	�
D�D����.�7��&�g�&�&�g�&�
,��
,�(��(�,�{�,�,��,�,��,�"�;�"�#�{�#�&,�
�,� �W� �P�g�P�$'��'�<'�=�'�@5�=�5�	3�M�	3�,�
�,�
,�-�,�
�=��
2�-�2�
�=���M��+�+�+�%��%�#�;�#�$
.��
.� .�[�.�4
�]�
�
(�7�(�0�'�0�8�g�8�&�7�&�&(��(�
3�g�
3r

Youez - 2016 - github.com/yon3zu
LinuXploit