__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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#(��
�SrSrSrSrSrSrSSKrSSKrSSKrSSK	J
r
 S	S
KJr S	SKJ
r
 S	SKJr S	S
KJr S	SKJr S	SKJr S	SKJr S	SKJr S	SKJr S	SKJrJr S	SKJr SqSr\R>"\R@\S5 SSK!r!Sq"Sr#Sq$Sq%S\!/r&\RN"\R@\&S5 Sr\R>"\R@\S5 SSK*r*S\*/r&\RN"\R@\&S5 S\/r&\RN"\R@\&S5 \(d"Sr\R>"\R@\S5 Sr*S	SKJ+r+ 0r-\#(Ga�\
R\\-\!R^'\
R\\-\!R`'\
R\\-\!Rb'\
Rd\-\!Rf'\
Rd\-\!Rh'\
Rd\-\!Rj'\
Rl\-\!Rn'\
Rp\-\!Rr'\
Rt\-\!Rv'\
Rx\-\!Rz'\
R|\-\!R~'\
R�\-\!R�'\
R�\-\!R�'\
R�\-\!R�'\
R�\-\!R�'\
R�\-\!R�'S rJ\JS	/qK/qLSqMS!qNSS/qOSqPSqQSqRSqSSqTSqUSqVSrWS"rXS#rY\XqZ0S$\R�_S%\R�_S&\R�_S'\R�_S(\R�_S)\R�_S*\R�_S+\R�_S,\R�_S-\R�_S.\R�_S/\R�_S0\R�_S1\R�_S2\R�_S3\R�_S4\R�_\R�\R�\R�\R�\R�\R�\R�\R�\R�\R�\R�\R�\R�\R�\R�S5.Er{S6r|S7r}\*(a)\}"5r~S8\~/r&\RN"\R@\&S5 "S9S:5r"S;S<\5r�"S=S>\�5r�"S?S@\5r�"SASB\�5r�"SCSD\5r�"SESF5r�SGr�SHr�SIr�SJr�SKr�SLr�SiSMjr�SNr�SOr�SPr�SQr�SRr�SjSSjr�STr�SkSUjr�SVr�SWr�SlSXjr�SmSYjr�SZr�S[r�S\r�SlS]jr�SlS^jr�S_r�SnS`jr�Sar�Sbr�Scr�Sdr�Ser�\X4Sfjr�SnSgjr�Shr�g!\(a( Sr\R>"\RR\S5 Sr#Sq$GN
f=f!\(a& Sr\R>"\RR\S5 Sr*GN�f=f!\(a S\l,GN�f=f)oa�A very experimental approach to the refreshable Braille display.  This
module treats each line of the display as a sequential set of regions, where
each region can potentially backed by an Accessible object.  Depending upon
the Accessible object, the cursor routing keys can be used to perform
operations on the Accessible object, such as invoking default actions or
moving the text caret.
z$Id$z
$Revision$z$Date$z-Copyright (c) 2005-2009 Sun Microsystems Inc.�LGPL�N)�GLib�)�
brltablenames)�cmdnames)�debug)�script_manager)�settings)�settings_manager)�AXEventSynthesizer)�AXHypertext)�AXObject)�AXText�AXTextAttribute)�	tablesdirz BRAILLE: About to import brlapi.TFzBRAILLE: brlapi importedz!BRAILLE: Could not import brlapi.zBRAILLE: About to import louis.zBRAILLE: liblouis importedzBRAILLE: tables location:zzBRAILLE: Disabling liblouis due to unknown table location.This usually means orca was built before liblouis was installed.z"BRAILLE: Could not import liblouis)�brlmon� �Nrrr�2�FzCz-Cz-g1zEs-Es-g1zFr-Ca-g2zFr-Fr-g2zLv-Lv-g1zNl-Nl-g1zNo-No-g0zNo-No-g1zNo-No-g2zNo-No-g3zPl-Pl-g1zPt-Pt-g1zSe-Se-g1zar-ar-g1zcy-cy-g1zcy-cy-g2zde-de-g0)zde-de-g1zde-de-g2zen-GB-g2zen-gb-g1zen-us-g1zen-us-g2zfr-ca-g1zfr-fr-g1zgr-gr-g1zhi-in-g1zhu-hu-comp8zhu-hu-g1zhu-hu-g2zit-it-g1znl-be-g1c��0n[R"[5HMnUSSS;dMUSSn[RR	[U5U[
R
X"5'MO U$![a U$f=f)N����z.utbz.ctb)�os�listdirr�path�join�TABLE_NAMES�get�OSError)�tables�fname�aliass   �./usr/lib/python3/dist-packages/orca/braille.py�
listTablesr%�s~��
�F�
��Z�Z�	�*�E��R�S�z�-�-��c�r�
���G�G�L�L��E�2��{���u�4�5�+��M���
���M�
�s�$A1�AA1�1
A?�>A?c�^	^
�[R"[R5SnSU/n[R"[R
US5 US;aB[R"5SnSU/n[R"[R
US5 US;a+Sn[R"[R
US5 Sm
O.SRURS	55R5m
[R"[5Vs/sHo3S
SS;dM
UPM nnSS/m	/SQnU	U
4Sjn[[!Xd55nS[#U5SSRU5/n[R"[R
US5 U(dg
UH9nUH0nXx;dM
[R$R[U5s s $ M; [R$R[US5$s snf![a1 S[/n[R"[R
US5 g
f=f)NrzBRAILLE: User locale isT)N�CzBRAILLE: Default locale isz=BRAILLE: Locale cannot be determined. Falling back on 'en-us'zen-us�-�_rrz)BRAILLE: Exception calling os.listdir for��	interline�mathtext)�g1�g2�comp6�comp8c�j>^�TRT5=(a [U4SjT55(+$)Nc3�,># �UH	oT;v� M g7f�N�)�.0�e�ts  �r$�	<genexpr>�7getDefaultTable.<locals>.isCandidate.<locals>.<genexpr>s����1J�'�Q�q�&�'�s�)�
startswith�any)r7�exclude�languages`��r$�isCandidate�$getDefaultTable.<locals>.isCandidates%����|�|�H�%�J�c�1J�'�1J�.J�*J�J�zBRAILLE:z"candidate tables for locale found:�, )�locale�	getlocale�LC_MESSAGESr�print_tokens�
LEVEL_INFO�getdefaultlocale�
print_messager�split�lowerrrrr �list�filter�lenr)�
userLocale�tokens�msg�xr!�preferr>�p�tabler<r=s         @@r$�getDefaultTablerU�s�����!�!�&�"4�"4�5�a�8�J�'��
4�F�	���u�'�'���6��[� ��,�,�.�q�1�
�.�
�;��
���5�+�+�V�T�:��[� �M��
���E�,�,�c�4�8����8�8�J�,�,�S�1�2�8�8�:����Z�Z�	�2�Q�2����f�@P�6P�!�2��Q��J�'�G�,�F�K��&��-�
.�F��#�f�+�'K�T�Y�Y�W]�M^�
_�F�	���u�'�'���6���
���E��z��w�w�|�|�I�u�5�5����7�7�<�<�	�6�!�9�-�-��AR����=�y�I��
���5�+�+�V�T�:���s*�<H
�H�(H�.H
�H
�
8I�Iz&BRAILLE: Default contraction table is:c�`�\rSrSrSrSSjrSrSrSSjrSr	SSjr
S	rS
rSr
SrS
rg)�Regioni/zhA Braille region to be displayed on the display.  The width of
each region is determined by its string.
c�0�U(dSn[R=(a [SLUlX0lURS5UlUR(a�[R=(d [Ul	UR5(a6SUSUR/n[R"[RUS5 URURX#5uUlUlUlUlgUR5(am[R(d-SUS3n[R$"[RUS5 O+SUS	/n[R"[R&US5 URUlX lg)
z�Creates a new Region containing the given string.

Arguments:
- string: the string to be displayed
- cursorOffset: a 0-based index saying where to draw the cursor
                for this Region if it gets focus.
r*N�
zBRAILLE: Contracting 'z' with tableTzBRAILLE: Not contracting 'z,' because contracted braille is not enabled.z' due to problem with liblouis.)r
�enableContractedBraille�louis�
contracted�expandOnCursor�strip�rawLine�brailleContractionTable�_defaultContractionTable�contractionTablerrErF�contractLine�string�inPos�outPos�cursorOffsetrH�
LEVEL_WARNING)�selfrdrgr]rOrPs      r$�__init__�Region.__init__4sA����F�#�:�:�P�u�D�?P���,���|�|�D�)����?�?�$,�$D�$D�$`�H`�D�!��|�|�~�~�2�F�N�D�La�La�b���"�"�5�#3�#3�V�T�B��*�*�4�<�<�+7�I�
D�D�K���T�[�$�2C��|�|�~�~��7�7�4�V�H�=E�F���'�'��(8�(8�#�t�D�:�F�?�A�F��&�&�u�':�':�F�D�I��,�,�D�K� ,�r@c�:�SURSUR3$)Nz	REGION: '�', cursor offset:�rdrg�ris r$�__str__�Region.__str__bs!���4�;�;�-�'8��9J�9J�8K�L�Lr@c�Z�SU3n[R"[RUS5 g)��Processes a cursor routing key press on this Component.  The offset
is 0-based, where 0 represents the leftmost character of string
associated with this region.  Note that the zeroeth character may have
been scrolled off the display.z-BRAILLE REGION: Process routing key. Offset: TN)rrHrF)ri�offsetrPs   r$�process_routing_key�Region.process_routing_keyes(��>�f�X�F��
���E�,�,�c�4�8r@c�2�S[UR5-$)�Creates a string which can be used as the attrOr field of brltty's
write structure for the purpose of indicating text attributes, links,
and selection.

Arguments:
- getLinkMask: Whether or not we should take the time to get
  the attributeMask for links. Reasons we might not want to
  include knowing that we will fail and/or it taking an
  unreasonable amount of time (AKA Gecko).
�)rMrd�ri�getLinkMasks  r$�getAttributeMask�Region.getAttributeMaskns����D�K�K�(�(�(r@c��UR(aKURURURUR5uUlUlUlUlgg)z:Reposition the cursor offset for contracted mode.
        N�r\rcr_rgr]rdrerfros r$�repositionCursor�Region.repositionCursor~sM���?�?��(�(����)-�):�):�)-�)<�)<�>�
D�D�K���T�[�$�2C�r@c�*�XS:HnU(aU(aSnO[Rn[R"UR/UUUS9upgp�U[U5:�a[U5n	O[
U	[U55n	XgX�4$![a SnN�f=f)z�Contract the given line. Returns the contracted line, and the
cursor position in the contracted line.

Arguments:
- line: Line to contract.
- cursorOffset: Offset of cursor,defaults to 0.
- expandOnCursor: Expand word under cursor, False by default.
� Fr)�	cursorPos�mode)�
IndexErrorr[�compbrlAtCursor�	translaterbrM�min)
ri�linergr]�
cursorOnSpacer�r\rerfr�s
          r$rc�Region.contractLine�s���	"� �.�#�5�M����D��(�(�D�
�O�O�T�2�2�3� �&2�!%�
'�	-�
�6��3�t�9�$��J��I��I�s�:��7�I��&�3�3��/�	"�!�M�	"�s�B�B�Bc��URUnU$![a [UR5nU$[a UnU$f=fr3)rer�rMr_�AttributeError�ri�display_offsetrts   r$�displayToBufferOffset�Region.displayToBufferOffset�sV��	$��Z�Z��/�F��
���	'�����&�F�
�
�	�	$�#�F��
�		$�s��A�A�Ac��U(a3[R=(d [UlUR	5 gUR5 gr3)r
r`rarb�contractRegion�expandRegion�rir\s  r$�set_contracted_braille�Region.set_contracted_braille�s1���$,�$D�$D�$`�H`�D�!����!����r@c���UR(agURURURUR5uUlUlUlUlSUlg)NTrros r$r��Region.contractRegion�sR���?�?���&�&�t�|�|�'+�'8�'8�'+�':�':�<�	@���T�Z���d�.?���r@c���UR(dgURUlURURUlSUlg![
a [
UR5UlN.f=f)NF)r\r_rdrergr�rMros r$r��Region.expandRegion�s^�������l�l���	1� $�
�
�4�+<�+<� =�D�� �����	1� #�D�K�K� 0�D��	1�s�A�$A2�1A2)r\rbrgr]rerfr_rdN)rF�T)�__name__�
__module__�__qualname__�__firstlineno__�__doc__rjrprur|r�rcr�r�r�r��__static_attributes__r4r@r$rWrW/s<���,-�\M�9�)� >�#4�J
� �� r@rWc�8�\rSrSrSrS	SjrSrSrSrSr	g)
�	Componenti�z�A subclass of Region backed by an accessible.  This Region will react
to any cursor routing key events and perform the default action on the
accessible, if a default action exists.
c��[RXX55 U(a/UR(aUS-UR-UlOX@lXlg)z�Creates a new Component.

Arguments:
- accessible: the accessible
- string: the string to use to represent the component
- cursorOffset: a 0-based index saying where to draw the cursor
                for this Region if it gets focus.
r�N)rWrjrd�
accessible)rir�rdrg�	indicatorr]s      r$rj�Component.__init__�s:��	����l�C���{�{�'�#�o����;���'��$�r@c�:�SURSUR3$)NzCOMPONENT: 'rmrnros r$rp�Component.__str__�s!���d�k�k�]�*;�D�<M�<M�;N�O�Or@c��g)��Returns the caret position of the given offset if the object
has text with a caret.  Otherwise, returns -1.

Arguments:
- offset: 0-based offset of the cell on the physical display
���r4�rirts  r$�getCaretOffset�Component.getCaretOffset�s��r@c��SU3n[R"[RUS5 [R"5R5nU(aKURRURU5(a [R"UR5 [R"URS5(ag[R"URS5nU(d)Sn[R"[RUS5 gg![a4nSU/n[R"[RUS5 SnAgSnAff=f)rsz0BRAILLE COMPONENT: Process routing key. Offset: TrNrz#INFO: Processing routing key failedz%ERROR: Could not process routing key:)rrHrFr	�get_manager�get_active_script�	utilities�grabFocusBeforeRoutingr�r�
grab_focus�	do_actionr�click_object�	ExceptionrE)rirtrP�script�result�errorrOs       r$ru�Component.process_routing_key�s��A���I��
���E�,�,�c�4�8��+�+�-�?�?�A���f�&�&�=�=�d�o�o�v�V�V�������0����d�o�o�q�1�1��
	A�'�4�4�T�_�_�a�H�F�
�;���#�#�E�$4�$4�c�4�@���	�	?�=�u�E�F����u�/�/���>�>��	?�s�	!D�
E�%*E�E)r�rdN)rr*F�
r�r�r�r�r�rjrpr�rur�r4r@r$r�r��s%���
9:�.3�%�(P��Ar@r�c�2�\rSrSrSrSSjrSrS	SjrSrg)
�Linkiz�A subclass of Component backed by an accessible.  This Region will be
marked as a link by dots 7 or 8, depending on the user's preferences.
c�4�[RXX#SS5 g)zdInitialize a Link region. similar to Component, but here we always
have the region expand on cursor.r*TN)r�rj)rir�rdrgs    r$rj�
Link.__init__s��	���4�V�2�t�Lr@c�:�SURSUR3$)NzLINK: 'rmrnros r$rp�Link.__str__s!������
�%6�t�7H�7H�6I�J�Jr@c�`�[[R5[UR5-$)axCreates a string which can be used as the attrOr field of brltty's
write structure for the purpose of indicating text attributes and
selection.
Arguments:

- getLinkMask: Whether or not we should take the time to get
  the attributeMask for links. Reasons we might not want to
  include knowing that we will fail and/or it taking an
  unreasonable amount of time (AKA Gecko).
)�chrr
�brailleLinkIndicatorrMrdrzs  r$r|�Link.getAttributeMask"s#���8�0�0�1�C����4D�D�Dr@r4N�rr�)	r�r�r�r�r�rjrpr|r�r4r@r$r�r�s���M�
K�Er@r�c�^�\rSrSrSrSSjrSrSrSrSr	SS	jr
SS
jrSrSr
S
rg)�Texti2aVA subclass of Region backed by a Text object.  This Region will
react to any cursor routing key events by positioning the caret in
the associated text object. The line displayed will be the
contents of the text object preceded by an optional label.
[[[TODO: WDW - need to add in text selection capabilities.  Logged
as bugzilla bug 319754.]]]Nc
��SUSUSUSUSU3/n[R"[RUS5 XlSnSUlSUlUR(a�UbX`lO%[R"UR5UlUb[X@R5Ul[R"URUR5SS
uo�lURSS5nXPR
-
nX@R
-
Ul
X�RUnU=RUR-sl[URUR
-
[U55n	UR
[U5-UlX0lU(aUS-UlOSUlUR"U-nU	[UR"5-
n	[$R'XU	S5 UR((d5[*R,(d U=R.UR -
slg	[*R,(aU=R.S-
slg	g	![a [U5nGNqf=f![a SUl
GNuf=f)
z�Creates a new Text region.

Arguments:
- accessible: the accessible that implements AccessibleText
- label: an optional label to display
z!BRAILLE: Creating text region forzlabel:'z', offsets: r(z	, caret: Tr*rN�ur�)rrErFr��caretOffset�
lineOffsetr�get_caret_offset�max�get_line_at_offset�replace�	TypeErrorrM�startOffsetr��_maxCaretOffset�eol�labelrWrjr\r
�disableBrailleEOLrd)
rir�r�r�r��	endOffsetr�rOrdrgs
          r$rj�
Text.__init__:s��6�z��E�7�,�{�m�1�Y�K�y�Q\�P]�^�`��
���5�+�+�V�T�:�$�����������?�?��&�#.� �#)�#:�#:�4�?�?�#K�� ��&�#&�{�4D�4D�#E�� �&,�&?�&?�����!1�!1�'3�34�Q�'8�#�F�O��^�^�H�c�2�F�	$�!�O�O�3�I�	!�*�_�_�<�D���(�(��3�����D�,�,�,���4�+�+�d�o�o�=�s�6�{�K��#����V��<���������D�J��D�J����f�$����D�J�J��'������l�D�9����x�'A�'A��K�K�4�8�8�#�K�
�
'�
'�
�K�K�3��K�	(��?�	$��F��I�	$��
�	!� �D��	!�s$�3I�I6�I3�2I3�6J�
Jc�n�SURSURSURSUR3$)NzTEXT: 'rmz start offset:z, line offset:)rdrgr�r�ros r$rp�Text.__str__}sC���d�k�k�]�"3�D�4E�4E�3F�G� �,�,�-�^�D�O�O�;L�
N�	
r@c���[(dg[R"UR5SSup[R"UR5n[X2-
[
U55nX R:wagX0lX lU[
UR5-
nUR(a1URURUS5uUl
UlUlnX@lg)z�Attempts to reposition the cursor in response to a new
caret position.  If it is possible (i.e., the caret is on
the same line as it was), reposition the cursor and return
True.  Otherwise, return False.
Frr�T)�_regionWithFocusrr�r�r�r�rMr�r�r�r\rcr_rdrerfrg)rirdr�r�rgs     r$r��Text.repositionCursor�s��� ���#�6�6�t���G��!�L����-�-�d�o�o�>���;�3�S��[�A�����(��&��$����D�J�J��'���?�?��(�(����|�T�J�
?�D�K���T�[�,�)��r@c�x�URU5nUS:ag[URU-UR5$�r�rr�)r�r�r�r�r�s  r$r��Text.getCaretOffset�s:���+�+�F�3���A�:���4�?�?�V�+�T�-A�-A�B�Br@c��SU3n[R"[RUS5 URU5nUS:ag[R
"5R
5nURRURU5 g)z�Processes a cursor routing key press on this Component.  The offset
is 0-based, where 0 represents the leftmost character of text
associated with this region.  Note that the zeroeth character may have
been scrolled off the display.
z+BRAILLE TEXT: Process routing key. Offset: TrN�
rrHrFr�r	r�r�r��setCaretOffsetr��rirtrPr�r�s     r$ru�Text.process_routing_key�ss��<�F�8�D��
���E�,�,�c�4�8��)�)�&�1����?���+�+�-�?�?�A�����'�'�����Er@c�0	�[R"UR5(ag[UR5[UR
5-
nURU-n[R/U-n[Rn[Rn[Rn[R"5R5nUc)Sn	[R "[R"U	S5 gU(a�U[R:wa�[$R&"UR5n
U
H~n[$R("U5n[$R*"U5n
[-X�R-
S5n[/X�R-
U5n[1X�5HnUU==U-ss'M M� U(Ga[R2nURnUU:a�[R4"URU5unp�U
U::aO�[RnU
nUHGnUU;aM[6R8"U5nU(dM*UR;UU5(aMEUn O U[R:waO[-X�R-
S5n[/X�R-
U5n[1X�5HnUU==U-ss'M UU:aM�U(az[R<"UR5nUHTup�[-X�R-
S5n[/X�R-
U5n[1X�5HnUU==U-ss'M MV UR>(a�S/[UR5-nUR@[UR
5SnUR
(a,UVs/sHnU[UR
5-
S-
PM  snn[CU5HunnUUU==U-ss'M US[URF5nUS/[URH5--
nUR
(aS/[UR
5-U-nSRK[M[NU55$s snf![Da M�f=f)rxr*Nz9BRAILLE: Cannot get attribute mask without active script.Trr)(r�is_whitespace_or_emptyr�rMr_r�r�r
�BRAILLE_UNDERLINE_NONE�textAttributesBrailleIndicator�brailleSelectorIndicatorr�r	r�r�rrHrFr
�
get_all_links�get_link_start_offset�get_link_end_offsetr�r��range�textAttributesToBraille�get_text_attributes_at_offsetr�from_string�value_is_default�get_selected_rangesr\rf�	enumerater�rdr�r�mapr�)rir{�stringLength�
lineEndOffset�
regionMask�
attrIndicator�selIndicator�
linkIndicatorr�rP�links�linkr�r��	maskStart�maskEnd�i�enabledrt�
attributes�mask�attrib�ax_text_attr�
selections�contractedMaskrf�ms                           r$r|�Text.getAttributeMask�s����(�(����9�9���4�<�<�(�3�t�z�z�?�:�����,�6�
��5�5�6�|�C�
� �?�?�
��8�8�� �5�5�
��+�+�-�?�?�A���>�M�C����� 0� 0�#�t�<���=�H�,K�,K�K��-�-�d�o�o�>�E���)�?�?��E��'�;�;�D�A�	���o�o� =�q�A�	��i�/�/�9�<�H���y�2�A��Q�-�=�0�-�3����6�6�G��_�_�F��=�(��8�8����&�Q�3�
�K���&���6�6��"��(�F��W�,� �#2�#>�#>�v�#F�L�#�|�L�,I�,I�*�U[�J\�,]�,]�,���
)��8�:�:�:� #�K�/�/�$A�1� E�I�!�)�o�o�"=�|�L�G�"�9�6��"�1�
��6�
�7�#�=�(�(��3�3�D�O�O�D�J�*4�&����o�o� =�q�A�	��i�/�/�9�<�H���y�2�A��q�M�\�1�M�3�+5��?�?��S�3�t�|�|�#4�4�N��[�[��T�Z�Z��!1�2�F��z�z�DJ�J�6����T�Z�Z��0�1�4�6�J��!�*�-���1��"�6�!�9�-��2�-�.�
(�(9��T�[�[�)9�:�J�
	�q�c�#�d�h�h�-�'�'�
��:�:���S����_�,�z�9�J��w�w�s�3�
�+�,�,��!K��"����s�4%R�.R�
R�Rc�V�[RXX#5upEpgX@R-XVU4$r3)rWrcr�)rir�rgr]r\rerfr�s        r$rc�Text.contractLine s2��/5�/B�/B���06�,�
�6��H�H�$�e�Y�>�>r@c�|�[RX5nX R-
nU[UR5-nU$r3)rWr�r�rMr�r�s   r$r��Text.displayToBufferOffset&s7���-�-�d�C���"�"�"���#�d�j�j�/�!���
r@c�|�[RX5 U(d U=RUR-
slggr3)rWr�rdr�r�s  r$r��Text.set_contracted_braille,s*���%�%�d�7���K�K�4�8�8�#�K�r@)r�r�r�rgr�rer�r�rfr�rd)r*r*NNNr�)rT)r�r�r�r�r�rjrpr�r�rur|rcr�r�r�r4r@r$r�r�2sB��"�24�?C�A�F
��<C�F�$]-�~?��$r@r�c�$�\rSrSrSrSrSrSrg)�ReviewComponenti1z@A subclass of Component that is to be used for flat review mode.c�<�[RXUUSS9 X@lg)a'Creates a new Component.

Arguments:
- accessible: the accessible
- string: the string to use to represent the component
- cursorOffset: a 0-based index saying where to draw the cursor
                for this Region if it gets focus.
- zone: the flat review Zone associated with this component
T�r]N)r�rj�zone)rir�rdrgrs     r$rj�ReviewComponent.__init__4s%��	���4�V�'��	�	>��	r@c�8�SURUR4-$)NzReviewComponent: %s, %d�rrgros r$rp�ReviewComponent.__str__Bs��(�D�I�I�t�7H�7H�+I�I�Ir@)rN)r�r�r�r�r�rjrpr�r4r@r$rr1s��J��Jr@rc�0�\rSrSrSrSrSrSrSrSr	g)	�
ReviewTextiEz�A subclass of Region backed by a Text object.  This Region will
does not react to the caret changes, but will react if one updates
the cursorPosition.  This class is meant to be used by flat review
mode to show the current character position.
c�P�[RXSS9 XlX0lX@lg)aCreates a new Text region.

Arguments:
- accessible: the accessible that implements AccessibleText
- string: the string to use to represent the component
- lineOffset: the character offset into where the text line starts
- zone: the flat review Zone associated with this component
TrN)rWrjr�r�r)rir�rdr�rs     r$rj�ReviewText.__init__Ls#��	����T��:�$��$���	r@c�8�SURUR4-$)NzReviewText: %s, %drros r$rp�ReviewText.__str__Zs��#�t�y�y�$�2C�2C�&D�D�Dr@c�P�URU5nUS:agURU-$r�)r�r�r�s  r$r��ReviewText.getCaretOffset]s-���+�+�F�3���A�:������'�'r@c��SU3n[R"[RUS5 URU5n[R
"5R
5nURRURU5 g)z�Processes a cursor routing key press on this Component.  The offset
is 0-based, where 0 represents the leftmost character of text
associated with this region.  Note that the zeroeth character may have
been scrolled off the display.z2BRAILLE REVIEW TEXT: Process routing key. Offset: TNr�r�s     r$ru�ReviewText.process_routing_keyksj��C�6�(�K��
���E�,�,�c�4�8��)�)�&�1���+�+�-�?�?�A�����'�'�����Er@)r�r�rNr�r4r@r$rrEs����E�(�Fr@rc�J�\rSrSrSrSSjrSrSrS
SjrSr	S	r
S
rSrg)�LineixzYA horizontal line on the display.  Each Line is composed of a sequential
set of Regions.
Nc�R�/UlSUlU(aURU5 gg)Nr*)�regionsrd�	addRegion�ri�regions  r$rj�
Line.__init__}s$����������N�N�6�"�r@c�:�URRU5 gr3)r*�appendr,s  r$r+�Line.addRegion�s�������F�#r@c�:�URRU5 gr3)r*�extend)rir*s  r$�
addRegions�Line.addRegions�s�������G�$r@c	�J�SnSnSn/nURHLnU[:Xa[U5nUR(aX&R-
nUR	U5nXG-
nMN [
R"SU5Vs/sHo�R5PM n	n/n
U	H�up�U
(a%X�S-
[S:�aURU
5 /n
U
(d�X�-
n
U
[S:�axU
[S-nU(ad[U5H1nURX�[S--X�S-[S--/5 M3 U
[S-(aX�[S--U/n
OM�OX�/n
OX�S'X�:XdM�URU
5 /n
M� U
(aURU
5 X#XE/$s snf)a�Computes the complete string for this line as well as a
0-based index where the focused region starts on this line.
If the region with focus is not on this line, then the index
will be -1.

Arguments:
- getLinkMask: Whether or not we should take the time to get
  the attributeMask for links. Reasons we might not want to
  include knowing that we will fail and/or it taking an
  unreasonable amount of time (AKA Gecko).

Returns [string, offsetIndex, attributeMask, ranges]
r*r�z
(^\s+|\S+\s*)rr)r*r�rMrdr|�re�finditer�span�_displaySizer0r�)rir{rd�focusOffset�
attributeMask�rangesr-r�word�wordsr9�start�end�
wordLength�
displayWidthsrs                r$�getLineInfo�Line.getLineInfo�s���,�����
����l�l�F��)�)�!�&�k���}�}��-�-�'���*�*�;�7�D��!�M�
#�*,���5E�v�)N�O�)N�����)N��O����J�E���1�g�
��Q��7��
�
�d�#���� �[�
���Q��/�$.�,�q�/�$A�M�$�!&�}�!5�A�"�M�M�5�|�A��3F�+F�,1�q�S�L��O�4K�,K�+M�N�"6�&��Q��7�$)�L��O�,K�$K�S�#Q�D�$�%�"�<�D��Q���!��
�
�d�#���/ �2��
�
�d�#��]�;�;��=Ps�>F c��SnSnSnURH/nUnX5R-n[U5U:�a O[U5nM1 U[U5:�aSS/$X!U-
/$)aFinds the Region at the given 0-based offset in this line.

Returns the [region, offsetinregion] where the region is
the region at the given offset, and offsetinregion is the
0-based offset from the beginning of the region, representing
where in the region the given offset is.Nr*rr�)r*rdrM)rirt�foundRegionrd�posr-s      r$�getRegionAtOffset�Line.getRegionAtOffset�so���������l�l�F� �K��m�m�+�F��6�{�V�#���&�k��
#��S��[� ��"�:���#��.�.r@c��SU3n[R"[RUS5 URU5up4U(aUR	U5 gg)z�Processes a cursor routing key press on this Component.  The offset
is 0-based, where 0 represents the leftmost character of string
associated with this line.  Note that the zeroeth character may have
been scrolled off the display.z+BRAILLE LINE: Process routing key. Offset: TN)rrHrFrIru)rirtrPr-�regionOffsets     r$ru�Line.process_routing_key�sQ��<�F�8�D��
���E�,�,�c�4�8�!%�!7�!7��!?�����&�&�|�4�r@c�L�URHnURU5 M gr3)r*r�)rir\r-s   r$r��Line.set_contracted_braille�s���l�l�F��)�)�*�5�#r@)r*rdr3r�)
r�r�r�r�r�rjr+r4rDrIrur�r�r4r@r$r(r(xs,���#�$�%�@<�D/�85�6r@r(c��[[5S:�a0US-
[S-n[Sn[URU5$SS/$)a.Given a 1-based cell offset, return the braille region
associated with that cell in the form of [region, offsetinregion]
where 'region' is the region associated with the cell and
'offsetinregion' is the 0-based offset of where the cell is
in the region, where 0 represents the beginning of the region.
rrNr�)rM�_lines�viewportrI)�cellrt�lineNums   r$�getRegionAtCellrU�sI���6�{�Q����(�h�q�k�)���1�+���g��0�0��8�8��b�z�r@c���URSn[US-5up#U(aJ[U[5(d[U[5(a UR
nUR
U5nXE/$SnSnXE/$)a6Gets the accesible and caret offset associated with the given
event.  The event should have a BrlAPI event that contains an
argument value that corresponds to a cell on the display.

Arguments:
- event: an instance of input_event.BrailleEvent.  event.event is
the dictionary form of the expanded BrlAPI event.
�argumentrNr�)�eventrU�
isinstancer�rr�r�)rXrtr-rLr�r�s      r$�getCaretContextrZsy���[�[��
$�F�,�V�a�Z�8��V�
�:�f�d�+�+�z�&�*�/M�/M��&�&�
��+�+�L�9��

�$�$��
����$�$r@c��/qSqSS/qg)z_Clears the logical structure, but keeps the Braille display as is
(until a refresh operation).
Nr)rQr�rRr4r@r$�clearr\s���F����1�v�Hr@c��Uqgr3)rQ)�liness r$�setLinesr_)s��
�Fr@c�V�[RU5 [[5Ulg)aAdds a line to the logical display for painting.  The line is added to
the end of the current list of known lines.  It is necessary for the
viewport to be over the lines and for refresh to be called for the new
line to be painted.

Arguments:
- line: an instance of Line to add.
N)rQr0rM�_index)r�s r$�addLinerb-s���M�M�$���f�+�D�Kr@c�\�[[5S:�a[[S$[5$)zEReturns the Line that is currently being painted on the display.
    rr)rMrQrRr(r4r@r$�getShowingLinerd:s%���6�{�Q���h�q�k�"�"��v�
r@c��UqU(a[(dgSnSn[H;nURHnU[:XdMU[S'Sn O U(a O	US-
nM= [[SnUR	U5upxp�[R
[S:�a U[R
[S-
S--
n[SU5[S'g)aSpecififes the region with focus.  This region will be positioned
at the home position if panToFocus is True.

Arguments:
- region: the given region, which much be in a line that has been
  added to the logical display
- panToFocus: whether or not to position the region at the home
  position
- getLinkMask: Whether or not we should take the time to get the
  attributeMask for links. Reasons we might not want to include
  knowing that we will fail and/or it taking an unreasonable
  amount of time (AKA Gecko).
NrFrT)r�rQr*rRrDrgr:r�)r-�
panToFocusr{rT�doner��regrdrtr<r=s           r$�setFocusriBs���"���.�.���G��D����<�<�C��&�&�%�������	 �
���q�L�G���(�1�+��D�.2�.>�.>�{�.K�+�V�]�
�$�$��Q��7��"�/�/�,�q�/�A�A�E�E���a��.�H�Q�Kr@c��[(d�Sn[R"[RUS5 [R[RSS[5 SqSn[R"[RUS5 [$[$![a0 Sn[R"[RUS5 [$f=f)zfTry to hand off control to other screen readers without completely
shutting down the BrlAPI connectionz$BRAILLE: Attempting to idle braille.TrFz"BRAILLE: Idling braille succeeded.z=BRAILLE: Idling braille failled. This requires BrlAPI >= 0.8.)
�idlerrHrF�_brlAPI�setParameter�brlapi�PARAM_CLIENT_PRIORITY�BRLAPI_PRIORITY_IDLEr��rPs r$�_idleBraillerrws����4�	=�8�C����� 0� 0�#�t�<�� � ��!=�!=�q�%�I]�^��D�7�C����� 0� 0�#�t�<��K�4�K���	�Q�C����� 0� 0�#�t�<��
�K�	�s�AB�2C�Cc��[(d[[5 [(a"[R	SS5 [5 gg![a5 Sn[R"[RUS5 [5 gf=f)zvClear Braille output, hand off control to other screen readers, without
completely shutting down the BrlAPI connectionr*r�*BRAILLE: BrlTTY seems to have disappeared.TN)�_brlAPIRunning�init�	_callbackrl�	writeTextrrr�rrHrh�shutdownrqs r$�
_clearBraillerz�sg���>��Y���~�	����b�!�$��N����	�>�C����� 3� 3�S�$�?��J�	�s� A	�	<B�Bc���S[/n[R"[RUS5 [(d7Sn[R"[RUS5 [[5 [(a�[(a�Sn[R"[RUS5 Sn[R"[RUS5 [R[RSS[5 SqSn[R"[RUS5 g
g
g
![a+ S	n[R"[RUS5 g
f=f)z<Re-enable Braille output after making it idle or clearing itz*BRAILLE: Enabling braille. BrlAPI running:Tz"BRAILLE: Need to initialize first.z BRAILLE: Is running, but idling.z'BRAILLE: Attempting to de-idle braille.rFzBRAILLE: De-idle succeeded.z#BRAILLE: could not restore priorityN)rurrErFrHrvrwrkrlrmrnro�brlapi_priorityr�rh�rOrPs  r$�_enableBrailler~�s��;�N�
K�F�	���u�'�'���6��>�2��
���E�,�,�c�4�8��Y���~��4�4�C����� 0� 0�#�t�<�
A�?���#�#�E�$4�$4�c�4�@��$�$�V�%A�%A�1�e�_�]���
4���#�#�E�$4�$4�c�4�@�����
D�;���#�#�E�$7�$7��d�C�
D�s�0AD/�/2E$�#E$c��S[/n[R"[RUS5 [(a�[(d�Sn[R
"[RUS5 [
5(d][R"5RS5(d3Sn[R
"[RUS5 [5 ggggg)zWHand off control to other screen readers, shutting down the BrlAPI
connection if neededz+BRAILLE: Disabling braille. BrlAPI running:Tz%BRAILLE: BrlApi running and not idle.�
enableBraillez0BRAILLE: could not go idle, completely shut downN)rurrErFrkrHrrrr��get_settingryr}s  r$�disableBrailler��s���<�^�
L�F�	���u�'�'���6��~�d�d�5��
���E�,�,�c�4�8��~�~�&6�&B�&B�&D�&P�&P�Q`�&a�&a�D�C����� 0� 0�#�t�<��J�	'b�~�	#�~r@c��Sn[R"[RUS5 [R"5RS5(d[
5 gg)z5Disable Braille if it got disabled in the preferencesz"BRAILLE: Checking braille setting.Tr�N)rrHrFrr�r�r�rqs r$�checkBrailleSettingr��sG��/�C�	����(�(�#�t�4��'�'�)�5�5�o�F�F���Gr@c	��SUSU3n[R"[RUS5 U(a	[SS9 [R
"5R
S5(di[R
"5R
S5(d@[(a2Sn[R"[RUS5 [5 S	q	g
[[5S:Xa
[5 S	q	g
[upVpxSUS
USUSUS3/n	[R"[RU	S5 [(aJ[[[ 5(a1[R"n
[R$n[R&nOS
n
SnSnU
=(a X�:H=(a X�:Hn
SU
S
USUS3[)U
5/n	[R"[RU	S5 US:a:[*SU-S-nSU3n[R"[RUS5 U(GaRUS:XGaKU
(GaCUS:Xa*Sn[R"[RUS5 GOXk:Xa+UnSn[R"[RUS5 O�Xk:atX�U-
-nU[*S::a.SU3n[R"[RUS5 UnO�Sn[R"[RUS5 [*SnOjXk:�aeX�U-
-
nUS:�a.SU3n[R"[RUS5 UnO*Sn[R"[RUS5 Sn[[,SnUR/U5unnnnS[,SSUSUSU3n[R"[RUS5 SnUS:�a>U[R0-nSU3n[R"[RUS5 U(Ga2US:�Ga+[U5[*S::aBU[*S:a5S [,SS!3n[R"[RUS5 GO�U(aN[3SUU-
S-5[,S'S"[,SS#3n[R"[RUS5 GO~U[,S:aH[3SU5[,S'S"[,SS$3n[R"[RUS5 GO)U[,S[*S-:�aT[3SU[*S-
S-5[,S'S"[,SS%3n[R"[RUS5 O�[5U5n[3SUS5[,S'S"[,SS&3n[R"[RUS5 U[,S[*S-:�aS[3SU[*S-
S-5[,S'S'[,SS%3n[R"[RUS5 [7U5unnU[,S'UU-
q[8S:d[8[*S:�aSqO	[8S-
qS(US)3n[R"[RUS5 S*UUUS+[83n[R"[RUS5 UUUnU(aUUUnOS,nUS-[U5[U5-
--
n[R
"5R
S5(a
[;5 [R
"5R
S5(a�[(a�[<R>"5nSUl [U5Ul!URB[*S:a?US-
nU(aUS--
nU=RBS-
sl!URB[*S:aM?UUl"[8Ul#U(aUUl$[JRMU5 [RRT(as[V(d2[XRZ"[*S5q+[VR]5 U(aUUUnOS
n[V(aR_[8UU5 O![V(a[VRa5 S
q+US:Hq1U[U5:�q2[(aN[[[ 5(a5[R"[R$[R&[84q	g
S	q	g
![Na6 S.n[R"[RPUS5 [5 GNWf=f![Na+ [R"[RPS/5 S
q+GN=f=f)0aRepaints the Braille on the physical display.  This clips the entire
logical structure by the viewport and also sets the cursor to the
appropriate location.  [[[TODO: WDW - I'm not sure how BrlTTY handles
drawing to displays with more than one line, so I'm only going to handle
drawing one line right now.]]]

Arguments:
- panToCursor: if True, will adjust the viewport so the cursor is showing.
- targetCursorCell: Only effective if panToCursor is True.
  0 means automatically place the cursor somewhere on the display so
  as to minimize movement but show as much of the line as possible.
  A positive value is a 1-based target cell from the left side of
  the display and a negative value is a 1-based target cell from the
  right side of the display.
- getLinkMask: Whether or not we should take the time to get the
  attributeMask for links. Reasons we might not want to include
  knowing that we will fail and/or it taking an unreasonable
  amount of time (AKA Gecko).
- stopFlash: if True, kill any flashed message that may be showing.
zBRAILLE: Refresh. Pan: z	 target: TF)�restoreSavedr��enableBrailleMonitorz>BRAILLE: FIXME - Braille disabled, but not properly shut down.rNrzBRAILLE: Last text object:z(Caret: z, Line: z, Cell: �)zBRAILLE: Current text object:z). On same line:rz'BRAILLE: Adjusted targetCursorCell to: zGBRAILLE: Not adjusting targetCursorCell. User panned caret out of view.zHBRAILLE: Setting targetCursorCell to previous value. Caret hasn't moved.z3BRAILLE: Setting targetCursorCell based on offset: z4BRAILLE: Setting targetCursorCell to end of display.z6BRAILLE: Setting targetCursorCell to start of display.zBRAILLE: Line z: 'z' focusOffset: r�r�z*BRAILLE: Cursor offset in line string is: zBRAILLE: Not adjusting offset z . Cursor offset fits on display.zBRAILLE: Adjusting offset to z based on targetCursorCell.z (cursor on left)z (cursor beyond display end)z (unhandled condition)zBRAILLE: Readjusting offset to zBRAILLE LINE:  '�'z     VISIBLE:  'z
', cursor=r*ryrtz
brlmon failed)3rrHrF�	killFlashrr�r�rury�
_lastTextInforMrQrzrEr�rYr�r�r�r��boolr:rRrDrgr��_getRangeForOffset�_adjustForWordWrap�
cursorCellr~rn�WriteStruct�regionBegin�
regionSize�text�cursor�attrOrrl�writer�rhr
r��_monitorr�BrlMon�show_allrx�destroy�beginningIsShowing�endIsShowing)�panToCursor�targetCursorCellr{�	stopFlashrP�lastTextObj�lastCaretOffset�lastLineOffset�lastCursorCellrO�currentTextObj�currentCaretOffset�currentLineOffset�
onSameLine�newLocationr�rdr;r<r=rg�rangeForOffset�startPos�endPos�logLine�	substring�submask�writeStruct�subMasks                             r$�refreshr��s���<
$�K�=�	�:J�9K�
L�C�	����(�(�#�t�4���u�%��'�'�)�5�5�o�F�F��+�+�-�9�9�:P�Q�Q��>�R�C����� 0� 0�#�t�<��J�'�
��
�6�{�a����'�
��CP�@�K�.�*�K���)��.�1A��.�IY�YZ�[�]�F�	���u�'�'���6���J�'7��>�>�)�4�4��-�9�9��,�7�7���������0�N�$A�0��/��.�~��+�,�H�5F�4G�GW�X��:�� �F�
���u�'�'���6��!��'��?�-=�=��A��7�8H�7I�J��
���E�,�,�c�4�8��'�1�,���Q��[�C����� 0� 0�#�t�<�
�
2�-��\�C����� 0� 0�#�t�<�
�
1�(��,P�Q�K��l�1�o�-�K�K�=�Y���#�#�E�$4�$4�c�4�@�#.� �L���#�#�E�$4�$4�c�4�@�#/��?� �
�
1�(�>P�,P�Q�K��a��K�K�=�Y���#�#�E�$4�$4�c�4�@�#.� �N���#�#�E�$4�$4�c�4�@�#$� ��(�1�+��D�37�3C�3C�K�3P�0�V�[�-���8�A�;�-�s�6�(�/�+��a�PV�x�
X�C�	����(�(�#�t�4��L��a��"�%5�%B�%B�B��:�<�.�I��
���E�,�,�c�4�8����)��v�;�,�q�/�)�l�\�!�_�.L�2�8�A�;�-�?_�`�C����� 0� 0�#�t�<�
��a��0@�!@�1�!D�E�H�Q�K�1�(�1�+��>Y�Z�C����� 0� 0�#�t�<�
�H�Q�K�
'��a��.�H�Q�K�1�(�1�+��>O�P�C����� 0� 0�#�t�<�
�h�q�k�L��O�;�
<��a���Q��!?�!�!C�D�H�Q�K�1�(�1�+��>Z�[�C����� 0� 0�#�t�<�/��=�N��a���!2�3�H�Q�K�1�(�1�+��>T�U�C����� 0� 0�#�t�<�����l�1�o� =�>�!�!�\�L��O�%C�a�%G�H����7����}�D`�a���#�#�E�$4�$4�c�4�@�)�*:�;��H�f��H�Q�K�
��(�J��Q��J�,�q�/�9��
��a��
� ����*�G�	����(�(�'�4�8� ����!8� 9��J�<�P�G�	����(�(�'�4�8��x��'�I�����0�����v��Y��#�g�,�6�7�7�G��#�#�%�1�1�/�B�B����#�#�%�1�1�/�B�B�~�~��(�(�*��"#���!$�Y�����$�$�|�A��6����I���6�!���"�"�a�'�"�	�$�$�|�A��6�
%���'���"�!(�K��	��M�M�+�&��$�$��x�
 �!�=�=��a��9���!�!�#��#�H�V�4�G��G��8����z�9�g�>��	��������!�Q����S��[�(�L���J�'7��>�>�)�4�4�)�5�5�)�4�4�#�%�
�
(�
��E�	�>�C����� 3� 3�S�$�?��J�	���
 ��#�#�E�$7�$7��I���
 �s$�8e%�.1f(�%<f%�$f%�(1g�gc��[(a?[uqqqnSn[
R"[
RUS5 [SSS9 Sqg)NzBRAILLE: Flash message callbackTF�r�r�r)	�_flashEventSourceId�_savedrQr�rRrrHrFr���	flashTimerPs  r$�_flashCallbackr��sI����:@�7��!�8�Y�/��
���E�,�,�c�4�8��E�U�3���r@c���Sn[R"[RUSS5 [(aC[S:�a[R
"[5 U(a[uqqq	n[SSS9 Sqgg)NzBRAILLE: Kill flash messageTrFr�)rrHrFr�r�
source_remover�rQr�rRr�)r�rPr�s   r$r�r��sg��
'�C�	����(�(�#�t�T�:�����"����2�3��>D�;�V�%�x�����7���
r@c��[S:�a?[R"[5 [Sn[R"U[
5qgg)Nr�)r�rr�r��timeout_addr��r�s r$�resetFlashTimerr��s:���Q�����.�/��1�I�	�"�.�.�y�.�I��r@c�@�S[3n[R"[RUS5 [(a'[S:�a[R
"[5 SqO[[[U4q	US:�a[R"U[5qgUS:aSqgg)a�Sets up the state needed to flash a message or clears any existing
flash if nothing is to be flashed.

Arguments:
- flashTime:  if non-0, the number of milliseconds to display the
              regions before reverting back to what was there before.
              A 0 means to not do any flashing.  A negative number
              means display the message until some other message
              comes along or the user presses a cursor routing key.
z(BRAILLE: Initializing flash: Source ID: Trif���N)r�rrHrFrr�rQr�rRr�r�r�r�s  r$�
_initFlashr��s���
5�5H�4I�
J�C�	����(�(�#�t�4�����"����2�3����*�H�i�@���1�}�"�.�.�y�.�I��	�Q��"��
r@c���[U5 USnUSn[5 [5nUHnURU5 M [	U5 [U5 [
SS9 g)a�Displays a list of regions on a single line, setting focus to the
   specified region.  The regionInfo parameter is something that is
   typically returned by a call to braille_generator.generate_braille.

Arguments:
- regionInfo: a list where the first element is a list of regions
              to display and the second element is the region
              with focus (must be in the list from element 0)
- flashTime:  if non-0, the number of milliseconds to display the
              regions before reverting back to what was there before.
              A 0 means to not do any flashing.  A negative number
              means display the message until some other message
              comes along or the user presses a cursor routing key.
rrF�r�N)r�r\r(r+rbrir�)�
regionInfor�r*�
focusedRegionr��items      r$�displayRegionsr�sW�� �y����m�G��q�M�M�	�G��6�D������t����D�M��]���e�r@c���SUSUS3n[R"[RUS5 [U5 [	5 [X5n[
[U55 [U5 [SSS9 g)a.Displays a single line, setting the cursor to the given position,
ensuring that the cursor is in view.

Arguments:
- message: the string to display
- cursor: the 0-based cursor position, where -1 (default) means no cursor
- flashTime:  if non-0, the number of milliseconds to display the
              regions before reverting back to what was there before.
              A 0 means to not do any flashing.  A negative number
              means display the message until some other message
              comes along or the user presses a cursor routing key.
zBRAILLE: Display message: 'z' (flashTime: r�TFr�N)
rrHrFr�r\rWrbr(rir�)�messager�r�rPr-s     r$�displayMessager�5se��
(��y��y�k��
K�C�	����(�(�#�t�4��y��	�G�
�G�
$�F��D��L���V���D�E�"r@c��UR5nU(a0UR5nUSU3n[U[RS9 gg)zZDisplays a KeyboardEvent. Typically reserved for locking keys like
Caps Lock and Num Lock.r�r�N)�get_locking_state_string�get_key_namer�r
�brailleFlashTime)rX�lockingStateString�keynamerPs    r$�displayKeyEventr�MsK���7�7�9����$�$�&���	��-�.�/���s�h�&?�&?�@�r@c�^^�[SmT[S-nSTSUST3n[R"[RUS5 [
(a[R(dTU4$[
[SnUR5upEpg[[UU4SjU55nU(a�SUSSSUS	SS
3n[R"[RUS5 US	SUSS-
[S:�a,Sn[R"[RUS5 TU4$USSUS	SsmnTU4$)NrzBRAILLE: Current range: (rAz). Target cell: Trc�@>�USTT-s=:*=(a US:$s $)Nrrr4)rQr�r�s ��r$�<lambda>�$_adjustForWordWrap.<locals>.<lambda>bs ���1�Q�4�8�6F�+F�#M�#M��1��#Mr@zBRAILLE: Adjusted range: (r�r�z?BRAILLE: Not adjusting range which is greater than display size)rRr:rrHrFrQr
�enableBrailleWordWraprDrKrL)	r�r�rPr��
lineStringr;r<r=r�s	`       @r$r�r�WsK�����{�H�
��Q��
'�F�%�h�Z�r�&��9I�JZ�I[�
\�C�	����(�(�#�t�4��6��7�7������(�1�+��D�59�5E�5E�5G�2�J�]�
�&�M�v�V�
W�F�
�*�6�!�9�Q�<�.��6�"�:�a�=�/��K��
���E�,�,�c�4�8��"�:�a�=�6�!�9�Q�<�'�,�q�/�9�S�C����� 0� 0�#�t�<��V��� &�a�y��|�V�B�Z��]��H�f��V��r@c��[[SR5upp4UHnUSUs=::aUS:dMUs $ M  UHnXS:XdM
Us $ SS/$)Nrr)rQrRrD)rtrdr;r<r=�rs      r$r�r�nsl��17����1D�1P�1P�1R�.�F��
���Q�4�6� �A�a�D� ��H�!�����q�T�>��H��
�q�6�Mr@c�j�[SnUS:XaC[U5up#[U[S-
5upE[S[	X$-
[S55n[S[SU-
5[S'SUSUS[SS3n[
R"[
RUS5 U[S:g$)z�Pans the display to the left, limiting the pan to the beginning
of the line being displayed.

Arguments:
- pan_amount: the amount to pan.  A value of 0 means the entire
             width of the physical display.

Returns True if a pan actually happened.
rzBRAILLE: Panning left. Amount: � (from � to r�T)rRr�r:r�r�rrHrF)�
pan_amount�oldX�oldStart�oldEnd�newStart�newEndrPs       r$�panLeftr�ys����A�;�D��Q��-�d�3���-�h��a��.H�I�����C�� 3�\�!�_�E�F�
��a��!��z�1�2�H�Q�K�+�J�<�w�t�f�D��RS��
�UV�
W�C�	����(�(�#�t�4��8�A�;��r@c���[SnUS:Xa9[U5up#[U5upE[S[XB-
[S55n[[5S:�aG[Sn[SU-n[UR5up�p�U[U5:a	U[S'SUSUS[SS3n[R"[RUS5 U[S:g$)z�Pans the display to the right, limiting the pan to the length
of the line being displayed.

Arguments:
- pan_amount: the amount to pan.  A value of 0 means the entire
             width of the physical display.

Returns True if a pan actually happened.
rrz BRAILLE: Panning right. Amount: r�r�r�T)rRr�r�r�r:rMrQrDrrHrF)
r�r�r�r�r�r�rT�newXrdr;r<r=rPs
             r$�panRightr��s����A�;�D��Q��-�d�3���-�f�5�����C�� 3�\�!�_�E�F�
�
�6�{�Q���1�+����{�Z�'��5;�G�_�5P�5P�5R�2��]��#�f�+���H�Q�K�,�Z�L���v�T�(�ST�+��VW�
X�C�	����(�(�#�t�4��8�A�;��r@c�H�SUS[S3n[R"[RUS5 U[S:a[	5(dOU[S:aMU[S[
S-:�a*[
5(dgU[S[
S-:�aM)gg)zKAutomatically pan left or right to make sure the current offset is
showing.zBRAILLE: Panning to offset z. Current offset: rTN)rRrrHrFr�r:r�)rtrPs  r$�panToOffsetr��s���
(��x�/A�(�1�+��
O�C�	����(�(�#�t�4�
�8�A�;�
��y�y���8�A�;�
��X�a�[�<��?�2�
3��z�z���X�a�[�<��?�2�
3r@c�8�[[5 [S5 g)z�Pans the display so the region with focus is displayed.

Arguments:
- inputEvent: the InputEvent instance that caused this to be called.

Returns True to mean the command should be consumed.
T)rir�r�)�
inputEvents r$�returnToRegionWithFocusr��s��
�
���D�M�r@c���URS[R-S:g[l[
H"nUR
[R5 M$ [5 g)z�Turns contracted braille on or off based upon the event.

Arguments:
- event: an instance of input_event.BrailleEvent.  event.event is
the dictionary form of the expanded BrlAPI event.
�flagsrN)rXrn�KEY_FLG_TOGGLE_ONr
rZrQr�r�)rXr�s  r$r�r��sK��
���W�	�� 8� 8�	8�Q�>�
�$����#�#�H�$D�$D�E���Ir@c�,�S[3n[R"[RUS5 [(a[	5 gUR
Sn[
[5S:�a-U[S-n[Sn[URU5 g)z�Processes a cursor routing key event.

Arguments:
- event: an instance of input_event.BrailleEvent.  event.event is
the dictionary form of the expanded BrlAPI event.
z)BRAILLE: Process routing key. Source ID: TNrWrr)
r�rrHrFr�rXrMrQrRru)rXrPrSr�rTs     r$ruru�s}��
6�6I�5J�
K�C�	����(�(�#�t�4�������;�;�z�"�D�
�6�{�Q������#���1�+���w��+�+�F�3�r@c��SU/n[R"[RUS5 Sn[(a[U5nU$U$![a8nSU3n[R
"[RUS5 SnSnAU$SnAff=f)z�Handles BrlTTY command events.  This passes commands on to Orca for
processing.

Arguments:
- event: the BrlAPI input event (expanded)
zBRAILLE: Processing eventTFz*WARNING: Could not process braille event: N)rrErFrwr�rHrh)rXrO�consumedr�rPs     r$�_processBrailleEventr��s���*�5�
1�F�	���u�'�'���6��H��y�	�!��'�H��O�8�O���	�>�u�g�F�C����� 3� 3�S�$�?��H��O��	�s�A�
B
�-B�B
c��[RS5nU(a[[RU55 [$![a?nSU3n[R"[R
US5 [
5 SnAgSnAff=f)zTMethod to read a key from the BrlAPI bindings.  This is a
gobject IO watch handler.
Fz$WARNING: Could not read BrlApi key: TN)
rl�readKeyr�rrHrhryr��
expandKeyCoderu)�source�	condition�keyr�rPs     r$�_brlAPIKeyReaderr�sq����o�o�e�$����W�2�2�3�7�8������4�U�G�<��
���E�/�/��d�;��
���	�s�A�
B�5B�Bc�\�Sn[R"[RUS5 [(d[	[
5 [(d)Sn[R"[RUS5 gSn[R"[RUS5 [R[RS/5 [R[R-/nSn[R"[RUS5 UH%nUR[RU-5 M' Sn[R"[RUS5 [R[RU5 S	n[R"[RUS5 g)
z�Hacky method to tell BrlTTY what to send and not send us via
the readKey method.  This only works with BrlTTY v3.8 and better.

Arguments:
-keys: a list of BrlAPI commands.
zBRAILLE: Setting up key ranges.Tz7BRAILLE: Not setting up key ranges: BrlAPI not running.Nz!BRAILLE: Ignoring all key ranges.rzBRAILLE: Enabling commands:z BRAILLE: Sending keys to BrlAPI.zBRAILLE: Key ranges set up.)rrHrFrurvrwrl�
ignoreKeysrn�
rangeType_all�KEY_TYPE_CMD�
KEY_CMD_ROUTEr0�
acceptKeys�rangeType_command)�keysrP�keySetr�s    r$�setupKeyRangesrs0��,�C�	����(�(�#�t�4��>��Y���>�G��
���E�,�,�c�4�8��
-�C�	����(�(�#�t�4����v�+�+�a�S�1��!�!�F�$8�$8�8�
9�F�
'�C�	����(�(�#�t�4����
�
�f�)�)�C�/�0��-�C�	����(�(�#�t�4����v�/�/��8�
'�C�	����(�(�#�t�4r@c�j�[(a4[(a)[R"5R	S5(dg[
(a+Sn[R"[RUS5 Uq	gSU/n[R"[RUS5 [R[RSSU5 Sn[R"[RUS5 Uq	g![a5nS	U3n[R"[R US5 SnAgSnAff=f)
ziSet BRLAPI priority

Arguments:
-level: the priority level to apply, default to braille.PRIORITY_DEFAULT
r�Nz7BRAILLE: Braille is idle, don't change BRLAPI priority.TzBRAILLE: Setting priority to:rFzBRAILLE: Priority set.zBRAILLE: Cannot set priority: )�_brlAPIAvailablerurr�r�rkrrHrFr|rErlrmrnror�rh)�levelrPrOr�s    r$�setBrlapiPriorityr;s�����>�>��*�*�,�8�8��I�I���t�G��
���E�,�,�c�4�8����
 �1�5�9��
���5�+�+�V�T�:����V�9�9�1�e�U�K�
'��
���E�,�,�c�4�8����
�<�.�u�g�6��
���E�/�/��d�;�;��<�s�8AC3�3
D2�=+D-�-D2c�x	�[R(dgSU/n[R"[RUS5 [
(a)Sn[R"[RUS5 gUqS[RRS5/n[R"[RUS5 S[RRS5/n[R"[RUS5 S	n[R"[RUS5 [R"5q
S
[/n[R"[RUS5 Sn[R"[RUS5 [R5 Sn[R"[RUS5 Sq[Rup4S
USUS3n[R"[RUS5 US:Xa.Sn[R"[R US5 ["e[$R&"[R([$R*[$R,[.5qUS/q[:(a[:R=5 Sq[?5 [AS5 Sn[R"[RUS5 g![2a+ Sn[R"[R US5 g["Ga�nSU3n[R"[R US5 Sq[(dSnAgSn[R"[RUS5 [R55 Sn[R"[RUS5 O8!["a+ Sn[R"[RUS5 Of=fSn[R"[RUS5 [R75 Sn[R"[RUS5 O8!["a+ Sn[R"[RUS5 Of=fSq
SnAgSnAff=f)z�Initializes the braille module, connecting to the BrlTTY driver.

Arguments:
- callback: the method to call with a BrlTTY input event.
Returns False if BrlTTY cannot be accessed or braille has
not been enabled.
Fz BRAILLE: Initializing. Callback:Tz#BRAILLE: BrlAPI is already running.zBRAILLE: WINDOWPATH=�
WINDOWPATHzBRAILLE: XDG_VTNR=�XDG_VTNRz+BRAILLE: Attempting connection with BrlAPI.z,BRAILLE: Connection established with BrlAPI:z&BRAILLE: Attempting to enter TTY mode.zBRAILLE: TTY mode entered.zBRAILLE: Display size: (�,r�rz@BRAILLE: Error - 0 cells suggests display is not yet plugged in.z6BRAILLE: Initialization failed: BrlApi is not defined.z(WARNING: Braille initialization failed: N�&BRAILLE: Attempting to leave TTY mode.zBRAILLE: TTY mode exited.�$BRAILLE: Exception leaving TTY mode.�(BRAILLE: Attempting to close connection.zBRAILLE: Connection closed.�&BRAILLE: Exception closing connection.rzBRAILLE: Initialized)!r
r�rrErFrurHrwr�environrrn�
Connectionrl�enterTtyModeWithPath�displaySizerhr�r�io_add_watch�fileDescriptor�PRIORITY_DEFAULT�IO_INr��_brlAPISourceId�	NameError�leaveTtyMode�closeConnectionr:r�r�r\r�)�callbackrOrPrQ�yr�s      r$rvrvZs����!�!��1�(�
;�F�	���u�'�'���6��~�3��
���E�,�,�c�4�8���I�$�b�j�j�n�n�\�&B�
C�F�	���u�'�'���6�"�B�J�J�N�N�:�$>�
?�F�	���u�'�'���6�A�;��
���E�,�,�c�4�8��#�#�%��@�'�J��
���5�+�+�V�T�:�6��
���E�,�,�c�4�8��$�$�&�*��
���E�,�,�c�4�8����$�$���(���1�Q�C�q�1��
���E�,�,�c�4�8���6�T�C����� 3� 3�S�$�?��O��+�+�G�,B�,B�,0�,A�,A�,0�J�J�,<�>��R�q�6�L��x�������	�G��D�M�
 �C�	����(�(�#�t�4���a��F��
���E�/�/��d�;����8���@��
���E�/�/��d�;����w��	=�:�C����� 0� 0�#�t�<�� � �"�-�C����� 0� 0�#�t�<���	=�8�C����� 0� 0�#�t�<�	=��	=�<�C����� 0� 0�#�t�<��#�#�%�/�C����� 0� 0�#�t�<���	=�:�C����� 0� 0�#�t�<�	=������=�si�F
K6�62R9�*
R9�48R4�2A$O�R4�2P�	R4�P�R4�A$Q5�4R4�52R*�'R4�)R*�*R4�4R9c�h�Sn[R"[RUS5 [(Ga<SqSn[R"[RUS5 [R
"[5 SqSn[R"[RUS5 [R5 Sn[R"[RUS5 S	n[R"[RUS5 [R5 S
n[R"[RUS5 Sq[(a[R5 Sq[S
/qO)Sn[R"[RUS5 gSn[R"[RUS5 g![a, Sn[R"[RUS5 GNf=f![a+ Sn[R"[RUS5 N�f=f)zQShuts down the braille module.   Returns True if the shutdown procedure
was run.
z%BRAILLE: Attempting braille shutdown.TFz#BRAILLE: Removing BrlAPI Source ID.rrz$BRAILLE: Leaving TTY mode succeeded.r
rz&BRAILLE: Closing connection succeeded.rNrz!BRAILLE: Braille was not running.z#BRAILLE: Braille shutdown complete.)rrHrFrurr�rrlrr�rhrr�r��DEFAULT_DISPLAY_SIZEr:rqs r$ryry�s���
2�C�	����(�(�#�t�4��~���3��
���E�,�,�c�4�8����?�+���		=�:�C����� 0� 0�#�t�<�� � �"�
9�C����� 0� 0�#�t�<�		=�<�C����� 0� 0�#�t�<��#�#�%�
;�C����� 0� 0�#�t�<����8������H�,�a�0��1��
���E�,�,�c�4�8��
/�C�	����(�(�#�t�4���?�	@�8�C����� 3� 3�S�$�?�	@���	@�:�C����� 3� 3�S�$�?�	@�s$�<<G�!<G<�2G9�8G9�<2H1�0H1)TT)TrTTr�r�)r�rr3)�r��__id__�__version__�__date__�
__copyright__�__license__rBrr7�
gi.repositoryrr*rrrr	r
r�ax_event_synthesizerr�ax_hypertextr
�	ax_objectr�ax_textrr�
orca_platformrr�rPrHrFrnrlrrurrOrEr�rhr[rr��command_name�BRAILLE_LINE_LEFT�KEY_CMD_HWINLT�KEY_CMD_FWINLT�KEY_CMD_FWINLTSKIP�BRAILLE_LINE_RIGHT�KEY_CMD_HWINRT�KEY_CMD_FWINRT�KEY_CMD_FWINRTSKIP�BRAILLE_LINE_UP�KEY_CMD_LNUP�BRAILLE_LINE_DOWN�KEY_CMD_LNDN�BRAILLE_FREEZE�KEY_CMD_FREEZE�BRAILLE_TOP_LEFT�KEY_CMD_TOP_LEFT�BRAILLE_BOTTOM_LEFT�KEY_CMD_BOT_LEFT�BRAILLE_HOME�KEY_CMD_HOME�BRAILLE_SIX_DOTS�KEY_CMD_SIXDOTS�BRAILLE_ROUTE_CURSORr��BRAILLE_CUT_BEGIN�KEY_CMD_CUTBEGIN�BRAILLE_CUT_LINE�KEY_CMD_CUTLINErr:rQr�r�rRrwr�r�r�r�r�rkrp�BRLAPI_PRIORITY_DEFAULT�BRLAPI_PRIORITY_HIGHr|�CZ_CZ_G1�ES_ES_G1�FR_CA_G2�FR_FR_G2�LV_LV_G1�NL_NL_G1�NO_NO_G0�NO_NO_G1�NO_NO_G2�NO_NO_G3�PL_PL_G1�PT_PT_G1�SE_SE_G1�AR_AR_G1�CY_CY_G1�CY_CY_G2�DE_DE_G0�DE_DE_G1�DE_DE_G2�EN_GB_G2�EN_GB_G1�EN_US_G1�EN_US_G2�FR_CA_G1�FR_FR_G1�GR_GR_G1�HI_IN_G1�
HU_HU_8DOT�HU_HU_G1�HU_HU_G2�IT_IT_G1�NL_BE_G1rr%rUrarWr�r�r�rrr(rUrZr\r_rbrdrirrrzr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rur�r�rrrvryr4r@r$�<module>ris���(�������?�
���
�	�	��������4�%��,�$���7�
,�C�	����(�(�#�t�4���G����N��O�)�&�
1�F�	���u�'�'���6��
+�C�	����(�(�#�t�4��+�E�
2�F�	���u�'�'���6�)�9�
5�F�	���u�'�'���6��Q��
���E�,�,�c�4�8���*�����.6�.H�.H�L��&�&�'�.6�.H�.H�L��&�&�'�.6�.H�.H�L��*�*�+�.6�.I�.I�L��&�&�'�.6�.I�.I�L��&�&�'�.6�.I�.I�L��*�*�+�.6�.F�.F�L��$�$�%�.6�.H�.H�L��$�$�%�.6�.E�.E�L��&�&�'�.6�.G�.G�L��(�(�)�.6�.J�.J�L��(�(�)�.6�.C�.C�L��$�$�%�.6�.G�.G�L��'�'�(�.6�.K�.K�L��%�%�&�.6�.H�.H�L��(�(�)�.6�.G�.G�L��'�'�(���$�a�(��

���� �
�
�q�6��

�	�
����
�
���
��
��������*��3�z�=�1�1�3��=�1�1�3��=�1�1�3��=�1�1�3��=�1�1�	3�
�=�1�1�3��=�1�1�
3��=�1�1�3��=�1�1�3��=�1�1�3��=�1�1�3��=�1�1�3��=�1�1�3��=�1�1�3��=�1�1�3��=�1�1�3� �=�1�1�!3�")�1�1�(�1�1�(�1�1�(�1�1�(�1�1�(�1�1�(�1�1�(�1�1�(�1�1�(�1�1�+�6�6�(�1�1�(�1�1�(�1�1�(�1�1�?3��B�2.�h	�.�0��6�8P�
Q�F�	���u�'�'���6�a �a �FAA��AA�FE�9�E�:}$�6�}$�~J�i�J�(1F��1F�f~6�~6�@
�%�*����3!�j�,�"A�:�&�|(�|
� � J�#�<�8#�0A��.	��,�8
����0�0
�$5�L4� �>r�h:��]<��
-�C�	����+�+�S�$�7����N�	����
.�C�	����+�+�S�$�7��E���(�*�$)�H�!�*�s6�&,V�5$W�W1�*V?�>V?�(W.�-W.�1
X�X

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 276 B 0644
acss.cpython-313.pyc File 4.37 KB 0644
action_presenter.cpython-313.pyc File 12.53 KB 0644
ax_collection.cpython-313.pyc File 6.06 KB 0644
ax_component.cpython-313.pyc File 22.4 KB 0644
ax_document.cpython-313.pyc File 13.2 KB 0644
ax_event_synthesizer.cpython-313.pyc File 22.37 KB 0644
ax_hypertext.cpython-313.pyc File 11.3 KB 0644
ax_object.cpython-313.pyc File 63.85 KB 0644
ax_selection.cpython-313.pyc File 5.26 KB 0644
ax_table.cpython-313.pyc File 62.75 KB 0644
ax_text.cpython-313.pyc File 58.92 KB 0644
ax_utilities.cpython-313.pyc File 37.16 KB 0644
ax_utilities_application.cpython-313.pyc File 9.14 KB 0644
ax_utilities_collection.cpython-313.pyc File 125.47 KB 0644
ax_utilities_debugging.cpython-313.pyc File 15.44 KB 0644
ax_utilities_event.cpython-313.pyc File 41.86 KB 0644
ax_utilities_relation.cpython-313.pyc File 21.3 KB 0644
ax_utilities_role.cpython-313.pyc File 139.59 KB 0644
ax_utilities_state.cpython-313.pyc File 19.65 KB 0644
ax_value.cpython-313.pyc File 8.8 KB 0644
bookmarks.cpython-313.pyc File 16.09 KB 0644
braille.cpython-313.pyc File 82.01 KB 0644
braille_generator.cpython-313.pyc File 71.06 KB 0644
braille_rolenames.cpython-313.pyc File 8.73 KB 0644
brlmon.cpython-313.pyc File 9.02 KB 0644
brltablenames.cpython-313.pyc File 2.46 KB 0644
bypass_mode_manager.cpython-313.pyc File 5.79 KB 0644
caret_navigation.cpython-313.pyc File 22.86 KB 0644
chat.cpython-313.pyc File 33.96 KB 0644
clipboard.cpython-313.pyc File 27.81 KB 0644
cmdnames.cpython-313.pyc File 18.85 KB 0644
colornames.cpython-313.pyc File 11.83 KB 0644
debug.cpython-313.pyc File 4.76 KB 0644
debugging_tools_manager.cpython-313.pyc File 13.8 KB 0644
event_manager.cpython-313.pyc File 43.89 KB 0644
flat_review.cpython-313.pyc File 59.1 KB 0644
flat_review_finder.cpython-313.pyc File 29.77 KB 0644
flat_review_presenter.cpython-313.pyc File 59.01 KB 0644
focus_manager.cpython-313.pyc File 14.24 KB 0644
generator.cpython-313.pyc File 95.62 KB 0644
guilabels.cpython-313.pyc File 12.43 KB 0644
highlighter.cpython-313.pyc File 9.86 KB 0644
input_event.cpython-313.pyc File 45.78 KB 0644
input_event_manager.cpython-313.pyc File 48.43 KB 0644
keybindings.cpython-313.pyc File 27.27 KB 0644
keynames.cpython-313.pyc File 4.73 KB 0644
label_inference.cpython-313.pyc File 25.15 KB 0644
learn_mode_presenter.cpython-313.pyc File 19.89 KB 0644
liveregions.cpython-313.pyc File 31.34 KB 0644
mathsymbols.cpython-313.pyc File 64.53 KB 0644
messages.cpython-313.pyc File 41.8 KB 0644
mouse_review.cpython-313.pyc File 33.59 KB 0644
notification_presenter.cpython-313.pyc File 18.47 KB 0644
object_navigator.cpython-313.pyc File 15.8 KB 0644
object_properties.cpython-313.pyc File 8.27 KB 0644
orca.cpython-313.pyc File 13.43 KB 0644
orca_gtkbuilder.cpython-313.pyc File 5.53 KB 0644
orca_gui_navlist.cpython-313.pyc File 10.45 KB 0644
orca_gui_prefs.cpython-313.pyc File 166.31 KB 0644
orca_gui_profile.cpython-313.pyc File 5.69 KB 0644
orca_i18n.cpython-313.pyc File 2.63 KB 0644
orca_modifier_manager.cpython-313.pyc File 17.05 KB 0644
orca_platform.cpython-313.pyc File 661 B 0644
phonnames.cpython-313.pyc File 1.51 KB 0644
pronunciation_dict.cpython-313.pyc File 1.95 KB 0644
script.cpython-313.pyc File 15.33 KB 0644
script_manager.cpython-313.pyc File 18.15 KB 0644
script_utilities.cpython-313.pyc File 87.03 KB 0644
settings.cpython-313.pyc File 6.79 KB 0644
settings_manager.cpython-313.pyc File 35.18 KB 0644
sleep_mode_manager.cpython-313.pyc File 6.67 KB 0644
sound.cpython-313.pyc File 8.71 KB 0644
sound_generator.cpython-313.pyc File 58.4 KB 0644
speech.cpython-313.pyc File 10.75 KB 0644
speech_and_verbosity_manager.cpython-313.pyc File 34.1 KB 0644
speech_generator.cpython-313.pyc File 214.55 KB 0644
speechdispatcherfactory.cpython-313.pyc File 33.52 KB 0644
speechserver.cpython-313.pyc File 10.21 KB 0644
spellcheck.cpython-313.pyc File 24.24 KB 0644
spiel.cpython-313.pyc File 34.68 KB 0644
ssml.cpython-313.pyc File 6.03 KB 0644
structural_navigation.cpython-313.pyc File 93.9 KB 0644
system_information_presenter.cpython-313.pyc File 9.42 KB 0644
table_navigator.cpython-313.pyc File 36.48 KB 0644
text_attribute_names.cpython-313.pyc File 6.01 KB 0644
where_am_i_presenter.cpython-313.pyc File 26.41 KB 0644
Filemanager