Files
ServerSync/lib/rich/__pycache__/text.cpython-314.pyc

598 lines
71 KiB
Plaintext
Raw Normal View History

2026-02-12 02:28:23 +02:00
+
<00> <0C>i'<27><00><00> a<00>R.tC0t^RIt^RIHtHt^RIHt^RIHt^RI H
t
H t H t H t HtHtHtHtHtHtHt^RIHt^RIHt^RIHt^R IHt^R
IHtHt^R I H!t!^R I"H#t#^R I$H%t%^RI&H't'^RI(H)t)^RI*H+t+^RI,H-t-H.t.]
'd ^RI/H0t0H1t1H2t2H3t3Rt4]^kRt5]^k]Pl!R4t7]]8R3,t9] ]8.]].,3,t:!RR]4t;!RR]'4t<]=R8XEd^RI>H0t0]<!R4t?]?P<>R.R4]?P<>R.R 4]0!4t/]/P<>R!4]/P<>]?R"R#7]/P<>4]/P<>R$4]/P<>]?R%R&R'7]/P<>4]/P<>R(4]/P<>]?R)R*R'7]/P<>4]/P<>R+4]/P<>]?R,R-R'7]/P<>4R#R#)/<2F>N)<02>partial<61>reduce)<01>gcd)<01>
itemgetter) <0B> TYPE_CHECKING<4E>Any<6E>Callable<6C>Dict<63>Iterable<6C>List<73>
NamedTuple<EFBFBD>Optional<61>Pattern<72>Tuple<6C>Union)<01> loop_last)<01> pick_bool)<01> divide_line)<01> AlignMethod)<02>cell_len<65> set_cell_size)<01>Lines)<01>strip_control_codes)<01> EmojiVariant)<01> JupyterMixin<69><01> Measurement)<01>Segment)<02>Style<6C> StyleType)<04>Console<6C>ConsoleOptions<6E> JustifyMethod<6F>OverflowMethod<6F>default<6C>foldz\s+$<24>Textc<00><>a<00>]tRt^/toRtV3RlRltV3RlRltV3RlRltV3RlR ltV3R
lR lt V3R lR lt
V3Rlt Rt Vt R#)<11>Spanz A marked up region in some text.c<00> <<01>V^8<>dQhRS[/#<00><02><00>return<72><01>str)<02>format<61> __classdict__s"<22><>0/tmp/pip-target-qd_sq_1j/lib/python/rich/text.py<70> __annotate__<5F>Span.__annotate__9s<00><><00>A<01>A<01>#<23>A<01>c<08>X<00>RVP RVP RVP: R2#)zSpan(z, <20>))<03>start<72>end<6E>style<6C><01>selfs&r2<00>__repr__<5F> Span.__repr__9s)<00><00><16>t<EFBFBD>z<EFBFBD>z<EFBFBD>l<EFBFBD>"<22>T<EFBFBD>X<EFBFBD>X<EFBFBD>J<EFBFBD>b<EFBFBD><14><1A><1A><0E>a<EFBFBD>@<40>@r5c<00> <<01>V^8<>dQhRS[/#r+<00><01>bool)r0r1s"<22>r2r3r4<s<00><><00>%<25>%<25>$<24>%r5c<08>4<00>VPVP8<>#<00>N)r9r8r;s&r2<00>__bool__<5F> Span.__bool__<s<00><00><13>x<EFBFBD>x<EFBFBD>$<24>*<2A>*<2A>$<24>$r5c<00>H<<01>V^8<>dQhRS[RS[RS[R,3,/#<00>r,<00>offsetr-r))<03>intrr)r0r1s"<22>r2r3r4?s*<00><><00> <1C> <1C>C<EFBFBD> <1C>E<EFBFBD>&<26>(<28>6<EFBFBD>2B<32>*B<>$C<> r5c <0C><><00>WP8dVR3#WP8<>dVR3#Vwr#p\V\W14V4p\VPW44pWV3#)z)Split a span in to 2 from a given offset.N)r8r9r)<00>min)r<rHr8r9r:<00>span1<6E>span2s&& r2<00>split<69>
Span.split?sa<00><00> <12>J<EFBFBD>J<EFBFBD> <1E><17><14>:<3A> <1D> <11>X<EFBFBD>X<EFBFBD> <1D><17><14>:<3A> <1D> <20><19><05>E<EFBFBD><14>U<EFBFBD>C<EFBFBD><03>,<2C>e<EFBFBD>4<><05><14>U<EFBFBD>Y<EFBFBD>Y<EFBFBD><03>+<2B><05><14>|<7C>r5c<00>$<<01>V^8<>dQhRS[RR/#rG<00>rI)r0r1s"<22>r2r3r4Ls<00><><00>
9<>
9<>3<EFBFBD>
9<>6<EFBFBD>
9r5c <0C>><00>Vwr#p\W!,W1,V4#)z<>Move start and end by a given offset.
Args:
offset (int): Number of characters to add to start and end.
Returns:
TextSpan: A new TextSpan with adjusted position.
<EFBFBD>r)<00>r<rHr8r9r:s&& r2<00>move<76> Span.moveLs!<00><00>!<21><19><05>E<EFBFBD><13>E<EFBFBD>N<EFBFBD>C<EFBFBD>L<EFBFBD>%<25>8<>8r5c<00>$<<01>V^8<>dQhRS[RR/#rGrQ)r0r1s"<22>r2r3r4Xs<00><><00> 4<> 4<><13> 4<><16> 4r5c <0C>H<00>Vwr#pW8<>dV#\V\W4V4#)z<>Crop the span at the given offset.
Args:
offset (int): A value between start and end.
Returns:
Span: A new (possibly smaller) span.
)r)rKrTs&& r2<00>
right_crop<EFBFBD>Span.right_cropXs,<00><00>!<21><19><05>E<EFBFBD> <11>=<3D><17>K<EFBFBD><13>E<EFBFBD>3<EFBFBD>v<EFBFBD>+<2B>U<EFBFBD>3<>3r5c<00>$<<01>V^8<>dQhRS[RR/#)r,<00>cellsr-r)rQ)r0r1s"<22>r2r3r4fs<00><><00> <18> <18>C<EFBFBD> <18>F<EFBFBD> r5c <0C>F<00>V'dVwr#p\W#V,V4#V#)z<>Extend the span by the given number of cells.
Args:
cells (int): Additional space to add to end of span.
Returns:
Span: A span.
rS)r<r\r8r9r:s&& r2<00>extend<6E> Span.extendfs'<00><00> <11> $<24> <1D>E<EFBFBD><05><17><05>U<EFBFBD>{<7B>E<EFBFBD>2<> 2<><17>Kr5c<00>T<<01>V^8<>dQh/S[;R&S[;R&S[S[S[3,;R&#)r,r8r9r:)rIrr/r)r0r1s"<22>r2r3r4/s3<00><><00><00> <0F>J<EFBFBD><01>
<0A>H<EFBFBD> <01> <11><13>e<EFBFBD><1A> <1C><1C>r5<00>N)<0E>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__r=rDrNrUrYr^<00>__annotate_func__<5F>__static_attributes__<5F>__classdictcell__<5F>r1s@r2r)r)/sY<00><><00><00>*<2A><1C><19>)<29>A<01>A<01>%<25>%<25> <1C> <1C>
9<>
9<> 4<> 4<> <18> <18>o<01>r5r)c<00><>a<00>]tRt^vtoRt.R<>OtR<>RR RR RR RR
RR R R /V3R lR llltV3RlRltV3RlRltV3RlRlt V3RlRlt
V3RlRlt V3RlRlt V3RlRlt V3RlRlt]V3RlRl4t]V3R lR!l4t]RRR"R#R$R RR RR RR
/V3R%lR&ll4t]RRRR RR RR RR
R^/V3R'lR(ll4t]R<>RR RR /V3R)lR*lll4t]RRRR RR RR RR
R^R+R /V3R,lR-ll4t]V3R.lR/l4t]P0V3R0lR1l4t]V3R2lR3l4t]P0V3R4lR5l4tR<>V3R6lR7lltV3R8lR9ltR<>V3R:lR;lltR<>V3R<lR=lltR<>V3R>lR?lltR<>V3R@lRAlltV3RBlRClt V3RDlRElt!V3RFlRGlt"R<>RHR/V3RIlRJlllt#RKR#/V3RLlRMllt$V3RNlROlt%V3RPlRQlt&V3RRlRSlt'V3RTlRUlt(V3RVlRWlt)R<>V3RXlRYllt*V3RZlR[lt+R<>V3R\lR]llt,RR R^R_/V3R`lRallt-V3RblRclt.R<>V3RdlRellt/R<>V3RflRgllt0R<30>V3RhlRillt1R<31>V3RjlRkllt2R<32>V3RllRmllt3V3RnlRolt4V3RplRqlt5V3RrlRslt6R<36>RtR_RuR_/V3RvlRwlllt7V3RxlRylt8R<38>V3RzlR{llt9RR RR R^RR /V3R|lR}llt:V3R~lRlt;V3R<>lR<>lt<R<>R<EFBFBD>R<EFBFBD>RR<>/V3R<>lR<>lllt=R<>t>Vt?R #)<29>r'a<>Text with color / style.
Args:
text (str, optional): Default unstyled text. Defaults to "".
style (Union[str, Style], optional): Base style for text. Defaults to "".
justify (str, optional): Justify method: "left", "center", "full", "right". Defaults to None.
overflow (str, optional): Overflow method: "crop", "fold", "ellipsis". Defaults to None.
no_wrap (bool, optional): Disable text wrapping, or None for default. Defaults to None.
end (str, optional): Character to end text with. Defaults to "\\n".
tab_size (int): Number of spaces per tab, or ``None`` to use ``console.tab_size``. Defaults to None.
spans (List[Span], optional). A list of predefined style spans. Defaults to None.
r:<00>justify<66>overflow<6F>no_wrapr9<00>tab_size<7A>N<>
<EFBFBD>spansc<00><><<01>V^8<>dQhRS[RS[S[S[3,RS[R,RS[R,RS[S[,RS[R S[S[,R
S[S[S[,,R R / #) r,<00>textr:rlr#rmr$rnr9rorrr-N)r/rrrrArIr r))r0r1s"<22>r2r3<00>Text.__annotate__<5F>s<><00><><00>0<>0<><11>0<><15>S<EFBFBD>%<25>Z<EFBFBD> <20>0<>
<1A>/<2F>*<2A> 0<> <1B>+<2B>,<2C> 0<><1A>$<24><1E>0<><11>0<><1B>3<EFBFBD>-<2D>0<><18><04>T<EFBFBD>
<EFBFBD>#<23>0<>
<0E>0r5c<08><><00>\V4p V .VnW nW0nW@nWPnW`nWpnT;'g.Vn\V 4Vn
R#rC) r<00>_textr:rlrmrnr9ro<00>_spans<6E>len<65>_length)
r<rtr:rlrmrnr9rorr<00>sanitized_texts
&&&$$$$$$ r2<00>__init__<5F> Text.__init__<5F>sO<00><00>-<2D>T<EFBFBD>2<><0E>$<24>%<25><04>
<EFBFBD><1A>
<EFBFBD>29<EFBFBD> <0C>4<<3C> <0A><1E> <0C><16><08> <20> <0A>"'<27>+<2B>+<2B>2<EFBFBD><04> <0B><1F><0E>/<2F><04> r5c<00> <<01>V^8<>dQhRS[/#r+rQ)r0r1s"<22>r2r3ru<00>s<00><><00><1C><1C><13>r5c<08><00>VP#rC)rzr;s&r2<00>__len__<5F> Text.__len__<5F>s <00><00><13>|<7C>|<7C>r5c<00> <<01>V^8<>dQhRS[/#r+r@)r0r1s"<22>r2r3ru<00>s<00><><00>"<22>"<22>$<24>"r5c<08>,<00>\VP4#rC)rArzr;s&r2rD<00> Text.__bool__<5F>s<00><00><13>D<EFBFBD>L<EFBFBD>L<EFBFBD>!<21>!r5c<00> <<01>V^8<>dQhRS[/#r+r.)r0r1s"<22>r2r3ru<00>s<00><><00><1A><1A><13>r5c<08><00>VP#rC<00><01>plainr;s&r2<00>__str__<5F> Text.__str__<5F>s <00><00><13>z<EFBFBD>z<EFBFBD>r5c<00> <<01>V^8<>dQhRS[/#r+r.)r0r1s"<22>r2r3ru<00>s<00><><00>G<01>G<01>#<23>Gr5c<08>\<00>RVP: RVP: RVP: R2#)z<text <20> <20>>)r<>rxr:r;s&r2r=<00> Text.__repr__<5F>s)<00><00><17><04>
<EFBFBD>
<EFBFBD>~<7E>Q<EFBFBD>t<EFBFBD>{<7B>{<7B>o<EFBFBD>Q<EFBFBD>t<EFBFBD>z<EFBFBD>z<EFBFBD>n<EFBFBD>A<EFBFBD>F<>Fr5c<00>$<<01>V^8<>dQhRS[RR/#)r,<00>otherr-r')r)r0r1s"<22>r2r3ru<00>s<00><><00><1E><1E>S<EFBFBD><1E>V<EFBFBD>r5c<08><><00>\V\\34'd$VP4pVP V4V#\
#rC)<06>
isinstancer/r'<00>copy<70>append<6E>NotImplemented)r<r<><00>results&& r2<00>__add__<5F> Text.__add__<5F>s5<00><00> <15>e<EFBFBD>c<EFBFBD>4<EFBFBD>[<5B> )<29> )<29><19>Y<EFBFBD>Y<EFBFBD>[<5B>F<EFBFBD> <12>M<EFBFBD>M<EFBFBD>%<25> <20><19>M<EFBFBD><1D>r5c<00>&<<01>V^8<>dQhRS[RS[/#<00>r,r<>r-<00><02>objectrA)r0r1s"<22>r2r3ru<00>s<00><><00>I<01>I<01>F<EFBFBD>I<01>t<EFBFBD>Ir5c<08><><00>\V\4'g\#VPVP8H;'dVPVP8H#rC)r<>r'r<>r<>rx<00>r<r<>s&&r2<00>__eq__<5F> Text.__eq__<5F>s=<00><00><19>%<25><14>&<26>&<26>!<21> !<21><13>z<EFBFBD>z<EFBFBD>U<EFBFBD>[<5B>[<5B>(<28>H<>H<>T<EFBFBD>[<5B>[<5B>E<EFBFBD>L<EFBFBD>L<EFBFBD>-H<>Hr5c<00>&<<01>V^8<>dQhRS[RS[/#r<>r<>)r0r1s"<22>r2r3ru<00>s<00><><00><15><15>&<26><15>T<EFBFBD>r5c<08><><00>\V\4'dWP9#\V\4'dVPVP9#R#)F)r<>r/r<>r'r<>s&&r2<00> __contains__<5F>Text.__contains__<5F>s?<00><00> <15>e<EFBFBD>S<EFBFBD> !<21> !<21><18>J<EFBFBD>J<EFBFBD>&<26> &<26> <17><05>t<EFBFBD> $<24> $<24><18>;<3B>;<3B>$<24>*<2A>*<2A>,<2C> ,<2C>r5c<00>:<<01>V^8<>dQhRS[S[S[3,RR/#)r,<00>slicer-r')rrIr<>)r0r1s"<22>r2r3ru<00>s(<00><><00>I<01>I<01><15>s<EFBFBD>E<EFBFBD>z<EFBFBD>!2<>I<01>v<EFBFBD>Ir5c<08><>a<00>RV3Rllp\V\4'd V!V4#VP\SP44wr4pV^8XdSP W4.4pV^,#\ R4h)c<00>(<00>V^8<>dQhR\RR/#)r,rHr-r'rQ)r0s"r2r3<00>&Text.__getitem__.<locals>.__annotate__<5F>s<00><00> <18> <18><03> <18><06> r5c <00><><<01>\p\SPV,SPUUUu.uF$wr#pY0u;8<>d
V8<>gKMKV!^^V4NK& upppRR7pV#uupppi)rrp)rrr9)r)r'r<>rx)rH<00>_Spanr8r9r:rtr<s& <20>r2<00> get_text_at<61>%Text.__getitem__.<locals>.get_text_at<61>ss<00><><00><18>E<EFBFBD><17><14>
<EFBFBD>
<EFBFBD>6<EFBFBD>"<22>.2<EFBFBD>[<5B>[<5B><12>-8<>)<29><05>E<EFBFBD><1A>,<2C>u<EFBFBD>,<2C>'<27>,<2C>'<27>E<EFBFBD>!<21>Q<EFBFBD><05>&<26>-8<><12>
<17><0E>D<EFBFBD><18>K<EFBFBD><4B>s<00>A&<0E>A&<0E> A&z%slices with step!=1 are not supported)r<>rI<00>indicesryr<><00>divide<64> TypeError)r<r<>r<>r8<00>stop<6F>step<65>linessf& r2<00> __getitem__<5F>Text.__getitem__<5F>sp<00><><00> <18> <18> <16>e<EFBFBD>S<EFBFBD> !<21> !<21><1E>u<EFBFBD>%<25> %<25> %<25> <0A> <0A>c<EFBFBD>$<24>*<2A>*<2A>o<EFBFBD> ><3E> <1D>E<EFBFBD><14><13>q<EFBFBD>y<EFBFBD><1C> <0B> <0B>U<EFBFBD>M<EFBFBD>2<><05><1C>Q<EFBFBD>x<EFBFBD><0F> <20> G<>H<>Hr5c<00> <<01>V^8<>dQhRS[/#r+rQ)r0r1s"<22>r2r3ru<00>s<00><><00>$<24>$<24>#<23>$r5c <0C>,<00>\VP4#)z5Get the number of cells required to render this text.)rr<>r;s&r2r<00> Text.cell_len<65>s<00><00><18><04>
<EFBFBD>
<EFBFBD>#<23>#r5c<00> <<01>V^8<>dQhRS[/#r+r.)r0r1s"<22>r2r3ru<00>s<00><><00><16><16><03>r5c <0C><><00>^RIHp.pVPp^RVP3.RVP4ORVP4O\ V4RVP3NpVP \^^4R7^pVPpVFBwrxp Wu8<75>dV!V!W5V44TpV 'gK(T!V'dRV R2MR V R24KD R
PV4p
V
#) zfGet console markup to render this Text.
Returns:
str: A string potentially creating markup tags.
)<01>escapeFc3<00>R"<00>TFqPRVP3x<00>K R#5i<01>FN)r8r:<00><02>.0<EFBFBD>spans& r2<00> <genexpr><3E>Text.markup.<locals>.<genexpr><3E>s<00><00><00> F<>+<2B>$<24>z<EFBFBD>z<EFBFBD>5<EFBFBD>$<24>*<2A>*<2A>-<2D>+<2B><><00>%'c3<00>R"<00>TFqPRVP3x<00>K R#5i<01>TN)r9r:r<>s& r2r<>r<><00>s<00><00><00> C<>{<7B>t<EFBFBD>x<EFBFBD>x<EFBFBD><14>t<EFBFBD>z<EFBFBD>z<EFBFBD>*<2A>{<7B>r<EFBFBD>T<><01>keyz[/<2F>]<5D>[rp)
<EFBFBD>markupr<70>r<>r:rxry<00>sortrr<><00>join) r<r<><00>outputr<74><00> markup_spans<6E>positionr<6E>rH<00>closingr:r<>s & r2r<><00> Text.markup<75>s<><00><00> #<23><1E><06><14>
<EFBFBD>
<EFBFBD><05> <0E><05>t<EFBFBD>z<EFBFBD>z<EFBFBD> "<22>
<EFBFBD> F<>$<24>+<2B>+<2B> F<>
<EFBFBD>D<01>t<EFBFBD>{<7B>{<7B> C<>
<EFBFBD><11><15>Z<EFBFBD><14>t<EFBFBD>z<EFBFBD>z<EFBFBD> *<2A> 
<EFBFBD> <0C> <15><19><19>j<EFBFBD><11>A<EFBFBD>.<2E><19>/<2F><14><08><17><1D><1D><06>&2<> "<22>F<EFBFBD>U<EFBFBD><15> <20><16>v<EFBFBD>e<EFBFBD>V<EFBFBD>4<>5<>6<>!<21><08><14>u<EFBFBD><16><07><12>E<EFBFBD>7<EFBFBD>!<21>}<7D>q<EFBFBD><15><07>q<EFBFBD>\<5C>B<> '3<> <14><17><17><16><1F><06><15> r5<00>emojiT<69> emoji_variantc<00><><<01>V^8<>dQhRS[RS[S[S[3,RS[RS[S[,RS[R,RS[R,R S[R
R /#) r,rtr:r<>r<>rlr#rmr$r9r-r')r/rrrArr)r0r1s"<22>r2r3rust<00><><00><1D><1D><11><1D><15>S<EFBFBD>%<25>Z<EFBFBD> <20> <1D>
<14> <1D>  <20> <0C>-<2D> <1D><1A>/<2F>*<2A><1D><1B>+<2B>,<2C><1D><11><1D>
<10>r5c <0C>J<00>^RIHpV!WW4R7p WYnWinWynV #)a<>Create Text instance from markup.
Args:
text (str): A string containing console markup.
style (Union[str, Style], optional): Base style for text. Defaults to "".
emoji (bool, optional): Also render emoji code. Defaults to True.
emoji_variant (str, optional): Optional emoji variant, either "text" or "emoji". Defaults to None.
justify (str, optional): Justify method: "left", "center", "full", "right". Defaults to None.
overflow (str, optional): Overflow method: "crop", "fold", "ellipsis". Defaults to None.
end (str, optional): Character to end text with. Defaults to "\\n".
Returns:
Text: A Text instance with markup rendered.
)<01>render)r<>r<>)r<>r<>rlrmr9)
<EFBFBD>clsrtr:r<>r<>rlrmr9r<><00> rendered_texts
&&$$$$$$ r2<00> from_markup<75>Text.from_markups+<00><00>4 #<23><1E>t<EFBFBD>%<25>U<> <0A> '<27><1D>!)<29><1E><1F><19><1C>r5c<00><><<01>V^8<>dQhRS[RS[S[S[3,RS[R,RS[R,RS[S[,RS[R S[S[,R
R /#) r,rtr:rlr#rmr$rnr9ror-r')r/rrrrArI)r0r1s"<22>r2r3ru&sw<00><><00>#<16>#<16><11>#<16><15>S<EFBFBD>%<25>Z<EFBFBD> <20> #<16>
<1A>/<2F>*<2A> #<16> <1B>+<2B>,<2C> #<16><1A>$<24><1E>#<16><11>#<16><1B>3<EFBFBD>-<2D>#<16>
<10>#r5c
 <0C><><00>^RIHp\RVVVVVVR7p V!4p
V PRV
P V444p V #)a<>Create a Text object from a string containing ANSI escape codes.
Args:
text (str): A string containing escape codes.
style (Union[str, Style], optional): Base style for text. Defaults to "".
justify (str, optional): Justify method: "left", "center", "full", "right". Defaults to None.
overflow (str, optional): Overflow method: "crop", "fold", "ellipsis". Defaults to None.
no_wrap (bool, optional): Disable text wrapping, or None for default. Defaults to None.
end (str, optional): Character to end text with. Defaults to "\\n".
tab_size (int): Number of spaces per tab, or ``None`` to use ``console.tab_size``. Defaults to None.
)<01> AnsiDecoderrq)rlrmrnr9ror:c3<00>$"<00>TFqx<00>K R#5irCra<00>r<><00>lines& r2r<><00>!Text.from_ansi.<locals>.<genexpr>Hs<00><00><00>C<>.B<>d<EFBFBD>T<EFBFBD>.B<>s<00>)<05>ansir<69>r'r<><00>decode) r<>rtr:rlrmrnr9ror<><00>joiner<65>decoderr<72>s &&$$$$$$ r2<00> from_ansi<73>Text.from_ansi%sQ<00><00>. &<26><15> <10><1B><1D><1B><13><1D><17>
<EFBFBD><06><1E>-<2D><07><17><1B><1B>C<>g<EFBFBD>n<EFBFBD>n<EFBFBD>T<EFBFBD>.B<>C<>C<><06><15> r5c
<00>R<<01>V^8<>dQhRS[RS[RS[R,RS[R,RR/#) r,rtr:rlr#rmr$r-r')r/r r)r0r1s"<22>r2r3ruLsH<00><><00><1B><1B><11><1B><19><1B>
<1A>/<2F>*<2A> <1B> <1B>+<2B>,<2C> <1B>
<10>r5c <0C><<00>V!WVR7pVPV4V#)aConstruct a Text instance with a pre-applied styled. A style applied in this way won't be used
to pad the text when it is justified.
Args:
text (str): A string containing console markup.
style (Union[str, Style]): Style to apply to the text. Defaults to "".
justify (str, optional): Justify method: "left", "center", "full", "right". Defaults to None.
overflow (str, optional): Overflow method: "crop", "fold", "ellipsis". Defaults to None.
Returns:
Text: A text instance with a style applied to the entire string.
<EFBFBD>rlrm)<01>stylize)r<>rtr:rlrm<00> styled_texts&&&$$ r2<00>styled<65> Text.styledKs$<00><00>*<1A>$<24>(<28>C<> <0B><13><1B><1B>E<EFBFBD>"<22><1A>r5<00>metac<00><><<01>V^8<>dQhRS[S[RS[S[S[3,3,RS[S[S[3,RS[R,RS[R,RS[S[,R S[R
S[R S[S[S[S[ 3,,R R/ #) r,<00>partsr'r:rlr#rmr$rnr9ror<>r-)
rr/rr rrrArIr
r)r0r1s"<22>r2r3rues<><00><><00>+<14>+<14><15>c<EFBFBD>6<EFBFBD>5<EFBFBD><13>i<EFBFBD><1E>#8<>8<>9<>+<14><15>S<EFBFBD>%<25>Z<EFBFBD> <20>+<14><1A>/<2F>*<2A> +<14>
<1B>+<2B>,<2C> +<14> <1A>$<24><1E> +<14><11>+<14><16>+<14><17>t<EFBFBD>C<EFBFBD><13>H<EFBFBD>~<7E>&<26>+<14>
<10>+r5c  <0C><><00>V!VVVVVVR7p V Pp
\p VF*p \W<>\34'd V
!V 4K$V
!V !K, V'dV P V4V #)aYConstruct a text instance by combining a sequence of strings with optional styles.
The positional arguments should be either strings, or a tuple of string + style.
Args:
style (Union[str, Style], optional): Base style for text. Defaults to "".
justify (str, optional): Justify method: "left", "center", "full", "right". Defaults to None.
overflow (str, optional): Overflow method: "crop", "fold", "ellipsis". Defaults to None.
no_wrap (bool, optional): Disable text wrapping, or None for default. Defaults to None.
end (str, optional): Character to end text with. Defaults to "\\n".
tab_size (int): Number of spaces per tab, or ``None`` to use ``console.tab_size``. Defaults to None.
meta (Dict[str, Any], optional). Meta data to apply to text, or None for no meta data. Default to None
Returns:
Text: A new text instance.
<EFBFBD>r:rlrmrnr9ro)r<>r'r<>r/<00>
apply_meta) r<>r:rlrmrnr9ror<>r<>rtr<><00>_Text<78>parts &$$$$$$$* r2<00>assemble<6C> Text.assembledsm<00><00>6<13><17><1B><1D><1B><13><1D> 
<EFBFBD><04><16><1B><1B><06><14><05><19>D<EFBFBD><19>$<24><03> <0C>-<2D>-<2D><16>t<EFBFBD> <0C><16><04> <0A> <1A>
<10> <10>O<EFBFBD>O<EFBFBD>D<EFBFBD> !<21><13> r5c<00> <<01>V^8<>dQhRS[/#r+r.)r0r1s"<22>r2r3ru<00>s<00><><00><1D><1D>s<EFBFBD>r5c <0C><><00>\VP4^8wd*RPVP4.VPR&VP^,#)z Get the text as a single string.rp<00>NNN)ryrwr<>r;s&r2r<><00>
Text.plain<69>s?<00><00> <0F>t<EFBFBD>z<EFBFBD>z<EFBFBD>?<3F>a<EFBFBD> <1F><1F>W<EFBFBD>W<EFBFBD>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>0<>1<>D<EFBFBD>J<EFBFBD>J<EFBFBD>q<EFBFBD>M<EFBFBD><13>z<EFBFBD>z<EFBFBD>!<21>}<7D>r5c<00>$<<01>V^8<>dQhRS[RR/#)r,<00>new_textr-Nr.)r0r1s"<22>r2r3ru<00>s<00><><00>#<23>#<23>c<EFBFBD>#<23>d<EFBFBD>#r5c <0C><><00>WP8wd\\V4pV.VPR&VPp\ V4VnW0P8<>dVP 4R#R#R#)zSet the text to a new value.r<>N)r<>rrwrzry<00> _trim_spans)r<r<>r{<00>
old_lengths&& r2r<>r<><00>s]<00><00> <14>z<EFBFBD>z<EFBFBD> !<21>0<><18>:<3A>N<EFBFBD>+<2B>,<2C>D<EFBFBD>J<EFBFBD>J<EFBFBD>q<EFBFBD>M<EFBFBD><1D><1C><1C>J<EFBFBD><1E>~<7E>.<2E>D<EFBFBD>L<EFBFBD><19>L<EFBFBD>L<EFBFBD>(<28><14> <20> <20>"<22>)<29> "r5c<00>0<<01>V^8<>dQhRS[S[,/#r+<00>r r))r0r1s"<22>r2r3ru<00>s<00><><00><1B><1B>t<EFBFBD>D<EFBFBD>z<EFBFBD>r5c <0C><00>VP#)z.Get a reference to the internal list of spans.<2E>rxr;s&r2rr<00>
Text.spans<6E>s<00><00><14>{<7B>{<7B>r5c<00>4<<01>V^8<>dQhRS[S[,RR/#)r,rrr-Nr)r0r1s"<22>r2r3ru<00>s<00><><00><1F><1F>4<EFBFBD><04>:<3A><1F>$<24>r5c <0C>"<00>VR,VnR#)z
Set spans.r<>Nr)r<rrs&&r2rrr<00>s<00><00><1C>A<EFBFBD>h<EFBFBD><04> r5c<00>$<<01>V^8<>dQhRS[RR/#)r,r<>r-r'r.)r0r1s"<22>r2r3ru<00>s<00><><00> <19> <19><03> <19>V<EFBFBD> r5c
 <0C><><00>\VVPVPVPVPVP
VP R7pV#)zNReturn a new Text instance with copied metadata (but not the string or spans).r<>)r'r:rlrmrnr9ro)r<r<><00> copy_selfs&& r2<00>
blank_copy<EFBFBD>Text.blank_copy<70>sA<00><00><18> <11><16>*<2A>*<2A><18>L<EFBFBD>L<EFBFBD><19>]<5D>]<5D><18>L<EFBFBD>L<EFBFBD><14><08><08><19>]<5D>]<5D>
<EFBFBD> <09><19>r5c<00><<01>V^8<>dQhRR/#<00>r,r-r'ra)r0r1s"<22>r2r3ru<00>s<00><><00> <19> <19>f<EFBFBD> r5c
 <0C><><00>\VPVPVPVPVP
VP VPR7pVPVPR&V#)zReturn a copy of this instance.r<>r<>) r'r<>r:rlrmrnr9rorx)r<r s& r2r<><00> Text.copy<70>sY<00><00><18> <10>J<EFBFBD>J<EFBFBD><16>*<2A>*<2A><18>L<EFBFBD>L<EFBFBD><19>]<5D>]<5D><18>L<EFBFBD>L<EFBFBD><14><08><08><19>]<5D>]<5D>
<EFBFBD> <09>#<23>k<EFBFBD>k<EFBFBD> <09><18><18><11><1B><18>r5c<00>V<<01>V^8<>dQhRS[S[S[3,RS[RS[S[,RR/#<00>r,r:r8r9r-N<>rr/rrIr)r0r1s"<22>r2r3ru<00>sF<00><><00>E<01>E<01><14>S<EFBFBD>%<25>Z<EFBFBD> <20>E<01><13>E<01><16>c<EFBFBD>]<5D> E<01>
<0E> Er5c  <0C><><00>V'do\V4pV^8d WB,pVfTpV^8d WC,pW$8<>gW28:dR#VPP\V\ WC4V44R#R#)aRApply a style to the text, or a portion of the text.
Args:
style (Union[str, Style]): Style instance or style definition to apply.
start (int): Start offset (negative indexing is supported). Defaults to 0.
end (Optional[int], optional): End offset (negative indexing is supported), or None for end of text. Defaults to None.
N)ryrxr<>r)rK<00>r<r:r8r9<00>lengths&&&& r2r<><00> Text.stylize<7A>sg<00><00> <11><18><14>Y<EFBFBD>F<EFBFBD><14>q<EFBFBD>y<EFBFBD><1E><0E><05><12>{<7B><1C><03><12>Q<EFBFBD>w<EFBFBD><1C>l<EFBFBD><03><14><EFBFBD>#<23>,<2C><16> <10>K<EFBFBD>K<EFBFBD> <1E> <1E>t<EFBFBD>E<EFBFBD>3<EFBFBD>v<EFBFBD>+;<3B>U<EFBFBD>C<> D<> r5c<00>V<<01>V^8<>dQhRS[S[S[3,RS[RS[S[,RR/#rr)r0r1s"<22>r2r3ru<00>sF<00><><00>H<01>H<01><14>S<EFBFBD>%<25>Z<EFBFBD> <20>H<01><13>H<01><16>c<EFBFBD>]<5D> H<01>
<0E> Hr5c
 <0C><><00>V'dp\V4pV^8d WB,pVfTpV^8d WC,pW$8<>gW28:dR#VPP^\V\ WC4V44R#R#)a<>Apply a style to the text, or a portion of the text. Styles will be applied before other styles already present.
Args:
style (Union[str, Style]): Style instance or style definition to apply.
start (int): Start offset (negative indexing is supported). Defaults to 0.
end (Optional[int], optional): End offset (negative indexing is supported), or None for end of text. Defaults to None.
N)ryrx<00>insertr)rKrs&&&& r2<00>stylize_before<72>Text.stylize_before<72>si<00><00> <11><18><14>Y<EFBFBD>F<EFBFBD><14>q<EFBFBD>y<EFBFBD><1E><0E><05><12>{<7B><1C><03><12>Q<EFBFBD>w<EFBFBD><1C>l<EFBFBD><03><14><EFBFBD>#<23>,<2C><16> <10>K<EFBFBD>K<EFBFBD> <1E> <1E>q<EFBFBD>$<24>u<EFBFBD>c<EFBFBD>&<26>.><3E><05>"F<> G<> r5c<00>V<<01>V^8<>dQhRS[S[S[3,RS[RS[S[,RR/#)r,r<>r8r9r-N)r
r/rrIr)r0r1s"<22>r2r3ru<00>s9<00><><00> 2<> 2<><18><13>c<EFBFBD><18>N<EFBFBD> 2<>+.<2E> 2<>9A<39>#<23><1D> 2<> <0A> 2r5c <0C>X<00>\P!V4pVPWBVR7R#)a?Apply metadata to the text, or a portion of the text.
Args:
meta (Dict[str, Any]): A dict of meta information.
start (int): Start offset (negative indexing is supported). Defaults to 0.
end (Optional[int], optional): End offset (negative indexing is supported), or None for end of text. Defaults to None.
)r8r9N)r<00> from_metar<61>)r<r<>r8r9r:s&&&& r2r<><00>Text.apply_meta<74>s"<00><00><16><0F><0F><04>%<25><05> <0C> <0C> <0C>U<EFBFBD>S<EFBFBD> <0C>1r5c<00>P<<01>V^8<>dQhRS[S[S[S[3,,RS[RR/#)r,r<><00>handlersr-r')rr
r/r)r0r1s"<22>r2r3ru s/<00><><00><14><14>x<EFBFBD><04>S<EFBFBD>#<23>X<EFBFBD><0E>/<2F><14>C<EFBFBD><14>F<EFBFBD>r5c <0C><><00>Vf/MTpTPVP4UUu/uF wr4RV 2VbK upp4VP\P!V44V#uuppi)atApply event handlers (used by Textual project).
Example:
>>> from rich.text import Text
>>> text = Text("hello world")
>>> text.on(click="view.toggle('world')")
Args:
meta (Dict[str, Any]): Mapping of meta information.
**handlers: Keyword args are prefixed with "@" to defined handlers.
Returns:
Text: Self is returned to method may be chained.
<EFBFBD>@)<05>update<74>itemsr<73>rr!)r<r<>r$r<><00>values&&, r2<00>on<6F>Text.on s`<00><00><1A>\<5C>r<EFBFBD>t<EFBFBD><04> <0C> <0B> <0B><08><0E><0E>8H<38>I<>8H<38>*<2A>#<23>q<EFBFBD><13><05>Y<EFBFBD><05>%<25>8H<38>I<>J<> <0C> <0C> <0C>U<EFBFBD>_<EFBFBD>_<EFBFBD>T<EFBFBD>*<2A>+<2B><13> <0B><>Js<00>A'
c<00>$<<01>V^8<>dQhRS[RR/#)r,<00>suffixr-Nr.)r0r1s"<22>r2r3rus<00><><00>)<29>)<29>C<EFBFBD>)<29>D<EFBFBD>)r5c <0C><><00>VPPV4'dVP\V44R#R#)zIRemove a suffix if it exists.
Args:
suffix (str): Suffix to remove.
N)r<><00>endswithrYry)r<r-s&&r2<00> remove_suffix<69>Text.remove_suffixs.<00><00> <10>:<3A>:<3A> <1E> <1E>v<EFBFBD> &<26> &<26> <10>O<EFBFBD>O<EFBFBD>C<EFBFBD><06>K<EFBFBD> (<28> 'r5c<00>*<<01>V^8<>dQhRRRS[RS[/#)r,<00>consoler!rHr-)rIr)r0r1s"<22>r2r3ru(s"<00><><00><15><15>9<EFBFBD><15>c<EFBFBD><15>e<EFBFBD>r5c <0C><00>V^8d\V4V,pVPpV!VP4P4pVPF*wrVpYbu;8<>d
V8<>gKMKWC!VRR7, pK, V#)z<>Get the style of a character at give offset.
Args:
console (~Console): Console where text will be rendered.
offset (int): Offset in to text (negative indexing supported)
Returns:
Style: A Style instance.
rp<00>r%)ry<00> get_styler:r<>rx)r<r3rHr6r:r8r9<00>
span_styles&&& r2<00>get_style_at_offset<65>Text.get_style_at_offset(st<00><00> <12>A<EFBFBD>:<3A><18><14>Y<EFBFBD><16>'<27>F<EFBFBD><1B>%<25>%<25> <09><19>$<24>*<2A>*<2A>%<25>*<2A>*<2A>,<2C><05>&*<2A>k<EFBFBD>k<EFBFBD> "<22>E<EFBFBD>
<EFBFBD><12>$<24>u<EFBFBD>$<24>$<24><15><19>:<3A>r<EFBFBD>:<3A>:<3A><05>'2<><15> r5c<00>$<<01>V^8<>dQhRS[RR/#)r,<00>spacesr-NrQ)r0r1s"<22>r2r3ru<s<00><><00>%<25>%<25>3<EFBFBD>%<25>4<EFBFBD>%r5c <0C><><00>V^8:dR#VPpRV,pV'd<>\V4pVUu.uF'pVPV8<>dVPV4MTNK) upVPR&VP
P V4V;PV, unR#V;PV, unR#uupi)z<>Extend the Text given number of spaces where the spaces have the same style as the last character.
Args:
spaces (int): Number of spaces to add to the Text.
Nr<EFBFBD>r<>) rrryr9r^rxrwr<>rzr<>)r<r;rr<00>
new_spaces<EFBFBD>
end_offsetr<EFBFBD>s&& r2<00> extend_style<6C>Text.extend_style<s<><00><00> <12>Q<EFBFBD>;<3B> <12><14>
<EFBFBD>
<EFBFBD><05><18>6<EFBFBD>\<5C>
<EFBFBD> <10><1C>T<EFBFBD><19>J<EFBFBD>"<22><0E>!<21>D<EFBFBD>(,<2C>x<EFBFBD>x<EFBFBD>:<3A>'=<3D><04> <0B> <0B>F<EFBFBD>#<23>4<EFBFBD>G<>!<21><0E>D<EFBFBD>K<EFBFBD>K<EFBFBD><01>N<EFBFBD> <11>J<EFBFBD>J<EFBFBD> <1D> <1D>j<EFBFBD> )<29> <10>L<EFBFBD>L<EFBFBD>F<EFBFBD> "<22>L<EFBFBD> <10>J<EFBFBD>J<EFBFBD>*<2A> $<24>J<EFBFBD><4A>s<00>-C<04> style_prefixc<00>~<<01>V^8<>dQhRS[S[S[,S[3,RS[S[S[S[3,,RS[RS[/#)r,<00> re_highlightr:rAr-)rrr/r<00>GetStyleCallabler rI)r0r1s"<22>r2r3ruQsQ<00><><00>&<15>&<15><1B>G<EFBFBD>C<EFBFBD>L<EFBFBD>#<23>-<2D>.<2E>&<15><18><05>.<2E> <09>9<>:<3A>;<3B>&<15>
<1A> &<15>
<0A> &r5c
 <0C>@<00>^pVPPp\pVPp\ V\
4'd\ P!V4pVPV4F<>pVPp V'd@V !4wr<>\V4'd V!WzV 4MTp V eW<>8<EFBFBD>dV!V!W<>V 44V^, pVP4P4F1p V !V 4wr<>V
R8wgKW<>8<EFBFBD>gKV!V!W<>V V 244K3 K<> V#)a<>Highlight text with a regular expression, where group names are
translated to styles.
Args:
re_highlight (Union[re.Pattern, str]): A regular expression object or string.
style (Union[GetStyleCallable, StyleType]): Optional style to apply to whole match, or a callable
which accepts the matched text and returns a style. Defaults to None.
style_prefix (str, optional): Optional prefix to add to style group names.
Returns:
int: Number of regex matches
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) rxr<>r)r<>r<>r/<00>re<72>compile<6C>finditerr<72><00>callable<6C> groupdict<63>keys)r<rCr:rA<00>count<6E> append_spanr<6E>r<><00>match<63>get_spanr8r9<00> match_style<6C>names&&&$ r2<00>highlight_regex<65>Text.highlight_regexQs<><00><00>&<12><05><1A>k<EFBFBD>k<EFBFBD>(<28>(<28> <0B><14><05><14>
<EFBFBD>
<EFBFBD><05> <15>l<EFBFBD>C<EFBFBD> (<28> (<28><1D>:<3A>:<3A>l<EFBFBD>3<>L<EFBFBD>!<21>*<2A>*<2A>5<EFBFBD>1<>E<EFBFBD><1C>z<EFBFBD>z<EFBFBD>H<EFBFBD><14>%<25>Z<EFBFBD>
<EFBFBD><05>9A<39>%<25><1F><1F>e<EFBFBD>E<EFBFBD><03>$4<>5<>e<EFBFBD> <0B><1E>*<2A>s<EFBFBD>{<7B><1F><05>e<EFBFBD>+<2B> ><3E>?<3F> <11>Q<EFBFBD>J<EFBFBD>E<EFBFBD><1D><0F><0F>)<29>.<2E>.<2E>0<><04>%<25>d<EFBFBD>^<5E>
<EFBFBD><05><18>B<EFBFBD>;<3B>3<EFBFBD>;<3B><1F><05>e<EFBFBD>\<5C>N<EFBFBD>4<EFBFBD>&<26>2I<32> J<>K<>1<>2<><15> r5<00>case_sensitivec<00>X<<01>V^8<>dQhRS[S[,RS[S[S[3,RS[RS[/#)r,<00>wordsr:rUr-)r r/rrrArI)r0r1s"<22>r2r3ruys@<00><><00><15><15><17><03>}<7D><15><15>S<EFBFBD>%<25>Z<EFBFBD> <20><15>
<1D> <15>
<0A> r5c <0C>J<00>RPRV44pVPPp^p\p\P
!Y@P V'd^M\PR7F.pVP^4wr<>V!V!W<>V44V^, pK0 V#)a
Highlight words with a style.
Args:
words (Iterable[str]): Words to highlight.
style (Union[str, Style]): Style to apply.
case_sensitive (bool, optional): Enable case sensitive matching. Defaults to True.
Returns:
int: Number of words highlighted.
<EFBFBD>|c3<00>N"<00>TFp\P!V4x<00>K R#5irC)rGr<><00>r<><00>words& r2r<><00>'Text.highlight_words.<locals>.<genexpr><3E>s<00><00><00>><3E><05><04>B<EFBFBD>I<EFBFBD>I<EFBFBD>d<EFBFBD>O<EFBFBD>O<EFBFBD><05>s<00>#%<01><01>flags) r<>rxr<>r)rGrIr<><00>
IGNORECASEr<EFBFBD>) r<rWr:rU<00>re_words<64>add_spanrMr<>rOr8r9s &&&$ r2<00>highlight_words<64>Text.highlight_wordsys<><00><00>"<17>8<EFBFBD>8<EFBFBD>><3E><05>><3E>><3E><08><17>;<3B>;<3B>%<25>%<25><08><11><05><14><05><17>[<5B>[<5B> <14>j<EFBFBD>j<EFBFBD>^<5E><01><12><1D><1D>
<EFBFBD>E<EFBFBD><1F><1A><1A>A<EFBFBD><1D>J<EFBFBD>E<EFBFBD> <14>U<EFBFBD>5<EFBFBD>u<EFBFBD>-<2D> .<2E> <11>Q<EFBFBD>J<EFBFBD>E<EFBFBD> 
<EFBFBD> <15> r5c<00><<01>V^8<>dQhRR/#<00>r,r-Nra)r0r1s"<22>r2r3ru<00>s<00><><00>)<29>)<29><04>)r5c <0C>D<00>VPP4VnR#)z"Strip whitespace from end of text.N)r<><00>rstripr;s&r2rh<00> Text.rstrip<69>s<00><00><19>Z<EFBFBD>Z<EFBFBD>&<26>&<26>(<28><04>
r5c<00>$<<01>V^8<>dQhRS[RR/#)r,<00>sizer-NrQ)r0r1s"<22>r2r3ru<00>s<00><><00> ?<3F> ?<3F>s<EFBFBD> ?<3F>t<EFBFBD> ?r5c <0C><><00>\V4pW!8<>ddW!,
p\PVP4pVe7\VP ^44pVP \ WS44R#R#R#)zvRemove whitespace beyond a certain width at the end of the text.
Args:
size (int): The desired size of the text.
N)ry<00>_re_whitespace<63>searchr<68><00>grouprYrK)r<rk<00> text_length<74>excess<73>whitespace_match<63>whitespace_counts&& r2<00>
rstrip_end<EFBFBD>Text.rstrip_end<6E>si<00><00> <1A>$<24>i<EFBFBD> <0B> <16> <1D> <20>'<27>F<EFBFBD>-<2D>4<>4<>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>@<40> <1C><1F>+<2B>#&<26>'7<>'=<3D>'=<3D>a<EFBFBD>'@<40>#A<> <20><14><0F><0F><03>$4<> =<3D>><3E>,<2C> r5c<00>$<<01>V^8<>dQhRS[RR/#)r,<00>
new_lengthr-NrQ)r0r1s"<22>r2r3ru<00>s<00><><00>5<>5<>S<EFBFBD>5<>T<EFBFBD>5r5c <0C><><00>\V4pW!8wd9W!8dVPW,
4R#VPW!,
4R#R#)z<Set new length of the text, clipping or padding is required.N)ry<00> pad_rightrY)r<rwrs&& r2<00>
set_length<EFBFBD>Text.set_length<74>s:<00><00><14>T<EFBFBD><19><06> <11> <1F><15>"<22><14><0E><0E>z<EFBFBD>2<>3<><14><0F><0F><06> 3<>4<> r5c<00>8<<01>V^8<>dQhRRRRRS[S[,/#<00>r,r3r!<00>optionsr"r-)r r)r0r1s"<22>r2r3ru<00>s*<00><><00>;<3B>;<3B> <20>;<3B>+;<3B>;<3B> <11>'<27> <1A>;r5c #<08>&"<00>VPf VPM VPpVP;'gVP;'g\pVP;'gVP;'g\pTP TVP TTT;'g^\VPVPR4R7p\R4PV4pVPWPR7Rjx<01>L
R#L5i)NF)rlrmrornrq<00>r9) rorl<00>DEFAULT_JUSTIFYrm<00>DEFAULT_OVERFLOW<4F>wrap<61> max_widthrrnr'r<>r<>r9)r<r3r~rorlrmr<><00> all_liness&&& r2<00>__rich_console__<5F>Text.__rich_console__<5F>s<><00><00><00>-1<>M<EFBFBD>M<EFBFBD>,A<><07>(<28>(<28>t<EFBFBD>}<7D>}<7D><08><16>,<2C>,<2C>D<>D<>'<27>/<2F>/<2F>D<>D<>_<EFBFBD><07><17>=<3D>=<3D>H<>H<>G<EFBFBD>$4<>$4<>H<>H<>8H<38><08><14> <09> <09> <13> <13> <1D> <1D><1B><1D><1D>]<5D>]<5D><11><1D>d<EFBFBD>l<EFBFBD>l<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD>U<EFBFBD>C<> <1A>
<EFBFBD><05><19><14>J<EFBFBD>O<EFBFBD>O<EFBFBD>E<EFBFBD>*<2A> <09><1C>#<23>#<23>G<EFBFBD><18><18>#<23>:<3A>:<3A>:<3A>s/<00>9D<01>D<01>D<01>*D<01>>(D<01>'A!D<01>D<04> Dc<00>(<<01>V^8<>dQhRRRRRS[/#r}r)r0r1s"<22>r2r3ru<00>s%<00><><00>
;<3B>
;<3B> <20>
;<3B>+;<3B>
;<3B> <14>
;r5c<08><><00>VPpVP4pV'd\RV44M^pVP4pV'd\RV44MTp\ Wu4#)c3<00>8"<00>TFp\V4x<00>K R#5irC<00>rr<>s& r2r<><00>(Text.__rich_measure__.<locals>.<genexpr><3E>s<00><00><00>><3E><05><04>X<EFBFBD>d<EFBFBD>^<5E>^<5E><05><><00>c3<00>8"<00>TFp\V4x<00>K R#5irCr<>r[s& r2r<>r<><00>s<00><00><00>1<>5<EFBFBD>4<EFBFBD><08><14><0E><0E>5<EFBFBD>r<EFBFBD>)r<><00>
splitlines<EFBFBD>maxrNr)r<r3r~rtr<><00>max_text_widthrW<00>min_text_widths&&& r2<00>__rich_measure__<5F>Text.__rich_measure__<5F>s\<00><00><14>z<EFBFBD>z<EFBFBD><04><14><0F><0F>!<21><05>BG<42><13>><3E><05>><3E>><3E>Q<EFBFBD><0E><14>
<EFBFBD>
<EFBFBD> <0C><05>5:<3A>C<EFBFBD>1<>5<EFBFBD>1<> 1<><0E> <17><1B>><3E>:<3A>:r5c<00>8<<01>V^8<>dQhRRRS[RS[R,/#)r,r3r!r9r-r)r/r )r0r1s"<22>r2r3ru<00>s'<00><><00>9 <20>9 <20>i<EFBFBD>9 <20>c<EFBFBD>9 <20>8<EFBFBD>I<EFBFBD>;N<>9 r5c# <0C><>aaaaa"<00>\pVPpVP'g"\V4x<00>V'd V!V4x<00>R#\VP\
P !4R7p\\VP^44pVUUu/uFwrxWu!VP4bK uppoV!VP4S^&R
.RV4ORV4O\V4R^3Np V P\^^4R7.oSPp
SPp /oSPo\
P oRVVVVV3Rllp \#W<>R ,4FAwwr<>pwppV'd
V !V4MV
!V4VV 8<>gK/V!WMVV !44x<00>KC V'd V!V4x<00>R#R#uuppi5i) z<>Render the text as Segments.
Args:
console (Console): Console instance.
end (Optional[str], optional): Optional end character.
Returns:
Iterable[Segment]: Result of render that may be written to the console.
Nr5c3<00>D"<00>TFwrVPRV3x<00>K R#5ir<>)r8<00>r<><00>indexr<78>s& r2r<><00>Text.render.<locals>.<genexpr><3E>s<00><00><00> M<><L<>[<5B>U<EFBFBD>t<EFBFBD>z<EFBFBD>z<EFBFBD>5<EFBFBD>%<25>(<28><L<><4C><00> c3<00>D"<00>TFwrVPRV3x<00>K R#5ir<>r<>r<>s& r2r<>r<><00>s<00><00><00> J<>9I<39>+<2B>%<25>t<EFBFBD>x<EFBFBD>x<EFBFBD><14>u<EFBFBD>%<25>9I<39>r<EFBFBD>Tr<54>c<00>$<00>V^8<>dQhR\/#r+)r)r0s"r2r3<00>!Text.render.<locals>.__annotate__<5F>s<00><00> !<21> !<21>5<EFBFBD> !r5c<04><><<05>\;QJd .V3Rl\S44FNK 5M!V3Rl\S444pS!V4pVeV#S!V4pVSV&V#)z#Construct current style from stack.c3<00>6<"<00>TFpSV,x<00>K R#5irCra)r<><00> _style_id<69> style_maps& <20>r2r<><00>9Text.render.<locals>.get_current_style.<locals>.<genexpr><3E>s<00><><00><00>O<><1D>I<EFBFBD>9<EFBFBD>Y<EFBFBD>/<2F>/<2F><1D>s<00>)<02>tuple<6C>sorted)<08>styles<65> cached_style<6C> current_style<6C>combine<6E>stack<63> style_cache<68>style_cache_getr<74>s <20><><EFBFBD><EFBFBD><EFBFBD>r2<00>get_current_style<6C>&Text.render.<locals>.get_current_style<6C>sX<00><><00><1A>U<EFBFBD>O<><16><05><1D>O<>U<EFBFBD>U<EFBFBD>O<><16><05><1D>O<>O<>F<EFBFBD>*<2A>6<EFBFBD>2<>L<EFBFBD><1B>'<27>#<23>#<23>#<23>F<EFBFBD>O<EFBFBD>M<EFBFBD>"/<2F>K<EFBFBD><06> <1F> <20> r5<00><>NN)rFr)rr<>rxrr6r<00>null<6C>list<73> enumerater:ryr<>rr<><00>remove<76>getr<74><00>zip)r<r3r9<00>_Segmentrtr6<00>enumerated_spansr<73>r<>rr<00> stack_append<6E> stack_popr<70>rH<00>leaving<6E>style_id<69> next_offset<65>_r<5F>r<>r<>r<>r<>s&&& @@@@@r2r<><00> Text.render<65>s<><00><><00><00><1B><08><13>z<EFBFBD>z<EFBFBD><04><13>{<7B>{<7B>{<7B><19>$<24>-<2D> <1F><12><1E>s<EFBFBD>m<EFBFBD>#<23> <12><1B>G<EFBFBD>-<2D>-<2D>u<EFBFBD>z<EFBFBD>z<EFBFBD>|<7C>D<> <09><1F> <09>$<24>+<2B>+<2B>q<EFBFBD> 9<>:<3A><18>EU<45>V<>EU<45>k<EFBFBD>e<EFBFBD>U<EFBFBD>I<EFBFBD>d<EFBFBD>j<EFBFBD>j<EFBFBD>1<>1<>EU<45>V<> <09> <20><14><1A><1A>,<2C> <09>!<21> <0C> <1A>
<EFBFBD> M<><L<> M<>
<EFBFBD>K<01>9I<39> J<>
<EFBFBD><11><14>Y<EFBFBD><04>a<EFBFBD> <20> 
<EFBFBD><05> <0E>
<EFBFBD>
<EFBFBD>z<EFBFBD>!<21>Q<EFBFBD>'<27>
<EFBFBD>(<28><1D><05><1C>|<7C>|<7C> <0C><19>L<EFBFBD>L<EFBFBD> <09>68<36> <0B>%<25>/<2F>/<2F><0F><17>-<2D>-<2D><07> !<21> !<21>AD<01>E<EFBFBD>QS<51>9<EFBFBD>@U<> <<3C> '<27>V<EFBFBD>h<EFBFBD>)<<3C>+<2B>q<EFBFBD>!<21><16><19>(<28>#<23><1C>X<EFBFBD>&<26><1A>V<EFBFBD>#<23><1E>t<EFBFBD>;<3B>7<>9J<39>9L<39>M<>M<> AV<01> <0F><1A>3<EFBFBD>-<2D> <1F> <0F><>IW<01>s<00>BG<01>G<06>8CG<01>G<01>4Gc<00>2<<01>V^8<>dQhRS[R,RR/#)r,r<>r'r-<00>r )r0r1s"<22>r2r3ru
s <00><><00>%<18>%<18>(<28>6<EFBFBD>*<2A>%<18>v<EFBFBD>%r5c
 <0C><>aaaa <09>SP4pRVV3RllpVPPpVPPpVPPp^o \
oV!4F<>pV!VP4VP 'd+V!S!S S \V4,VP 44V!VV 3RlVP44S \V4, o K<> S VnV#)z<>Join text together with this instance as the separator.
Args:
lines (Iterable[Text]): An iterable of Text instances to join.
Returns:
Text: A new text instance containing join text.
c<00>2<00>V^8<>dQhR\R,/#rr<>)r0s"r2r3<00>Text.join.<locals>.__annotate__s<00><00> !<21> !<21>8<EFBFBD>F<EFBFBD>+<2B> !r5c3<00><><"<00>SP'd)\S4FwrVx<00>V'dKSx<00>K R#SRjx<01>L
R#L5irC)r<>r)<04>lastr<74>r<>r<s <20><>r2<00> iter_text<78>Text.join.<locals>.iter_texts:<00><><00><00><13>z<EFBFBD>z<EFBFBD>z<EFBFBD>"+<2B>E<EFBFBD>"2<>J<EFBFBD>D<EFBFBD><1E>J<EFBFBD><1F>4<EFBFBD>"<22>
<EFBFBD>#3<>
!<21> <20> <20>s<00>,A <01>A <01>A
<04>A c3<00>Z<"<00>TF wrpS!SV,SV,V4x<00>K" R#5irCra)r<>r8r9r:r<>rHs& <20><>r2r<><00>Text.join.<locals>.<genexpr>)s1<00><><00><00><0E>)4<>%<25>E<EFBFBD><05><16>f<EFBFBD>u<EFBFBD>n<EFBFBD>f<EFBFBD>s<EFBFBD>l<EFBFBD>E<EFBFBD>:<3A>:<3A>)4<><34><00>(+) r rwr^rxr<>r)r:ryrz)
r<r<>r<>r<><00> extend_textrN<00> extend_spansrtr<>rHs
ff @@r2r<><00> Text.join
s<><00><><00><18>?<3F>?<3F>$<24><08> !<21> !<21><1F>n<EFBFBD>n<EFBFBD>+<2B>+<2B> <0B><1E>o<EFBFBD>o<EFBFBD>,<2C>,<2C> <0B><1F><EFBFBD><EFBFBD>-<2D>-<2D> <0C><12><06><14><05><1D>K<EFBFBD>D<EFBFBD> <17><04>
<EFBFBD>
<EFBFBD> #<23><13>z<EFBFBD>z<EFBFBD>z<EFBFBD><1B>E<EFBFBD>&<26>&<26>3<EFBFBD>t<EFBFBD>9<EFBFBD>*<<3C>d<EFBFBD>j<EFBFBD>j<EFBFBD>I<>J<> <18><0E>)-<2D><1B><1B><0E> <0E> <13>c<EFBFBD>$<24>i<EFBFBD> <1F>F<EFBFBD> <20>"<22><08><18><17>r5c<00>4<<01>V^8<>dQhRS[S[,RR/#)r,ror-N)rrI)r0r1s"<22>r2r3ru1s<00><><00>('<27>('<27>H<EFBFBD>S<EFBFBD>M<EFBFBD>('<27>T<EFBFBD>('r5c <0C>*<00>RVP9dR#Vf VPpVf^p.pVPpVPRRR7F<>pRVP9d V!V4K^pVPRRR7pVF<>pVPP R4'doVP
R ,RR R,VP
R &WWP , pWQ,pV'd"W,
p VPV 4WY, pMWWP , pV!V4K<> K<> \R4PV4p
V
P.Vn\VP4Vn V
PVPR&R#)
z\Converts tabs to spaces.
Args:
tab_size (int, optional): Size of tabs. Defaults to 8.
<EFBFBD> NrqT)<01>include_separatorr<72>rpr<>rF) r<>ror<>rNr/rwrr?r'r<>ryrzrx) r<ror<>r<>r<><00> cell_positionr<6E>r<><00> tab_remainderr;r<>s && r2<00> expand_tabs<62>Text.expand_tabs1sF<00><00> <10>t<EFBFBD>z<EFBFBD>z<EFBFBD> !<21> <12> <13> <1B><1B>}<7D>}<7D>H<EFBFBD> <13> <1B><18>H<EFBFBD>!<21><08><19><1F><1F><06><18>J<EFBFBD>J<EFBFBD>t<EFBFBD>t<EFBFBD>J<EFBFBD><<3C>D<EFBFBD><13>4<EFBFBD>:<3A>:<3A>%<25><16>t<EFBFBD> <0C> !<21> <0A><1C>
<EFBFBD>
<EFBFBD>4<EFBFBD>4<EFBFBD>
<EFBFBD>@<40><05>!<21>D<EFBFBD><1B>z<EFBFBD>z<EFBFBD>*<2A>*<2A>4<EFBFBD>0<>0<>)-<2D><1A><1A>B<EFBFBD><1E><03><12>)<<3C>s<EFBFBD>)B<><04>
<EFBFBD>
<EFBFBD>2<EFBFBD><0E>%<25><1D><1D>6<> <0A>(5<>(@<40> <0A>(<28>%-<2D>%=<3D>F<EFBFBD> <20>-<2D>-<2D>f<EFBFBD>5<>)<29>3<>M<EFBFBD><4D>%<25><1D><1D>6<> <0A><1A>4<EFBFBD>L<EFBFBD>"<22> =<3D>&<16>b<EFBFBD><18><1D><1D>x<EFBFBD>(<28><06><1C>l<EFBFBD>l<EFBFBD>^<5E><04>
<EFBFBD><1A>4<EFBFBD>:<3A>:<3A><EFBFBD><04> <0C><1F><1D><1D><04> <0B> <0B>A<EFBFBD>r5<00>padFc<00>><<01>V^8<>dQhRS[RS[R,RS[RR/#)r,r<>rmr$r<>r-N)rIrrA)r0r1s"<22>r2r3ru[s9<00><><00>/<2F>/<2F><16>/<2F><1B>+<2B>,<2C> /<2F>
<12> /<2F>
<0E> /r5c <0C><><00>T;'gVP;'g\pVR8wd<>\VP4pWQ8<51>dMVR8Xd+\ VPV^,
4R,VnM\ VPV4VnV'dJWQ8dBW,
pVP RV, 2.Vn\ VP4VnR#R#R#R#)aMTruncate text if it is longer that a given width.
Args:
max_width (int): Maximum number of characters in text.
overflow (str, optional): Overflow method: "crop", "fold", or "ellipsis". Defaults to None, to use self.overflow.
pad (bool, optional): Pad with spaces if the length is less than max_width. Defaults to False.
<EFBFBD>ignore<72>ellipsisu…r<E280A6>N)rmr<>rr<>rrwryrz)r<r<>rmr<><00> _overflowrr;s&&$$ r2<00>truncate<74> Text.truncate[s<><00><00><1D>A<>A<><04> <0A> <0A>A<>A<>1A<31> <09> <14><08> <20><1D>d<EFBFBD>j<EFBFBD>j<EFBFBD>)<29>F<EFBFBD><15>!<21><1C>
<EFBFBD>*<2A>!.<2E>t<EFBFBD>z<EFBFBD>z<EFBFBD>9<EFBFBD>q<EFBFBD>=<3D>!I<>E<EFBFBD>!Q<>D<EFBFBD>J<EFBFBD>!.<2E>t<EFBFBD>z<EFBFBD>z<EFBFBD>9<EFBFBD>!E<>D<EFBFBD>J<EFBFBD><12>v<EFBFBD>)<29>"<22>+<2B><06>!%<25><1A><1A> <0C>S<EFBFBD>6<EFBFBD>\<5C>N<EFBFBD>;<3B><<3C><04>
<EFBFBD>"<22>4<EFBFBD>:<3A>:<3A><EFBFBD><04> <0C>*<2A>s<EFBFBD> !r5c<00><<01>V^8<>dQhRR/#rfra)r0r1s"<22>r2r3ruvs<00><><00> 
<EFBFBD> 
<EFBFBD>T<EFBFBD> 
r5c
 <0C>B<00>\VP4p\pVPUu.uFZpVPV8gKVP
V8dTM0V!VP\ WP
4VP4NK\ upVPR&R#uupi)z=Remove or modify any spans that are over the end of the text.r<>N)ryr<>r)rxr8r9rKr:)r<<00>
max_offsetr<EFBFBD>r<>s& r2r<00>Text._trim_spansvs<><00><00><18><14><1A><1A>_<EFBFBD>
<EFBFBD><14><05><1D> <0B> <0B> 
<EFBFBD> $<24><04><13>z<EFBFBD>z<EFBFBD>J<EFBFBD>&<26> N<01><17>8<EFBFBD>8<EFBFBD>j<EFBFBD>(<28><15><1A>4<EFBFBD>:<3A>:<3A>s<EFBFBD>:<3A>x<EFBFBD>x<EFBFBD>'@<40>$<24>*<2A>*<2A>M<>N<01>$<24> 
<EFBFBD><04> <0B> <0B>A<EFBFBD><0E><>
s <00>B<04>ABc<00>*<<01>V^8<>dQhRS[RS[RR/#<00>r,rM<00> characterr-N<>rIr/)r0r1s"<22>r2r3ru<00>s"<00><><00><0E><0E><13><0E><13><0E>t<EFBFBD>r5c
 <0C>(<00>\V4^8XgQR4hV'dlW!,pV VP V 2Vn\pVPUUUu.uFwrVpV!WQ,Wa,V4NK upppVPR&R#R#uupppi)z<>Pad left and right with a given number of characters.
Args:
count (int): Width of padding.
character (str): The character to pad with. Must be a string of length 1.
<EFBFBD>&Character must be a string of length 1r<31>N<>ryr<>r)rx)r<rMr<><00>pad_charactersr<73>r8r9r:s&&& r2r<><00>Text.pad<61>s<><00><00><13>9<EFBFBD>~<7E><11>"<22>L<>$L<>L<>"<22> <10>&<26>.<2E>N<EFBFBD>*<2A>+<2B>D<EFBFBD>J<EFBFBD>J<EFBFBD><<3C><0E>7G<37>H<>D<EFBFBD>J<EFBFBD><18>E<EFBFBD>*.<2E><1B><1B><0E>)4<>%<25>E<EFBFBD><05><16>e<EFBFBD>m<EFBFBD>S<EFBFBD>[<5B>%<25>8<>)4<><0E>D<EFBFBD>K<EFBFBD>K<EFBFBD><01>N<EFBFBD> <11><>s<00>"B c<00>*<<01>V^8<>dQhRS[RS[RR/#r<>r<>)r0r1s"<22>r2r3ru<00>s"<00><><00><0E><0E>c<EFBFBD><0E>c<EFBFBD><0E>D<EFBFBD>r5c
 <0C> <00>\V4^8XgQR4hV'dhW!, VP 2Vn\pVPUUUu.uFwrEpV!WA,WQ,V4NK upppVPR&R#R#uupppi)z<>Pad the left with a given character.
Args:
count (int): Number of characters to pad.
character (str, optional): Character to pad with. Defaults to " ".
r<EFBFBD>r<>Nr<4E>)r<rMr<>r<>r8r9r:s&&& r2<00>pad_left<66> Text.pad_left<66>s<><00><00><13>9<EFBFBD>~<7E><11>"<22>L<>$L<>L<>"<22> <10>%<25>-<2D>.<2E>t<EFBFBD>z<EFBFBD>z<EFBFBD>l<EFBFBD>;<3B>D<EFBFBD>J<EFBFBD><18>E<EFBFBD>*.<2E><1B><1B><0E>)4<>%<25>E<EFBFBD><05><16>e<EFBFBD>m<EFBFBD>S<EFBFBD>[<5B>%<25>8<>)4<><0E>D<EFBFBD>K<EFBFBD>K<EFBFBD><01>N<EFBFBD> <11><>s<00>"B c<00>*<<01>V^8<>dQhRS[RS[RR/#r<>r<>)r0r1s"<22>r2r3ru<00>s"<00><><00> <<3C> <<3C>s<EFBFBD> <<3C>s<EFBFBD> <<3C>T<EFBFBD> <r5c <0C>~<00>\V4^8XgQR4hV'dVP W!, 2VnR#R#)z<>Pad the right with a given character.
Args:
count (int): Number of characters to pad.
character (str, optional): Character to pad with. Defaults to " ".
r<EFBFBD>N)ryr<>)r<rMr<>s&&&r2ry<00>Text.pad_right<68>s<<00><00><13>9<EFBFBD>~<7E><11>"<22>L<>$L<>L<>"<22> <10> <20>J<EFBFBD>J<EFBFBD><<3C> <09>(9<>':<3A>;<3B>D<EFBFBD>J<EFBFBD> r5c<00>0<<01>V^8<>dQhRS[RS[RS[RR/#)r,<00>align<67>widthr<68>r-N)rrIr/)r0r1s"<22>r2r3ru<00>s)<00><><00>7<>7<>;<3B>7<>s<EFBFBD>7<>s<EFBFBD>7<>T<EFBFBD>7r5c <0C>@<00>VPV4V\VP4,
pV'diVR8XdVPWC4R#VR8Xd5V^,pVP WS4VPWE,
V4R#VP WC4R#R#)z<>Align text to a given width.
Args:
align (AlignMethod): One of "left", "center", or "right".
width (int): Desired width.
character (str, optional): Character to pad with. Defaults to " ".
<EFBFBD>left<66>centerN)r<>rr<>ryr<>)r<r<>r<>r<><00> excess_spacer<65>s&&&& r2r<><00>
Text.align<67>sy<00><00> <0A> <0A> <0A>e<EFBFBD><1C><1C>x<EFBFBD><04>
<EFBFBD>
<EFBFBD>3<>3<> <0C> <17><14><06><EFBFBD><14><0E><0E>|<7C>7<><16>(<28>"<22>#<23>q<EFBFBD>(<28><04><14> <0A> <0A>d<EFBFBD>.<2E><14><0E><0E>|<7C>2<>I<EFBFBD>><3E><14> <0A> <0A>l<EFBFBD>6<> r5c<00>b<<01>V^8<>dQhRS[RS[3,RS[S[S[R3,,RR/#)r,rtr'r:rr-)rr/r)r0r1s"<22>r2r3ru<00>s<<00><><00>*<14>*<14><19>&<26>#<23>+<2B>&<26>*<14>/7<><05>c<EFBFBD>7<EFBFBD>l<EFBFBD>8K<38>/L<>*<14> <0F>*r5c  <0C><>aa<06>\V\\34'g \R4h\ V4'Ed<>\V\4'd<>\ V4pVP PV4\ V4p\ V4oV'd-VPP\WDS,V44V;PS, un
V#\V\4'd<>\oVe \R4hVPoVP'd>VPPS!SS\ V4,VP44VP PVP4VPPVV3RlVPP444V;P\ V4, un
V#)z<>Add text with an optional style.
Args:
text (Union[Text, str]): A str or Text to append.
style (str, optional): A style name. Defaults to None.
Returns:
Text: Returns self for chaining.
z(Only str or Text can be appended to Textz2style must not be set when appending Text instancec3<00>Z<"<00>TF wrpS!VS,VS,V4x<00>K" R#5irCra<00>r<>r8r9r:r<>rps& <20><>r2r<><00>Text.append.<locals>.<genexpr><3E>s3<00><><00><00>#<12>-?<3F>)<29><05>E<EFBFBD><1A>%<25>+<2B>-<2D>s<EFBFBD>[<5B>/@<40>%<25>H<>H<>-?<3F>r<EFBFBD>)r<>r/r'r<>ryrrwr<>rxr)rz<00>
ValueErrorr:r<>r^r<>)r<rtr:r{rHr<>rps&&& @@r2r<><00> Text.append<6E>sc<00><><00><1A>$<24><13>d<EFBFBD> <0B>,<2C>,<2C><1B>F<>G<> G<> <0E>t<EFBFBD>9<EFBFBD>9<EFBFBD><19>$<24><03>$<24>$<24>!4<>T<EFBFBD>!:<3A><0E><14>
<EFBFBD>
<EFBFBD>!<21>!<21>.<2E>1<><1C>T<EFBFBD><19><06>!<21>.<2E>1<> <0B><18><18>K<EFBFBD>K<EFBFBD>&<26>&<26>t<EFBFBD>F<EFBFBD>[<5B>4H<34>%<25>'P<>Q<><14> <0C> <0C> <0B>+<2B> <0C>$<14> <0B>#<1C>D<EFBFBD>$<24>'<27>'<27><1C><05><18>$<24>$<24>L<><16><16>#<23>l<EFBFBD>l<EFBFBD> <0B><17>:<3A>:<3A>:<3A><18>K<EFBFBD>K<EFBFBD>&<26>&<26><1D>k<EFBFBD>;<3B><13>T<EFBFBD><19>+B<>D<EFBFBD>J<EFBFBD>J<EFBFBD>O<><16><15>
<EFBFBD>
<EFBFBD>!<21>!<21>$<24>*<2A>*<2A>-<2D><14> <0B> <0B>"<22>"<22>#<12>-1<>[<5B>[<5B>-=<3D>-=<3D>-?<3F>#<12><12><15> <0C> <0C><03>D<EFBFBD> <09>)<29> <0C><13> r5c<00>"<<01>V^8<>dQhRRRR/#)r,rtr'r-ra)r0r1s"<22>r2r3ru<00>s<00><><00><14><14><06><14>6<EFBFBD>r5c  <0C><>aa<03>\oVPoVP'd>VPP S!SS\ V4,VP44VP P VP4VPPVV3RlVPP444V;P\ V4, unV#)z<>Append another Text instance. This method is more performant than Text.append, but
only works for Text.
Args:
text (Text): The Text instance to append to this instance.
Returns:
Text: Returns self for chaining.
c3<00>Z<"<00>TF wrpS!VS,VS,V4x<00>K" R#5irCrar<>s& <20><>r2r<><00>#Text.append_text.<locals>.<genexpr><3E>s3<00><><00><00>
<EFBFBD>%7<>!<21><05>E<EFBFBD> <12>%<25>+<2B>%<25>s<EFBFBD>[<5B>'8<>%<25> @<40> @<40>%7<>r<EFBFBD>)
r)rzr:rxr<>ryrwr<>r^r<>)r<rtr<>rps&&@@r2<00> append_text<78>Text.append_text<78>s<><00><><00><15><05><1A>l<EFBFBD>l<EFBFBD> <0B> <0F>:<3A>:<3A>:<3A> <10>K<EFBFBD>K<EFBFBD> <1E> <1E>u<EFBFBD>[<5B>+<2B><03>D<EFBFBD> <09>2I<32>4<EFBFBD>:<3A>:<3A>V<> W<> <0C>
<EFBFBD>
<EFBFBD><19><19>$<24>*<2A>*<2A>%<25> <0C> <0B> <0B><1A><1A>
<EFBFBD>%)<29>[<5B>[<5B>%5<>%5<>%7<>
<EFBFBD>
<EFBFBD> <0A> <0C> <0C><03>D<EFBFBD> <09>!<21> <0C><13> r5c<00>Z<<01>V^8<>dQhRS[S[S[S[S[,3,,RR/#)r,<00>tokensr-r')r rr/rr )r0r1s"<22>r2r3rus1<00><><00><14><14><1E>u<EFBFBD>S<EFBFBD>(<28>9<EFBFBD>*=<3D>%=<3D>><3E>?<3F><14> <0F>r5c
 <0C>:<00>VPPpVPPp\p\ V4pVFQwrg\ V4pV!V4V'd V!V!WU\ V4,V44V\ V4, pKS WPnV#)aAppend iterable of str and style. Style may be a Style instance or a str style definition.
Args:
tokens (Iterable[Tuple[str, Optional[StyleType]]]): An iterable of tuples containing str content and style.
Returns:
Text: Returns self for chaining.
)rwr<>rxr)ryrrz)r<r rrNr<>rH<00>contentr:s&& r2<00> append_tokens<6E>Text.append_tokenss<><00><00><1B>j<EFBFBD>j<EFBFBD>'<27>'<27> <0B><1A>k<EFBFBD>k<EFBFBD>(<28>(<28> <0B><14><05><14>T<EFBFBD><19><06>$<24>N<EFBFBD>G<EFBFBD>)<29>'<27>2<>G<EFBFBD> <17><07> <20><14><1B>E<EFBFBD>&<26>3<EFBFBD>w<EFBFBD><<3C>*?<3F><15>G<>H<> <12>c<EFBFBD>'<27>l<EFBFBD> "<22>F<EFBFBD> %<25> <1E> <0C><13> r5c<00>"<<01>V^8<>dQhRRRR/#)r,rtr'r-Nra)r0r1s"<22>r2r3rus<00><><00>(<28>(<28><06>(<28>4<EFBFBD>(r5c <0C>P<00>VPPVP4R#)z~Copy styles from another Text instance.
Args:
text (Text): A Text instance to copy styles from, must be the same length.
N)rxr^)r<rts&&r2<00> copy_styles<65>Text.copy_styless<00><00> <0A> <0B> <0B><1A><1A>4<EFBFBD>;<3B>;<3B>'r5r<><00> allow_blankc<00>2<<01>V^8<>dQhRS[RS[RS[RS[/#)r,<00> separatorr<72>rr-)r/rAr)r0r1s"<22>r2r3ru&s3<00><><00>*<15>*<15><16>*<15> <20> *<15>
<1A> *<15>
<0F> *r5c <0C><>aa<06>S'gQR4hVPoSS9d\VP4.4#V'dCVPR\P
!\P !S4S444pM3RVV3Rllp\V3RlVPV!4444pV'g(SPS4'dVP4V#)a<>Split rich text in to lines, preserving styles.
Args:
separator (str, optional): String to split on. Defaults to "\\n".
include_separator (bool, optional): Include the separator in the lines. Defaults to False.
allow_blank (bool, optional): Return a blank line if the text ends with a separator. Defaults to False.
Returns:
List[RichText]: A list of rich text, one per line of the original.
zseparator must not be emptyc3<00>@"<00>TFqP4x<00>K R#5irCr<>)r<>rOs& r2r<><00>Text.split.<locals>.<genexpr>>s<00><00><00> <0E>)P<><05> <09> <09> <0B> <0B>)P<>s<00>c<00>:<00>V^8<>dQhR\\,/#r+)r rI)r0s"r2r3<00> Text.split.<locals>.__annotate__Cs<00><00> <1E> <1E>8<EFBFBD>C<EFBFBD>=<3D> r5c3<00><><"<00>\P!\P!S4S4FpVP4wrVx<00>Vx<00>K R#5irC)rGrIr<>r<>)rOr8r9rrts <20><>r2<00> flatten_spans<6E>!Text.split.<locals>.flatten_spansCs<<00><><00><00><1F>[<5B>[<5B><12><19><19>9<EFBFBD>)=<3D>t<EFBFBD>D<>E<EFBFBD>!&<26><1A><1A><1C>J<EFBFBD>E<EFBFBD><1F>K<EFBFBD><1D>I<EFBFBD>E<01>s<00>AAc3<00>L<"<00>TFqPS8wgKVx<00>K R#5irCr<>)r<>r<>rs& <20>r2r<>rIs <00><><00><00><0E>!=<3D><14><1A><1A>y<EFBFBD>AX<41><04><04>!=<3D>s<00>$<01>
$) r<>rr<>r<>rGrIr<>r/<00>pop)r<rr<>rr<>rrts&f$$ @r2rN<00>
Text.split&s<><00><><00>"<19>7<>7<>7<>y<EFBFBD><13>z<EFBFBD>z<EFBFBD><04> <14>D<EFBFBD> <20><18>$<24>)<29>)<29>+<2B><1D>'<27> '<27> <1C><18>K<EFBFBD>K<EFBFBD> <0E>)+<2B><1B><1B>R<EFBFBD>Y<EFBFBD>Y<EFBFBD>y<EFBFBD>5I<35>4<EFBFBD>)P<> <0E><0E>E<EFBFBD>
 <1E> <1E> <1A><0E>!%<25><1B><1B>]<5D>_<EFBFBD>!=<3D><0E><0E>E<EFBFBD><1B>t<EFBFBD>}<7D>}<7D>Y<EFBFBD>7<>7<> <11>I<EFBFBD>I<EFBFBD>K<EFBFBD><14> r5c<00>6<<01>V^8<>dQhRS[S[,RS[/#)r,<00>offsetsr-)r rIr)r0r1s"<22>r2r3ruRs#<00><><00>M<19>M<19>h<EFBFBD>s<EFBFBD>m<EFBFBD>M<19><05>Mr5c  <0C>paaaaa<1A>\V4pV'g\VP4.4#VPo\ S4p^.VOVNp\\ WDR,44pVP oVPoVPo\o\VVVVV3RlV44pVP'gV#VPUu.uFqwPPNK pp\ V4p \p
VPEFwr<>o^p T pW<>,^,pW_,wppV V8d V^,
pMV V8<>d V^,p MMW<>,^,pK@V V8dTpMGT;pp T pVV,wppV V8d V^,
pMV V8<>d V^,p MMW<>,^,pKA\VV^,4F\pVV,wpp\^V V,
4p\!V V,
VV,
4pVV8<>gKEVV,!V
!VVS44K^ EK! V#uupi)z<>Divide text into a number of lines at given offsets.
Args:
offsets (Iterable[int]): Offsets used to divide text.
Returns:
Lines: New RichText instances between offsets.
r<EFBFBD>c3<00>D<"<00>TFwrS!SWSSSR7x<00>K R#5i))r:rlrmNra)r<>r8r9r<>rlrmr:rts& <20><><EFBFBD><EFBFBD><EFBFBD>r2r<><00>Text.divide.<locals>.<genexpr>is8<00><><00><00>
<EFBFBD>*<2A>
<EFBFBD><05> <12><14>U<EFBFBD><0F><1B><1F>!<21>  <0E> <0E> *<2A>s<00> )r<>rr<>r<>ryr<>r:rlrmr'rx<00>_linesr<73>r)<00>ranger<65>rK)r<r!<00>_offsetsrp<00>divide_offsets<74> line_ranges<65> new_linesr<73><00> _line_appends<64>
line_countr<EFBFBD><00>
span_start<EFBFBD>span_end<6E> lower_bound<6E> upper_bound<6E> start_line_no<6E>
line_start<EFBFBD>line_end<6E> end_line_no<6E>line_no<6E> new_start<72>new_endr<64>rlrmr:rts&& @@@@@r2r<><00> Text.divideRs&<00><><00><18><07>=<3D><08><17><18>$<24>)<29>)<29>+<2B><1D>'<27> '<27><13>z<EFBFBD>z<EFBFBD><04><19>$<24>i<EFBFBD> <0B><1B>4<>h<EFBFBD>4<> <0B>4<><0E><1A>3<EFBFBD>~<7E>b<EFBFBD>/A<>B<>C<> <0B><14>
<EFBFBD>
<EFBFBD><05><16>,<2C>,<2C><07><17>=<3D>=<3D><08><14><05><19>
<EFBFBD>
<EFBFBD>*<2A>
<EFBFBD>
<EFBFBD> <09><14>{<7B>{<7B>{<7B><1C> <1C>8A<38>8H<38>8H<38>I<>8H<38><04><1B><1B>+<2B>+<2B>8H<38> <0A>I<><18><1B>%<25>
<EFBFBD><14><05>+/<2F>;<3B>;<3B> '<27>J<EFBFBD>%<25><1B>K<EFBFBD>$<24>K<EFBFBD>(<28>6<>1<EFBFBD><<3C>M<EFBFBD><16>'2<>'A<>$<24>
<EFBFBD>H<EFBFBD><1D>
<EFBFBD>*<2A>"/<2F>!<21>"3<>K<EFBFBD><1F>(<28>*<2A>"/<2F>!<21>"3<>K<EFBFBD><19>!,<2C>!:<3A>q<EFBFBD> @<40> <0A><17>(<28>"<22>+<2B> <0B>,9<>9<> <0B>k<EFBFBD>(<28> <0B><1A>+6<>{<7B>+C<>(<28>J<EFBFBD><08><1F>*<2A>,<2C>&1<>A<EFBFBD>o<EFBFBD> <0B>!<21>H<EFBFBD>,<2C>&1<>A<EFBFBD>o<EFBFBD> <0B><1D>#.<2E>#<<3C><11>"B<>K<EFBFBD> <20><1D> <0B>a<EFBFBD><0F>@<40><07>'2<>7<EFBFBD>';<3B>$<24>
<EFBFBD>H<EFBFBD><1F><01>:<3A>
<EFBFBD>#:<3A>;<3B> <09><1D>h<EFBFBD><1A>3<>X<EFBFBD>
<EFBFBD>5J<EFBFBD>K<><07><1A>Y<EFBFBD>&<26>!<21>'<27>*<2A>5<EFBFBD><19>G<EFBFBD>U<EFBFBD>+K<>L<> A<01>?,7<>L<19><18><>UJs<00>H3c<00>$<<01>V^8<>dQhRS[RR/#)r,<00>amountr-NrQ)r0r1s"<22>r2r3ru<00>s<00><><00><1F><1F><13><1F>T<EFBFBD>r5c
 <0C><><00>\VP4V,
p\pVPUu.uFZpVPV8gKVP
V8dTM0V!VP\ W$P
4VP4NK\ upVPR&VPRV).VnV;PV,un R#uupi)z7Remove a number of characters from the end of the text.r<>N)
ryr<>r)rxr8r9rKr:rwrz)r<r:r<>r<>r<>s&& r2rY<00>Text.right_crop<6F>s<><00><00><18><14><1A><1A>_<EFBFBD>v<EFBFBD>-<2D>
<EFBFBD><14><05><1D> <0B> <0B> 
<EFBFBD> $<24><04><13>z<EFBFBD>z<EFBFBD>J<EFBFBD>&<26> N<01><17>8<EFBFBD>8<EFBFBD>j<EFBFBD>(<28><15><1A>4<EFBFBD>:<3A>:<3A>s<EFBFBD>:<3A>x<EFBFBD>x<EFBFBD>'@<40>$<24>*<2A>*<2A>M<>N<01>$<24> 
<EFBFBD><04> <0B> <0B>A<EFBFBD><0E><1B>j<EFBFBD>j<EFBFBD><18>6<EFBFBD>'<27>*<2A>+<2B><04>
<EFBFBD> <0C> <0C> <0C><06><1E> <0C><>
s <00>C<04> ACc<00>n<<01>V^8<>dQhRRRS[RS[R,RS[R,RS[R S[S[,R
S[/#) r,r3r!r<>rlr#rmr$rornr-)rIrrAr)r0r1s"<22>r2r3ru<00>s`<00><><00>1<15>1<15><1A>1<15><13>1<15>
<1A>/<2F>*<2A> 1<15> <1B>+<2B>,<2C> 1<15><16>1<15><1A>$<24><1E>1<15>
<0F>1r5c <0C><><00>T;'gVP;'g\pT;'gVP;'g\p\ W`P
R4;'gVR8Hp\ 4p VPRR7F<>p
RV
9dV
PV4V'd(VR8XdV PV
4K=\ V
.4p MD\\V
4W(R8HR7p V
PV 4p V Fp
V
PV4K V'dV PWWxR7V Fp
V
PW(R 7K V PV 4K<> V #)
a<EFBFBD>Word wrap the text.
Args:
console (Console): Console instance.
width (int): Number of cells available per line.
justify (str, optional): Justify method: "default", "left", "center", "full", "right". Defaults to "default".
overflow (str, optional): Overflow method: "crop", "fold", or "ellipsis". Defaults to None.
tab_size (int, optional): Default tab size. Defaults to 8.
no_wrap (bool, optional): Disable wrapping, Defaults to False.
Returns:
Lines: Number of lines.
Fr<EFBFBD>T<>rr<>r&)r&r<>)rm)rlr<>rmr<>rrnrrNr<>r<>rr/r<>rtr<>r^) r<r3r<>rlrmrorn<00> wrap_justify<66> wrap_overflowr<77>r<>r*r!s &&&$$$$ r2r<><00> Text.wrap<61>s+<00><00>.<1F>A<>A<>$<24>,<2C>,<2C>A<>A<>/<2F> <0C> <20>E<>E<>D<EFBFBD>M<EFBFBD>M<EFBFBD>E<>E<>5E<35> <0A><1B>G<EFBFBD>\<5C>\<5C>5<EFBFBD>9<>Q<>Q<>X<EFBFBD><18>=Q<><07><15><07><05><18>J<EFBFBD>J<EFBFBD>4<EFBFBD>J<EFBFBD>0<>D<EFBFBD><13>t<EFBFBD>|<7C><14> <20> <20><18>*<2A><16><1B>x<EFBFBD>'<27><19>L<EFBFBD>L<EFBFBD><14>&<26><1C>!<21>4<EFBFBD>&<26>M<EFBFBD> <09>%<25>c<EFBFBD>$<24>i<EFBFBD><15>f<EFBFBD>=T<>U<><07> <20>K<EFBFBD>K<EFBFBD><07>0<> <09>%<25>D<EFBFBD><18>O<EFBFBD>O<EFBFBD>E<EFBFBD>*<2A>&<26><1B><19>!<21>!<21><1B>L<EFBFBD>"<22><12>"<22><04><14> <0A> <0A>e<EFBFBD> <0A><<3C>"<22> <11>L<EFBFBD>L<EFBFBD><19> #<23>'1<>(<15> r5c<00>&<<01>V^8<>dQhRS[RS[/#)r,r<>r-)rIr)r0r1s"<22>r2r3ru<00>s<00><><00><15><15><13><15><15>r5c <0C><><00>\4pVPpVP4FpVPV4V!V4K V#)z<>Fit the text in to given width by chopping in to lines.
Args:
width (int): Maximum characters in a line.
Returns:
Lines: Lines container.
)rr<>rNrz)r<r<>r<>r<>r<>s&& r2<00>fit<69>Text.fit<69>s><00><00><1D>w<EFBFBD><05><16><1C><1C><06><18>J<EFBFBD>J<EFBFBD>L<EFBFBD>D<EFBFBD> <10>O<EFBFBD>O<EFBFBD>E<EFBFBD> "<22> <12>4<EFBFBD>L<EFBFBD>!<21><15> r5c<00> <<01>V^8<>dQhRS[/#r+rQ)r0r1s"<22>r2r3ru<00>s<00><><00><1B><1B>C<EFBFBD>r5c <0C>h<00>\P!RVP\PR7Uu0uFp\ VP ^44kK pp\ \VUu.uFq3^,'dKVNK up4;'g^pV#uupiuupi \d^pT#i;i)zZAuto-detect indentation of code.
Returns:
int: Number of spaces used to indent code.
<EFBFBD>
^( *)(.*)$r^) rGrIr<><00> MULTILINEryrorrr<>)r<rO<00> _indentations<6E>indent<6E> indentations& r2<00>detect_indentation<6F>Text.detect_indentation<6F>s<><00><00><1C><1B><1B>]<5D>D<EFBFBD>J<EFBFBD>J<EFBFBD>b<EFBFBD>l<EFBFBD>l<EFBFBD>S<>
<EFBFBD>S<><05> <10><05> <0B> <0B>A<EFBFBD><0E> <1F>S<> <16>
<EFBFBD>
 <1C><16>s<EFBFBD>-<2D>R<>-<2D><06>PQ<50>z<EFBFBD>z<EFBFBD>V<EFBFBD>V<EFBFBD>-<2D>R<>S<>X<>X<>WX<57> <18> <1B><1A><>
<EFBFBD><EFBFBD>S<01><><18> <1C><1B>K<EFBFBD><1A><1A> <1C>s5<00>#B<04>B <00>(B
<EFBFBD>=B
<EFBFBD> B <00>B <00>B <00> B1<03>0B1r<>u│z dim greenc<00>@<<01>V^8<>dQhRS[S[,RS[RS[RR/#)r,<00> indent_sizer<65>r:r-r')rrIr/r )r0r1s"<22>r2r3ru s7<00><><00>.<18>.<18><1D>c<EFBFBD>]<5D>.<18><17> .<18>
<19> .<18>
<10> .r5c <0C><><00>VfVP4MTpVP4pVP4V RV^,
, 2p\P!R4p.pVP
p ^p
VP RR7F<>p VPV P4p V 'dV P^4'g V
^, p
KHV P^4p \\V 4V4wr<>Wn, RV, 2pVV P\V4R,V nV PV^\V44V
'd'VP\VVR7.V
,4^p
V !V 4K<> V
'd%VP\RVR7.V
,4VPR4P!V4pV#) uSAdds indent guide lines to text.
Args:
indent_size (Optional[int]): Size of indentation, or None to auto detect. Defaults to None.
character (str, optional): Character to use for indentation. Defaults to "│".
style (Union[Style, str], optional): Style of indent guides.
Returns:
Text: New text with indentation guides.
Nr<EFBFBD>rITr?<00>r:rprq)rNr<>r<>rGrHr<>rNrOr<>ro<00>divmodryr<>r^r'r r<>)r<rQr<>r:<00> _indent_sizert<00> indent_line<6E> re_indentr*<00>add_line<6E> blank_linesr<73>rOrL<00> full_indents<74>remaining_space<63>
new_indentr<EFBFBD>s&&$$ r2<00>with_indent_guides<65>Text.with_indent_guides s<><00><00>$5@<01>4G<34>t<EFBFBD>.<2E>.<2E>0<>[<5B> <0C><13>y<EFBFBD>y<EFBFBD>{<7B><04> <0C><18><18><1A>"<22> <0B>C<EFBFBD><<3C>!<21>+;<3B>$<<3C>#=<3D>><3E> <0B><16>J<EFBFBD>J<EFBFBD>}<7D>-<2D> <09> "<22> <09><1C>#<23>#<23><08><17> <0B><18>J<EFBFBD>J<EFBFBD>4<EFBFBD>J<EFBFBD>0<>D<EFBFBD><1D>O<EFBFBD>O<EFBFBD>D<EFBFBD>J<EFBFBD>J<EFBFBD>/<2F>E<EFBFBD><18><05> <0B> <0B>A<EFBFBD><0E><0E><1B>q<EFBFBD> <20> <0B><18><1A>[<5B>[<5B><11>^<5E>F<EFBFBD>,2<>3<EFBFBD>v<EFBFBD>;<3B> <0C>,M<> )<29>L<EFBFBD>'<27>6<>7<><03>o<EFBFBD>8M<38>7N<37>O<>J<EFBFBD>#<23>d<EFBFBD>j<EFBFBD>j<EFBFBD><13>Z<EFBFBD><1F>1B<31>&C<>C<>D<EFBFBD>J<EFBFBD> <10>L<EFBFBD>L<EFBFBD><15><01>3<EFBFBD>z<EFBFBD>?<3F> 3<><1A><19> <20> <20>$<24>z<EFBFBD><15>"?<3F>!@<40>;<3B>!N<>O<><1F> <0B> <14>T<EFBFBD>N<EFBFBD>1<> <17> <15> <1C> <1C>d<EFBFBD>2<EFBFBD>U<EFBFBD>3<>4<>{<7B>B<> C<><17>?<3F>?<3F>4<EFBFBD>(<28>-<2D>-<2D>i<EFBFBD>8<><08><17>r5)
rzrxrwr9rlrnrmr<>r:ro) rwr:rlrmrnr9rorxrz)rprp)rp)rNrC)r<>)rq)r<>)@rbrcrdrerf<00> __slots__r|r<>rDr<>r=r<>r<>r<>r<><00>propertyrr<><00> classmethodr<64>r<>r<>r<>r<><00>setterrrr r<>r<>rr<>r*r0r8r?rSrcrhrtrzr<>r<>r<>r<>r<>r<>rr<>r<>ryr<>r<>rr rrNr<>rYr<>rErNr]rhrirjs@r2r'r'vsY<00><><00><00> <08>
<06>I<EFBFBD>0<>
.2<EFBFBD> 0<> 04<30> 0<>#'<27>0<><18>0<>#'<27>0<>'+<2B>0<>0<>.<1C><1C>"<22>"<22><1A><1A>G<01>G<01><1E><1E>I<01>I<01>
<15><15>I<01>I<01>4<0E>$<24><0E>$<24><0E><16><0E><16>:<11><1D>$&<26> <1D>
<1B> <1D> 15<31> <1D>.2<EFBFBD><1D>04<30><1D><18><1D><1D><11><1D>B<11>#<16>$&<26> #<16>
.2<EFBFBD> #<16> 04<30> #<16>#'<27>#<16><18>#<16>#$<24>#<16>#<16><11>#<16>J<11><1B>
.2<EFBFBD> <1B> 04<30> <1B><1B><11><1B>0<11>+<14>$&<26>+<14>.2<EFBFBD> +<14>
04<30> +<14> #'<27> +<14><18>+<14><1A>+<14>*.<2E>+<14>+<14><11>+<14>Z<0E><1D><0E><1D>  <0B>\<5C>\<5C>#<23><12>#<23><0E><1B><0E><1B> <0B>\<5C>\<5C><1F><12><1F> <19> <19> <19> <19>E<01>E<01>4H<01>H<01>4 2<> 2<><14><14>()<29>)<29><15><15>(%<25>%<25>*&<15>
<1F> &<15>&<15>P<15>
$<24> <15><15>:)<29>)<29> ?<3F> ?<3F>5<>5<>;<3B>;<3B>$
;<3B>
;<3B>9 <20>9 <20>v%<18>%<18>N('<27>('<27>T/<2F>04<30> /<2F>
<1A> /<2F>/<2F>6 
<EFBFBD> 
<EFBFBD><0E><0E>"<0E><0E> <<3C> <<3C>7<>7<>(*<14>*<14>X<14><14>,<14><14>0(<28>(<28>*<15>#(<28> *<15>
"<22> *<15>*<15>XM<19>M<19>^<1F><1F> 1<15>
.2<EFBFBD> 1<15> 04<30> 1<15><1A>1<15>#'<27>1<15>1<15>f<15><15> <1B><1B>*.<18><1F> .<18>
'<27> .<18>.<18>.r5<00>__main__)r!a<>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<EFBFBD>Lorem<65>bold<6C>ipsum<75>italiczjustify='left'<27>redrSzjustify='center'<27>greenr<6E>)r:rlzjustify='right'<27>blue<75>rightzjustify='full'<27>magenta<74>fullc<00>X<00>V^8<>dQh/^\9dR;R&^\9dR;R&#)r,r#r<>r$r<><00><01>__conditional_annotations__)r0s"r2r3r3s/<00><00> <09> <09>D-<2D>,<2C><1F>,<2C>E
<EFBFBD>F,<2C>+<2B>"<22>+<2B>G
r5)DrprG<00> functoolsrr<00>mathr<00>operatorr<00>typingrrr r
r r r rrrr<00>_loopr<00>_pickr<00>_wraprr<>rr\rr<00>
containersr<00>controlrr<>r<00>jupyterr<00>measurer<00>segmentrr:rr r3r!r"r#r$r<>r<>rHrmr/<00>TextTyperDr)r'rb<00> rich.consolertrc<00>rule<6C>printr3ros@r2<00><module>r<>s<><00><><01> <09> <09>%<25><14><1F> <02> <02> <02> <02><1D><1C><1E><1E>*<2A><1D>(<28><1F>!<21> <20><1C>#<23><10>O<>O<>#,<2C><0F>,<2C>%+<2B><10>+<2B><14><1A><1A>G<EFBFBD>$<24><0E> <10><13>f<EFBFBD><1B> <1D><08>1<><1B>S<EFBFBD>E<EFBFBD>8<EFBFBD>I<EFBFBD>#6<>6<>7<><10>D<18>:<3A>D<18>NA<18><<3C>A<18>H& <0C>z<EFBFBD><19>$<24> <0F> P<07> <06>D<EFBFBD> <09><18><18>'<27><19>F<EFBFBD>+<2B><08><18><18>'<27><19>H<EFBFBD>-<2D><15>i<EFBFBD>G<EFBFBD> <0B>L<EFBFBD>L<EFBFBD>!<21>"<22> <0B>M<EFBFBD>M<EFBFBD>$<24>e<EFBFBD>M<EFBFBD>$<24> <0B>M<EFBFBD>M<EFBFBD>O<EFBFBD> <0B>L<EFBFBD>L<EFBFBD>#<23>$<24> <0B>M<EFBFBD>M<EFBFBD>$<24>g<EFBFBD>x<EFBFBD>M<EFBFBD>8<> <0B>M<EFBFBD>M<EFBFBD>O<EFBFBD> <0B>L<EFBFBD>L<EFBFBD>"<22>#<23> <0B>M<EFBFBD>M<EFBFBD>$<24>f<EFBFBD>g<EFBFBD>M<EFBFBD>6<> <0B>M<EFBFBD>M<EFBFBD>O<EFBFBD> <0B>L<EFBFBD>L<EFBFBD>!<21>"<22> <0B>M<EFBFBD>M<EFBFBD>$<24>i<EFBFBD><16>M<EFBFBD>8<> <0B>M<EFBFBD>M<EFBFBD>O<EFBFBD>3r5