__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

���g^�����SrSrSrSrSrSSKrSSKr\R"SS5 SS	KJ	r	 SS
K
Jr SSK
Jr SSK
J
r
 SS
K
Jr SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSKJr SSKJr SSKJr SSK J!r! SSK"J#r# SSK$J%r% SSK&J'r' SS K(J)r) SS!K*J+r+ S"S#K,J-r- S"S$K.J/r/ S"S%K0J1r1 S"S&K2J3r3 "S'S(\Rh5r4g))z$Id$z
$Revision$z$Date$znCopyright (c) 2005-2009 Sun Microsystems Inc.Copyright (c) 2010 Orca Team.Copyright (c) 2014-2015 Igalia, S.L.�LGPL�N�Gtkz3.0)r)�caret_navigation)�cmdnames)�keybindings)�debug)�
focus_manager)�	guilabels)�input_event)�input_event_manager)�liveregions)�messages)�settings)�settings_manager)�speech)�speechserver)�structural_navigation)�ACSS)�default)�
AXDocument)�AXEventSynthesizer)�AXObject)�AXTable)�AXText)�AXUtilities)�TextEventReason�)�	Bookmarks��BrailleGenerator��SpeechGenerator��	Utilitiesc�0^�\rSrSrU4SjrU4SjrU4SjrSrU4SjrSr	Sr
S	rS
rSr
SrS
rSrSrSDU4SjjrSEU4SjjrSrSFU4SjjrU4SjrU4SjrSrSrSrSESjrSrU4SjrU4SjrSEU4SjjrU4Sjr U4Sjr!U4S jr"S!r#SGU4S"jjr$SGU4S#jjr%S$r&S%r'SHS&jr(SHS'jr)S(r*SES)jr+S*r,S+r-S,r.S-r/S.r0S/r1S0r2S1r3S2r4S3r5S4r6S5r7S6r8S7r9S8r:S9r;S:r<S;r=S<r>S=r?S>r@S?rAS@rBSArCSBrDSCrEU=rF$)I�Script�Bc��>�[TU]U5 /UlSUlSUlSUlSUlSUlSUlSUl	SUl
SUlSUlSUl
[R"5R!S5c%[R"5R#SS5 [R"5R!S5c%[R"5R#SS5 [R"5R!S5c%[R"5R#SS5 SUlSUlSUlSUlSUlSUlSUlSUlSUlSUlSUlSUlSUlSUlSUl SUl!SUl"SURFS'S	URFS
'SURFS'g)
NF�N����caretNavigationEnabledT�sayAllOnLoad�pageSummaryOnLoadz
text-spelling�invalid�
justificationz
text-align�indentztext-indent)$�super�__init__�_sayAllContents�	_inSayAll�_sayAllIsInterrupted�_loadingDocumentContent�_madeFindAnnouncement�_lastMouseButtonContext�_lastMouseOverObject�_preMouseOverContext�_inMouseOverObject�_inFocusMode�_focusModeIsSticky�_browseModeIsStickyr�get_manager�get_setting�set_setting�_changedLinesOnlyCheckButton�"_controlCaretNavigationCheckButton�_minimumFindLengthAdjustment�_minimumFindLengthLabel�_minimumFindLengthSpinButton�_pageSummaryOnLoadCheckButton�_sayAllOnLoadCheckButton�_skipBlankCellsCheckButton� _speakCellCoordinatesCheckButton�_speakCellHeadersCheckButton�_speakCellSpanCheckButton�"_speakResultsDuringFindCheckButton� _structuralNavigationCheckButton�"_autoFocusModeStructNavCheckButton�!_autoFocusModeCaretNavCheckButton�"_autoFocusModeNativeNavCheckButton�_layoutModeCheckButton�attributeNamesDict)�self�app�	__class__s  ��9/usr/lib/python3/dist-packages/orca/scripts/web/script.pyr2�Script.__init__Ds����
�����!������$)��!�',��$�%*��"�'/��$�$(��!�$,��!�"'���!���"'���#(�� ��'�'�)�5�5�6N�O�W��(�(�*�6�6�7O�QU�V��'�'�)�5�5�n�E�M��(�(�*�6�6�~�t�L��'�'�)�5�5�6I�J�R��(�(�*�6�6�7J�D�Q�,0��)�26��/�,0��)�'+��$�,0��)�-1��*�(,��%�*.��'�04��-�,0��)�)-��&�26��/�04��-�26��/�15��.�26��/�&*��#�-<����	�*�0?�����-�19����
�.�c��>�SUR/n[R"[RUS5 URR5nSU3nURRX(+U5 URRX(+U5 URRX(+U5 UR5RX(+U5 [TU]15 g)z%Called when this script is activated.zWEB: Activating script forTz(script activation, in document content: N)
rUr�print_tokens�
LEVEL_INFO�	utilities�inDocumentContentr�suspend_commandsr�live_region_manager�get_table_navigatorr1�activate)rT�tokens�in_doc�reasonrVs    �rWrb�Script.activateqs����/����9��
���5�+�+�V�T�:����1�1�3��;�F�8�D�����.�.�t�Z��H��"�"�3�3�D�*�f�M�� � �1�1�$�
�F�K�� � �"�3�3�D�*�f�M�
���rYc�>�/UlSUlSUlSUlSUlSUlSUlURR5 SnURRUSU5 URRUSU5 URRUSU5 UR5RUSU5 [TU]=5 g)z'Called when this script is deactivated.Fr)Nzscript deactivation)r3r6r7r8r9r:r;r]�clearCachedObjectsrr_rr`rar1�
deactivate)rTrerVs  �rWri�Script.deactivates���� "���',��$�%*��"�'/��$�$(��!�$,��!�"'������)�)�+�&�����.�.�t�U�F�C��"�"�3�3�D�%��H�� � �1�1�$��v�F�� � �"�3�3�D�%��H�
���rYc
�2�[R"5n[R"5R	S5nU[
R:HnURRSUS9nURHnURU5 M URRSUS9nURHnURU5 M URRSUS9nURHnURU5 M UR[R"S[R[RUR R#S555 UR[R"S[R[RUR R#S5S55 UR[R"S[R[RUR R#S5S	55 UR[R"S
[R[R$UR R#S555 [R"5R	S5nU[
R:XaSnOS
nUR[R"U[R[RUR R#S555 U$)z=Returns the application-specific keybindings for this script.�keyboardLayoutT)�refresh�
is_desktop�a�togglePresentationModeHandler�enableStickyFocusModeHandler��enableStickyBrowseModeHandler���toggleLayoutModeHandler�KP_Multiply�0�moveToMouseOverHandler)r�KeyBindingsrr?r@r�GENERAL_KEYBOARD_LAYOUT_DESKTOPr�get_bindings�key_bindings�addrr`�
KeyBinding�DEFAULT_MODIFIER_MASK�ORCA_MODIFIER_MASK�input_event_handlers�get�NO_MODIFIER_MASK)	rT�keyBindings�layout�	isDesktop�structNavBindings�
keyBinding�caretNavBindings�liveRegionBindings�keys	         rW�get_app_key_bindings�Script.get_app_key_bindings�s���"�-�-�/��!�-�-�/�;�;�<L�M���h�F�F�F�	� �6�6�C�C��Y�D�0��+�8�8�J��O�O�J�'�9� �0�0�=�=��Y�>�0��*�7�7�J��O�O�J�'�8�"�5�5�B�B��Y�C�0��,�9�9�J��O�O�J�'�:�	����"�"���1�1��.�.��)�)�-�-�.M�N�	
P�	Q�	����"�"���1�1��.�.��)�)�-�-�.L�M��
�	�	����"�"���1�1��.�.��)�)�-�-�.M�N��
�	�	����"�"���1�1��,�,��)�)�-�-�.G�H�	
J�	K�"�-�-�/�;�;�<L�M���X�=�=�=��C��C�����"�"���1�1��.�.��)�)�-�-�.F�G�	
I�	J��rYc��>�[TU]5 URRURRS55 URRURRS55 URRURRS55 [R"[R[RS5URS'[R"[R[RS5URS'[R"[R [R"5URS'[R"[R$[R&5URS'[R"[R([R*5URS'[R"[R,[R.5URS'[R"[R0[R25URS	'g
)z1Defines the input event handlers for this script.TF�panBrailleLeftHandler�panBrailleRightHandlerryrprqrsrvN)r1�setup_input_event_handlersr��updater�get_handlersrr`r�InputEventHandlerr&�pan_braille_leftr�PAN_BRAILLE_LEFT�pan_braille_right�PAN_BRAILLE_RIGHT�moveToMouseOver�MOUSE_OVER_MOVE�togglePresentationMode�TOGGLE_PRESENTATION_MODE�enableStickyFocusMode�SET_FOCUS_MODE_STICKY�enableStickyBrowseMode�SET_BROWSE_MODE_STICKY�toggleLayoutMode�TOGGLE_LAYOUT_MODE)rTrVs �rWr��!Script.setup_input_event_handlers�s����	��*�,��!�!�(�(��)C�)C�)P�)P�QU�)V�W��!�!�(�(��)>�)>�)K�)K�D�)Q�R��!�!�(�(��)A�)A�)N�)N�t�)T�U�
�)�)��'�'��)�)��
�	
�!�!�"9�:�
�)�)��(�(��*�*��
�	
�!�!�":�;�
�)�)��&�&��(�(�
*�	
�!�!�":�;�
�)�)��-�-��1�1�
3�	
�!�!�"A�B�
�)�)��,�,��.�.�
0�	
�!�!�"@�A�
�)�)��-�-��/�/�
1�	
�!�!�"A�B�
�)�)��'�'��+�+�
-�	
�!�!�";�<rYc�t�UR$![a [U5UlURs$f=f)z.Returns the "bookmarks" class for this script.)�	bookmarks�AttributeErrorr�rTs rW�
get_bookmarks�Script.get_bookmarkss5��	"��>�>�!���	"�&�t�_�D�N��>�>�!�	"�s��&7�7c��[U5$)z.Returns the braille generator for this script.rr�s rW�get_braille_generator�Script.get_braille_generators�� ��%�%rYc�,�[R"5$)z5Returns the caret navigation support for this script.)r�CaretNavigationr�s rW�get_caret_navigation�Script.get_caret_navigations�� �/�/�1�1rYc��[RR[RR[RR[RR
[RR[RR[RR[RR[RR[RR[RR[RR[RR[RR[RR [RR"[RR$[RR&[RR([RR*[RR,[RR.[RR0/$)z?Returns the structural navigation object types for this script.)r�StructuralNavigation�
BLOCKQUOTE�BUTTON�	CHECK_BOX�CHUNK�	CLICKABLE�	COMBO_BOX�	CONTAINER�ENTRY�
FORM_FIELD�HEADING�IFRAME�IMAGE�LANDMARK�LINK�LIST�	LIST_ITEM�LIVE_REGION�	PARAGRAPH�RADIO_BUTTON�	SEPARATOR�TABLE�UNVISITED_LINK�VISITED_LINKr�s rW�'get_enabled_structural_navigation_types�.Script.get_enabled_structural_navigation_typessi��&�:�:�E�E�%�:�:�A�A�%�:�:�D�D�%�:�:�@�@�%�:�:�D�D�%�:�:�D�D�%�:�:�D�D�%�:�:�@�@�%�:�:�E�E�%�:�:�B�B�%�:�:�A�A�%�:�:�@�@�%�:�:�C�C�%�:�:�?�?�%�:�:�?�?�%�:�:�D�D�%�:�:�F�F�%�:�:�D�D�%�:�:�G�G�%�:�:�D�D�%�:�:�@�@�%�:�:�I�I�%�:�:�G�G�-I�	IrYc�.�[R"U5$)z0Returns the live region support for this script.)r
�LiveRegionManagerr�s rW�get_live_region_manager�Script.get_live_region_manager1s���,�,�T�2�2rYc��[U5$)z-Returns the speech generator for this script.r!r�s rW�get_speech_generator�Script.get_speech_generator6s���t�$�$rYc��[U5$)z&Returns the utilities for this script.r#r�s rW�
get_utilities�Script.get_utilities;s�����rYc�*�[R"5nURS5 [R"5nUR	USSSS5 [R
"S[RS3S9nURS5 URU5 [RRSSSS5nURSSSS5 URU5 [R"5nURU5 [Rn[R "5R#S	5n[R$R'U5UlUR(R+U5 UR	UR(SSSS5 [R,n[R "5R#S
5n[R$R'U5UlUR.R+U5 UR	UR.SSSS5 [R0nUR2R4n[R$R'U5UlUR6R+U5 UR	UR6SSSS5 [R8n[R "5R#S5n[R$R'U5UlUR:R+U5 UR	UR:SS
SS5 [R<n[R "5R#S5n[R$R'U5UlUR>R+U5 UR	UR>SSSS5 [R@n[R "5R#S5n[R$R'U5Ul!URBR+U5 UR	URBSSSS5 [RDn[R "5R#S5n[R$R'U5Ul#URFR+U5 UR	URFSSSS5 [RHn[R "5R#S5n[R$R'U5Ul%URJR+U5 UR	URJSSSS5 [R"5nUR	USSSS5 [R
"S[RLS3S9nURS5 URU5 [RRSSSS5nURSSSS5 URU5 [R"5n	URU	5 [RNn[R "5R#S5n[R$R'U5Ul(URPR+U5 U	R	URPSSSS5 [RRn[R "5R#S5n[R$R'U5Ul*URTR+U5 U	R	URTSSSS5 [RVn[R "5R#S5n[R$R'U5Ul,URXR+U5 U	R	URXSSSS5 [RZn[R "5R#S5n[R$R'U5Ul.UR\R+U5 U	R	UR\SS
SS5 [R"5n
UR	U
SSSS5 [R
"S[R^S3S9nURS5 U
RU5 [RRSSSS5nURSSSS5 U
RU5 [R"5nURU5 [R "5R#S5n
[R`nU
[bRd:gn[R$R'U5Ul3URfR+U5 UR	URfSSSS5 [RhnU
[bRj:Hn[R$R'U5Ul6URlR+U5 UR	URlSSSS5 [R"5nUR	USSSS5 [R
"[RnS9Ul8URpRsSS5 UR	URpSSSS5 [Rt"[R "5R#S5SSS5Ul;[Rx"5Ul=URzR}URv5 UR	URzSSSS5 URpRURz5 UR�5 U$)z;Return a GtkGrid containing app-unique configuration items.�rrz<b>z</b>)�labelTg�?r+�caretNavTriggersFocusModerr�structNavTriggersFocusModert�nativeNavTriggersFocusMode�r,�r-��
layoutMode��speakCellCoordinates�
speakCellSpan�speakCellHeaders�skipBlankCells�findResultsVerbosity�findResultsMinimumLength�)Ar�Grid�set_border_width�Frame�attach�Labelr
�PAGE_NAVIGATION�set_use_markup�set_label_widget�	Alignment�new�set_paddingr~�USE_CARET_NAVIGATIONrr?r@�CheckButton�new_with_mnemonicrC�
set_active�AUTO_FOCUS_MODE_CARET_NAVrP�USE_STRUCTURAL_NAVIGATIONr�enabledrN�AUTO_FOCUS_MODE_STRUCT_NAVrO�AUTO_FOCUS_MODE_NATIVE_NAVrQ�READ_PAGE_UPON_LOADrH�PAGE_SUMMARY_UPON_LOADrG�CONTENT_LAYOUT_MODErR�TABLE_NAVIGATION�TABLE_SPEAK_CELL_COORDINATESrJ�TABLE_SPEAK_CELL_SPANSrL�TABLE_ANNOUNCE_CELL_HEADERrK�TABLE_SKIP_BLANK_CELLSrI�FIND_OPTIONS�FIND_SPEAK_RESULTSr�FIND_SPEAK_NONErM�FIND_ONLY_SPEAK_CHANGED_LINES�FIND_SPEAK_IF_LINE_CHANGEDrB�FIND_MINIMUM_MATCH_LENGTHrE�
set_alignment�
AdjustmentrD�
SpinButtonrF�set_adjustment�set_mnemonic_widget�show_all)rT�grid�generalFramer��generalAlignment�generalGrid�value�
tableFrame�tableAlignment�	tableGrid�	findFrame�
findAlignment�findGrid�	verbosity�hgrids               rW�get_app_preferences_gui�Script.get_app_preferences_gui@s5	���x�x�z�����b�!��y�y�{�����L�!�Q��1�-��	�	�#�i�&?�&?�%@�� E�F��
���T�"��%�%�e�,��=�=�,�,�S�#�q�!�<���$�$�Q��2�q�1����)�*��h�h�j�����[�)��.�.�� �,�,�.�:�:�;S�T���O�O�-�-�e�4�	
�/��/�/�:�:�5�A����4�B�B�A�q�!�Q�O��3�3�� �,�,�.�:�:�;V�W��14���1R�1R�SX�1Y��.��.�.�9�9�%�@����4�A�A�1�a��A�N��3�3���*�*�2�2���O�O�-�-�e�4�	
�-��-�-�8�8��?����4�@�@�!�Q��1�M��4�4�� �,�,�.�:�:�;W�X��25�/�/�2S�2S�TY�2Z��/��/�/�:�:�5�A����4�B�B�A�q�!�Q�O��4�4�� �,�,�.�:�:�;W�X��25�/�/�2S�2S�TY�2Z��/��/�/�:�:�5�A����4�B�B�A�q�!�Q�O��-�-�� �,�,�.�:�:�>�J��(+���(I�(I�%�(P��%��%�%�0�0��7����4�8�8�!�Q��1�E��0�0�� �,�,�.�:�:�;N�O��-0�_�_�-N�-N�u�-U��*��*�*�5�5�e�<����4�=�=�q�!�Q��J��-�-�� �,�,�.�:�:�<�H��&)�o�o�&G�&G��&N��#��#�#�.�.�u�5����4�6�6��1�a��C��Y�Y�[�
����J��1�a��+��	�	�#�i�&@�&@�%A�� F�G��
���T�"��#�#�E�*����*�*�3��Q��:���"�"�1�a��Q�/����~�&��H�H�J�	����9�%��6�6�� �,�,�.�:�:�;Q�R���O�O�-�-�e�4�	
�-��-�-�8�8��?�����>�>��1�a��K��0�0�� �,�,�.�:�:�?�K���O�O�-�-�e�4�	
�&��&�&�1�1�%�8�����7�7��A�q�!�D��4�4�� �,�,�.�:�:�;M�N���O�O�-�-�e�4�	
�)��)�)�4�4�U�;�����:�:�A�q�!�Q�G��0�0�� �,�,�.�:�:�;K�L���O�O�-�-�e�4�	
�'��'�'�2�2�5�9�����8�8�!�Q��1�E��I�I�K�	����I�q�!�Q��*��	�	�#�i�&<�&<�%=�T� B�C��
���T�"��"�"�5�)��
�
�)�)�#�s�A�q�9�
��!�!�!�Q��A�.��
�
�m�$��8�8�:�����(�#�$�0�0�2�>�>�?U�V�	��,�,���X�5�5�5���O�O�-�-�e�4�	
�/��/�/�:�:�5�A�����?�?��A�q�!�L��7�7���X�@�@�@���O�O�-�-�e�4�	
�)��)�)�4�4�U�;�����9�9�1�a��A�F����
������q�!�Q��*��i�i�i�A�A�B�	
�$��$�$�2�2�1�c�:�
���T�1�1�1�a��A�>�
�N�N�+�7�7�9�E�E�*�,�-.��A�
7�	
�)�-0�N�N�,<��)��)�)�8�8��-�-�	/�
���T�6�6��1�a��C��$�$�8�8��-�-�	/�	
�
�
���rYc�t�URR5(d[RnO@URR5(a[R
nO[RnUURR5URR5URR5URR5URR5URR5URR5URR5UR R5UR"R5UR$R5UR&R5UR(R5S.$)z7Returns a dictionary with the app-specific preferences.)r�r�r,r-�structuralNavigationEnabledr�r+r�r�r�r�r�r�r�)rM�
get_activerrrBr	�FIND_SPEAK_ALLrF�	get_valuerHrGrNrOrCrPrQrJrRrLrKrI)rTrs  rW�get_preferences_from_gui�Script.get_preferences_from_gui�sH���6�6�A�A�C�C� �0�0�I�
�
.�
.�
9�
9�
;�
;� �;�;�I� �/�/�I�%.�(,�(I�(I�(S�(S�(U� �9�9�D�D�F�!%�!C�!C�!N�!N�!P�+/�+P�+P�+[�+[�+]�*.�*Q�*Q�*\�*\�*^�&*�&M�&M�&X�&X�&Z�)-�)O�)O�)Z�)Z�)\�*.�*Q�*Q�*\�*\�*^�$(�$I�$I�$T�$T�$V��5�5�@�@�B�!�;�;�F�F�H� $� A� A� L� L� N�"�=�=�H�H�J�
�	
rYc�>�[TU]U5 Sn[R"[RUS5 UR
R
5 g)Nz"WEB: Flushing live region messagesT)r1�presentationInterruptr�
print_messager\r`�
flushMessages)rT�	killFlash�msgrVs   �rWr(�Script.presentationInterrupt�s?���
��%�i�0�2��
���E�,�,�c�4�8�� � �.�.�0rYc#�>^# �URR5(d:SU/n[R"[RUS5 [
TU]X5 gSUl[R"5RS5nU[R:HnUcURR5upOUnURR5upxU4SjmSUlSn	U	(Gd�U(aURR!X5n
OURR#X5n
X�l['U
5GH�up�Uupp�SUSUS	US
U
SUS/n[R"[RUS5 URR)X�5(aM`X�:XaMgURR+U5(aM�URR-X5(aM�UR.R1U/SUS
9nUnT"U5unn[3U5[3U5:waM�['U5H�unn[4R6"UUX�5nSU/n[R"[RUS5 UR8R;U5 UR=5R?XU5 UUU/v� M� GM� U
SSU
SSnnURRAUUS-
5upUU:Xa$UU::aURRAUU5upUU:Xa7UU::a1SUSUSUSU/n[R"[RUS5 OUSLn	U	(dGM�SUl/Ul/UlSn[RB"[RUS5 URE5 g7f)zACreates a generator that can be used to iterate document content.z.WEB: textLines called for non-document contentTNF�sayAllStylec�H>�//p!UH�n[U[5(a.T"U5upEURU5 URU5 MF[U[5(aUR	U5 Mn[U[
5(dM�UR	U5 M� X4$�N)�
isinstance�list�extend�str�appendr)�
utterances�elements�voices�u�e�v�_parseUtterancess      �rWr=�*Script.textLines.<locals>._parseUtterancess����!�2�f����a��&�&�+�A�.�D�A��O�O�A�&��M�M�!�$���3�'�'��O�O�A�&���4�(�(��M�M�!�$� ��#�#rYzWEB SAY ALL CONTENT:z. �'z' (�-�))�eliminatePauses�priorObj�WEBr*rrrrz5WEB: Cycle within object detected in textLines. Last:�, zNext:z0WEB: textLines complete. Verifying SayAll status)#r]r^rr[r\r1�	textLinesr5rr?r@r�SAYALL_STYLE_SENTENCE�getCaretContext�getPriorContextr4�getSentenceContentsAtOffset�getLineContentsAtOffsetr3�	enumerate�isInferredLabelForContents�isLabellingInteractiveElement�isLinkAncestorOfImageInContents�speech_generator�generate_contents�lenr�
SayAllContext�_sayAllContextsr6�get_event_synthesizer�scroll_into_view�findNextCaretInOrderr)�inSayAll)rT�obj�offsetrcr/�sayAllBySentence�characterOffsetrC�priorOffset�done�contents�i�content�startOffset�	endOffset�textr7r8r9�element�context�lastObj�
lastOffsetr,r=rVs                        @�rWrF�Script.textLinesso�����~�~�/�/�1�1�F��L�F����u�/�/���>��G��c�*��$)��!�&�2�2�4�@�@��O��&�(�*H�*H�H���>�#'�>�>�#A�#A�#C� �C��$�O� $��� >� >� @���	$���������>�>�E�E�c�[���>�>�A�A�#�W��#+� �'��1�
��4;�1��)�0��T�3��T�5�+�s�I�WZ�\���"�"�5�#3�#3�V�T�B��>�>�<�<�W�O�O���+���>�>�?�?��D�D���>�>�A�A�#�P�P��!�2�2�D�D��I�t�h�E�H�
���#3�J�#?� ��&��x�=�C��K�/��"+�H�"5�J�A�w�*�8�8��W�k�>�G�#�W�-�F��&�&�u�'7�'7���F��(�(�/�/��8��.�.�0�A�A�#�T]�^�"�F�1�I�.�.�#6�52�F#+�2�,�q�/�8�B�<��?�Z�G�#'�>�>�#F�#F�w�PZ�]^�P^�#_� �C��g�~�/�Z�"?�'+�~�~�'J�'J�7�T^�'_�$���g�~�/�Z�"?�Q�!�4��W�c�4��Z���"�"�5�#3�#3�V�T�B���$�;�D�g�$�j���!���!���@��
���E�,�,�c�4�8��
�
��s
�M-O�4AOc�p�URRU5nU(dg[R"U5nUS:ag[	X$5nURRUS9nURR
XUS9 [R"U5nXd-
[R"5RS5:ag[R"5RS5nU[R:XagUR(a7U[R:Xa#URRXQU45(agURR!X5nUR#U5 UR%U5 URR'5n	U	(aUR)U	5 SUl
g)zAUpdates the context and presents the find results if appropriate.Nr��
documentFramer�r�T)r]�getDocumentForObjectr�get_selection_start_offset�maxrH�setCaretContext�get_selection_end_offsetrr?r@rrr7r	�contextsAreOnSameLinerK�
speakContents�update_braille�getFindResultsCount�presentMessage)
rTrYrZ�document�startrf�endrr_�resultsCounts
          rW�presentFindResults�Script.presentFindResultses\���>�>�6�6�s�;�����1�1�#�6���1�9���V�#���.�.�0�0�x�0�H�����&�&�s�(�&�K��-�-�c�2���;�)�5�5�7�C�C�D^�_�_��$�0�0�2�>�>�?U�V�	���0�0�0���%�%��H�?�?�?��~�~�3�3�G�6�]�K�K���>�>�9�9�#�F�����8�$����C� ��~�~�9�9�;�������-�%)��"rYc��>�URR5(d[T	U]
X5$[R
"5R
S5(dgURSup4pV[R
"5RSUSS9 URRX45 URRX45upxURSXx5 g![a gf=f)N�rewindAndFastForwardInSayAllFr��
notify_scriptT)r]r^r1�
_rewindSayAllrr?r@r3�
IndexErrorr	�set_locus_of_focusrp�findPreviousCaretInOrder�say_all)
rTrf�minCharCountrYrxry�string�prevObj�
prevOffsetrVs
         �rWr��Script._rewindSayAll�s�����~�~�/�/�1�1��7�(��?�?��+�+�-�9�9�:X�Y�Y��	�&*�&:�&:�1�&=�#�C��	�!�!�#�6�6�t�S�PU�6�V����&�&�s�2�"�n�n�E�E�c�Q������T�7�/����	��	���C�
C)�(C)c��>�URR5(d[TU]
U5$[R
"5R
S5(dgURSup#pE[R
"5RSUSS9 URRX$5 URRX$5upgURSXg5 g![a gf=f)Nr~Fr*rT)r]r^r1�_fastForwardSayAllrr?r@r3r�r	r�rprWr�)	rTrfrYrxryr��nextObj�
nextOffsetrVs	        �rWr��Script._fastForwardSayAll�s�����~�~�/�/�1�1��7�-�g�6�6��+�+�-�9�9�:X�Y�Y��	�&*�&:�&:�2�&>�#�C��	�!�!�#�6�6�t�S�PU�6�V����&�&�s�0�"�n�n�A�A�#�K������T�7�/����	��	�r�c��>�URR5(d[TU]
X5 gU[R
R:XGaf[R"5nUR5(Ga%SUl
UR5(aURU5(agUR5(aURU5(agURR!5(d�UR#5R!5(d�[$R"5R'UR(UR*5 URR-UR(UR*5 UR/UR(5 SUl/Ul/Ulg[$R"5R7SUR(SS9 [$R"5R'UR(UR*UR8[$R:5 URR=UR(UR*5 g)NTFr)r]r^r1�_Script__sayAllProgressCallbackrrS�INTERRUPTEDrr?�last_event_was_keyboardr5�last_event_was_downr��last_event_was_upr�r�'last_input_event_was_navigation_commandrar	�emit_region_changedrY�
currentOffset�setCaretPositionrtr4r3rTr��currentEndOffset�SAY_ALLrp)rTrf�progressType�managerrVs    �rW�__sayAllProgressCallback�Script.__sayAllProgressCallback�s�����~�~�/�/�1�1��G�,�W�C���<�5�5�A�A�A�)�5�5�7�G��.�.�0�0�,0��)��.�.�0�0�T�5L�5L�W�5U�5U���,�,�.�.�4�3E�3E�g�3N�3N���1�1�Y�Y�[�[��3�3�5�]�]�_�_�!�-�-�/�C�C����W�%:�%:�<��N�N�3�3�G�K�K��AV�AV�W��'�'����4�"�D�N�#%�D� �#%�D� ���!�!�#�6�6�t�W�[�[�X]�6�^��!�!�#�7�7��K�K��.�.��0H�0H��!�!�	#�	
���&�&�w�{�{�G�4I�4I�JrYc��UR$)z$Returns True if we're in focus mode.)r<r�s rW�inFocusMode�Script.inFocusMode�s��� � � rYc��UR$)z-Returns True if we're in 'sticky' focus mode.)r=r�s rW�focusModeIsSticky�Script.focusModeIsSticky�s���&�&�&rYc��UR$)z.Returns True if we're in 'sticky' browse mode.)r>r�s rW�browseModeIsSticky�Script.browseModeIsSticky�s���'�'�'rYc�P�UR(a)Sn[R"[RUS5 gUR(a)Sn[R"[RUS5 gUR5(a)Sn[R"[RUS5 gURR5=(d UR5R5n[R"5RS5(d0U(a)Sn[R"[RUS5 gU(a[R"U5(aSnURR5n[R"5RS	5(dPU(aIURR!U5(d)S
n[R"[RUS5 g[R"5RS5(dBU(d;U(d4Sn[R"[RUS5 UR"$URR%U5(a,S
US/n[R&"[RUS5 g[(R*"U5=(d [(R,"U5nUR"(aZU(aS[.R"5R15(a+SU/n[R&"[RUS5 gUR"(a�URR3U5(atURR5U5(a+SU/n[R&"[RUS5 gSn[R"[RUS5 gSUS/n[R&"[RUS5 g)z0Returns True if we should use focus mode in obj.z2WEB: Using focus mode because focus mode is stickyTz7WEB: Not using focus mode because browse mode is stickyFz2WEB: Not using focus mode because we're in SayAll.r�z4WEB: Not using focus mode due to struct nav settingsNr�z3WEB: Not using focus mode due to caret nav settingsr�z>WEB: Not changing focus/browse mode due to native nav settingszWEB: Using focus mode becausezis a focus mode widgetz5WEB: Staying in focus mode due to arrowing in role ofz/WEB: Forcing browse mode for web app descendantzAWEB: Staying in focus mode because we're inside a web applicationzWEB: Not using focus mode forzdue to lack of cause)r=rr)r\r>rXrr�rarr?r@r�is_deadrr]�isNavigableToolTipDescendantr<�isFocusModeWidgetr[r�is_link�is_radio_buttonr�last_event_was_unmodified_arrow�isWebAppDescendant�"forceBrowseModeForWebAppDescendant)rTrYr�r,�lastCommandWasStructNav�lastCommandWasCaretNavrc�doNotToggles        rW�useFocusMode�Script.useFocusMode�s���"�"�F�C����� 0� 0�#�t�<���#�#�K�C����� 0� 0�#�t�<���=�=�?�?�F�C����� 0� 0�#�t�<��
�&�&�N�N�P�
T��'�'�)�Q�Q�S�	 � �+�+�-�9�9�:V�W�W�&�H�C����� 0� 0�#�t�<���x�'�'��0�0��G�!%�!6�!6�!^�!^�!`���+�+�-�9�9�:U�V�V�&��>�>�>�>�w�G�G�G�C����� 0� 0�#�t�<���+�+�-�9�9�:V�W�W�+�/E�R�C����� 0� 0�#�t�<��$�$�$��>�>�+�+�C�0�0�5�s�<T�U�F����u�/�/���>��!�)�)�#�.�R�+�2M�2M�c�2R������"�.�.�0�P�P�R�R�M�s�S�F����u�/�/���>��������!B�!B�3�!G�!G��~�~�@�@��E�E�K�S�Q���"�"�5�#3�#3�V�T�B��U�C����� 0� 0�#�t�<��1�3�8N�O��
���5�+�+�V�T�:�rYc�j�URR"U40UD6n[R"U5 g)zSpeaks the specified contents.N)rPrQr�speak)rTr_�argsr7s    rWrs�Script.speakContents%s+���*�*�<�<�X�N��N�
����Z� rYc�N>�SU/n[R"[RUS5 URR	U5(d8Sn[R
"[RUS5 [TU]U5 gURRU5nURRUS9upSX/n[R"[RUS5 U(dgSnURRX5(aO[R"U5(a4[R"U5SnXpR:XaSnXUS	-U//nOURR!X5nU(dgUSupp�US:�aNU
S
:XaH["R$"5R'S5(aUR)[*R,SS
9 gU
(a#UR/X5 UR1U
5 OUR3U5 SUR4S'g)z3Speaks the character at the current caret position.zWEB: Say character forT�'WEB: Object is not in document content.Nrkz4WEB: Adjusted object and offset for say character torrur�
�speakBlankLinesF��	interrupt�char�lastTextUnitSpoken)rr[r\r]r^r)r1�sayCharacter�getTopLevelDocumentForObjectrH�treatAsEndOfLiner�
supports_textr�get_character_at_offset�EMBEDDED_OBJECT_CHARACTER�getCharacterContentsAtOffsetrr?r@�speakMessager�BLANK�speakMisspelledIndicator�speak_characterrs�point_of_reference)rTrYrcr,rwrZr_r�rxryr�rVs           �rWr��Script.sayCharacter+s����+�C�0��
���5�+�+�V�T�:��~�~�/�/��4�4�;�C����� 0� 0�#�t�<��G� ��%���>�>�>�>�s�C���n�n�4�4�8�4�L���H�#�V��
���5�+�+�V�T�:������>�>�*�*�3�7�7�H�<R�<R�SV�<W�<W��1�1�&�9�!�<�D��5�5�5����f�q�j�$�7�8�H��~�~�B�B�3�O�H���"*�1�+���C��1�9��4���+�+�-�9�9�:K�L�L��!�!�(�.�.�E�!�B����)�)�#�5�� � ��(����x�(�8>���� 4�5rYc��>�SU/n[R"[RUS5 URR	U5(d8Sn[R
"[RUS5 [TU]U5 gURRU5nURRUS9up[R"5R5(aUS-nSX/n[R"[RUS5 URRXSS9nUS	upxp�URXx5 URU[ R""U5S
9 SUR$S'g)
z.Speaks the word at the current caret position.zWEB: Say word forTr�Nrkrz/WEB: Adjusted object and offset for say word to��useCacher)�alreadyFocused�wordr�)rr[r\r]r^r)r1�sayWordr�rHrr?�last_event_was_right�getWordContentsAtOffsetr�rsr�
is_text_inputr�)rTrYrcr,rwrZ�wordContents�textObjrbrcr�rVs           �rWr��Script.sayWordXs@���&�s�+��
���5�+�+�V�T�:��~�~�/�/��4�4�;�C����� 0� 0�#�t�<��G�O�C� ���>�>�>�>�s�C���n�n�4�4�8�4�L����*�*�,�A�A�C�C��a�K�F�C�S�Q��
���5�+�+�V�T�:��~�~�=�=�c�TX�=�Y��0<�Q��-��i��%�%�g�;�	
���<��8Q�8Q�RY�8Z��[�8>���� 4�5rYc�D>�SU/n[R"[RUS5 URR	U5(d8Sn[R
"[RUS5 [T	U]U5 g[R"U5(a�S[R"U5S;aeSn[R
"[RUS5 UR(dURRUS5 [T	U]U5 gURRU5nURRUS9upgUcEURR!US9upS	X/n[R"[RUS5 URR#XSS
9nU(aCUS(a9UR(d(URRUSSUSS5 UR%X�S9 S
UR&S'g)z.Speaks the line at the current caret position.zWEB: Say line forTr�N�rz-WEB: Object is editable and line has no EOCs.rkz/WEB: Adjusted object and offset for say line tor�r)rC�liner�)rr[r\r]r^r)r1�sayLiner�is_editabler�get_line_at_offsetr<r�r�rIrHrKrsr�)
rTrYrZrcr,rwrC�_priorOffsetr_rVs
         �rWr��Script.sayLiness����&�s�+��
���5�+�+�V�T�:��~�~�/�/��4�4�;�C����� 0� 0�#�t�<��G�O�C� ��
�"�"�3�'�'�H�F�<U�<U�VY�<Z�[\�<]�,]�A�C����� 0� 0�#�t�<��$�$����/�/��Q�7��G�O�C� ���>�>�>�>�s�C��!%���!?�!?�h�!?�!W����>��.�.�8�8�x�8�P�K�C�G��U�F����u�/�/���>��>�>�9�9�#�PT�9�U������D�,=�,=��N�N�+�+�H�Q�K��N�H�Q�K��N�K����8��7�8>���� 4�5rYc�d>^^^�TcgURRT5(a[R"T5(a[TU]"T40UD6 g[R"5R5up4U[R[R4;a[TU]"T40UD6 g[R"T5(d[R"T5(a?UR(dURRTS5 [TU]"T40UD6 gURS5nUR R#5(dsUR$R#5(dTUR'5R#5(d1URS5(d[(R*"T5(a URR-5upVXRS'URR/T5n[0R2"T5m[0R4"T5m[6R8"TSS9 T(a[0R2"T5T:wd[0R:"T5S:a{STS/n[<R>"[<R@US5 [0RB"UUUU4Sj5n	U	(a,U	mS	T/n[<R>"[<R@US5 [RD"T5(a?UR(dURRTS5 [TU]"T40UD6 gURS
S5n
STS
U
/n[<R>"[<R@US5 SnURSS5nURRGTX�5n
U
(aCU
S(a9UR(d(URRU
SSU
SS5 URIU
5 URJ"U
40UD6 g)NrrC�includeContext)�start_offsetzWEB:z&believed to be destroyed after scroll.Tc�v>�[R"U5T:H=(a [R"T5T:H$r1)r�get_name�get_role)�x�namerY�roles ���rW�<lambda>�&Script.presentObject.<locals>.<lambda>�s/���H�$5�$5�a�$8�D�$@�$c�X�EV�EV�WZ�E[�_c�Ec�$crYz$WEB: Replacing destroyed object withr�FzWEB: Presenting objectz. Interrupt:rZr)&r]r^r�is_documentr1�
presentObjectr	r?�&get_active_mode_and_object_of_interest�OBJECT_NAVIGATOR�MOUSE_REVIEW�
is_status_bar�is_alertr<r�r�rr�rrar�	get_tablerIrmrr�r�r�scroll_to_center�get_index_in_parentrr[r\�find_descendant�is_entry�getObjectContentsAtOffset�displayContentsrs)rTrYr��mode�_objrCr]rwrc�	replicantr�r�rZr_r�r�rVs `            @@�rWr��Script.presentObject�s>����;���~�~�/�/��4�4��8O�8O�PS�8T�8T��G�!�#�.��.��"�.�.�0�W�W�Y�
���M�2�2�M�4N�4N�O�O��G�!�#�.��.���$�$�S�)�)�[�-A�-A�#�-F�-F��$�$����/�/��Q�7��G�!�#�.��.���8�8�J�'��� � �H�H�J�J��(�(�P�P�R�R��&�&�(�P�P�R�R��h�h�'�(�(�G�,=�,=�c�,B�,B�$(�N�N�$B�$B�$D�!�H�'����>�>�6�6�s�;��� � ��%��� � ��%���+�+�C�a�@��X�&�&�s�+�t�3��8T�8T�UX�8Y�\]�8]��c�#K�L�F����u�/�/���>� �0�0��c�e�I����@�#�F���"�"�5�#3�#3�V�T�B�����$�$��$�$����/�/��Q�7��G�!�#�.��.���H�H�[�%�0�	�*�C���K��
���5�+�+�V�T�:�
�����(�A�&���>�>�;�;�C��R������D�,=�,=��N�N�+�+�H�Q�K��N�H�Q�K��N�K����X�&����8�,�t�,rYc�|>�S[R"U5;aURU5 g[TU]U5 g)z@Try to reposition the cursor without having to do a full update.r�N)r�get_all_textrtr1� updateBrailleForNewCaretPosition)rTrYrVs  �rWr�'Script.updateBrailleForNewCaretPosition�s6����v�*�*�3�/�/�����$��
��0��5rYc�J>�SX/n[R"[RUSS5 [R"5RS5(dP[R"5RS5(d'[R"[RSS5 gUR(aVS[R"U5;a<SU/n[R"[RUS5 [TU],"U40UD6 gURS	URRU55nU(d<S
U/n[R"[RUS5 [TU],"U40UD6 gURRU5nUR R#5(d�UR$R#5(d�UR'5R#5(d�U(d[(R*"U5(dd[,R"5R/5(d<SU/n[R"[RUS5 [TU],"U40UD6 gURS5nUcURR1USS
9upUS:�aGU(a@URR3U5(a [5U[R6"U55nURR9X5nUR;XtS9 g)z5Updates the braille display to show the given object.zWEB: updating braille forT�
enableBraille�enableBrailleMonitorzBRAILLE: disabledNr�z#WEB: updating braille in focus moderlz-WEB: updating braille for non-document objectz3WEB: updating braille for unhandled navigation typerZ)rl�getReplicantrrk)rr[r\rr?r@r)r<rrr1rtr�r]r��$isContentEditableWithEmbeddedObjectsrr�rrar�
is_plain_textr�last_event_was_caret_selectionrH�treatAsTextObject�min�get_character_countrKr�)	rTrYr�rcrw�isContentEditablerZr_rVs	        �rWrt�Script.update_braille�sm���.�s�9��
���5�+�+�V�T�4�@��+�+�-�9�9�/�J�J�#�/�/�1�=�=�>T�U�U����� 0� 0�2E�t�L�������1D�1D�S�1I�!I�;�S�A�F����u�/�/���>��G�"�3�/�$�/���8�8�O�T�^�^�-X�-X�Y\�-]�^���E�s�K�F����u�/�/���>��G�"�3�/�$�/�� �N�N�O�O�PS�T���$�$�L�L�N�N��-�-�U�U�W�W��+�+�-�U�U�W�W�$��+�+�H�5�5�&�2�2�4�S�S�U�U�K�S�Q�F����u�/�/���>��G�"�3�/�$�/�����(�#���>��.�.�8�8�x�^b�8�c�K�C��A�:�+����0P�0P�QT�0U�0U����!;�!;�C�!@�A�F��>�>�9�9�#�F�����X��>rYc��SX/n[R"[RUSS5 [R"5RS5(dP[R"5RS5(d'[R"[RSS5 gURSSS9nURS5nURRXS	9nU(d)S
n[R"[RUS5 gUup�SUSU	/n[R"[RUS5 UHn
URX�5 M UR(a:URS
RRS5URS
l
URU	SS9 UR!SSS9 g)zDisplays contents in braille.zWEB: DisplayingTrrzWEB: Braille disabledN)�clearBraille�addLinerlrkz'WEB: Generating braille contents failedzWEB: Generated resultzfocused regionr*� F)�getLinkMask)�panToCursorr)rr[r\rr?r@r)�getNewBrailleLiner��braille_generatorrQ�addBrailleRegionsToLine�regionsr��rstrip�setBrailleFocus�refreshBraille)rTr_r�rcr�rw�resultr,r�
focusedRegion�regions           rWr��Script.displayContentssy��$�X�4��
���5�+�+�V�T�4�@��+�+�-�9�9�/�J�J�#�/�/�1�=�=�>T�U�U����� 0� 0�2I�4�P���%�%�4��%�F���8�8�O�,���'�'�9�9�(�9�[���;�C����� 0� 0�#�t�<��!'���)�7�4D�m�T��
���5�+�+�V�T�:��F��(�(��6���<�<�&*�l�l�2�&6�&=�&=�&D�&D�S�&I�D�L�L���#����]���>�����%��@rYc�>�UR5R5(d4URR5(aUR	5(d[
TU]X5 gURR5nU(dgUSupEpgURRXE5 URU5 URSS9(aURSS9(aMURS5 g)zPans braille to the left.NrF��	panToLeftT)�get_flat_review_presenter�	is_activer]r^�isBrailleBeginningShowingr1r��getPreviousLineContentsr�rt�panBrailleInDirectionr�	rT�
inputEvent�
pan_amountr_rYrxryr�rVs	        �rWr��Script.pan_braille_left6s�����)�)�+�5�5�7�7��.�.�2�2�4�4��0�0�2�2��G�$�Z�<���>�>�9�9�;����"*�1�+���C����'�'��3����C� �
�(�(�5�(�9���(�(�5�(�9�9�	
���E�"�rYc�>�UR5R5(d4URR5(aUR	5(d[
TU]X5 gURR5nU(dgUSupEpgURRXE5 URU5 URSS9(aURSS9(aMURS5 g)zPans braille to the right.NrTr$F)r&r'r]r^�isBrailleEndShowingr1r��getNextLineContentsr�rtr*rr+s	        �rWr��Script.pan_braille_rightPs�����)�)�+�5�5�7�7��.�.�2�2�4�4��*�*�,�,��G�%�j�=���>�>�5�5�7����"*�1�+���C����'�'��3����C� �
�(�(�4�(�8���(�(�4�(�8�8�	
���E�"�rYc�.�UR(d UR[R5 gUR(aUR5 gURnURRUS5up#U(dg[R"U5(a[R"U5 URRX#5nURRX#5 URU5 URU5 SUlg)z@Moves the context to/from the mouseover which has just appeared.NrT)r9rvr�MOUSE_OVER_NOT_FOUNDr;�restorePreMouseOverContextr]�findFirstCaretContextr�is_focusabler�
grab_focusr�r�rsrt)rTr,rYrZr_s     rWr��Script.moveToMouseOverjs����(�(����� =� =�>���"�"��+�+�-���'�'���n�n�:�:�3��B������#�#�C�(�(�����$��>�>�;�;�C�H�����'�'��4����8�$����C� �"&��rYc�&�URupUR5RU5 URR	X5 URURR
X55 URU5 SUlSUl	g)z;Cleans things up after a mouse-over object has been hidden.FN)
r:rU�route_to_objectr]r�rsr�rtr;r9)rTrYrZs   rWr5�!Script.restorePreMouseOverContext�su���/�/����"�"�$�4�4�S�9����'�'��4����4�>�>�C�C�C�P�Q����C� �"'���$(��!rYc���UR(aU(aUR[R5 SUlSUlSUlSnURRXRU5 URRXRU5 URRXRU5 UR5RXRU5 g)NFTzenable sticky browse mode)r>rvr�MODE_BROWSE_IS_STICKYr<r=rr_rr`ra�rTr,�forceMessageres    rWr��Script.enableStickyBrowseMode�s����'�'�<����� >� >�?�!���"'���#'�� �,�����.�.�t�5F�5F��O��"�"�3�3�D�:K�:K�V�T�� � �1�1�$�8I�8I�6�R�� � �"�3�3�D�:K�:K�V�TrYc���UR(aU(aUR[R5 SUlSUlSUlSnURRXRU5 URRXRU5 URRXRU5 UR5RXRU5 g)NTFzenable sticky focus mode)r=rvr�MODE_FOCUS_IS_STICKYr<r>rr_rr`rar?s    rWr��Script.enableStickyFocusMode�s����&�&�,����� =� =�>� ���"&���#(�� �+�����.�.�t�5F�5F��O��"�"�3�3�D�:K�:K�V�T�� � �1�1�$�8I�8I�6�R�� � �"�3�3�D�:K�:K�V�TrYc�,�[R"5RS5(+nU(a UR[R
5 OUR[R5 [R"5RSU5 g)Nr�)rr?r@rvr�MODE_LAYOUT�MODE_OBJECTrA)rTr,r�s   rWr��Script.toggleLayoutMode�sb��)�5�5�7�C�C�L�Q�Q�
������ 4� 4�5����� 4� 4�5��$�$�&�2�2�<��LrYc���URRU5up4UR(a�[R"U5n[
R"U5(aURRUS5 OK[
R"U5(a0URR[R"U5S5 UR(dUR[R5 O�URRU5(d~URR5(dIUR R5(d*UR#5R5(dU(a[R$"U5 UR[R&5 UR(+UlSUlSUlSnURR-XRU5 UR R-XRU5 UR.R-XRU5 UR#5R-XRU5 g)Nr*Fztoggling focus/browse mode)r]rHr<r�
get_parentr�is_list_boxrp�is_menur6rvr�MODE_BROWSE�grabFocusWhenSettingCaretrr�rrar8�
MODE_FOCUSr=r>r_r`)rTr,rlrYr\�parentres       rWr��Script.togglePresentationMode�s���!%���!?�!?�
�!N�������(�(��-�F��&�&�v�.�.����.�.�v�r�:��$�$�V�,�,����.�.�x�/B�/B�6�/J�B�O��/�/��#�#�H�$8�$8�9���>�>�;�;�C�@�@��)�)�Q�Q�S�S��1�1�Y�Y�[�[��/�/�1�Y�Y�[�[�!��#�#�C�(����� 3� 3�4� $� 1� 1�1���"'���#(�� �-�����.�.�t�5F�5F��O��"�"�3�3�D�:K�:K�V�T�� � �1�1�$�8I�8I�6�R�� � �"�3�3�D�:K�:K�V�TrYc��SUSU/n[R"[RUS5 U(a[R"U5(dgU(a[R
"U5(agURRU5nU(d"URRU5(aUnU(GdVSn[R"[RUS5 SUl
SUlURRU5nU(d"URRU5(aUnU(a0U(d)Sn[R"[RUS5 gSU/n[R"[RUS5 SnURRUSU5 URRUSU5 URRUSU5 UR!5RUSU5 gUR#5R%5(aUR#5R'5 S	n	URR)U5(dGURRU5(afU[*R,"5R/5:Xa?URR1US
9up�U
(a[R"U
5(aX�p�[2R4"U5(aFSn[R"[RUS5 URR7US	5up<URR9U5(a<[:R<"U5n
S	U
s=::a[:R>"U5::aO OU
n	URRAX9U5 URCX5S
9 Sn0nURRE5nURRE5=(d UR!5RE5n[FR,"5nURI5=(a U(+nX/S
'URK5(alU(aeURLROS5(aESn[R"[RUS5 URRQX95nGOxURRSU5(a�U(dU(dU(a~[2RT"U5(a[RV"U5(dHSUS/n[R"[RUS5 URRQX95nGO�URRYU5(aISUS/n[R"[RUS5 URRQUS	5nGO\[FR,"5R[5(a~[\R^"U5(dc[2R`"U5(dHSUS/n[R"[RUS5 URRQX95nGO�URRcU5(aHSUS/n[R"[RUS5 URRQX95nGON[2Rd"U5(aISUS/n[R"[RUS5 URRgUS	5nGO�URRiX5(aSSURjS/n[R"[RUS5 URRQUS	5nGOwU(amURLROS5(aMURRmU5(a-SUS/n[R"[RUS5 GOU(a_[R"U5(dDSn[R"[RUS5 URRQX95nO�U(akU(adURLROS5(aDSn[R"[RUS5 URRQX95nO+SUS/n[R"[RUS5 U(a�[R
"U5(ahSn[R"[RUS5 URoSS5(a)S n[R"[RUS5 gU(aURp"U40UD6 O3URrRt"U40UD6n[vRx"U5 UR{U5 URR}U5(aDUR~(d3URR�U5(+nUR�SU5 gUR�(dBUR~(d1UR�X25UR:waUR�SU5 URR�U5(d�S!nURRXRU5 URRXRU5 URRXRU5 UR!5RXRU5 g)"z3Handles changes of focus of interest to the script.zWEB: Focus changing from�toTz/WEB: Locus of focus changed to non-document objFzAWEB: Not refreshing grabs because we weren't in a document beforez.WEB: Refreshing grabs because we left documentz$locus of focus no longer in documentrrkz5WEB: Event source has bogus role. Likely browser bug.NrCzobject:text-caret-movedz8WEB: Last input event was mouse button. Generating line.zWEB: New focusz"content editable. Generating line.zis anchor. Generating line.z!was scrolled to. Generating line.z has math child. Generating line.zis heading. Generating object.zWEB: Sourcez'is same page fragment. Generating line.zobject:children-changed:removez2is recovery from removed child. Generating speech.zJWEB: Last input event was line nav; old_focus is invalid. Generating line.zobject:children-changedzIWEB: Last input event was line nav and children changed. Generating line.z)is not a special case. Generating speech.zWEB: New focus has since diedzobject:state-changed:focusedz7WEB: Have matching focused event. Not speaking contentszlocus of focus now in document)Err[r\r�is_validr�r]r��
isDocumentr)r7r<rr_rr`rar&r'�quit�inFindContainerr	r?�get_active_windowrHr�is_unknown_or_redundantr6r
r�get_caret_offsetrrprtr�r�last_event_was_line_navigation�last_event_was_mouse_button�type�
startswithrKr
�
is_table_cellr��isAnchor�last_event_was_page_navigationrr��is_feed_article�isFocusedWithMathChild�
is_headingr��caretMovedToSamePageFragment�sourcer��_get_queued_eventrsrP�generate_speechrr��_save_focused_object_info�inTopLevelWebAppr>r^r�r=r�r�)rT�event�	old_focus�	new_focusrcrwr,�oldDocumentre�caretOffset�
contextObj�
contextOffsetrZ�
textOffsetr_r�r�r�r��lastCommandWasLineNavr7�announces                      rW�locus_of_focus_changed�Script.locus_of_focus_changed�s���-�i��y�I��
���5�+�+�V�T�:��X�.�.�y�9�9����)�)�)�4�4���>�>�>�>�y�I���D�N�N�5�5�i�@�@� �H��C�C����� 0� 0�#�t�<�).�D�&� %�D���.�.�E�E�i�P�K����� 9� 9�)� D� D�'����Y���#�#�E�$4�$4�c�4�@��F��T�F����u�/�/���>�;�F��!�!�2�2�4��v�F��&�&�7�7��d�F�K��$�$�5�5�d�D�&�I��$�$�&�7�7��d�F�K���)�)�+�5�5�7�7��*�*�,�1�1�3����>�>�)�)�)�4�4��~�~�(�(��3�3��
� 9� 9� ;� M� M� O�O�(,���(F�(F�U]�(F�(^�%�J��h�/�/�
�;�;�)3�;��.�.�y�9�9�I�C����� 0� 0�#�t�<� $��� D� D�Y�PQ� R��I��>�>�+�+�I�6�6��0�0��;�J��J�G�&�"<�"<�Y�"G�G�(�����&�&�y�x�H����I��>�����!%�!6�!6�!^�!^�!`���&�&�N�N�P�
T��'�'�)�Q�Q�S�	 �&�1�1�3�� '� F� F� H�!+�*�*�	�%�Z���.�.�0�0�U����&�&�'@�A�A�L�C����� 0� 0�#�t�<��~�~�=�=�i�U�H�
�^�^�
@�
@��
K�
K�&�*A�EZ��-�-�i�8�8�X�=N�=N�y�=Y�=Y�&�	�3W�X�F����u�/�/���>��~�~�=�=�i�U�H�
�^�^�
$�
$�Y�
/�
/�&�	�3P�Q�F����u�/�/���>��~�~�=�=�i��K�H�
 �
,�
,�
.�
M�
M�
O�
O��&�&�y�1�1� �0�0��;�;�&�	�3V�W�F����u�/�/���>��~�~�=�=�i�U�H�
�^�^�
2�
2�9�
=�
=�&�	�3U�V�F����u�/�/���>��~�~�=�=�i�U�H�
�
#�
#�I�
.�
.�&�	�3S�T�F����u�/�/���>��~�~�?�?�	�1�M�H�
�^�^�
8�
8��
J�
J�#�U�\�\�3\�]�F����u�/�/���>��~�~�=�=�i��K�H�
�u�z�z�,�,�-M�N�N����1�1�)�<�<�&�	�J�L�F����u�/�/���>�
"�8�+<�+<�Y�+G�+G�^�C����� 0� 0�#�t�<��~�~�=�=�i�U�H�
"�u����1F�1F�G`�1a�1a�]�C����� 0� 0�#�t�<��~�~�=�=�i�U�H�&�	�3^�_�F����u�/�/���>���)�)�)�4�4�1�C����� 0� 0�#�t�<��%�%�&D�d�K�K�O���#�#�E�$4�$4�c�4�@������x�0�4�0��.�.�>�>�y�Q�D�Q�J��L�L��$��&�&�y�1��>�>�*�*�9�5�5�d�>V�>V��>�>�;�;�I�F�F�H��&�&�t�X�6���&�&��+�+�� � ��6�$�:K�:K�K��'�'��h�7��~�~�/�/�	�:�:�5�F��!�!�2�2�4�9J�9J�F�S��&�&�7�7��>O�>O�QW�X��$�$�5�5�d�<M�<M�v�V��$�$�&�7�7��>O�>O�QW�X�rYc��URRUR5(d)Sn[R"[R
US5 gUR(d)Sn[R"[R
US5 g[R"UR5(aWSn[R"[R
US5 [R"5RXR5 gg)z>Callback for object:state-changed:active accessibility events.�,WEB: Event source is not in document contentTFz2WEB: Ignoring because event source is now inactive�8WEB: Event handled: Setting locusOfFocus to event source)r]r^rfrr)r\�detail1r�is_dialog_or_alertr	r?r��rTrkr,s   rW�on_active_changed�Script.on_active_changedns����~�~�/�/����=�=�@�C����� 0� 0�#�t�<���}�}�F�C����� 0� 0�#�t�<���)�)�%�,�,�7�7�L�C����� 0� 0�#�t�<��%�%�'�:�:�5�,�,�O��rYc�,�[R"URS5 UR(a:UR(a)Sn[
R"[
RUS5 gURRUR5(d)Sn[
R"[
RUS5 gURR5nU(a8X1R:wa)Sn[
R"[
RUS5 g[R"5R5n[R"UR5(dO[R "XARS5(d)Sn[
R"[
RUS5 gUR"R%5 URR'[R("UR55(a)Sn[
R"[
RUS5 gURR+5upV[R,"U5(dURR/5 Sn[0R"5nUR3S	5(a,SnS
n[
R"[
RUS5 GO�[R4"UR5(dQ[R6"UR5(d,SnSn[
R"[
RUS5 GO[8R:"UR5(d+SnSn[
R"[
RUS5 O�UR(dYUR<(aH[R,"U5(a-SnS
U/n	[
R>"[
RU	S5 ObUR3S5[@RB:wa?UR(+nSUSU3/n	[
R>"[
RU	S5 U(Ga/[8R:"UR5RES5(a�UR(a URG[HRJ5 O�[RL"UR5(a�UR3S5[@RB:wa![RL"UR5nO1[HRN[RL"UR5-nURGUSS9 OURG[HRP5 URUlUR(agURRS5 [RT"U5(aSn[R"5RW5(ddURRU5(dD[RX"U5(a)Sn[
R"[
RUS5 g[0R"5R3S5(asU(alSUR/n	[
R>"[
RU	S5 [8RZ"UR5n
U
(aURGU
5 URR+5upV[R\"UR5(d�URR_UR5(abSUS/n	[
R>"[
RU	S5 [R"5RaX5 URcSS5 gUReU5UR<:waURgS5 U(d)Sn[
R"[
RUS5 gURRiU5(aOSU/n	[
R>"[
RU	S5 [R"5RaX5 gURRkU5(ak[RX"U5(aPSUS/n	[
R>"[
RU	S5 [R"5RaX5 gUS:�aPSUS/n	[
R>"[
RU	S5 [R"5RaX5 g[RX"[R"5R55(dPSUS /n	[
R>"[
RU	S5 [R"5RaXS5 URmU5 [8Rn"UR5(a)S!n[
R"[
RUS5 g[0R"5R3S"5(dSS#n[
R"[
RUS5 URqURRsXV55 g[0R"5R3S$5(a:S%n[
R"[
RUS5 URuS5 gS&n[
R"[
RUS5 g)'z<Callback for object:state-changed:busy accessibility events.zbusy-changed event.z/WEB: Ignoring: Already loading document contentTrxFz2WEB: Ignoring: Event source is not active documentz6WEB: Ignoring: Not document and not something we're in�.WEB: Ignoring: Event source is nested document�onlySpeakDisplayedTextz#WEB: Not presenting due to settingsz<WEB: Not presenting because source is not showing or visiblez,WEB: Not presenting because source lacks URIz)WEB: Not presenting due to focus mode for�speechVerbosityLevelz(WEB: Brief verbosity set. Should presentz: �http)�resetStylesNz9WEB: Not presenting content, focus is outside of documentr-zWEB: Getting page summary forzWEB: Setting locusOfFocus tozwith sticky focus modez WEB: Could not get caret contextz.WEB: Setting locus of focus to focusModeWidgetz+WEB: Setting locus of focus to focused linkz. No SayAll.rz*WEB: Setting locus of focus to context objz. No SayAllz(no notification)z*WEB: Not doing SayAll due to page fragmentr,z5WEB: Not doing SayAll due to sayAllOnLoad being False�enableSpeechzWEB: Doing SayAllz5WEB: Not doing SayAll due to enableSpeech being False);r�clear_all_cache_nowrfrzr6rr)r\r]r^�activeDocumentr	r?�get_locus_of_focus�is_document_webr�is_ancestorr�
clearCachermrJrHrT�clearCaretContextrr@�
is_showing�
is_visibler�get_urir<r[r�VERBOSITY_LEVEL_VERBOSEr^rvr�PAGE_LOADING_STARTr��PAGE_LOADING_END_NAMED�PAGE_LOADING_ENDrhr��
focus_is_dead�
is_focused�get_document_summary�is_busy�isTopLevelWebAppr�r�r�r�r��isLinkrt�get_document_uri_fragmentrsrKr�)rTrkr,r��focusrYrZ�
shouldPresent�mgrrc�summarys           rW�on_busy_changed�Script.on_busy_changed�s��	�'�'����6K�L��=�=�T�9�9�C�C����� 0� 0�#�t�<���~�~�/�/����=�=�@�C����� 0� 0�#�t�<�����6�6�8���n���<�F�C����� 0� 0�#�t�<���)�)�+�>�>�@���*�*�5�<�<�8�8��'�'��|�|�T�B�B�J�C����� 0� 0�#�t�<���"�"�-�-�/��>�>�.�.�x�/B�/B�5�<�<�/P�Q�Q�B�C����� 0� 0�#�t�<���n�n�4�4�6���� � ��%�%��N�N�,�,�.��
��*�*�,���?�?�3�4�4�!�M�7�C����� 0� 0�#�t�<��(�(����6�6�+�:P�:P�QV�Q]�Q]�:^�:^�!�M�P�C����� 0� 0�#�t�<��#�#�E�L�L�1�1�!�M�@�C����� 0� 0�#�t�<����4�#4�#4��9J�9J�3�9O�9O�!�M�A�3�G�F����u�/�/���>�
�_�_�3�
4��8X�8X�
X� %�
�
�-�M�@�#��M�?�G[�\�F����u�/�/���>��Z�/�/����=�H�H��P�P��}�}��#�#�H�$?�$?�@��"�"�5�<�<�0�0��?�?�#9�:�h�>^�>^�^�"�+�+�E�L�L�9�C�"�9�9�H�<M�<M�e�l�l�<[�[�C��#�#�C�U�#�;��#�#�H�$=�$=�>�',�}�}��$��=�=�����)�)�+����C� � ��C��(�(�*�8�8�:�:��>�>�3�3�E�:�:��%�%�e�,�,�M�C����� 0� 0�#�t�<���'�'�)�5�5�6I�J�J�}�5�u�|�|�D�F����u�/�/���>� �5�5�e�l�l�C�G���#�#�G�,��n�n�4�4�6����"�"�5�<�<�0�0��~�~�.�.�u�|�|�<�<�4�c�;S�T�F����u�/�/���>��%�%�'�:�:�5�F��&�&�t�T�2�����S�!�T�%6�%6�6��'�'��-��4�C����� 0� 0�#�t�<���>�>�+�+�C�0�0�F��L�F����u�/�/���>��%�%�'�:�:�5�F���>�>� � ��%�%�+�*@�*@��*E�*E�C�S�.�Y�F����u�/�/���>��%�%�'�:�:�5�F���A�:�B�C��W�F����u�/�/���>��%�%�'�:�:�5�F���%�%�m�&?�&?�&A�&T�&T�&V�W�W�B�C�I\�]�F����u�/�/���>��%�%�'�:�:�5�u�M����C� ��/�/����=�=�>�C����� 0� 0�#�t�<��"�-�-�/�;�;�N�K�K�I�C����� 0� 0�#�t�<����t�~�~�E�E�c�R�S���
)�
)�
+�
7�
7��
G�
G�%�C����� 0� 0�#�t�<��L�L���
�J�C����� 0� 0�#�t�<�rYc�>�[R"U5nURRUR5nU(d�URRU5(a)Sn[R"[RUS5 gURRU5(a)Sn[R"[RUS5 gSn[R"[RUS5 gURRUSS5upVSUSU/n[R"[RUS5 URR5(a)Sn[R"[RUS5 gURR5(a)S	n[R"[RUS5 gUR5R5(a)S
n[R"[RUS5 g[ R""5R%5(Ga�Sn[R"[RUS5 URUR&4XV4:Xa)Sn[R"[RUS5 gURUR&4UR(:Xa)S
n[R"[RUS5 gURUR&4UlSn[R"[RUS5 URR+URUR&5 URR-UR5(+n[.R""5R1XRUS5 gU[2R4:Xa)Sn[R"[RUS5 gURR75(a�Sn[R"[RUS5 UR9URUR&5 UR;[.R""5R=55 gURR?U5(d)Sn[R"[RUS5 gU[2R@:Xa)Sn[R"[RUS5 gU[2RB[2RD4;aOSn[R"[RUS5 URGURUR&5 gU[2RH[2RJ4;aOSn[R"[RUS5 URGURUR&5 g[.R""5R=5n	URRMX�R5(ay[ R""5RO5(dQ[ R""5RQ5(d)Sn[R"[RUS5 gURRSX5(a)Sn[R"[RUS5 gURT(aIURRWU5(a)Sn[R"[RUS5 gURRYU5(aUSn[R"[RUS5 UR[UR5 UR]U5 gURR_UR5(dN[R`"UR5(d)Sn[R"[RUS5 gS=n=p�[bRd"URSS5 URT(aURUR&peO2URRgURUR&5upVU[2Rh:Xa/Sn[R"[RUS5 S=n=p�GOmURRkU5(a/Sn[R"[RUS5 S=n=p�GOURU	:wa�[R`"UR5(a�[Rl"UR5(d%[Rn"UR5(dOSn[R"[RUS5 [ R""5Rq5=n=p�OP[ R""5Rs5(a(Sn[R"[RUS5 SUSUS U3/n[R"[RUS5 URR+XVU5 [.R""5R1XX�5 U$)!z:Callback for object:text-caret-moved accessibility events.�3WEB: Ignoring event believed to be browser UI noiseT�@WEB: Ignoring event believed to be browser UI autocomplete noiserxFzWEB: Context: rE�.WEB: Event ignored: Last command was caret nav�/WEB: Event ignored: Last command was struct nav�.WEB: Event ignored: Last command was table navz&WEB: Last input event was mouse buttonz(WEB: Event is for current caret context.z,WEB: Event is for last mouse button context.z1WEB: Event handled: Last command was mouse buttonz4WEB: Event ignored: Caret moved due to focus change.z+WEB: Event handled: Presenting find results�4WEB: Event ignored: Not from locus of focus documentz1WEB: Event ignored: Caret moved due to UI update.z6WEB: Event handled: Updating position due to insertionz5WEB: Event handled: Updating position due to deletionz+WEB: Event ignored: Editable combobox noisez&WEB: Event ignored: Autocomplete noisezEWEB: Event ignored: Caret moved outside active grid during focus modez=WEB: Event handled as the value-change event we wish we'd getzJWEB: Event ignored: Was for non-editable object we're treating as textlessz%Updating state for caret moved event.z"WEB: Caret moved due to scrolling.zWEB: Caret moved to fragment.z5WEB: Editable object is not (yet) the locus of focus.z0WEB: Caret moved due to native caret navigation.z#WEB: Setting context and focus to: z
, notify: ):r�get_text_event_reasonr]r�rf�eventIsBrowserUINoiserr)r\�!eventIsBrowserUIAutocompleteNoiserHr[rr�rrarr?r\rzr8rp�isEntryDescendantr	r�r�FOCUS_CHANGErWr{rir��eventIsFromLocusOfFocusDocument�	UI_UPDATE�TYPING�TYPING_ECHOABLE�_saveLastCursorPosition�DELETE�	BACKSPACE�isItemForEditableComboBox�#last_event_was_character_navigation�'last_event_was_line_boundary_navigation�eventIsAutocompleteNoiser<�caretMovedOutsideActiveGrid�treatEventAsSpinnerValueChangert�_presentTextAtNewCaretPositionr
r�r�clear_cacher6�NAVIGATION_BY_PAGErer�r7r[�last_event_was_caret_navigation)rTrkrerwr,rYrZrc�notifyr��force�handleds            rW�on_caret_moved�Script.on_caret_moveds���2�2�5�9���>�>�>�>�u�|�|�L����~�~�3�3�E�:�:�K���#�#�E�$4�$4�c�4�@���~�~�?�?��F�F�X���#�#�E�$4�$4�c�4�@��@�C����� 0� 0�#�t�<���n�n�4�4�X�u�e�L���"�C��v�6��
���5�+�+�V�T�:�� � �H�H�J�J�B�C����� 0� 0�#�t�<���%�%�M�M�O�O�C�C����� 0� 0�#�t�<���#�#�%�M�M�O�O�B�C����� 0� 0�#�t�<���*�*�,�H�H�J�J�:�C����� 0� 0�#�t�<����e�m�m�,��
�=�@���#�#�E�$4�$4�c�4�@�����e�m�m�,��0L�0L�L�D���#�#�E�$4�$4�c�4�@��+0�<�<����+F�D�(�E�C����� 0� 0�#�t�<��N�N�*�*�5�<�<����G����9�9�%�,�,�G�G�F��%�%�'�:�:�5�,�,�PV�X\�]���_�1�1�1�H�C����� 0� 0�#�t�<���>�>�)�)�+�+�?�C����� 0� 0�#�t�<��#�#�E�L�L�%�-�-�@��*�*�=�+D�+D�+F�+Y�+Y�+[�\���~�~�=�=�e�D�D�H�C����� 0� 0�#�t�<���_�.�.�.�E�C����� 0� 0�#�t�<���o�,�,�o�.M�.M�N�N�J�C����� 0� 0�#�t�<��(�(����u�}�}�E���o�,�,�o�.G�.G�H�H�I�C����� 0� 0�#�t�<��(�(����u�}�}�E���)�)�+�>�>�@���>�>�3�3�E�<�<�H�H�&�2�2�4�X�X�Z�Z�&�2�2�4�\�\�^�^�?�C����� 0� 0�#�t�<���>�>�2�2�5�C�C�:�C����� 0� 0�#�t�<��������!K�!K�E�!R�!R�Y�C����� 0� 0�#�t�<���>�>�8�8��?�?�Q�C����� 0� 0�#�t�<�������-��/�/��6���~�~�/�/����=�=��*�*�5�<�<�8�8�^�C����� 0� 0�#�t�<��#(�(��(�����U�\�\�5�2Y�Z�����,�,��
�
���.�.�>�>�u�|�|�U�]�]�[�K�C��_�7�7�7�6�C����� 0� 0�#�t�<�'+�+�F�+�U�W�
�^�^�
8�
8��
?�
?�1�C����� 0� 0�#�t�<�'+�+�F�+�U�W�
�\�\�U�
"�{�'>�'>�u�|�|�'L�'L��$�$�U�\�\�2�2�+�:R�:R�SX�S_�S_�:`�:`�I�C����� 0� 0�#�t�<�#�/�/�1�P�P�R�
S�F�
S�U�W�!�
,�
,�
.�
N�
N�
P�
P�D�C����� 0� 0�#�t�<�7��d�F�j�Y_�X`�La�b��
���5�+�+�V�T�:����&�&�s�H�=��!�!�#�6�6�u�6�Q��rYc�T�Sn[R"[RUS5 g)z?Callback for object:state-changed:checked accessibility events.�?WEB: This event is is handled by the toolkit or default script.TF�rr)r\r|s   rW�on_checked_changed�Script.on_checked_changed��%��P��
���E�,�,�c�4�8�rYc�j^�[R"TRS5 URR	T5(a)Sn[
R"[
RUS5 g[R"TR5nURRTR5nU(Ga�U(Gd�[R"5R5nTRU:XaDSn[
R"[
RUS5 URRUSS9 GOj[R"5R5(aCSn[
R"[
RUS5 URRUSS9 O�[R "UU4Sj5(aCSn[
R"[
RUS5 URRUSS9 O�S	n[
R"[
RUS5 URR#5 OYU(a)S
n[
R"[
RUS5 gSn[
R"[
RUS5 gUR$(a)S
n[
R"[
RUS5 g[R&"U5(d,SUS/n[
R("[
RUS5 g[R*"U5(a,SUS/n[
R("[
RUS5 gURR-TTR.5(a)Sn[
R"[
RUS5 g[R0"TR.5(a�Sn[
R"[
RUS5 UR3TR.SS9 [R4"TR.5nU(a�URR7U5(+nSU/n[
R("[
RUS5 [R"5R9TXx5 URR;US5 gUR<(a�S[>R>"5UR<-
s=:aS:a�O g/n	U	RA[BRD5 U	RGURHRKTR.SS95 [LRN"U	5 TR.Ul(URRS5Ul*gg)z>Callback for object:children-changed:add accessibility events.�children-changed event.r�T�#WEB: Dumping cache: source is focus��preserveContext�WEB: Dumping cache: dead focusc�">�UTR:H$r1�rf�r�rks �rWr��*Script.on_children_added.<locals>.<lambda>������e�l�l�9JrY�/WEB: Dumping cache: source is ancestor of focus�WEB: Not dumping full cachez%WEB: Ignoring event from live region.�,WEB: Could not get document for event sourceF�7WEB: Ignoring because document content is being loaded.zWEB: Ignoring becausez
is not valid.zis busy.zAWEB: Event handled by updating locusOfFocus and context to child.zWEB: Presenting event.any_datar�z.WEB: Setting locusOfFocus and caret context torr�r�)+rr�rfr]r�rr)r\�is_live_regionr�r	r?r��	dumpCacher�r�
find_ancestorrhr6rTr[r��handleEventFromContextReplicant�any_datar�r��get_focused_objectr
r�rp�lastMouseRoutingTime�timer6r�NEW_ITEM_ADDEDr4rPrhrr�r9rH�preMouseOverContext)
rTrkr,r�rwr�rc�focusedr�r7s
 `        rW�on_children_added�Script.on_children_added�s���	�'�'����6O�P��>�>�/�/��6�6�G�C����� 0� 0�#�t�<��$�3�3�E�L�L�A���>�>�>�>�u�|�|�L���N�!�-�-�/�B�B�D�E��|�|�u�$�;���#�#�E�$4�$4�c�4�@����(�(��4�(�H��*�*�,�:�:�<�<�6���#�#�E�$4�$4�c�4�@����(�(��4�(�H��'�'��/J�K�K�G���#�#�E�$4�$4�c�4�@����(�(��4�(�H�3���#�#�E�$4�$4�c�4�@����1�1�3�
�9�C����� 0� 0�#�t�<��@�C����� 0� 0�#�t�<���'�'�K�C����� 0� 0�#�t�<��� � ��*�*�-�x��I�F����u�/�/���>�����x�(�(�-�x��D�F����u�/�/���>���>�>�9�9�%����P�P�U�C����� 0� 0�#�t�<��������/�/�2�C����� 0� 0�#�t�<����u�~�~���>�!�4�4�U�^�^�D�G��!�^�^�=�=�g�F�F��J�G�T���"�"�5�#3�#3�V�T�B��)�)�+�>�>�u�g�V����.�.�w��:���$�$��T�Y�Y�[�4�;T�;T�-T�)X�WX�)X���J����h�5�5�6����d�3�3�C�C�E�N�N�Z^�C�_�`��L�L��$�(-���D�%�'+�~�~�'E�'E�'G�D�$��rYc�^�[R"TRS5 URR	TR5(d)Sn[
R"[
RUS5 gUR(a)Sn[
R"[
RUS5 g[R"TR5(arURRT5(a)Sn[
R"[
RUS5 gSn[
R"[
RUS5 gURRTR5nU(Ga�[R"5R5nTRU:XaDSn[
R"[
RUS5 URRUSS	9 GO[R"5R!5(aCS
n[
R"[
RUS5 URRUSS	9 O�["R$"UU4Sj5(aCSn[
R"[
RUS5 URRUSS	9 OBS
n[
R"[
RUS5 URR'5 URRT5(a)Sn[
R"[
RUS5 gg)zBCallback for object:children-changed:removed accessibility events.r�z-WEB: Event source is not in document content.TFr�z1WEB: Event handled for removed live-region child.z'WEB: Ignoring removal from live region.r�r�r�c�">�UTR:H$r1r�r�s �rWr��,Script.on_children_removed.<locals>.<lambda>=r�rYr�r�z%WEB: Event handled for removed child.)rr�rfr]r^rr)r\r6r��handleEventForRemovedChildr�r	r?r�r�r�rr�rh)rTrkr,rwr�s `   rW�on_children_removed�Script.on_children_removedsV���	�'�'����6O�P��~�~�/�/����=�=�A�C����� 0� 0�#�t�<���'�'�K�C����� 0� 0�#�t�<���%�%�e�l�l�3�3��~�~�8�8��?�?�I���#�#�E�$4�$4�c�4�@��@���#�#�E�$4�$4�c�4�@���>�>�>�>�u�|�|�L���!�-�-�/�B�B�D�E��|�|�u�$�;���#�#�E�$4�$4�c�4�@����(�(��4�(�H��*�*�,�:�:�<�<�6���#�#�E�$4�$4�c�4�@����(�(��4�(�H��'�'��/J�K�K�G���#�#�E�$4�$4�c�4�@����(�(��4�(�H�3���#�#�E�$4�$4�c�4�@����1�1�3��>�>�4�4�U�;�;�9�C����� 0� 0�#�t�<��rYc�p�URRUR5(d)Sn[R"[R
US5 g[R"5R5nUR[R"U5:wa)Sn[R"[R
US5 gUR[R5 [R"U[ R"5n[R$"US5nU(aURU5 g)z:Callback for object:column-reordered accessibility events.rxTF�WEB: focus is not in this table)r]r^rfrr)r\r	r?r�rr�rvr�TABLE_REORDERED_COLUMNSr�find_ancestor_inclusiver�is_table_header�&get_presentable_sort_order_from_header�rTrkr,r��headers     rW�on_column_reordered�Script.on_column_reorderedMs����~�~�/�/����=�=�@�C����� 0� 0�#�t�<���)�)�+�>�>�@���<�<�7�,�,�U�3�3�3�C����� 0� 0�#�t�<�����H�<�<�=��1�1�%��9T�9T�U���<�<�V�T�J�������$�rYc��[R"URS5 URR	[
R"UR55(a)Sn[R"[RUS5 gSn[R"[RUS5 SUl
URR5 g)z9Callback for document:load-complete accessibility events.zload-complete event.r�Tz6WEB: Updating loading state and resetting live regionsF)
rr�rfr]rmrrJrr)r\r6r`�resetr|s   rW�on_document_load_complete� Script.on_document_load_completebs���	�'�'����6L�M��>�>�.�.�x�/B�/B�5�<�<�/P�Q�Q�B�C����� 0� 0�#�t�<��F��
���E�,�,�c�4�8�',��$�� � �&�&�(�rYc�0�URR[R"UR55(a)Sn[
R"[
RUS5 gSn[
R"[
RUS5 SUlg)z8Callback for document:load-stopped accessibility events.r�T�WEB: Updating loading stateF�	r]rmrrJrfrr)r\r6r|s   rW�on_document_load_stopped�Script.on_document_load_stoppedqsp���>�>�.�.�x�/B�/B�5�<�<�/P�Q�Q�B�C����� 0� 0�#�t�<��+��
���E�,�,�c�4�8�',��$�rYc�0�URR[R"UR55(a)Sn[
R"[
RUS5 gSn[
R"[
RUS5 SUlg)z2Callback for document:reload accessibility events.r�Tr�r�r|s   rW�on_document_reload�Script.on_document_reload~sp���>�>�.�.�x�/B�/B�5�<�<�/P�Q�Q�B�C����� 0� 0�#�t�<��+��
���E�,�,�c�4�8�'+��$�rYc�p�URRUR5(d)Sn[R"[R
US5 g[R"5R5nURRSS9upESUSU/n[R"[R
US5 [R"U5(d^URU:XaNSn[R"[R
US5 URRURS5 g)	z@Callback for object:state-changed:expanded accessibility events.rxTF)�searchIfNeeded�WEB: Caret context isrEz*WEB: Setting caret context to event sourcer)r]r^rfrr)r\r	r?r�rHr[rrTrp)rTrkr,r�rYrZrcs       rW�on_expanded_changed�Script.on_expanded_changed�s����~�~�/�/����=�=�@�C����� 0� 0�#�t�<���)�)�+�>�>�@���n�n�4�4�E�4�J���)�3��f�=��
���5�+�+�V�T�:�� � ��%�%�%�,�,�%�*?�>�C����� 0� 0�#�t�<��N�N�*�*�5�<�<��;�rYc�>^�TR(d)Sn[R"[RUS5 gURRTR5nU(d)Sn[R"[RUS5 g[R"5R5nURRU5nXS:wa,SUSU/n[R"[RUS5 URRTR5(GaUR(a)Sn[R"[RUS5 O�[R"TR5(aI[R "UU4Sj5(a)S	n[R"[RUS5 gS
n[R"[RUS5 [R"5R#TTR5 g[R$"TR5(a)Sn[R"[RUS5 g[R&"TR5(a�[R("UTRS5(a)Sn[R"[RUS5 gS
n[R"[RUS5 [R"5R#TTR5 gURR+TTR5(a)Sn[R"[RUS5 gURR-5upxSUSU/n[R"[RUS5 [R."U5(aXS:wGa�SUS/n[R"[RUS5 URR15 URR3TR5upxU(Ga0URR5U5n	SUSU/n[R"[RUS5 [R"5R#TXy5 U	(d�Uc�Sn
UR6R9XR:U
5 UR<R9XR:U
5 UR>R9XR:U
5 URA5R9XR:U
5 URRCXx5 O(Sn[R"[RUS5 UR6RE5(a)Sn[R"[RUS5 gUR<RE5(a)Sn[R"[RUS5 gURA5RE5(a)Sn[R"[RUS5 g[RF"TR5(a%[RH"TR5(d)Sn[R"[RUS5 g[RJ"TR5(d)Sn[R"[RUS5 gU(d)Sn[R"[RUS5 g[LR"5RO5(aiSn[R"[RUS5 [R"5R#TU5 URRCXx5 g[RH"U5n[RP"USS5 [RH"U5nX�:wa-SUSU/n[R"[RUS5 gURRSU5(aS n
O�URRUU5(aU(aS!n
O\URRWU5(aS"n
O9UTR:Xa([XRZ"TR5(aS#n
OgS$US%U
S&/n[R"[RUS5 [R"5R#TU5 g)'z?Callback for object:state-changed:focused accessibility events.z-WEB: Ignoring because event source lost focusTr�FzWEB: document changed fromrSz@WEB: Web app descendant claimed focus, but browse mode is stickyc�">�UTR:H$r1r�r�s �rWr��+Script.on_focused_changed.<locals>.<lambda>�s���!�u�|�|�:KrYz<WEB: Event believed to be side effect of tooltip navigation.z>WEB: Event handled: Setting locusOfFocus to web app descendantzWEB: Event source is editablez*WEB: Ignoring event from ancestor of focusryzBWEB: Event handled by updating locusOfFocus and context to source.rrEzWEB: Clearing context - objz is not valid or document changedz"WEB: Updating focus and context toz,updating locus of focus without notificationz$WEB: Search for caret context failedr�r�r�z6WEB: Event ignored: Source is not focusable or focusedz@WEB: Deferring to other scripts for handling non-document source�'WEB: Unable to get valid context objectz2WEB: Event handled: Focus changed due to scrollingzSanity-checking focused state.zWEB: Focused state ofz
changed tozContext is anchorz!Context is not a non-focused linkz$Context is child of current fragmentzDocument URI is fragmentz+WEB: Event handled: Setting locusOfFocus to�(rA).rzrr)r\r]rmrfr	r?r�r[r�r>r�is_tool_tiprr�r�r�r{r�r�rHrTr��searchForCaretContextrWrr_r<rr`rarpr�r7r�r�rrar�r`r��isChildOfCurrentFragmentrr�)rTrkr,rwr��prevDocumentrcrYrZr�re�
wasFocused�	isFocused�causes `            rW�on_focused_changed�Script.on_focused_changed�s�����}�}�A�C����� 0� 0�#�t�<���>�>�6�6�u�|�|�D���@�C����� 0� 0�#�t�<���)�)�+�>�>�@���~�~�:�:�5�A���#�2�L�$��Q�F����u�/�/���>��>�>�,�,�U�\�\�:�:��'�'�X���#�#�E�$4�$4�c�4�@��(�(����6�6��(�(��0K�L�L�T���#�#�E�$4�$4�c�4�@��V���#�#�E�$4�$4�c�4�@��)�)�+�>�>�u�e�l�l�S���"�"�5�<�<�0�0�1�C����� 0� 0�#�t�<���)�)�%�,�,�7�7��#�#�E�5�<�<��>�>�B���#�#�E�$4�$4�c�4�@�
�Q���#�#�E�$4�$4�c�4�@��)�)�+�>�>�u�e�l�l�S���>�>�9�9�%����N�N�V�C����� 0� 0�#�t�<���n�n�4�4�6���)�3��f�=��
���5�+�+�V�T�:�� � ��%�%��)A�3�S�:\�]�F����u�/�/���>��N�N�,�,�.��.�.�>�>�u�|�|�L�K�C�����7�7��>��>��T�6�R���"�"�5�#3�#3�V�T�B��)�)�+�>�>�u�c�R��,�"6�K�F��)�)�:�:�4�AR�AR�TZ�[��.�.�?�?��FW�FW�Y_�`��,�,�=�=�d�DU�DU�W]�^��,�,�.�?�?��FW�FW�Y_�`����.�.�s�;�<���#�#�E�$4�$4�c�4�@�� � �H�H�J�J�B�C����� 0� 0�#�t�<���%�%�M�M�O�O�C�C����� 0� 0�#�t�<���#�#�%�M�M�O�O�B�C����� 0� 0�#�t�<���(�(����6�6�;�;Q�;Q�RW�R^�R^�;_�;_�J�C����� 0� 0�#�t�<���&�&�u�|�|�4�4�T�C����� 0� 0�#�t�<���;�C����� 0� 0�#�t�<���*�*�,�K�K�M�M�F�C����� 0� 0�#�t�<��%�%�'�:�:�5�#�F��N�N�*�*�3�7��!�+�+�C�0�
����S�%�)I�J��*�*�3�/�	��"�-�s�L�)�L�F����u�/�/���>���>�>�"�"�3�'�'�'�E��.�.�'�'��,�,�Y�7�E�
�^�^�
4�
4�S�
9�
9�:�E�
����
%�*�*N�*N�u�|�|�*\�*\�.�E��?��c�5�RU�V��
���5�+�+�V�T�:��!�!�#�6�6�u�c�B�rYc��g)z/Callback for mouse:button accessibility events.F�)rTrks  rW�on_mouse_button�Script.on_mouse_button-s��rYc��URRU5(a)Sn[R"[RUS5 gg)z;Callback for object:property-change:accessible-name events.r�TF)r]r�rr)r\r|s   rW�on_name_changed�Script.on_name_changed2s<���>�>�/�/��6�6�G�C����� 0� 0�#�t�<��rYc�p�URRUR5(d)Sn[R"[R
US5 g[R"5R5nUR[R"U5:wa)Sn[R"[R
US5 gUR[R5 [R"U[ R"5n[R$"US5nU(aURU5 g)z7Callback for object:row-reordered accessibility events.rxTFr�)r]r^rfrr)r\r	r?r�rr�rvr�TABLE_REORDERED_ROWSrr�rr�r�r�s     rW�on_row_reordered�Script.on_row_reordered<s����~�~�/�/����=�=�@�C����� 0� 0�#�t�<���)�)�+�>�>�@���<�<�7�,�,�U�3�3�3�C����� 0� 0�#�t�<�����H�9�9�:��1�1�%��9T�9T�U���<�<�V�T�J�������$�rYc��URRU5(a)Sn[R"[RUS5 g[
R"5R5nURRU5(aiSn[R"[RUS5 UR(a/[R"US9 URURUSS9 gURRUR5(d)Sn[R"[RUS5 gX1R:wa)Sn[R"[RUS5 gg)	z@Callback for object:state-changed:selected accessibility events.r�Tz0WEB: Event believed to be browser UI page switch)re)rCr�rxFz6WEB: Ignoring because event source is not locusOfFocus)r]r�rr)r\r	r?r��eventIsBrowserUIPageSwitchrzrr�r�rfr^)rTrkr,r�s    rW�on_selected_changed�Script.on_selected_changedQs���>�>�;�;�E�B�B�T�C����� 0� 0�#�t�<���)�)�+�>�>�@���>�>�4�4�U�;�;�D�C����� 0� 0�#�t�<��}�}��/�/�s�;��"�"�5�<�<�%�4�"�P���~�~�/�/����=�=�@�C����� 0� 0�#�t�<���L�L� �J�C����� 0� 0�#�t�<��rYc�<�URRU5(a)Sn[R"[RUS5 gURRU5(a)Sn[R"[RUS5 gURR
UR5(d)Sn[R"[RUS5 gURR
[R"5R55(d)Sn[R"[RUS5 gURRU5(d)Sn[R"[RUS5 gURRUR5(a�UR(aK[R"URSS5 S	n[R"[RUS5 gS
n[R"[RUS5 gURR!U5(a)Sn[R"[RUS5 gURR#5up4[R$"X1R5nU(aIURR'U5(a)Sn[R"[RUS5 gg)
z;Callback for object:selection-changed accessibility events.r�Tz9WEB: Ignoring event believed to be browser UI page switchrxFz;WEB: Event ignored: locusOfFocus is not in document contentr�z-Workaround for missing events on descendants.z?WEB: Event source is web app descendant and we're in focus modez@WEB: Event source is web app descendant and we're in browse modezWEB: Event ignored: IrrelevantzHWEB: Ignoring: Common ancestor of context and event source is text block)r]r�rr)r\r!r^rfr	r?r�r�r�r<rr��&eventIsIrrelevantSelectionChangedEventrH�get_common_ancestor�isTextBlockElement)rTrkr,rYrZ�ancestors      rW�on_selection_changed�Script.on_selection_changedns<���>�>�;�;�E�B�B�T�C����� 0� 0�#�t�<���>�>�4�4�U�;�;�M�C����� 0� 0�#�t�<���~�~�/�/����=�=�@�C����� 0� 0�#�t�<���~�~�/�/�
�0I�0I�0K�0^�0^�0`�a�a�O�C����� 0� 0�#�t�<���~�~�=�=�e�D�D�H�C����� 0� 0�#�t�<���>�>�,�,�U�\�\�:�:�� � ��$�$�U�\�\�%)�%T�V�X���#�#�E�$4�$4�c�4�@��T�C����� 0� 0�#�t�<���>�>�@�@��G�G�2�C����� 0� 0�#�t�<���n�n�4�4�6����/�/��\�\�B������9�9�(�C�C�\�C����� 0� 0�#�t�<��rYc��UR(amURRUR5(aCSn[R
"[RUS5 URURSS9 gURRUR5(d)Sn[R
"[RUS5 gg)z?Callback for object:state-changed:showing accessibility events.z+WEB: Event handled: Presenting event sourceTr�rxF)	rzr]�isBrowserUIAlertrfrr)r\r�r^r|s   rW�on_showing_changed�Script.on_showing_changed�s����=�=�T�^�^�<�<�U�\�\�J�J�?�C����� 0� 0�#�t�<����u�|�|�t��<���~�~�/�/����=�=�@�C����� 0� 0�#�t�<��rYc�T�Sn[R"[RUS5 g)zACallback for object:text-attributes-changed accessibility events.r�TFr�r|s   rW�on_text_attributes_changed�!Script.on_text_attributes_changed�r�rYc�
^�[R"T5nU[R:Xa)Sn[R
"[RUS5 g[R"TR5(a)Sn[R
"[RUS5 gURRTR5(dfSn[R
"[RUS5 U[R:Xa)Sn[R
"[RUS5 ggU[R:Xa)Sn[R
"[RUS5 gU[R:Xa)Sn[R
"[RUS5 gS	n[R
"[RUS5 URR5 U[R[R 4;a)S
n[R
"[RUS5 gU[R"[R$4;a)Sn[R
"[RUS5 gURR'SS9upEU(a\UTR:waL[(R*"UU4S
j5(d,SUS/n[R,"[RUS5 g[(R."U5(d�URR1U5(a)Sn[R
"[RUS5 gURR'SS9upEU(a$[2R4"5R7TUSS9 [(R."U5(d(Sn[R
"[RUS5 URR9TR5nU(aESU/n[R,"[RUS5 UR:R=U5 [R>"TR5(d�URRATR5(d�URB(a][(R."URD5(d8Sn[R
"[RUS5 URG5 Sn[R
"[RUS5 gg)z=Callback for object:text-changed:delete accessibility events.z2WEB: Deletion is believed to be due to page switchTz'WEB: Ignoring deletion from live regionrx�4WEB: Ignoring event believed to be browser UI updateF�<WEB: Ignoring: Event believed to be spin button value changez0WEB: Ignoring event believed to be auto deletionz0WEB: Clearing content cache due to text deletionz7WEB: Event believed to be due to editable text deletionz8WEB: Ignoring event believed to be due to text insertion)r	c�">�UTR:H$r1r�r�s �rWr��(Script.on_text_deleted.<locals>.<lambda>�r�rYz$WEB: Ignoring event because it isn'tzor its ancestorz4WEB: Focused link deleted. Taking no further action.rr
�-WEB: Clearing structural navigation cache forz$WEB: Restoring pre-mouseover contextz(WEB: Done processing non-editable source)$rr�r�PAGE_SWITCHrr)r\r�rfr]r^r��SPIN_BUTTON_VALUE_CHANGE�
AUTO_DELETION�clearContentCacher�r�r�r�rHrr�r[rTr�r	r?r�rmrr�r�r
r;r9r5)rTrkrer,rYrZrcrws `      rW�on_text_deleted�Script.on_text_deleted�s�����2�2�5�9���_�0�0�0�F�C����� 0� 0�#�t�<���%�%�e�l�l�3�3�;�C����� 0� 0�#�t�<���~�~�/�/����=�=�@�C����� 0� 0�#�t�<���2�2�2�L���#�#�E�$4�$4�c�4�@����_�=�=�=�P�C����� 0� 0�#�t�<���_�2�2�2�D�C����� 0� 0�#�t�<��@��
���E�,�,�c�4�8����(�(�*��o�,�,�o�.G�.G�H�H�K�C����� 0� 0�#�t�<���o�,�,�o�.M�.M�N�N�L�C����� 0� 0�#�t�<���n�n�4�4�%�4�H����3�%�,�,�&��)�)�#�/J�K�K�<�c�CT�U�F����u�/�/���>��� � ��%�%��~�~�$�$�S�)�)�L���#�#�E�$4�$4�c�4�@���.�.�8�8�d�8�K�K�C���)�)�+�>�>�u�c�Y^�>�_�� � ��%�%�;�C����� 0� 0�#�t�<��>�>�6�6�u�|�|�D���E�x�P�F����u�/�/���>��&�&�1�1�(�;��&�&�u�|�|�4�4��>�>�F�F�u�|�|�T�T��&�&�x�/@�/@��AZ�AZ�/[�/[�<���#�#�E�$4�$4�c�4�@��/�/�1�<�C����� 0� 0�#�t�<��rYc�h�[R"U5nU[R:Xa)Sn[R
"[RUS5 g[R"UR5(a�URRU5(aDSn[R
"[RUS5 URRU5 gSn[R
"[RUS5 gU[R:Xa)Sn[R
"[RUS5 gURRUR5(dfSn[R
"[RUS5 U[R:Xa)Sn[R
"[RUS5 ggU[R :Xa)S	n[R
"[RUS5 gU[R":Xa)S
n[R
"[RUS5 gSn[R
"[RUS5 URR%5 URR'UR5n[(R*"5R-5(a�Sn[R
"[RUS5 URR/USS
9 [R0"UR5(aWSn[R
"[RUS5 [(R*"5R3SURSS9 gOESU/n[R4"[RUS5 UR6R9U5 URR;UR5(d)Sn[R
"[RUS5 gUR[(R*"5R=5:Hn[R>"UR5(d�U(d)Sn[R
"[RUS5 gURRAUR5(aWSn[R
"[RUS5 [(R*"5R3SURSS9 gU(ds[RB"UR5(aN[R0"UR5(a)Sn[R
"[RUS5 gg)z=Callback for object:text-changed:insert accessibility events.z3WEB: Insertion is believed to be due to page switchTz'WEB: Event to be handled as live regionz:WEB: Ignoring because live region event not to be handled.z:WEB: Ignoring: Event believed to be due to children changerxr3Fr4z2WEB: Ignoring: Event believed to be auto insertionz1WEB: Clearing content cache due to text insertionr�r�ryNr�r7�0WEB: Ignoring: Event source is not a text objectz:WEB: Done processing non-editable, non-locusOfFocus sourcez@WEB: Event handled: Re-setting locusOfFocus to changed clickable�FWEB: Focused entry is not the locus of focus. Waiting for focus event.)"rr�rr8rr)r\r�rfr]�handleAsLiveRegionr`�handleEvent�CHILDREN_CHANGEr^r�r9�AUTO_INSERTION_PRESENTABLEr;r�r	r?r�r�r�r�r[rr�r
r�r��isClickableElementr�)rTrkrer,rwrc�
sourceIsFocuss       rW�on_text_inserted�Script.on_text_inserted	s���2�2�5�9���_�0�0�0�G�C����� 0� 0�#�t�<���%�%�e�l�l�3�3��~�~�0�0��7�7�?���#�#�E�$4�$4�c�4�@��(�(�4�4�U�;��N�C����� 0� 0�#�t�<���_�4�4�4�N�C����� 0� 0�#�t�<���~�~�/�/����=�=�@�C����� 0� 0�#�t�<���2�2�2�L���#�#�E�$4�$4�c�4�@����_�=�=�=�P�C����� 0� 0�#�t�<���_�?�?�?�F�C����� 0� 0�#�t�<��A��
���E�,�,�c�4�8����(�(�*��>�>�>�>�u�|�|�L���$�$�&�4�4�6�6�2�C����� 0� 0�#�t�<��N�N�$�$�X�t�$�D��%�%�e�l�l�3�3�P���#�#�E�$4�$4�c�4�@��)�)�+�>�>�t�U�\�\�Y]�>�^��	4�F�x�P�F����u�/�/���>��&�&�1�1�(�;��~�~�/�/����=�=�D�C����� 0� 0�#�t�<�����
�(A�(A�(C�(V�(V�(X�X�
��&�&�u�|�|�4�4� �R���#�#�E�$4�$4�c�4�@���~�~�0�0����>�>�X���#�#�E�$4�$4�c�4�@��)�)�+�>�>�t�U�\�\�Y]�>�^����!:�!:�5�<�<�!H�!H��%�%�e�l�l�3�3�Z�C����� 0� 0�#�t�<��rYc��[R"U5nURRU5(a)Sn[R
"[RUS5 gURRUR5(d)Sn[R
"[RUS5 g[R"5R5nURRU5(d)Sn[R
"[RUS5 gURRU5(a)Sn[R
"[RUS5 gURRU5(a)Sn[R
"[RUS5 gURRU5(a)Sn[R
"[RUS5 gURRUR5(d)S	n[R
"[RUS5 gURU:was[R "UR5(aN[R""UR5(a)S
n[R
"[RUS5 gURR%UR5(a)Sn[R
"[RUS5 gUR&R)5(a)Sn[R
"[RUS5 g[*R,"UR5S
n[.R"5nXPR0:XaSUR35(d>UR55(d)Sn[R
"[RUS5 gg)z@Callback for object:text-selection-changed accessibility events.r�TrxFz.WEB: Locus of focus is not in document contentz6WEB: Ignoring: Event believed to be autocomplete noisez1WEB: Ignoring: Event believed to be spinner noisez1WEB: Ignoring event for non-navigable text objectr?r@z.WEB: In content editable with embedded objectszBWEB: Ignoring: Last input event was structural navigation command.rzCWEB: Ignoring: Not selecting and event offset is at embedded object)rr�r]r�rr)r\r^rfr	r?r�r��eventIsSpinnerNoise�$textEventIsForNonNavigableTextObjectr
r�r�r
rr�rr�rr�r�last_event_was_command)rTrk�_reasonr,r�r�r�s       rW�on_text_selection_changed� Script.on_text_selection_changeds	s����3�3�E�:���>�>�/�/��6�6�G�C����� 0� 0�#�t�<���~�~�/�/����=�=�@�C����� 0� 0�#�t�<���)�)�+�>�>�@���~�~�/�/��6�6�B�C����� 0� 0�#�t�<���>�>�2�2�5�9�9�J�C����� 0� 0�#�t�<���>�>�-�-�e�4�4�E�C����� 0� 0�#�t�<���>�>�>�>�u�E�E�E�C����� 0� 0�#�t�<���~�~�/�/����=�=�D�C����� 0� 0�#�t�<���<�<�5� �[�%>�%>�u�|�|�%L�%L��%�%�e�l�l�3�3�Z�C����� 0� 0�#�t�<���>�>�>�>�u�|�|�L�L�B�C����� 0� 0�#�t�<���%�%�M�M�O�O�V�C����� 0� 0�#�t�<���-�-�e�l�l�;�A�>��%�1�1�3���1�1�1��9�9�;�;��1�1�3�3�W�C����� 0� 0�#�t�<��rYc�T�Sn[R"[RUS5 g)z2Callback for window:activate accessibility events.z$WEB: Deferring to app/toolkit scriptTFr�r|s   rW�on_window_activated�Script.on_window_activated�	s$��5��
���E�,�,�c�4�8�rYc�b�Sn[R"[RUS5 SUlg)z4Callback for window:deactivate accessibility events.zWEB: Clearing command stateTr)F)rr)r\r8r|s   rW�on_window_deactivated�Script.on_window_deactivated�	s,��,��
���E�,�,�c�4�8�'/��$�rY) rPrQrOr>rBrCr=r<r;r4r8r9rRr6r7rDrErFrGr:r3rTr5rHrIrJrKrLrMrNr�r�)Tr1)�
)Nr)F)G�__name__�
__module__�__qualname__�__firstlineno__r2rbrir�r�r�r�r�r�r�r�r�rr%r(rFr{r�r�r�r�r�r�r�rsr�r�r�r�rrtr�r�r�r�r5r�r�r�r�rur}r�r�r�r�r�r�r�r�rrrrrrr"r)r-r0r<rGrNrQrT�__static_attributes__�
__classcell__)rVs@rWr&r&Bsw���+:�Z��$C�J+-�Z"�&�
2�
I�63�
%�
�
^�@
�61�a�F$*�L�&�&K�>!�
'�
(�
D�L!�+?�Z?�6#?�JA-�F6�0?�dA�@�4�4'�2	)�U�U�M�U�:_�B�*X�t`�D�R�h1�f�*
����&M�^�
��*�:7�r� �W�rZ�xA�F��rYr&)5�__id__�__version__�__date__�
__copyright__�__license__r��gi�require_version�
gi.repositoryr�orcarrrrr	r
rrr
rrrrrr�	orca.acssr�orca.scriptsr�orca.ax_documentr�orca.ax_event_synthesizerr�orca.ax_objectr�
orca.ax_tabler�orca.ax_textr�orca.ax_utilitiesr�orca.ax_utilities_eventrr�rrr rPr"�script_utilitiesr$r&rrYrW�<module>rps���,������7�
����	����5�%� ��!�������$����!���&�� �'�8�#�!��)�3� �/�-�'�A&�W�^�^�A&rY

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 365 B 0644
bookmarks.cpython-313.pyc File 6.07 KB 0644
braille_generator.cpython-313.pyc File 14.75 KB 0644
script.cpython-313.pyc File 139.03 KB 0644
script_utilities.cpython-313.pyc File 188.59 KB 0644
speech_generator.cpython-313.pyc File 38.75 KB 0644
Filemanager