krixano / EdimCoder

Add outline for TXT files

By krixano on December 17, 2018
This patch is not signed.
9j3WFaWyDR9Jsdtrp5EWB5j3SUQPA2qiv7NccLABYkneMZsQ6VmgSW6bLpACgkSddmXnGNssuMcN28R7Q5YaYSz5
This patch is in the following branches:
master


1
ELF>@@@8@#"@@@@@hh@@  @@@@@@vv@@--@@0@@@@DDPtdPP@P@QtdRtd@@/usr/lib64/ld-linux-x86-64.so.2GNU GNUQDE` Ơo   !)gUaB5& =Xms  fJz ./ @R@libc.so.6fflushexit_IO_putcfopenstrncmpperrorstrncpyputsputcharreallocstdin__assert_failstrtolfgetccalloctcsetattrreadstdoutfputcmemcpyfclosemallocfwritetcgetattrmemmove_IO_getc__libc_start_mainvfprintffreeGLIBC_2.14GLIBC_2.2.5_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableui	@@@@@ @!@ @(@0@8@@@H@P@	X@
`@h@p@
x@@@@@@@@@@@@@@@HHHtH5%@%h%ڿh%ҿh%ʿh%¿h%h%h%hp%h`%h	P%h
@%h0%h %zh
%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@1I^HHPTI@HP@H@޽DH=HH9tHHt	H=H5H)HHH?HHtHHtfD=uUH~]Dff.@HHD$?H$HD$HD$HD$HD$ HD$(HD$0D$8H=#HVxcd$D$D$HAxJHt$?Hx=L$
H
x.D$?HHÿ@둿@	몿!@뷿(@HHD$?H$HD$HD$HD$HD$ HD$(HD$0D$8H=$HWxcd$D$D$HBxJHt$?Hx=L$
Hx.D$?HHÿ@둿@
몿!@뷿(@H:@HAVAUATUSHPAIE@@X@xA~,HH=cD$<D$@@>l@<ȾHYH$H$HPHJHHHH9tH<$HtHGHpH;wvD$8H=HHGHpH;wHnHPHJHHHHo$oL$HoT$ P o\$0X0HT$@HP@H$H¸HtHPHHոHHA^HøH988AQu޿UHXH%HaH=HHGHpH;wHiHPHJHHHkHHHHH=BHHt	HkGHHHHH=+Iuau>Iuؐ@xH	@<VHQWHݹhIu@5!1Hxv@^6HIHt	LkpHIHILcM9u1HgHhH[HkPHHTHRHx^NH=>HwHH+HtAHkPHHH)HHHcHkHGHHhHHuLHٸIHt	LkhHIHIL5ƸLbM9u1HHhHHkPHHTHHxNH=HwHHnHtAHkPHHH)HHHcHkHHCHhH7HuLH9Av2HHH@tcHuL-A}<LH۷I9H@\H
H띿@\HH&	HH9v wHsuHH9v
HH9DDȃ߃A<vZEQA	wuGA-uu=EQAwu*EQAwuEQAwuA{AwtEuHH9vHHHøøH?-HQЀ	w	HH9v't%B<?w=HHs4.t#H$tHAHGÍB<vATUSIHHպHHHHH9HH)HtT;-Hr@	wҍLJHH9u@t‰؄EHcH[]A\;W܀
w$@ID$Ht>HxID$HtHHIcL$8H]딹AUATUSHIAH=C	t t
t[tOE~EADH=ƒ
!A9HuHcAEH[]A\A]ýA$H=USHHH=wÃ	t t
tu\HUHtBH[]þQHEHEHPHJHHH==Ã
tH}HtHGHpH;wvH=۳iAWAVAUATUSH(IHt$HD$D$HtHFD$HAMI_	H
a@@H5@D$Ht$HHtH9^v<@	t@uǾ@V͸<[RHtHL$HT$ՄhDt9C3F.H|$D$`HHT$|	tH5Tl$7H
9@HD$HHcT$H;P<	t<t6H5D$H
ڱ@پ@UøV<~HD$HHc|$HPH9sHOH)HcH4HHD$HhHc\$5H
N@
.@UHHD$Ht*H9Xv$<	tHD$<tH5H
@H
ð@HHT$HHBHcL$HH)H9|HH)؀<	tH5qHc\$5H
W@@THHD$Ht(H9Xv"<@	t@t@H5ʺHtPT$H5گpH9\$~(HD$<	uH
@pD$@[SH|$HtHGHpH;wvLHD$HD$HPHJHHD$'H
) @HD$Ht	Hx2AH5
yH|$HHGHpH;wHD$HPHJHH
D$H|$HtCHcD$H9GHw|7
t"H
H;wHD$H@
H|$HtHu'@HD$H([]A\A]A^A_þKHD$]HcL$HT$LHtHBH9uhH
@H|$Ht-HGHpH;ww$HD$HPHJHH	D$'KHD$H
@HH|$HtHGHpH;wvJHD$HD$H@HL$HcD$HHHQHcH4H|{HcD$HT$	D$XHc1H
@@H5٬tHHD$LHtHPH9v&<@	t@uƾ@tPH5HHT$HHBHHcL$HH)H9H)؀<	uH
>@묋D$HHT$HtYH;BuS|	t/H
#@HD$Hhl$H
ͫ@π|	t\H
#@eHD$L$HcH4H|LHtHP)HcHD$HhD$XHc<H
M@	H
0@HHD$HtJH;XsD<@	t@
t@
t@t@H5|뾾@NH
@yH51HHT$HHBL$HcHH)H9w*HH)؀<	uH
U@뮃L$-GHD$HD$HPHJHHD$<VHtHL$HT$ՄtƀC<w
tC<w

	y^HcL$HT$LHtHBH9u4H5aH|$HHGHpH;wH5-H|$HtVHGHpH;wwMHD$H@HL$HcD$HHHQHcH4H|AHcD$HT$D$XHcGFFHD$H
@g@H5%HHD$LHtHPH9s&<@	t@uƾ@%LH57HHT$HHBHHcL$HH)H9H)؀<	uH
@HHD$pEEHD$AHcD$HH9LHcD$HH9L.L$HcHH9*LHcD$HH9BLIw{SH$p@LHt@x@t[ÿ2Hm@dHcֿ
Hc@p@p뼿HhSHxuE@
*@h@IH;Xs6HHH<H+zHHHHB@Hu[SH{xuE@*@@H;Xs6HHH<H+zH#HH"HB@Hu[HH@t
tHkAWAVAUATUSHHL$I)Lo0LALcI9ICLHHt Mt5I9mv(H$H;LHtHWHD$H$HH[]A\A]A^A_AWAVAUATUSH8IHHIII HL$(=D$HH)~#H@HlHD$I\HD$I|$0HHGHpH;wIT$0HBHHHJHHHt$H0DhDx
HD$(DhDxD$H8[]A\A]A^A_þH|$AHD$H|$HGHPHWH4$HH9TH$A\	¸>w
LHHtuHD$H{HpHt$HH;pvh5AID$0AWAVAUATUSHHxuAD$3@D*@h@HJDhH9sH|#tH}@HHGHpH;wH7HP@HBHHHJHHL DpDhAH=HGHtHPLC4
L$L9FIcHHcD$HtHHtHBHHH EL	SEDl$9?HE@GEDl$H;Xs,L$I$:#H\$AH-RHEHuH[]A\A]A^A_AWAVAUATUSHXH%xuHD$0AD$,/Ȓ@t*@@rLd$HALLbIĺLHM)AAMHcHHOʿ\@H9L€AAMHcHHNʿ8@H9LlAAEMMcIINȿ=@H9L3AAMHcHHOοD@H9LIINȿJ@H9LHHNʿM@H9L€ADLIcHHOʿR@H9L€sV@L€VY@L€9IH9D$Ld$HH9H<(t<) u$H9uڄtր;{tvHH9wպ=HC@D$(@H L$@H	HH!H	HL$@Ht$0HT$8H=ZLL_@H*Hl$HkH{@HhHGHpH;wVHH@@HPHJHHHHH(T$PT$,4Ll$0HD$ HD$8D$D$,H{LHHD$ ALIHHD$LhM)AAMHcHHOȿ\@H9LYAAMHHHNȿ8@H9L€"AAMHcHHNʿ=@H9LAAMHcHHOοD@H9LHHNʿJ@H9L€HHNȿM@H9LtgAAMHcHHOȿR@H9Lt4V@LtY@LID|$(D|$H=ÜHGHtyL9xvMJ4Ht$N$MtIl$LHLIHÀ;(HH9w돃|$,t*HD$,H H	Ht$0HT$8|$,HX[]A\A]A^A_HH@t
tH?HHBt
tTHHB@Ht&HxtH@HH@@HtHxuŹ@(*@@HB@Ht&HxtH@HqH@@HtHxu
"s@0*@@AWAVAUATUSHAHIHHtHxE@uu[@u$@	uAEIh@ @#@U@$@@%HHHHQHtxD`<Et:HH+5eHH988HD@8@
@AHH+5+HH988HD@8&@?P8H+HHH988H6@?AW@AY@17HHHPHJHHMHI9tH;HtHGHpH;wv뼾W@K@AA+iLK@IaIArRjpPxmMunboseEq{QsN@AS@16HHHPHJHHMHL9tH;HtHGHpH;wv뼾N@K@ALYET@AY@15HHHPHJHHMHI9tH;HtHGHpH;wv뼾T@K@GALELA5HHHPHJHHA,HLLHHH9vH;HtHGHpH;wvALWE5I$@ @@$t	@^u^I@HAU4HHHPHJHHA,HLLHHHH9vH;HtHGHpH;wvLK@HLHHHALnA2@@u@	u
AuADH[]A\A]A^A_USHH$HH@HtHxw}H<$HtHH$@:Z@e;Hź
Ht$H<$YHxHRHtHzuvM~HXH@HpHcH;PcZH$HtHz)본H[]ATUSӃHHBHH@HLcL9@w;r8w@;J,HH@JHQHHʅDbHYx8Vw@:C@uw;r8t/w@:2W@p@u:*p@Z:W@p@?:"*p@$:Hc|0
'p@@H5UHCL9HHaH@H(<@	t@u@6뻅uJx
uDSLc?@@p@i9
t[]A\UHAVAUATSHHAԅHDh8AIcHHEt$DHDH=FÃA~!HcH@HtA}HcH;PA}R,McB5t
<
AtBT#HcHHH)HL$HIȅDJzA|@7H`Aă
|@V7H/AătHD濚@h6:A^A HpI9tH9t9t9~9}A-ݾ@@6ƅHuDHHtHHHʀ<
t;BL#IDH=AHe[A\A]A^]HtHxHhUHAUATSHHcHHvDžDcHDHH=(DAŃ~!HH@HtA}HcH;PDMcB%<
Ô@j5HCÃ9Ô@:5HÃtH޿@N4 3SHcHHH)HL$HIɅ~FDDRzA1^A1 HFI9tHA9t9t9~A9}A1-۾@ޔ@He[A\A]]UHAVAUATSHHA
HuKHdDh8HuIcHH)HAHcH_Et$DHDH=#BÃE~ HHPHtAEHH;BA}McB5t
<
AtATHcHHH)HL$HIȅDJz`AHE
Ô@ 3HAăÔ@2HAătDHDȟ@1[A}A^A HpI9tH9t9t9~9}A-ݾ@ޔ@He[A\A]A^]AWAVAUATUSHHoH@HtAHxtDwHcAw@2
BH[]A\A]A^A_ÍS;Q8tyֿw@v2HHPHAIcH;JHH+5ˋHH988HH@q1AI988W*p@1H9yZZHD9RH
MHQLHtHB뷿
IH1@@X @NH@D@Up@F@7HȊHH+5HIH@f0\EuA DHA
- u
r-@봿
R- Cu
4<@ZA(u;r8tw@d0j*p@L0R
HuHH9tHD9HHBHtH@H9vAIcHvHPHtH;JsHH+5UHIH@/<[IcH
'HQHDH;r:<?<pa<q"<<QE
- u
E|$IcD
HHHHtrK@Hvph@H]H@Ht)HPօtHLHHtHAH<
t-v@HBtt+HÍrHB@HtHxtΉ@"HB@HtHxtſ@AWAVAUATUSHhHH`HHwHHHsAHIHHsHIſ
`I)쿔@H@H֕@HH
HHSLH=׆IAHHsLHHsHIŀ8:EDD|$D$H{H0HtH~@ @H@
X@~@t(@j@`Ȣ@V@L @BH@8x@.ȣ@$@@H@@8@@إ@(@@@@H@@@X@x@@z@pȨ@f@\h@RHH{@Bw)HlH{YI}IźHH=:HD$D$LHNjD$D)D$.D|$D|$D$AA}#&MuHzHHsALIHsH޺LRHD$A}pt@HL$pLLH=уHD$pDp@D$D)D$Ll$ILLHpAEHЀ	wTPII9u)Aƅ~4HL$HHJHRHtHH9BrJD$D)D$Ll$HHPHtD$AD$ALrAD$A'EuHȂH@HHxDAƃ|$u7xyDb|$uHYHBHtHxtDr8L$D9}
DAΉD$ADA\A~D;t$~HH@Hz|$HcH;PiU;l$~HH@Ht}HcH;PsD9*AE@HHHHsALHAE)HsH޺HEu @D|$EDLDە@sLH DH	LHH=yH	HHsALWHHsH޺HHL$pLHH=HD$pPp@׿@ÿ
iHHDH@0HH;hHHHDHD@HDHtQ롽AHHHsALnHHL)AHsH޺HH0EuHt8ELIAHIFID$H	@ %HD$pH|$p"	@$H|$p}~H|$pHtMHGHpH;wwDHD$pHPHJHHHt$p@GHt$pH=~)[HD$pHuIAHPI9tHH9tATAL@̽LH=Z~{))@詽H=:~H7X)H~HHHtQP8HL$H DH	7HL$H DH	hEuGH}Dp8EtDA~DH}HPHt4AFHH;Bs(A~DhAAD$pA~HT$p=IĽA|$pu\
SLDH=.}+Mt
I|$ HcH}HPHtHBH9vTHLMtID$H9vI<HtHͻIMDI|$谻5}vEu}H|D`8A~Hr|H@HtA|$HcH;Pr[A|$A=D$pH|$pGHŀ|$pt5HHxDA끺HDH={*Ht	H}׺WEH{h8~ H{H@Ht}HcH;P}Iq@5@)!D$pH|$pg|$puWHHtHHHʀ<
tUH‰H="{*DRcHyHxkHhEHzh8~HzH@Ht}HcH;Prl}r@=@D$pH|$px|$pt7HHxNDsH‰H=z*HL$H DH	ϋT$LxEHyh8LcHyH@HtHPL9DmxDH=yb,HzyH@HtHPI9^D3s}*LcH*yH@HkDmxDH=x+HxH@Hy넃xH=xHGHtp+HxHPHtHBL9"^u^D^Eu\HWxh8YH=Fx*}^%}vD뢍}Eu\Hwh8YH=wb*}^v}D_뢍}YEuHUwHPHtIHz
Dp8DAƅxHcH$wH@Ht$H@H9s"
A~ct
Eu#HvHPH|
Hzq
Dp8DAƃ|$ub~xA~tHwvH@HIcH;PDA|$u0H8vHBHtHxtDr8D;t$~!D$Dt$AwD9t$}DDt$D$A~^A~D9t$}DHuH@HZ|$HcH;PI5AD9t$|E~HuH@HtA~HcH;PsӺ]‹t$Lt$LHtHsH޺L舽It7HL)A)E~	EHE(AE<ntZ<puHtHtH)Hi98HHHHtHCH{蘳0HwtHt&HntH)Hi98@HcH;JCHHHH>tH
H{/
HWBL<nt^<pHsHsH)Hi98HHHHsH\
H{豲I
HsHt&HsH)Hi98@HcH;JCHHHHWsH	H{H	HWBLB@]@H|$p蜽D$
Ht$ H|$p諲AExMcH
rHHtHAHPI9w|$tKHHrHt	H{萱(	H;wrt~@αHWrB| <
aHIHH0rHH9hLHHtHQHtH;
rt"@a둿u@P뀿@?l*pD$eHA|
Dt$IcLH|$p軰AFH|pIcDpH|$ H=aqHHGHpH;wH?qHPHJHHHHod$  ol$0hot$@p o|$Px0HT$`HP@HpHǸHtHPHH<ոHH=pHt$p4ump@Hp@<E
;l$HcD$|pp@@@H
HXp
˖@H|$pߺu(˖@H|$p跺t؃H|pH|$ 
H=oHHGHpH;wHoHPHJHHHHod$  ol$0hot$@p o|$Px0HT$`HP@HkoHǸHtHPHH<ոHH=MoHt$puSp@}H.o@<p@@@菮H]Hn'@tH|$pƄ$H=nHHGHpH;wHnHPHJHHHHoD$po$Ho$P o$X0H$HP@HHnH¸HtHPHHոHH*n|$AE< t<	uJLHEA)Dd$E< t<	tEA_H9HmLDd$ӾIHmHHPHJHHBL-IE9~L5}mI>HtHGHpH;wv묿@裬@虬HJmH@HtHxu
	P@;@Ъ@蟬HH{H{HH{ԫlH^H{賫KHl@Hlp@ث@l|$Dt$AL賴HAE)AL胴HHL)AALPHžAL&IǾHxHHsϳIHHSHH=XkHD$D$HHsL藴HNjD$D)D$HsH޺IŋD$D	HAD{E)D|$E#<Uz$@LH=j|IAƾLHIŀ8:E6D|$D$EAD|$E#<U$Š@ڭH{Q莲HAH裲IĺHYIſ
@HI)Hc|$GDt$A~*HiH@Ht
IcH;PHriDp8HtH{cHh[]A\A]A^A_H=iH@HH$iHHtqHQHthx<t1HH+5hHH988HD@8@_HH+5hHH988HD@8&@o.P8H+hHHH988H6@?D$5@H|$}Hǀ|$u HtH@HtHu?
tHtH/HAWAVAUATUSH(AIHT$AϽ~:HgHcHJHD8	u	HtBPvNtEaAtAiA AEADDDp@
D$~UA3HHHEHPHUD	AD9wHtHEHpH;uv뽽X}H.@dH5f
cHEHu?HEHHGH}vLLHH;Ur-@
HpH뮾LIHuHH)H9w.})HHH)H9w{uރH'f@PDDp@jHH|$HHHx}M0IEHpI;u#IEHPIUIlAH8	HHH)H;Uv7۸H˅~UA3HHHEHPHUD	AD9
HtHEHpH;uv뽽|$u"LH([]A\A]A^A_À|$tH}գHD$AAUATUSHH HdDh8E~!HdH@HtA}HcH;PD$HT$D=HŻA|$
OHDH=*d(Ht	H}HcHdHPHtHBH9vtH[]A\A]A;MH¢HDHLHtHEH9sH|HuHtH}芢둍{vduSHD$HXcHT$"HC
IH*cHHHtQP8H[HϢHtHÿ@k聣HHtHÿ@DZH豢HtHÿ@3SHHtgHGHxEH\H9HBH9wTHHH9rYHHqHteHeHXH[ù@!@X@賡령@!@6@蓡@!@@zH(HSHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$I@贠HT$HH=a
F輡H͌UׯQHHH H1H͌UׯQHHH H1H1H͌UׯQHHH H1Ht9HHH%#"HHH1HHH H1HH9uH%#"LGMHHGHtaHHHuXH͌UׯQHII L1I9sTH!LLIH9tVHtYHH!LIH9t9Hu:P@%ʫ@ث@聟P@'ʫ@@hHGJHøATUSHHHIH
HwHGHH9LOHGHxHH͌UׯQHHH H1H!LEHI4HHH9t HH!HI4HHtwH9uHEL${0@Fʫ@@莞H_LMHEK	H9W0@Mʫ@@X0@Nʫ@ث@?ILMHHEL$[]A\USH(HHHCH$HD$HD$HD$HIH$H<HD$H\$H}t0HEHHSHH9]vHEH4HtH}H}o$EoL$MH([]HEHHHH)HHHH
HHHSH H$HD$HD$HD$H^HH~HHuHHHH9uHuH [ù @ʫ@@膜H$@k@AHÿq@-w@ٿ}@ȿ@뷿@릿@؛땿@講H@跛HSHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$HT$HH=[8IH[SHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$ED$D$0H$HD$HD$ HD$HT$HH=Z萛
H[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$HT$HH=)ZԚH[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$HT$HH=wY"3H[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$%D$D$0H$HD$HD$ HD$HT$HH=XpH[HGHGGHG HG(G<HG@HG0AWAVAUATUSHIH@HߘIILHHL
|.DDHH9uAMcBD5<h~<m<tte<cu\Ht$芰HHHHHVH|$AOHcHL)H9vD
H:DtA\$貖I$IU뇻뀾I$I$HPHJHHLLHHHHH9vI<$HtHGHpH;wvI$HHtHBH<uAMtLT@@Z@@gAD$<H"HHCHPHS@,@
t#L4<t]HtHCHpH;svI|$HtHGHpH;wvID$ID$HPHJHHH<L艕AD$<IT$HtBAD$8H[]A\A]A^A_ATUSHH?HtHHEAH͔HEHHHELHtHPH9vH<HuܻH荔HE0J HH}0HtH9_vIIJ<'HuHtHNHE0Et$t;H}HtH'HE[]A\H}@HtHHE@H}@HtHHE@AWAVAUATUSHHIH?HtHu@LIŻIZ@IHEHEHPHJHHALLHHQHH9vH}HtHGHpH;wvHAA<.DDHH9uAMcCD4<ht~~<mt<tte<cu\Ht$SHLHHHHH|$AGHHL)H9vAH:Tt]{A5땻H;Xs<LHHEJ HuIHEHtL9pvN$E<LdH[]A\A]A^A_AWAVAUATUSHIIAMtA^I|$HHG)L$HcH4(HGH9rjID$HhAGHIT$LlHHcT$HI|-L誒HLLLAD$<DA\$8CH[]A\A]A^A_D8^ID$މt$HcHjAWAVAUATUSHII׉VAMtEwI|$HHwV)‰T$IcHHGH9rnID$HhHcID$LlHHcT$HI|-L近HLLaAD$<B3AD$8H[]A\A]A^A_Ë_8ۺDYID$끺)‰T$IcHaAWAVAUATUSHHAI֍FvIcHHCHD(HhHCL|(I?HwAMtMfLH;wwQHCHD(L`HCHD(HL)HxLL辏C<Dk8H[]A\A]A^A_Do8EtIAWAVAUATUSHHAFMcIMl$LHCH(HHL}LkI}HtjLHwHGH9rdHCJD LxHCJD HL)HxLHH}ҎC<Ds8H[]A\A]A^A_Dw8EeL뗺IELkI}AHepAUATUSHHAIՍFvGIcHHCH|(HtH=HCHD(HCLl(C<Dc8H[]A\A]Dg8EuAWAVAUATUSH(HAT$AMōFD+l$MtAEMcIIL$HHCHD$H8HGD)D$HcHD$HHwH9wHCJD HL$HHHCJ| HcT$IcHtBD=HHpHCHc|$J| MtIULC<Ds8H([]A\A]A^A_Dw8ED؉D$HcHD$Hƅ~1HL$HPZHSH
HjuAFv/HOHcHHTLHLH
HWLDG<w8Ëw8uFv.HOHcHHLHLH
HWLDG<w8Ëw8uAVAUATUSHFLcHCHL;`N,MuJ|(HtHՋHCJD(HCJ4(J<0HtHPL)HҌHCHhC<HCHtrH@I9vnC8[]A\A]A^Ëo8^JH<Ht-HPHCHHtHPHHHCHh눸Muk8MH뜍Fv*ATUSHcLGMTAAHcD$"w8uϸEDA0E9tAIDMt5M9Bv/McFG8tAD\*EtA
tA9uw8[]A\AWAVAUATUSHIIAH$/H$Al$87H9XvCDLLHuщAID$HuADH[]A\A]A^A_ADAWIAVIAUAATL%GUH-GSL)H胉Ht1LLDAHH9uH[]A\A]A^A_HHtcsetattr()tcsetattr ICANONread()tcsetattr ~ICANONEdim - Ed ImprovedPress 'h' for help.Opening '-Scratch-' Buffer-Scratch-Opening '%s'

Copyright (c) Christian Seibold. All Rights Reserved.
File doesn't exist... Creating it.

You cannot close the '-Scratch-' buffer when other buffers are open.There are unsaved changes. Use 'E' or 'Q' to close without changes.There are unsaved changes in at least one of the open buffers. Use 'E' or 'Q' to close without changes.@@@@@@@@@@@@@f@)@)@)@)@*@&*@showCOutlineshowMarkdownOutlinecreateCOutlinecreateMarkdownOutlinerecreateOutline    $    ^X ^Dsrc/parsing.celseswitchwhiledocasefor///*if|%.*s|
currentBuffer->fileType == FT_MARKDOWNcurrentBuffer->fileType == FT_Cbuf_len(currentBuffer->outline.markdown_nodes) == 0buf_len(currentBuffer->outline.c_nodes) == 0
<%d: %.*s*|%d> 
<%d: %.*s|%d> 
<%d: new file*|%d> %shelp info Enter a line number: %c%4d %5d Enter the string to replace: No occurance of '%.*s' found
%5s %.*s- Enter the string to find: %5s %.*s- 

<%d: %s|preview> 
Previewing '%s'
 * 'p' to show previous lines--^-^-^-^-^--
--v-v-v-v-v--
File information for '%.*s'
Filetype: %d
Number of Lines: %d
Outline:clearhelp'%s' is currently open.

 * 's' - Save current bufferinfoSet bookmark '%.*s' to %d:%d
%4d: %.*s %d:%dEnter a filename: Saving '%s'
Saving '%s'%4s ^- %5s That buffer doesn't exist.Enter a buffer number: *%3d: new file%4d: new file*%3d: %.*s%4d: %.*ssrc/editor.cstr[strLength] == '\0'Enter file to open: str[strLength - 1] == '\0'Opening a new file.FileType: %d
Unknown command
------8@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@8@]9@]9@]9@L8@]9@]9@]9@7@]9@]9@]9@)8@]9@]9@8@Y8@8@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@]9@7@88@]9@]9@G8@]9@]9@a8@7@8@]9@]9@$8@38@=8@8@Q8@8@B8@]9@.8@]9@]9@8@R@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@T@d@d@d@2d@[@d@d@cU@d@d@d@FY@d@d@FZ@fd@"W@d@d@d@d@d@d@d@d@d@d@d@d@d@d@9S@[@S@O@d@[@Q@d@RS@TN@d@g@X@Fb@e_@Y@Ed@VV@*Q@d@d@d@AP@BW@R@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@d@T@d@d@d@d@[@d@d@cU@d@d@d@FY@d@d@FZ@fd@"W@d@d@d@d@d@d@d@d@d@d@d@d@d@d@9S@[@S@O@d@[@Q@d@RS@TN@d@g@X@Fb@e_@Y@Ed@VV@*Q@d@d@d@AP@BW@editorState_openNewFileeditorState_openAnotherFileThat line number exceeds the bounds of the file.
No occurance of '%.*s' was found in line %d
 * 'q' or Ctrl-X to stop previewing * 'Q' to exit the whole program * Enter/'n' to show the next lines * 'j' start showing lines from given line number (TODO) * 'f' find first occurance of string in file and jump there (TODO)An unnamed file is currently open.
Use Ctrl-D to denote end of inputUse Ctrl-X+Enter to cancel the current command/operation * Ctrl-L or 'clear' - Clear the screen * '#' - Gives back information on the file, including number of lines, filename, number of characters, filetype, etc. * 'j (line#)' - Set's current line to line number (no output). Use 'j$' to set last line as current line. * 'a (line#)' - Insert after the line number * 'i (line#)' - Insert before the line number * 'A (line#)' - Appends to a line * 'I (line#)' - Prepends to a line * 'r (line#)' - Replace a line with a new line * 'R (line#) (string)' - Replace the first occurance of the string in the line * 'x (line#)' - Deletes a line * 'm (line#)' - Move the line up by one * 'M (line#)' - Move the line down by one * 'f (string)' - Finds the first occurance of the string in the file and prints the line it's on out * 'F (line#) (string)' - Find the first occurance of the string in the line and print the line out showing you where the occurance is * 'u' - Undo the last operation, cannot undo an undo, cannot undo past 1 operation - UNIMPLEMENTED * 'c' - Continue from last line; Append to end of file * 'p (line#:start)' - Preview whole file (optionally starting at given line) * 'P (line#:start):(line#:end)' - Preview a line or set of lines, including the line before and after * 'b' - List all currently open buffers * 'b (buffer#)' - Switch current buffer to buffer # * 'bn' - Switch current buffer to next buffer. Will wrap around when hits end. * 'bp' - Switch current buffer to previous buffer. Will wrap around when hits beginning. * 'd(line#:start):(line#:end) (string)' - Create bookmark with line range start:end and name string * 'w (string)' - Print out line range of bookmark with name string * 'g' - List out all bookmarks * 'o' - Open file in new buffer * 'n' - Create new file in new buffer * 'e / E' - Exit current buffer / Exit current buffer (without save) * 'q / Q' - Quit, closing all buffers / Quit, closing all buffers (without save)
Any command that accepts a line number or line range - denoted by '(line#:start):(line#:end)' - can also accept a bookmark. Bookmarks are prefixed with '#'. Example: 'P #test'.Unimplemented prompting for name. Please add a name after the line range.File doesn't exist... Creating it.
Press Ctrl-D on new line to denote End Of Input
buf_len(currentBuffer->lines) == 0xcalloc failedxrealloc failedxmalloc failedsrc/stretchybuffer.cnew_len <= new_capFATAL: buf_cap(buf) <= (SIZE_MAX - 1) / 2new_cap <= (SIZE_MAX - offsetof(BufHdr, buf)) / elem_sizebuf__growsrc/hashmap.cIS_POW2(map->cap)key2*map->len < map->capval == (void *)(i+1)map_testmap_put_uint64_from_uint64map_get_uint64_from_uint64ERROR: Wrong Color - Unix@t@Tt@et@vt@t@t@t@src/buffer.cwbuffer->openedFilename[buf_len(buffer->openedFilename) - 1] == '\0'buffer_openFile;Rbdbeaf,`gHxg`;lplm
mm4mmn81otoh||U},}H}d~D܇Ύ@l]?T14P	oD	h			=			
 
4
KH
`
9



'
5C,QDhv6L,P@d,
x

wj\:zL{` zRxa+zRx$_FJw?;*3$"DJbDP
A`-cDP
A|dDS,dBBB A(A0Dh5hDi6i(i$(8iY,<}iBAA 
ABA8lIjBBA A(D0v
(A ABBA(jAAD G
AAAHIkwBBB B(A0A8D`w
8A0A(B BBBA  twFe
ATDwlAj`!xlAj|qx+DX
ADxBBB B(A0A8DP8A0A(B BBBHxBBB B(A0A8Dp
8A0A(B BBBAH,zBBB B(A0A8DPs8A0A(B BBBHxR{BBB B(A0A8D8A0A(B BBB+DX
A(DX
AHʁ$BBB B(A0A8D@8A0A(B BBB(HAAD0AA(t*BAA "AB(eAC
N;
A$AC
L$wAC
NHdBBB B(A0A8D@P
8A0A(B BBBAhD
ALēBBB B(A0A8G\
8A0A(B BBBAD 
H`BBB B(A0A8D`'
8A0A(B BBBA8<TBBA A(D@
(A ABBA x#YAD RAX'DN
Ac'DN
An'DN
AyAU
AAG,@ThƸI|Q(.BAA &AB$AAD@AAADI7DI-DI0#DIHDI`DI xAD0i
AAjDe
ADS AGA nAGA 	AGA <	AGA `	AGA	BH	ԾBBB B(A0A8DP8A0A(B BBB,	%!BAA 
ABAH
BBB B(A0A8DP8A0A(B BBBH`
BBB B(A0A8DP
8A0A(B BBBAH
DBBB B(A0A8DP
8A0A(B BBBAH
BBB B(A0A8D@
8A0A(B BBBAHD_BBB B(A0A8D@
8A0A(B BBBA8mBBA A(D0Q
(A ABBAH7cBBB B(A0A8D`
8A0A(B BBBAN@,z?<@)BBB A(A0
(A BBBA8JAA fM VABLBBB B(A0A8D@_
8A0A(B BBBAD
 ]BEE E(H0H8G@j8A0A(B BBBT
8@@@
@@@o@h@8@
I@@(@	o@oo@@6@F@V@f@v@@@@@@@@@@@&@6@F@V@f@v@@@@@@@GCC: (Solus) 8.2.0,@+.<	@@<	@@*@@J	z^)@0E+intXpXdd5	X			Y					 	x	(
f	0
	8
	@
	H
	P
	X
`

h
QXp
Xt

kx
<
CJ


%w
(
8)
K*
3+	
2

3X
5HX5i
C

iy)
		X	GyCGX?EKWXXhT	V!	W	YX	Y[		\	 	^(	_]0	`8	wa@	eXH	fXL	FgXP	hXT	kXX	qm	`e0r?	;tQ	uQ	yX	}X	X	 	(E7Q0	Lio0tOXyP	
		q*!)@)E	+	q,@&	g
(
-!0.E(			X{RCDw	V
			E	%	Z 		Z(	,	0	b	Z8	g@	gwB3399?59XZKX`58j	9	Y9	9	9	x9 	f9(	90	98	9@	9H	9P	X	`	hj(05z)z)s):c?R@AvG;H@Iz?Dg	XW	L		W	f	X	W	`
}W	
~X_	@J@J%%:;9I$>&I$>I:;9	
:;9I8

:;9I8:;9I:;9

:;9II!I/:;9'II'<!I:;9>I:;9(:;9
:;9I84:;9I?<4:;9I?<!4:;9I?U%U%Z0
../sysdeps/x86_64start.S	@>.B#>M$
 uv
thA;
/usr/lib64/gcc/x86_64-solus-linux/8.2.0/include../posix/bits../libio/bits../wcsmbs/bits/types../iconv../sysdeps/unix/sysv/linux/bits../libio../includestddef.htypes.hlibio.h__mbstate_t.hwint_t.hgconv.h_G_config.hstdio.hsys_errlist.hstdio.hinit.c`/
../sysdeps/x86_64crti.S	@?Lu=/	@]/
../sysdeps/x86_64crtn.S	@'K	@+K../sysdeps/x86_64/start.S/home/build/YPKG/root/glibc/build/glibc.git/csuGNU AS 2.31.1__off_t_sys_errlist_internal_IO_stdin_IO_read_ptr_chainsize_t__min_needed_from__statep_shortbuf__cd_IO_2_1_stderr__IO_buf_base_IO_jump_t__max_needed_from__mbstate_t__codecvt_error__invocation_counter_G_iconv_t__outbuf__codecvt_ok_fileno_IO_read_end_sys_nerrlong int__gconv_end_fct_IO_buf_end_cur_column_IO_codecvt_IO_last_state_sys_errlist__gconv_step__codecvt_partial_old_offset__cd_in__init_fctGNU C11 8.2.0 -march=x86-64 -mtune=generic -g2 -O3 -std=gnu11 -fgnu89-inline -fmerge-all-constants -frounding-math -fstack-protector-strong -fno-stack-protector -ftls-model=initial-exec__codecvt_do_always_noconv__codecvt_do_unshift__nsteps__shlib_handle__gconv_btowc_fct_wide_vtable_IO_marker_freeres_buflong unsigned int__codecvt_result_IO_FILE_plus__data_IO_write_ptr__gconv_fct_sbufshort unsigned int__internal_use_IO_save_base__wchwchar_t_lock_flags2_mode__btowc_fct_IO_2_1_stdin___max_needed_to__to_name__fct__codecvt_do_encoding_IO_stdout__min_needed_to__codecvt_destr_IO_write_end__gconv_init_fct_sys_nerr_internal__gconv_info_IO_lock_t_IO_FILEwint_t__codecvt_do_in_pos_markers__state_IO_stdin_used__flagsunsigned char__wchb__steps__codecvt_noconvshort int_IO_wide_data_vtable_offset_IO_2_1_stdout___codecvt_do_max_lengthinit.c__count__stateful__value__combined__modname__cd_out_next__off64_t_IO_read_base_IO_save_end__counter__outbufend__pad5_unused2__codecvt_do_out_IO_backup_base__codecvt_do_length_IO_stderr_freeres_list__from_name__gconv_step_data__end_fct_IO_write_base_IO_state__gconv_loaded_objectstatic-reloc.c../sysdeps/x86_64/crti.S../sysdeps/x86_64/crtn.S@@@@@@@@@@@@8@h@@@	(@
@@ @
@@@P@@@@@@@@@"
@$
@@7
@M@\@
@@@@
@
Ȓ@#@<E
5@$Z
;@j
H>@e
@@
B@
kl@T
i@`p@P@)@
BLP@e0@~ @	 @@@@@@P@@
@-	
5@+?T
t@_
p@h}
'@c @B @
@
Ms@
ʃ@?
+@
˅@
-{@!,>@Q
)@f
[q@.
p@ @@
lI@
<+@'@
u@
@

A@w
?n@'7
@I
is@]
6p@f
fn@'n
	@)
b-@
v@
@Y
+~@3
*@l@@M
[s@U d
n@n@
Rp@I
ws@@
r@
x@
@5
P@]
s@+?U
m@Yh
H@0@v
N|@F
@+
@@
p@
@
9*@l
s@
w@
@
@1@=
g@P
@U
@[
Z@g|
`@$
@
8v@	
.@	(@$	
@<	
+@+H	
<@*R	d	x	@	
T@	 	
Nx@B	
D@	
s@	
,5@	
Go@V
*t@	
t@@	
n@'

ǀ@

2@0

@minit.cstatic-reloc.ccrtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.7339__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entrymain.cparsing.c__PRETTY_FUNCTION__.3523__PRETTY_FUNCTION__.3532__PRETTY_FUNCTION__.3469__PRETTY_FUNCTION__.3487__PRETTY_FUNCTION__.3457editor.ccommandInputCallbackcheckLineNumbereditorState_replaceStringeditorState_findStringInFileeditorState_findStringInLineeditorState_insertAftermultiLineEditor__PRETTY_FUNCTION__.3520__PRETTY_FUNCTION__.3538stretchybuffer.c__PRETTY_FUNCTION__.3295hashmap.c__PRETTY_FUNCTION__.3314__PRETTY_FUNCTION__.3331__PRETTY_FUNCTION__.3373colors.c__PRETTY_FUNCTION__.3322__FRAME_END____init_array_end_DYNAMIC__init_array_start__GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE___libc_csu_finifree@@GLIBC_2.2.5putchar@@GLIBC_2.2.5resetColorhash_ptrstrncpy@@GLIBC_2.2.5buffer_replaceInLinestrncmp@@GLIBC_2.2.5_ITM_deregisterTMCloneTablestdout@@GLIBC_2.2.5clrscrmap_getbuffer_moveLineDownadd_bookmarkbuffer_findStringInFilebuffer_closeputs@@GLIBC_2.2.5stdin@@GLIBC_2.2.5getFileTypeExtensionmap_put_uint64_from_uint64hash_uint64buffers_edatafclose@@GLIBC_2.2.5editorState_executeCommandget_bookmarkcolors_putsparseLineNumber_IO_putc@@GLIBC_2.2.5getInputxrealloc__assert_fail@@GLIBC_2.2.5getch_nonblockingmap_get_from_uint64hash_mixxmallocfgetc@@GLIBC_2.2.5buffer_deleteLinefputc@@GLIBC_2.2.5createMarkdownOutlineread@@GLIBC_2.2.5__libc_start_main@@GLIBC_2.2.5printPromptskipLineNumberbuffer_insertAfterLinecalloc@@GLIBC_2.2.5showCOutline__data_startmap_put__gmon_start__buf__growstrtol@@GLIBC_2.2.5__dso_handlememcpy@@GLIBC_2.14hash_bytesmap_put_from_uint64_IO_stdin_usedmap_growbuffer_openFileskipWhitespace__libc_csu_initmap_get_uint64malloc@@GLIBC_2.2.5fflush@@GLIBC_2.2.5_IO_getc@@GLIBC_2.2.5editorState_editorprintFileInfobuffer_saveFilebuffer_moveLineUpmap_get_uint64_from_uint64parsing_getLineshowMarkdownOutlinemap_testprintLineNumberbuffer_insertBeforeLinerealloc@@GLIBC_2.2.5buffer_appendToLine__bss_starteditorState_promptmaingetchskipSymbolsmemmove@@GLIBC_2.2.5skipNumbersskipWordtcgetattr@@GLIBC_2.2.5tcsetattr@@GLIBC_2.2.5fopen@@GLIBC_2.2.5printErrorperror@@GLIBC_2.2.5vfprintf@@GLIBC_2.2.5createCOutlinecurrentBufferparsing_getLine_dynamicshowOutlineprintLineexit@@GLIBC_2.2.5fwrite@@GLIBC_2.2.5__TMC_END__skipText_ITM_registerTMCloneTablebuffer_initEmptyBufferprintTextmap_put_uint64recreateOutlinefatalcolors_printfxcallocbuffer_prependToLinebuffer_findStringInLinebuffer_replaceLine.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_ranges@ #@ 1@$Do@(N8@80Vh@hI^o@Dko@0z(@(B@@ @ @t@	@PP@P@
@@@@ @@@00 !
,h804C0H!L	C
;QELF>@@@@8@#"@@@@@hh@@  @@@@@@={={@@..@@0@@@@DDPtd@@QtdRtd@@/usr/lib64/ld-linux-x86-64.so.2GNU GNUlLj㌈0V   !)gUaB5& =Xms  fJz ./ @R@libc.so.6fflushexit_IO_putcfopenstrncmpperrorstrncpyputsputcharreallocstdin__assert_failstrtolfgetccalloctcsetattrreadstdoutfputcmemcpyfclosemallocfwritetcgetattrmemmove_IO_getc__libc_start_mainvfprintffreeGLIBC_2.14GLIBC_2.2.5_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableui	@@@@@ @!@ @(@0@8@@@H@P@	X@
`@h@p@
x@@@@@@@@@@@@@@@HHHtH5%@%h%h%h%h%h%h%h%hp%h`%h	P%h
@%h0%h %zh
%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@1I^HHPTI0@HЊ@H@DH=HH9tHHt	H=H5H)HHH?HHtHHtfD=uUH~]Dff.@HHD$?H$HD$HD$HD$HD$ HD$(HD$0D$8H=#HVxcd$D$D$HAxJHt$?Hx=L$
H
x.D$?HHÿ@둿@	몿!@뷿(@HHD$?H$HD$HD$HD$HD$ HD$(HD$0D$8H=$HWxcd$D$D$HBxJHt$?Hx=L$
Hx.D$?HHÿ@둿@
몿!@뷿(@H:@HAVAUATUSHPAIE@@X@xA~,HHgD$<D$@@>l@<Ⱦ]H$H$HPHJHHHH9tH<$HtHGHpH;wvD$8H=HHGHpH;wHnHPHJHHHHo$oL$HoT$ P o\$0X0HT$@HP@H$H¸HtHPHHոHHA^HøH988A+Vu޿UH\H%H6fH=HHGHpH;wHiHPHJHHHkHHHHH=BHHt	HkGHHHHH=+Iufu>Iuؐ@xH	@<
[H[HhIu@55Hxv@3c6HIHt	LkpHIHILgM9u1HgHhH[HkPHHTHRHx^NH=>HwHH+HtAHkPHHH)HHHcHkHGHHhHHuLHIHt	LkhHIHIL5L9gM9u1HHhHHkPHHTHHxNH=HwHHnHtAHkPHHH)HHHcHkHHCHhH7HuLH9Av2HHH@tcHuL-A}<LHI9H@QaH
H띿@(aHH&t\H9v_HWOHЀ wOH&HsAHH&Hs*H9t+H wHsHH9r vHHHHDDσ߃A@vb@EQA	w@uMA-u@uB@EQAw@u-EQAw@uEQAw@uA{Aw&@t!EtH9vEtHH9køøH?-HQЀ	w	HH9v't%B<?w=HHs4.t#H$tHAHGÍB<vATUSIHHպH=HHHH9HH)HtT;-Hr@	wҍLJHH9u@t‰؄EHcH[]A\;W܀
w$@ID$Ht>HxID$HtHHIcL$8H]딹AUATUSHIAH=	t t
t[tOE~EADH=ƒ
!A9HuHcAEH[]A\A]ýA$H=?jUSHHH= KÃ	t t
tu\HUHtBH[]þUHEHEHPHJHHH=Ã
tH}HtHGHpH;wvH=iAWAVAUATUSH(IHt$HD$D$HtHFD$HAMI_	H
@@@H5D$Ht$HHtH9^v<@	t@uǾE@Z͸E<[RHtHL$HT$ՄDt9C3F.H|$D$`HHT$|	tH5l$7H
K@HD$HHcT$H;P<	t<t6H54D$H
@@?پE@Yø<~HD$HHc|$HPH9sHOH)HcH4HoHD$HhHc\$5H
@@.E@!YHHD$Ht*H9Xv$<	tHD$<tH57H
G@JH
lK@(HHT$HHBHcL$HH)H9|HH)؀<	tH5Hc\$5H
@@E@*XHHD$Ht(H9Xv"<@	t@t@H5BʺHtPT$H5H9\$~(HD$<	uH
]K@D$E@zWH|$HtHGHpH;wvQHD$HD$HPHJHHD$'H
ҾP@HD$Ht	HxASH5
"H|$HHGHpH;wHD$HPHJHH
D$H|$HtCHcD$H9GHw|7
t"H
H;wHD$H@
H|$HtHuW@|HD$H([]A\A]A^A_þOHD$]HcL$HT$LHtHBH9uhH
@@YH|$Ht-HGHpH;ww$HD$HPHJHH	D$FOHD$H
5@@H|$HtHGHpH;wvNHD$HD$H@HL$HcD$HHHQHcH4H|$HcD$HT$	D$XHc1H
@@_@H5HHD$LHtHPH9v&<@	t@uƾE@TH5/HHT$HHBHHcL$HH)H9H)؀<	uH
K@묋D$HHT$HtYH;BuS|	t/H
S@aHD$Hhl$H
vK@2π|	t\H
RS@HD$L$HcH4H|LHtHP)HcsHD$HhD$XHc<H
K@H
ٺ@@HHD$HtJH;XsD<@	t@
t@
t@t@H5%뾾E@RH
fG@"H5DHHT$HHBL$HcHH)H9w*HH)؀<	uH
K@뮃L$-KHD$HD$HPHJHHD$Z<VHtHL$HT$ՄtƀC<w
tC<w

	y^HcL$HT$LHtHBH9u4H5
H|$HHGHpH;wH5ָqH|$HtVHGHpH;wwMHD$H@HL$HcD$HHHQHcH4H|HcD$HT$D$XHcGeJHD$H
T@@@H53HHD$LHtHPH9s&<@	t@uƾE@DPH5vHHT$HHBHHcL$HH)H9H)؀<	uH
K@THHD$pdIHD$AHcD$HH9LHcD$HH9L.L$HcHH9*LHcD$HH9BLIw{SH$p@Ht@x@t[ÿHm@dHcֿHc@p@p뼿HhSHxuE@iZ@@H;Xs6HHH<H+zHHH7HB@Hu[SH$xuE@uZ@Г@H;Xs6HHH<H+zHBHH˵HB@Hu[SHxuE@Z@@H;Xs6HHH<H+zHHH_HB@Hu[HHI@tttH_AWAVAUATUSHHL$I)Lo0LALcI9ICLHHt Mt5I9mv(H$H;LHtHWHD$H$HH[]A\A]A^A_AWAVAUATUSH8IHHIII HL$(=D$HH)~#H@HlHD$I\HD$I|$0HQHGHpH;wDIT$0HBHHHJHHHt$H0DhDx
HD$(DhDxD$H8[]A\A]A^A_HD$Ht)HpH4$HH;pwH|$HGHPHW_OH|$AEHD$ξH|$&EHD$H|$HGHPHWH4$HH9H$J<w
LHHJtʄtƀ-;tHD$HvHpHt$HH;px_DID$0AWAVAUATUSHHxuAD$3@[Z@@HJDhH9sH|#tH}@HHGHpH;wHHP@HBHHHJHHL DpDhAH=ޱHGHtHPLC4
L$L9FIcHHcD$HtHHtHBHHH EL	EDl$9CCHE@GEDl$H;Xs,L$I$:#H\$AH-,HEHuH[]A\A]A^A_AWAVAUATUSHXHxuHD$(AD$$2@Z@Г@LIEHD$@H\$HH\$ALHyLHD$HHT$H)ڃMHcHHOοh@H9HADMMcIINȿk@H9H\ADMMcIINɿp@H9H$MHcHHOοw@H9HIINɿ}@H9HIINȿ@H9HLHcHHOʿ@H9H€h@H€K@H€.HH;D$@H\$HH9H(t)… u$H9u؄tԀ;{tcHH9wՋD$ @H L$8H	HH!H	HL$8Ht$(HT$0H=7LL濙@vHHl$HkH{@HtHGHpH;wv?HC@HͭH@@HPHJHHHHH(t$pt$$.Ll$(Lt$0D$D$$3@LHLpALL*Lhx*tLhMM)AAMHcHHOȿh@H9LMAAMHHHNȿk@H9L€AAMHcHHNʿp@H9LAAMHcHHOοw@H9LHHNʿ}@H9L€~HHNȿ@H9LWAAMHcHHOȿ@H9L @L@L@L@L@LΗ@Lt|@Ltd@LtL@Lt4@Lt@LID|$ D|$H=HGHt{L9xvOJHT$N$MtIl$LHLHD$HÀ;(HH9w덃|$$t*HD$$H H	Ht$(HT$0|$$HX[]A\A]A^A_AWAVAUATUSHHxu"ADŹEI@+Z@@.At?MHcɍVDMH9ABIcH4LHtHFHPHH EL	L%IHcIT$L,I|$@HHGHpH;wwHH@@HPHJHHHHL(hADHAH=HGHHpH9vGHHHztD뵾s:ID$@mAtZMHcH9s.IcH4HHtHFHHH EL	!HtXKŹ뾹AuH[]A\A]A^A_HH
@tttHQHH֧Btt]HHB@Ht&HxtH@HH@@HtHxuŹ0@3Z@@HB@Ht&HxtH@HMH@@HtHxu
$s0@;Z@P@HB@Ht&HxtH@HH@@HtHxu
!0@CZ@@PAWAVAUATUSHAHIHHtHxE@uu[@u$@	uAEOIh@ @#@U@$З@H HHHQHtxD`<Et:HH+5HH988HD@8@
@AHH+5HH988HD@8@?P8H+HHH988Hє@?A@A@17HHHPHJHHMHI9tH;HtHGHpH;wv뼾@@XAA+iL@4IaIArRjpPxmMunboseEq{Qs@A@16HHHPHJHHMHL9tH;HtHGHpH;wv뼾@@OALE@A@15HHHPHJHHMHI9tH;HtHGHpH;wv뼾@@ALeELUA5HHHPHJHHA,HLLHHH9vH;HtHGHpH;wvALEI$@ @@$t	@^u^I@HAU4HHHPHJHHA,HLLHHHH9vH;HtHGHpH;wvL@~HLHHHALA2@@u@	u
AuADH[]A\A]A^A_USHH$HH@HtHxw}H<$HtH[H$ @:@e;Hź
Ht$H<$HHRHtHzuvM~HH@HpHcH;PcZH$HtHz본H[]ATUSӃH~HBHH@HLcL9@w;r8@;J,HH@JHQHHʅDbHx8V@:C@uw;r8t/@:2W@@u:*@Z:W@@?:"*@$:Hc|0
'p@@|@H5ߞzHCL9HHH@H(<@	t@uE@6뻅uJx
uDSLc?@@@i9
t[]A\UHAVAUATSHHAԅHCDh8AIcHHKEt$DHDH=
FÃA~!HH@HtA}HcH;PA}R,McB5t
<
AtBT#HcHHH)HL$HIȅDJzA@7HAAă
@V7HAătHD5@h6:A^A HpI9tH9t9t9~9}A-ݾO@S@6ƅHuDHHtHHHʀ<
t;BL#IDH=3AHHe[A\A]A^]HtHxHhUHAUATSHHcHHDžDcHDHH=DAŃ~!HH@HtA}HcH;PDMcB%<
^@j5H$Ã9^@:5HÃtH޿5@N4 3SHcHHH)HL$HIɅ~FDDRzA1^A1 HFI9tHA9t9t9~A9}A1-۾O@y@He[A\A]]UHAVAUATSHHA
HuHDh8HuIcHH)HAHcHEt$DHDH=#BÃE~ HHPHtAEHH;BA}McB5t
<
AtATHcHHH)HL$HIȅDJz`AHE
^@ 3HAă^@2HAătDHDX@1[A}A^A HpI9tH9t9t9~9}A-ݾO@y@He[A\A]A^]AWAVAUATUSHHH@HtAHxtDwHcA@2
H[]A\A]A^A_ÍS;Q8tyֿ@v2HHPHAIcH;JHH+5UHH988HH@q1AI988W*@1H9yZZHD9RH
זHQLHtHB뷿
H1@@@ؠ@@@@@HRHH+5@HIH@f0\EuA DHA
- u
ȕ@"봿f
- u
ו@A(u;r8t@d0j*@L0R
nHuHH9tHD9H HBHtH@H9vAIcHHPHtH;JsHH+5ߔHIH@/M<[IcH
HQHDH;r:<?<pa<q"<<QE
w- hu
YE|$IcD
HH&HHtr@oHp@VHH@Ht)HPօtHLHHtHAH<
t-@	HBtt+4HÍrHB@HtHxt&@HB@HtHxtſ&@AWAVAUATUSHhHH`HHw{HHHsAHIHHsHBIſ
I)/@H5@Hq@HH
HHSLH=ahIAHHsLHHsHIŀ8:EDD|$D$HH0HtH~@0@&ء@
@@@@(@X@@@أ@@X@x@@ؤ@@@ȥ@|0@rh@h@^ @TP@J@@ا@68@,@"@@0@T@X@@@ܿHH{腿:@̿w)HlH{KYI}IźHH=HD$D$LHNjD$D)D$.D|$D|$D$AA}#&MuHzHHsALsIHsH޺LHD$A}pt@HL$pLLH=[9HD$pDp@D$D)D$Ll$ILLHpAEHЀ	wTPII9u)Aƅ~4HL$HHԎHRHtHH9BrJD$D)D$Ll$HHPHtD$AD$ALrAD$A'EuHRH@HHxDAƃ|$u7xyDb|$uHHBHtHxtDr8L$D9}
DAΉD$ADA\A~D;t$~HH@Hz|$HcH;PiU;l$~HDH@Ht}HcH;PsD9*AE@HHHHsALHAE)HsH޺H1Eu@"D|$EDLDv@LH DH	LHH={yH	HHsAL,HHsH޺HHL$pLHH= HD$pPp@a@M
HH΋H@0HH;hHHHDHD@HDHtQ롽AHHHsALCHHL)AHsH޺H<H0EuHt8ELIAHIFID$H@ %HD$pH|$p"@$H|$p^~H|$pHtMHGHpH;wwDHD$pHPHJHHHt$p@ѹHt$pH=])[HD$pHuIAHPI9tHH9tATAL濷@VLH={)Ė@3H=ĉH7X)HHHHtQP8HL$H DH	7HL$H DH	hEuGHTDp8EtDA~DH>HPHt4AFHH;Bs(A~DhAAD$pA~HT$p=IĽA|$pu\
ݷLDH=+Mt
I|$誷HcHHPHtHBH9vTHLMtID$H9vI<HtHWIMDI|$:5}vEu}H
D`8A~HH@HtA|$HcH;Pr[A|$A=D$pH|$p(Hŀ|$pt5HHx褶DA끺HDH=l*Ht	H}asWEH?h8~ H0H@Ht}HcH;P}IqO@Ж@)!D$pH|$pH|$puWHHtHHHʀ<
tUH‰H=*DRcHyHxpkHhEHLh8~H=H@Ht}HcH;Prl}rO@ؖ@jD$pH|$pY|$pt7HHxشDsH‰H=*HL$H DH	ϋT$LxEH`h8LcHJH@HtHPL9DmxDH=b,HH@HtHPI9D3s}*LcHH@HkDmxDH=+H|H@Hy넃xH=RHGHtp+H5HPHtHBL9"^u^D^Eu\Hh8YH=Ѓ*}^%}vD뢍}Eu\H`h8YH=Ob*}^v}/D_뢍}YEuH߂HPHtIHz
Dp8DAƅxHcHH@Ht$H@H9s"
A~ct
Eu#H`HPH|
Hzq
Dp8DAƃ|$ub~xA~tHH@HIcH;PDA|$u0HHBHtHxtDr8D;t$~!D$Dt$AwD9t$}DDt$D$A~^A~D9t$}DH_H@HZ|$HcH;PI5AD9t$|E~HH@HtA~HcH;PsӺ]‹t$Lt$LHtHsH޺LIt7HL)A)E~	EHE(AE<ntZ<puHWHXH)Hi98HHHH1HCH{"0HHt&HH)Hi98@HcH;JCHHHHH
H{蹮
HWBL<nt^<pHpHqH)Hi98HHHHJH\
H{;I
HHt&HH)Hi98@HcH;JCHHHH~H	H{ҭ	HWBLݖ@@H|$p}D$
Ht$ H|$p5AExMcH
C~HHtHAHPI9w|$tKHH ~Ht	H{(	H;~t~@XH}B| <
HIHH}HH9hLHHtHQHtH;}t"8@둿@ڬ뀿-@ɬl*jpD$eHA|
Dt$IcLH|$pEAFH|pIcDpH|$ H=|HHGHpH;wH|HPHJHHHHod$  ol$0hot$@p o|$Px0HT$`HP@H~|HǸHtHPHH<ոHH=`|Ht$p4um@萫HA|@<E
;l$HcD$|p@B@O@舫H
H{
f@H|$pu(f@H|$p蘶t؃H|pH|$ 
H=b{HHGHpH;wH@{HPHJHHHHod$  ol$0hot$@p o|$Px0HT$`HP@HzHǸHtHPHH<ոHH=zHt$puS@Hz@<@B@{@H]Hsz'@tH|$pƄ$H=KzHHGHpH;wH)zHPHJHHHHoD$po$Ho$P o$X0H$HP@HyH¸HtHPHHոHHy|$AE< t<	uJLHEA)Dd$E< t<	tEA_H9HOyLDd$ӾIH/yHHPHJHHBL-IE9~L5yI>HtHGHpH;wv묿@-(@#HxH@HtHxu
	@;B@`@)HH{蒧H{HH{^lH^H{=KH$x@7Hxp@b@l|$Dt$AL舰HAE)ALXHHL)AAL%HžALIǾHxHHsYIHHSHH=vHD$D$HHsLxHNjD$D)D$HsH޺	IŋD$D	HAD{E)D|$E#<Uz$ŀ@LH=Vv]IAƾLH菮Iŀ8:E6D|$D$EAD|$E#<U$0@dH{ۤHAHxIĺHIſ
苤/@HI)Ҩc|$GDt$A~*HuH@Ht
IcH;PHtDp8HtH{Hh[]A\A]A^A_HtH@HHtHHtqHQHthx<t1HH+5tHH988HD@8@_HH+5TtHH988HD@8@o.P8H+#tHHH988Hє@?D$`:@H|$^Hǀ|$u HtH@HtHu?
tHtH蹢HAWAVAUATUSH(AIHT$AϽ~:HzsHcHJHD8	u	HtBPvNtEaAtAiA AEADDD@
D$~UA3HHHEHPHUD	AD9wHtHEHpH;uv뽽X}Hɗ@H5Wr
HEHu?HEHHGH}vLLHH;Urȗ@t
HpH뮾LIHuHH)H9w.})HHH)H9w{uރHq@PDD@jHH|$ޭHHHx}M0IEHpI;u#IEHPIUIlAH8	HHH)H;Uv7۸H˅~UA3HHHEHPHUD	AD9
HtHEHpH;uv뽽|$u"LH([]A\A]A^A_À|$tH}_HD$AAUATUSHH H*pDh8E~!HpH@HtA}HcH;PD$HT$D=HŻA|$
ٞHDH=o(Ht	H}觞HcHoHPHtHBH9vtH[]A\A]A;MHLHDHLHtHEH9sH|HuHtH}둍{vduSHD$HnHT$"HC
ӝHnHHHtQP8H[HYHtHÿ@H蒞HtHÿ@ΞH;HtHÿ@觞轞SHHtgHGHxEH\H9HBH9wTHHH9rYHHqHteHeHXH[ùP@@@=령P@@ƫ@P@@@H(HSHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$٫@>HT$HH=lJ
ЛFH͌UׯQHHH H1H͌UׯQHHH H1H1H͌UׯQHHH H1Ht9HHH%#"HHH1HHH H1HH9uH%#"LGMHHGHtaHHHuXH͌UׯQHII L1I9sTH!LLIH9tVHtYHH!LIH9t9Hu:@%Z@h@@'Z@@HGJHøATUSHHHIH
HwHGHH9LOHGHxHH͌UׯQHHH H1H!LEHI4HHH9t HH!HI4HHtwH9uHEL${@FZ@z@H_LMHEK	H9W@MZ@~@@NZ@h@əILMHHEL$[]A\USH(HHHCH$HD$HD$HD$HIH$H<HD$H\$H}t0HEHHSHH9]vHEH4HtH}萘H}臘o$EoL$MH([]HEHHHH)HHHH
HHHSH H$HD$HD$HD$H^HH~HHuHHHH9uHuH [ù@Z@@H$@@@˗Hÿ@跗@覗ٿ
@蕗ȿ@脗뷿@s릿@b땿$@6H@AHSHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$HT$HH=g—IH[SHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$ED$D$0H$HD$HD$ HD$HT$HH=of
蛕H[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$HT$HH=e^H[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$HT$HH=e謕3H[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$%D$D$0H$HD$HD$ HD$HT$HH=OdH[HGHGGHG HG(G<HG@HG0AWAVAUATUSHIH3@HiIILHHL
|.DDHH9uAMcBD5<h~<m<tte<cu\Ht$kHHHHHVH|$AOHcHL)H9vD
H:DtA\$<I$IU뇻뀾I$I$HPHJHHLLHHHHH9vI<$HtHGHpH;wvI$HHtHBH<uAMtLTЭ@Zx@@AD$<H"HHCHPHS@,@
t#L辑<t]HtHCHpH;svI|$HtHGHpH;wvID$ID$HPHJHHH<LAD$<IT$HtBAD$8聹H[]A\A]A^A_ATUSHH?HtHuHEAHWHEHHHELHtHPH9vH<HuܻHHE0J HH}0HtH9_vIIJ<'HuHtH؏HE0Et$t;H}HtH豏HE[]A\H}@HtH蒏HE@H}@HtHvHE@AWAVAUATUSHHIH?HtHu@L蜐IŻIZ@聐IHEHEHPHJHHALLHHQHH9vH}HtHGHpH;wvHAA<.DDHH9uAMcCD4<ht~~<mt<tte<cu\Ht$4HLHHHHH|$AGHHL)H9vAH:Tt]A5땻H;Xs<L}HHEJ HuIHEHtL9pvN$E<LH[]A\A]A^A_AWAVAUATUSHIIAMtA^I|$HHG)L$HcH4(HGH9rjID$HhAGHIT$LlHHcT$HI|-L4HLL֍AD$<DA\$8CH[]A\A]A^A_D8^ID$މt$HcHjAWAVAUATUSHII׉VAMtEwI|$HHwV)‰T$IcHHGH9rnID$HhHcID$LlHHcT$HI|-LIHLLAD$<B3AD$8H[]A\A]A^A_Ë_8ۺDYID$끺)‰T$IcHaAWAVAUATUSHHAI֍FvIcHHCHD(HhHCL|(I?HwAMtMfLH;wwQHCHD(L`HCHD(HL)HxLLHC<Dk8H[]A\A]A^A_Do8EtIAWAVAUATUSHHAFMcIMl$LHCH(HHL}LkI}HtjLHwHGH9rdHCJD LxHCJD HL)HxLH腊H}\C<Ds8H[]A\A]A^A_Dw8EeL뗺IELkI}AHepAUATUSHHAIՍFvGIcHHCH|(HtHljHCHD(HCLl(C<Dc8H[]A\A]Dg8EuAWAVAUATUSH(HAT$AMōFD+l$MtAEMcIIL$HHCHD$H8HGD)D$HcHD$HHwH9wHCJD HL$HHHCJ| HcT$IcHtBD=HHHCHc|$J| MtIUL膉C<Ds8H([]A\A]A^A_Dw8ED؉D$HcHD$Hƅ~1HL$HPZHSH
HjuAFv/HOHcHHTLHLH
HWLDG<w8Ëw8uFv.HOHcHHLHLH
HWLDG<w8Ëw8uAVAUATUSHFLcHCHL;`N,MuJ|(HtH_HCJD(HCJ4(J<0HtHPL)H\HCHhC<HCHtrH@I9vnC8[]A\A]A^Ëo8^JH<Ht-HچHCHHtHPHHHCHh눸Muk8MH뜍Fv*ATUSHcLGMTAAHcD$"w8uϸEDA0E9tAIDMt5M9Bv/McFG8tAD\*EtA
tA9uw8[]A\AWAVAUATUSHIIAH$/H$Al$87H9XvCDLLHuщAID$HuADH[]A\A]A^A_Af.DAWIAVIAUAATL%SUH-SSL)HHt1LLDAHH9uH[]A\A]A^A_HHtcsetattr()tcsetattr ICANONread()tcsetattr ~ICANONEdim - Ed ImprovedPress 'h' for help.Opening '-Scratch-' Buffer-Scratch-Opening '%s'

Copyright (c) Christian Seibold. All Rights Reserved.
File doesn't exist... Creating it.

You cannot close the '-Scratch-' buffer when other buffers are open.There are unsaved changes. Use 'E' or 'Q' to close without changes.There are unsaved changes in at least one of the open buffers. Use 'E' or 'Q' to close without changes.@q@q@q@q@q@q@q@q@@
@q@@@9*@!*@;*@Q*@c*@}*@showTextOutlineshowCOutlineshowMarkdownOutlinecreateTextOutlinecreateCOutlinecreateMarkdownOutlinerecreateOutline    $    ^X ^Dsrc/parsing.cifelseswitchwhiledocasefor&&||+^///*|%.*s|
%c
currentBuffer->fileType == FT_MARKDOWNcurrentBuffer->fileType == FT_CcurrentBuffer->fileType == FT_TEXTbuf_len(currentBuffer->outline.markdown_nodes) == 0buf_len(currentBuffer->outline.c_nodes) == 0buf_len(currentBuffer->outline.text_nodes) == 0
<%d: %.*s*|%d> 
<%d: %.*s|%d> 
<%d: new file*|%d> %shelp info Enter a line number: %c%4d %5d Enter the string to replace: No occurance of '%.*s' found
%5s %.*s- Enter the string to find: %5s %.*s- 

<%d: %s|preview> 
Previewing '%s'
 * 'p' to show previous lines--^-^-^-^-^--
--v-v-v-v-v--
File information for '%.*s'
Filetype: %d
Number of Lines: %d
Outline:clearhelp'%s' is currently open.

 * 's' - Save current bufferinfoSet bookmark '%.*s' to %d:%d
%4d: %.*s %d:%dEnter a filename: Saving '%s'
Saving '%s'%4s ^- %5s That buffer doesn't exist.Enter a buffer number: *%3d: new file%4d: new file*%3d: %.*s%4d: %.*ssrc/editor.cstr[strLength] == '\0'Enter file to open: str[strLength - 1] == '\0'Opening a new file.FileType: %d
Unknown command
------U=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@w<@=@=@=@<@=@=@=@r<@=@=@=@<@=@=@<@<@<@=@=@=@=@=@=@=@=@=@=@=@=@=@=@m<@<@=@=@<@=@=@<@G<@<@=@=@<@<@<@<@<@|<@<@=@<@=@=@<@qW@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@Y@3i@3i@3i@h@J`@3i@3i@Y@3i@3i@3i@]@3i@3i@^@h@[@3i@i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@W@[`@{W@T@h@9`@U@3i@W@R@3i@0l@;]@f@c@=^@h@Z@U@h@3i@3i@T@[@qW@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@Y@3i@3i@3i@Gi@J`@3i@3i@Y@3i@3i@3i@]@3i@3i@^@h@[@3i@i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@3i@W@[`@{W@T@h@9`@U@3i@W@R@3i@0l@;]@f@c@=^@h@Z@U@h@3i@3i@T@[@editorState_openNewFileeditorState_openAnotherFileThat line number exceeds the bounds of the file.
No occurance of '%.*s' was found in line %d
 * 'q' or Ctrl-X to stop previewing * 'Q' to exit the whole program * Enter/'n' to show the next lines * 'j' start showing lines from given line number (TODO) * 'f' find first occurance of string in file and jump there (TODO)An unnamed file is currently open.
Use Ctrl-D to denote end of inputUse Ctrl-X+Enter to cancel the current command/operation * Ctrl-L or 'clear' - Clear the screen * '#' - Gives back information on the file, including number of lines, filename, number of characters, filetype, etc. * 'j (line#)' - Set's current line to line number (no output). Use 'j$' to set last line as current line. * 'a (line#)' - Insert after the line number * 'i (line#)' - Insert before the line number * 'A (line#)' - Appends to a line * 'I (line#)' - Prepends to a line * 'r (line#)' - Replace a line with a new line * 'R (line#) (string)' - Replace the first occurance of the string in the line * 'x (line#)' - Deletes a line * 'm (line#)' - Move the line up by one * 'M (line#)' - Move the line down by one * 'f (string)' - Finds the first occurance of the string in the file and prints the line it's on out * 'F (line#) (string)' - Find the first occurance of the string in the line and print the line out showing you where the occurance is * 'u' - Undo the last operation, cannot undo an undo, cannot undo past 1 operation - UNIMPLEMENTED * 'c' - Continue from last line; Append to end of file * 'p (line#:start)' - Preview whole file (optionally starting at given line) * 'P (line#:start):(line#:end)' - Preview a line or set of lines, including the line before and after * 'b' - List all currently open buffers * 'b (buffer#)' - Switch current buffer to buffer # * 'bn' - Switch current buffer to next buffer. Will wrap around when hits end. * 'bp' - Switch current buffer to previous buffer. Will wrap around when hits beginning. * 'd(line#:start):(line#:end) (string)' - Create bookmark with line range start:end and name string * 'w (string)' - Print out line range of bookmark with name string * 'g' - List out all bookmarks * 'o' - Open file in new buffer * 'n' - Create new file in new buffer * 'e / E' - Exit current buffer / Exit current buffer (without save) * 'q / Q' - Quit, closing all buffers / Quit, closing all buffers (without save)
Any command that accepts a line number or line range - denoted by '(line#:start):(line#:end)' - can also accept a bookmark. Bookmarks are prefixed with '#'. Example: 'P #test'.Unimplemented prompting for name. Please add a name after the line range.File doesn't exist... Creating it.
Press Ctrl-D on new line to denote End Of Input
buf_len(currentBuffer->lines) == 0xcalloc failedxrealloc failedxmalloc failedsrc/stretchybuffer.cnew_len <= new_capFATAL: buf_cap(buf) <= (SIZE_MAX - 1) / 2new_cap <= (SIZE_MAX - offsetof(BufHdr, buf)) / elem_sizebuf__growsrc/hashmap.cIS_POW2(map->cap)key2*map->len < map->capval == (void *)(i+1)map_testmap_put_uint64_from_uint64map_get_uint64_from_uint64ERROR: Wrong Color - Unixx@x@x@x@x@y@y@src/buffer.cwbuffer->openedFilename[buf_len(buffer->openedFilename) - 1] == '\0'buffer_openFile;T@bdd e<fXfpk+lllllTmPnHno/|| }<}X}t+~~$4pL0g$@ޔC%8:`	4		U			
#4
T
p



1

,D\
t)7\t8\2&(
X


<]P \`paPPzRx0a+zRx$@_FJw?;*3$"DaDP
A`bDP
A|pcDS,pcBBB A(A0Dhohhhh$(hY,<4iBAA 
ABA8ljBBA A(D0v
(A ABBA(ljAAD G
AAAHkwBBB B(A0A8D`w
8A0A(B BBBA  +wFe
ATDwlAj`wlAj|(xlAjxx7D]
ADxBBB B(A0A8DP8A0A(B BBBHxBBB B(A0A8Dp
8A0A(B BBBAHH|zBBB B(A0A8DPs8A0A(B BBBH{BBB B(A0A8D8A0A(B BBBHBBB B(A0A8D@8A0A(B BBB, 7D]
AH;Da
AHd8$BBB B(A0A8D@8A0A(B BBB(AAD0AA(*BAA "AB(eAC
N;
A$4+AC
L$\AC
NHҒBBB B(A0A8D@P
8A0A(B BBBAcD
AL2BBB B(A0A8G\
8A0A(B BBBA<oD 
HXe`BBB B(A0A8D`'
8A0A(B BBBA8yTBBA A(D@
(A ABBA YAD RAƺ'DN
A Ѻ'DN
A<ܺ'DN
AXAU
AxAG"',4IiQ(.BAA &AB$(AAD@AAPDIhDIDIDIDI}DI sAD0i
AA	ؾDe
A 	XDS 8	XAGA \	ܿAGA 	jAGA 	AGA 	AGA	BH
BBBB B(A0A8DP8A0A(B BBB,L
!BAA 
ABAH|
BBB B(A0A8DP8A0A(B BBBH
BBB B(A0A8DP
8A0A(B BBBAHBBB B(A0A8DP
8A0A(B BBBAH`]BBB B(A0A8D@
8A0A(B BBBAHBBB B(A0A8D@
8A0A(B BBBA8tmBBA A(D0Q
(A ABBAH4cBBB B(A0A8D`
8A0A(B BBBA@?<)BBB A(A0
(A BBBA8JAA fM VABL$
YBBB B(A0A8D@_
8A0A(B BBBADt
]BEE E(H0H8G@j8A0A(B BBB
@@@
4@@@o@h@8@
I@@(@	o@oo@@6@F@V@f@v@@@@@@@@@@@&@6@F@V@f@v@@@@@@@GCC: (Solus) 8.2.0,@+.<	@4@<	@8@*@@J	z^)@0E+intXpXdd5	X			Y					 	x	(
f	0
	8
	@
	H
	P
	X
`

h
QXp
Xt

kx
<
CJ


%w
(
8)
K*
3+	
2

3X
5HX5i
C

iy)
		X	GyCGX?EKWXXhT	V!	W	YX	Y[		\	 	^(	_]0	`8	wa@	eXH	fXL	FgXP	hXT	kXX	qm	`e0r?	;tQ	uQ	yX	}X	X	 	(E7Q0	Lio0tOXyP	
		q*!)@)E	+	q,@&	g
(
-!0.E(			X{RCDw	V
			E	%	Z 		Z(	,	0	b	Z8	g@	gwB3399?59XZKX`58j	9	Y9	9	9	x9 	f9(	90	98	9@	9H	9P	X	`	hj(05z)z)s):c?R@AvG;H@Iz?Dg	XW	L		W	f	X	W	`
}W	
~X_	@J@J%%:;9I$>&I$>I:;9	
:;9I8

:;9I8:;9I:;9

:;9II!I/:;9'II'<!I:;9>I:;9(:;9
:;9I84:;9I?<4:;9I?<!4:;9I?U%U%Z0
../sysdeps/x86_64start.S	@>.B#>M$
 uv
thA;
/usr/lib64/gcc/x86_64-solus-linux/8.2.0/include../posix/bits../libio/bits../wcsmbs/bits/types../iconv../sysdeps/unix/sysv/linux/bits../libio../includestddef.htypes.hlibio.h__mbstate_t.hwint_t.hgconv.h_G_config.hstdio.hsys_errlist.hstdio.hinit.c`/
../sysdeps/x86_64crti.S	@?Lu=/	4@]/
../sysdeps/x86_64crtn.S	@'K	8@+K../sysdeps/x86_64/start.S/home/build/YPKG/root/glibc/build/glibc.git/csuGNU AS 2.31.1__off_t_sys_errlist_internal_IO_stdin_IO_read_ptr_chainsize_t__min_needed_from__statep_shortbuf__cd_IO_2_1_stderr__IO_buf_base_IO_jump_t__max_needed_from__mbstate_t__codecvt_error__invocation_counter_G_iconv_t__outbuf__codecvt_ok_fileno_IO_read_end_sys_nerrlong int__gconv_end_fct_IO_buf_end_cur_column_IO_codecvt_IO_last_state_sys_errlist__gconv_step__codecvt_partial_old_offset__cd_in__init_fctGNU C11 8.2.0 -march=x86-64 -mtune=generic -g2 -O3 -std=gnu11 -fgnu89-inline -fmerge-all-constants -frounding-math -fstack-protector-strong -fno-stack-protector -ftls-model=initial-exec__codecvt_do_always_noconv__codecvt_do_unshift__nsteps__shlib_handle__gconv_btowc_fct_wide_vtable_IO_marker_freeres_buflong unsigned int__codecvt_result_IO_FILE_plus__data_IO_write_ptr__gconv_fct_sbufshort unsigned int__internal_use_IO_save_base__wchwchar_t_lock_flags2_mode__btowc_fct_IO_2_1_stdin___max_needed_to__to_name__fct__codecvt_do_encoding_IO_stdout__min_needed_to__codecvt_destr_IO_write_end__gconv_init_fct_sys_nerr_internal__gconv_info_IO_lock_t_IO_FILEwint_t__codecvt_do_in_pos_markers__state_IO_stdin_used__flagsunsigned char__wchb__steps__codecvt_noconvshort int_IO_wide_data_vtable_offset_IO_2_1_stdout___codecvt_do_max_lengthinit.c__count__stateful__value__combined__modname__cd_out_next__off64_t_IO_read_base_IO_save_end__counter__outbufend__pad5_unused2__codecvt_do_out_IO_backup_base__codecvt_do_length_IO_stderr_freeres_list__from_name__gconv_step_data__end_fct_IO_write_base_IO_state__gconv_loaded_objectstatic-reloc.c../sysdeps/x86_64/crti.S../sysdeps/x86_64/crtn.S@@4@8@@@8@=@@@@@8@h@@@	(@
@@ @
@4@@@@@@@@@@@"
@$
@@7
@M@\@
@@@@
@
@#@<@U0@nw
`:@$
?@
B@e
#E@
G@
p@T
m@`@1@J[P@
t~@@@	RЭ@@@
@@&@9@O
0@_-

9@7q
<y@
t@
h+@l
@c @ @
@ 
w@(
@@?<
,@I
A@a
@!n@
*@
u@.
zt@ @@
M@

,@Y4@
y@5	&
4@6L
@wU
r@'^y
@
w@
t@
r@'
@)
.@/
`{@;
@YJ
@au
*@l@
w@ 
s@@
t@I
w@@
v@
}@+
@:
Њ@]J
w@Ym
5r@Y
L@0@
Ā@
@+
@@
u@
0@
*@l
x@"
|@2
@J_
@s@
ol@
@
@
@
@$
@		
z@	3	I	
0@X	(@f	
@~	
+@7	
@@*			@	
@	
,7@	 	
|@B

I@

	x@+

G9@;

s@
x@A

Ty@D@O

r@'W

=@l

@

0@minit.cstatic-reloc.ccrtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.7339__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entrymain.cparsing.c__PRETTY_FUNCTION__.3553__PRETTY_FUNCTION__.3562__PRETTY_FUNCTION__.3571__PRETTY_FUNCTION__.3483__PRETTY_FUNCTION__.3501__PRETTY_FUNCTION__.3537__PRETTY_FUNCTION__.3469editor.ccommandInputCallbackcheckLineNumbereditorState_replaceStringeditorState_findStringInFileeditorState_findStringInLineeditorState_insertAftermultiLineEditor__PRETTY_FUNCTION__.3529__PRETTY_FUNCTION__.3547stretchybuffer.c__PRETTY_FUNCTION__.3304hashmap.c__PRETTY_FUNCTION__.3323__PRETTY_FUNCTION__.3340__PRETTY_FUNCTION__.3382colors.c__PRETTY_FUNCTION__.3331__FRAME_END____init_array_end_DYNAMIC__init_array_start__GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE___libc_csu_finifree@@GLIBC_2.2.5putchar@@GLIBC_2.2.5resetColorhash_ptrshowTextOutlinestrncpy@@GLIBC_2.2.5buffer_replaceInLinestrncmp@@GLIBC_2.2.5_ITM_deregisterTMCloneTablestdout@@GLIBC_2.2.5clrscrmap_getbuffer_moveLineDownadd_bookmarkbuffer_findStringInFilebuffer_closeputs@@GLIBC_2.2.5stdin@@GLIBC_2.2.5getFileTypeExtensionmap_put_uint64_from_uint64hash_uint64buffers_edatafclose@@GLIBC_2.2.5editorState_executeCommandget_bookmarkcolors_putsparseLineNumber_IO_putc@@GLIBC_2.2.5getInputxrealloc__assert_fail@@GLIBC_2.2.5getch_nonblockingmap_get_from_uint64hash_mixxmallocfgetc@@GLIBC_2.2.5buffer_deleteLinefputc@@GLIBC_2.2.5createMarkdownOutlineread@@GLIBC_2.2.5__libc_start_main@@GLIBC_2.2.5printPromptskipLineNumberbuffer_insertAfterLinecalloc@@GLIBC_2.2.5showCOutline__data_startmap_put__gmon_start__buf__growstrtol@@GLIBC_2.2.5__dso_handlememcpy@@GLIBC_2.14hash_bytesmap_put_from_uint64_IO_stdin_usedmap_growbuffer_openFileskipWhitespace__libc_csu_initmap_get_uint64malloc@@GLIBC_2.2.5fflush@@GLIBC_2.2.5_IO_getc@@GLIBC_2.2.5editorState_editorprintFileInfobuffer_saveFilebuffer_moveLineUpmap_get_uint64_from_uint64parsing_getLineshowMarkdownOutlinemap_testprintLineNumberbuffer_insertBeforeLinerealloc@@GLIBC_2.2.5buffer_appendToLine__bss_starteditorState_promptmaingetchskipSymbolsmemmove@@GLIBC_2.2.5skipNumbersskipWordtcgetattr@@GLIBC_2.2.5tcsetattr@@GLIBC_2.2.5fopen@@GLIBC_2.2.5printErrorperror@@GLIBC_2.2.5vfprintf@@GLIBC_2.2.5createCOutlinecurrentBufferparsing_getLine_dynamicshowOutlineprintLineexit@@GLIBC_2.2.5fwrite@@GLIBC_2.2.5__TMC_END__skipTextcreateTextOutline_ITM_registerTMCloneTablebuffer_initEmptyBufferprintTextmap_put_uint64recreateOutlinefatalcolors_printfxcallocbuffer_prependToLinebuffer_findStringInLinebuffer_replaceLine.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_ranges@ #@ 1@$Do@(N8@80Vh@hI^o@Dko@0z(@(B@@ @ @Qy4@4	@@@@@@@ @@@00 !
,h804C0!N	X
QELF>@@#@8@%$@@@@@hh@@  @@@@@@HCHCAAxAA@@DDPtdpp@p@,,QtdRtdAA/usr/lib64/ld-linux-x86-64.so.2GNU GNUQXfVYg|@# #$)gUa9, 4]Okq! dAx%0 l !AI0!Alibc.so.6fflushexitfopenstrncmpperrorstrncpyputsputcharreallocstdin__assert_failrewindstrtolfgetccalloctcsetattrfseekreadstdoutfputcmemcpyfclosemallocioctlfwritetcgetattrmemmove__libc_start_mainvfprintffreeGLIBC_2.14GLIBC_2.2.5_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableui	AAAA! !A#0!A$ A  A( A0 A8 A@ AH AP A	X A
` Ah Ap A
x A A A A A A A A A A A A A A A A A !A"HHHtH5%@%h%h%h%h%h%h%h%hp%h`%h	P%h
@%h0%h %zh
%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@%
h0%h %h1I^HHPTI@H@H@
DH=HH9tH
Ht	H=H5H)HHH?HHtH]
HtfD=uUH~o]Dff.@HHD$?H$HD$HD$HD$HD$ HD$(HD$0D$8H=
HFxcd$D$D$H1xJHt$?iHx=L$
Hx.D$?HHÿ@둿@몿!@뷿(@HHD$?H$HD$HD$HD$HD$ HD$(HD$0D$8H=HGxcd$D$D$H2xJHt$?jHx=L$
Hx.D$?HHÿ@둿@몿!@뷿(@H:@HHHT$TD$
H HD$H	HHE@4W@*HUSHXHD$<D$k@t@26H$H$HPHJHHHH9tH<$HtHGHpH;wvD$8H=|HHGHpH;wHZHBHHHJHHHo$oL$HoT$ P o\$0X0od$@`@HH°HtHPHHHPHHHX[]þP?H
cSHPHHߋH=
HHGHpH;wH
HBHHHJHHHo$oL$HoT$ P o\$0X0od$@`@H==
HHtHGHHHPHH=?
Hs萋u?Hs@DH
@<荀HP[þPFH	9Hsu@nJUSHH	{<tDH	H9t@蘈H[]Hxw
@qHS	HŰHtHPH,HHPHH6H9u@H 	HhH	HPHHHTH$	HxnH=	HwPHHtHPHHHH)HiHHHHHhHHuUSHHyHðHtHPHHHPHH-{HUH9u<H?HhH3HPHHHTHCHxukH=+HwPHHtHPHHHH)HiHHHHHhHHuH[]HH
HH9Av2HHP@tHuX@iHATUSHH1H6H)#~pH(A3HHtHIŋH=HtEH;GtIHǃvnu!@}HuLHGHpHGH9s}H\HUHPHJHHH뀃Dt:0o&HH9s'H&tHsHH9t vHHDDσ߃A@vb@EQA	w@uMA-u@uB@EQAw@u-EQAw@uEQAw@uA{Aw&@t!EtH9vEtHH9køøHH9s&?-tHQЀ	wHH9wHGH9wHHH9s*'t#J߀?w:HHs2.t $tHAHÍJvHjøH9rATUSHHIHHeHHHgHH9H)HtU;-HBQЀ	wɍtQHH9tH9w@t‰؄EHc[]A\;O܀
w$@ID$HtIHxIT$HtHBIcD$8HH9S듸댸HH9wA?#u<HWHH9r0HF	HH9t!2߃AvNЀ	v@_tHAUATUSHIAH=	t t
t[tOE~EADH=ƒ
!A9HuHcAEH[]A\A]ýA$H=KUSHHH=a,Ã	t t
tu\HUHtBH[]þyHEHEHPHJHHH=Ã
tH}HtHGHpH;wvH=iAWAVAUATUSH8H|$Ht$IՉD$,D$HtHFD$HI	E~6AH5B AE9u@@~D$,Ht$HHtH9nv<.@	t@t@H5ŽD͸<[iyMtHL$,HT$AՄDt:C3F;H|$,AD$,uHHT$|	tH53l$,L~H59uHD$HHcT$,H;P<	t<t<H5D$,~H5 `9uӾ@@f}뽸9<~HD$HHc|$,HPH9|HOH)HcH4HHD$HhHcl$,5H
!@.@@|HHD$Ht*H;hs$<(	tHD$(<tH5H
@tH
	@RHHT$HHBHcL$,HH)H9HH)<	tH5D*Hcl$,>~6AH5  AD9u@@{HHD$Ht#H9hv(<	t<tH5ϺHtPT$,~H5V9uID9d$,~HD$B< 	tH5qWD$,@@'{H|$Ht-HGHpH;ww$HD$HPHJHHD$,:tHD$H
@HD$Ht	HxHD$mH5
H|$HHGHpH;wHD$HPHJHH
D$,H|$HtCHcD$H;GHG|
t"Hp
H;wHD$H@
H|$HtHu@vHD$H8[]A\A]A^A_þzsHD$]HcL$,HT$HtHBH9~H5 ^9uH|$HHGHpH;wHD$H@HL$HcD$,HHHQHcH4H|HcD$,HT$	D$,hHcA~H5 9uH|$Ht(HGHpH;wwHD$HPHJHH	ZrHD$оDrHD$,~2AH5 HAA9u@H5r]HHD$LHtHPH9v&<(@	t@uƾ@@xAH59uD$,HHT$Ht_H;BuY|	t/H
@HD$Hhl$,~H5J9uɀ|	t^H
s@/HD$L$,HcH4H|HtHP)HcHD$HhD$,hHca~H59u뚅~6AH5 AA9u@@vHHD$Ht4H;hs.<(@	t@
t@
t@t@H5o뾅~:H5m #9uH5P9uA\PH5 9u.L$,.oHD$HD$HPHJHH@,D$,<]@Mt@HL$,HT$AՄt@@E<w
@
tE<w@
@
@	w@N@DHcL$,HT$HtHBH9u5@H5H|$HHGHpH;w@H5H|$HtHGHpH;wvHnHD$HD$H@HL$HcD$,HHHQHcH4H|HcD$,HT$@,D$,hHcA:~2AH5L AA9u@H5,HHD$LHtHPH9s&<(@	t@uƾ@@sAdXH5~9u6HHD$(mHD$WHcD$,HH9LHcD$,HI9sGLL)<	/H5J0IHT$HtHBHHcL$,HH)I9rD$,=L$,HcHI9LL)<	H5IHT$HtHBL$,HcHH)I9HHcD$,HI9LL)<	H5lIHT$HtHBHHcL$,HH)I9ry	SH$0@QHt@x@t[ÿ7Hm@d!HcֿHc@p@p뼿Hh몿Hl@u@a됿Hj@swHv@u@eZHh@t@m@l9rHc@s@sUSHHxu!`@r@`@HHHGH@0Ht&H9Xv Hxtًx!H[]USHHxu!P@~@@HHHH@0Ht&H9Xv Hxtًx!H[]USHHxu!@@@@HHHMH@0Ht&H9Xv Hxtًx H[]USHH
xu!0@@@HHHH@0Ht&H9Xv Hxtًx
 H[]USHHxu! @@@HHHSH@0Ht&H9Xv HxtًxH[]Hxw4H@$Ő@oHXDAWAVAUATUSHHL$IH)DjLg0LAMcHHMtHI9l$v:H$H;LHtHGI9uLL`uHD$H$HH[]A\A]A^A_AUATUSHH9wYHILnHHoA\$8I9tLH9tGHPD9E<ftp~A<p<su=It$0HFlG8HH H	HH H	<cHL$LLلtzHD$XHmID$HtUHYHHHtJH9Vv89|H951HL$LL_لtHD$XHH H	H[]A\A]AWAVAUATUSHIIHHͺHLIHHL	IHLIDuDuI9tVDuDmHL`+twD$-HH:8:H[]A\A]A^A_AD$8EEA?#uHLLIHL~IDmI DmiHH9rHHIHHL*HD$HLD$I9OHL$ADmADuD$2HH9>HH_IHHLHD$HLND$I9HL$A)DmA)DuD$HH9D}HHIHHLTHD$HLIHD$Aǀ|$DDD}M9tqHLDm+-ZHH9MHHnIHHLIHL_E)DmAD$8EA>#uHLLIHLII DmUHH9HHIHHLNIHLEDmAWAVAUATUSHHIHHIDD$DL$II HL$8D$HH)P~"HHlHD$ I$\&HD$ I|$0H~HGHpH;wqID$0HPHJHHHRHH|$ H8DhDx|$x|$@xHD$8DhDx|$@x|$xD$HH[]A\A]A^A_HD$ Ht*HxH|$HwH;pwH|$ HGHPHW_PH|$ aHD$ ξH|$ aHD$ H|$ HGHPHWHT$HH9H\$A€\@Ƹ>w
LHHt@u-/tHD$ HkHxH|$(HwH;pmT(aID$0{AWAVAUATUSHHxuA@@`@HqD`H9vH|#tAtzIcL<HcI|?HMtIGHIǺLHD$HLLH ANH	AAHt$HHEDEDH9Zv9Hڀ9#HHAH-HUHuAuH[]A\A]A^A_AtJIcHHcHt:HHtHBHHH AFH	AAH`AWAVAUATUSHXHD$ AD$ID$HD$8Ll$@H\$HH\$ALHIźLHI)AAMHcHHOʿ&@H9H€oAAMHcHHNʿ)@H9H7AAEMMcIINȿ.@H9HAAMHcHHOο5@H9HIINȿ;@H9HHHNʿ>@H9H€vADLIcHHOʿC@H9H€>Q@H€!T@H€HH;D$8Ll$@H\$HH9H(t)… u(H9u؄tԀ;{HH9wHD$H L$0H	D$@HH!H	HL$0AAHt$ HT$(L`|$uHX[]A\A]A^A_Ã|$t@|$OH H	AAHt$ HT$(L3벃|$TLd$ Ll$(D$D$LkHC{ u
IHx tALLL`x*tL`LL)MHcHHOʿ&@H9L€IMHcHHNʿ)@H9LADMMcIINȿ.@H9LMHcHHOο5@H9LIINȿ;@H9L}HHNʿ>@H9L€ULHcHHOȿC@H9L G@LJ@LH@LK@LM@L@Lt|U@LtdR@LtLO@Lt4Q@LtT@LIDt$L=(IGHL9pN$MtIl$LHLHD$HÀ;(HH9wAVAUATUSHxu(ADžAIE@@@@t^tYAHcQH9ΉFIcH4LHtHFHPHH A@H	AA,ADDDHAH=HGHt?HHH9vEHHmHzb@tÃ@D뷉DADAu[]A\A]A^AtHIcH4HHtHFHHH A@H	AApAWAVAUATUSH(HNxuHD$Ao@@@YLH L$H	AFHH!H	HL$AAHt$HT$LL|$H\$EHAL%ID$HH9hH<HtH_HHK8fuW@@84uHHuHxHIAHH+HANAuH([]A\A]A^A_At@ANH H	AAHt$HT$LHHBvLHBHHt*Hxt#H@HH@HHtHxsunHBHHt*Hxt#H@HDH@HHtHx\4HBHHt&HxtH@H
H@HHtHxu
Hù@\@ @HBHHt&HxtH@HH@HHtHxuP묹@d@X@@l@@@s@@AWAVAUATUSH(HAxuHD$Ao@3@@LLH L$H	AFHH!H	HL$AAHt$HT$LL|$H\$EHAL%ID$HH9hH<HtH_HH>8fuW@@84uHHuHxHIAHHHANAuH([]A\A]A^A_At@ANH H	AAHt$HT$LHxw4H@$@HC%+AWAVAUATUSHAHIHHtHxEu@v*@	mA_DH[]A\A]A^A_@AtEHH5HzHOH9t3
HRAH9tA!A=uAAHHtH;Ps<	uAHtHxtH@A$E~A@vAE9u@At	-E
H	H,HHEHpH@H;HeHwHHEHtH9wr0HHJHHtHEHHHBH(PHH9v&LHA$HHHtH}HWA<@
t{@
tu@H6HHHQHDp<Et\HH+5HHHD@8@XEHHtBAHH+5HHHD@8@'XbP8H+QHHHH@WE,@u{tw)@A+@1nOHHHPHJHHMHL9tH;HtHGHpH;wv뼾)@@A$EtuJArI$@ @@$t
@^B^Io6Ih@ @#@U@$@iL@KIaIArpPxmMuoeEqQ뒽 @A%@1MHHHPHJHHMHL9tH;HtHGHpH;wv뼾 @@A$LA,&@A+@1xMHHHPHJHHMHI9tH;HtHGHpH;wv뼾&@@A$LALALHHHPHJHHAL-HLLHHH9vH;HtHGHpH;wvA$L
A!HAgLHHHPHJHHAL-HLLHHHH9vH;HtHGHpH;wvL@HLHHHA$LTAhHHHuHHHJHH@fH;HtHwHY
EUSHH$H
H@HtHxw}H<$HtHH$@R,@ISHź
Ht$H<$8HHRHtHzuvM~H_H@HpHcH;PcZH$HtHz본H[]HHHHtqHQHthx<t1HH+5HHHD@8@_R_HH+5HHHD@8@.R.P8H+[HHHH@QD$HS@D
%EʺE@H|$3|$u HtHPHtHtHÀ8
uHtHxSHHHHHHtH9XvH<HuHtHxtH@[AUATUSHӃH}HBH%H@HLcL9
@w;r8I@~QJ,HH@JHxHHʅDbHx8VI@Qj@uw;r8t/I@PYW@B@P>*B@P#W@B@P"*B@PHc|0
'AHPDEA9}  A@H5zHCL9HHH@H(<@	t@u@@*M뻅uJx
uDSLc@@B@O
tH[]A\A]AVAUATUSHAII EuHH@HZHxD9t0ECHHBHOHxDj8Aă~xA|$*HH@Ht	IcH;PrEuHpD`8[]A\A]A^úDA|$A9H+H@Ht	HcH;PrTEtH
h8A9ܾ*AE@U9|~HH@Ht{HcH;Pr׺뙉EA9|ADACDAA9|މD9AAWAVAUATUSHIA΅HcH|$ l@LD$H$@D
EʺH|$ID$D$HMt	ID$HA<
D$A]I D}EHAVEDCHL$(DHt$0H=TcHT$L*sMH=g^RD$뙿N@KH|$ ŃN@KH|$ ŃtMt#I|$螺Il$|$tH[]A\A]A^A_HT$ |@JAWAVAUATUSHH˅AHcH|$MD$EeHSII DEHL$DHt$ H=:aAH~!HH@HtAHcH;PRDUIcD<
<
Et$A4McI_N@=JH|$)AŃN@JH|$AŃtHT$D|@WAAEHcЀ|
DD6H>AHPHJHH HJDE9}dHtHxHwH;pv뭽ƾH@HHxHwH;pHPHJHH^t$B&H9H
GHIJ1	t
w$H9~r9~-HbHxHwH;pUHPHJHH-놃9PHt:HxHwH;pw1HPHJHH SH?,H?HtHPH
@@HD$HY@D
+EʺH|$9|$u[HHtHXHڀ<
tRT$BL*AwIH=Z$H[]A\A]A^A_øTHtHx肶HhAWAVAUATUSHI̓~xAHcH|$nD$A\$I AE}@HUEDCHL$DHt$ H=O^HtxA뷿@FH|$AŃi@FH|$sAŃt9EtH[]A\A]A^A_HT$D|@EAVAUATUSHI˃AHcH|$JD$Al$HSMI EEHL$Ht$ H=7\AH~!HH@HtA}HcH;PDRHcD<
<
L$AmMcIA$_@7EH|$#Aă@EH|$AătHT$D|@DAIcĀ|
DE0;<HHGHPHW HPDE9}dHtHGHpH;wv뭽ƾ;HHHGHpH;wHGHPHW^L$B!H9HAH@J(<	t<
w
I9~J9~-HiHGHpH;w\HGHPHW-덃9WHt:HGHpH;ww1HGHPHW Z:H3:HHtHWH
@@膲H[]A\A]A^ÿAWAVAUATUSHH5H@HtAHxtDwHcAI@KC
H[]A\A]A^A_ÍS;Q8tyֿI@CHHPHAIcH;JHH+5qHHHH@BAIW*B@BH9yZHD9RH
HQLHtHB뷿
ǰH1@@ְ@̰8@°@Ӱ`@İ@走HHH+5\HIH@	A\EuA DHA
- u
*@봿z
Я- u
貯9@دA(u;r8tI@Aj*B@@R
bHuHH9tHD9H\HBHtH@H9vAIcH<HPHtH;JsHH+5HIH@?q<[IcH
HQHDH;r:<?<pa<q"<<QE
k- \u
ME|$IcD
HHbHHtrH@ce@TH-xw@$P@p@HH@Ht-HPօt#HLHHtHAH<
T@@ӭH@@+18>DHv@D5HEo@tHMxE@9H2@Hÿu@	~@@@ܬ@ͬ@辬@诬@蠬@葬y@肬jr@k@\3@MM@>[@/@ @@AWAVAUATUSHXIH/HHoH蘶HAHH誶IźHHgIĿ
^H$HHLH=yoIEg?@H@H@H	F@H	@H	LL)A)EA<7Z-$Ű@(HX[]A\A]A^A_ÿ@藪@荪@9@8H@[@Q@8x@3@)@8@@8@@l8@ϩ@ũ@D8P@觩@&8@艩"@+@7@a;@7@CB@7@%N@7H@R@l@|7x@ߨp@ը@T7@@7@裨@虨@7@{P@q@g@6@I@?@5@6@@
H@@6p@@ۧ@ѧ$@P6@賧.@260@蕧h@苧G@
6@m@cT@5@E(@;n@5@`@@	@@~5@j5@ͦ@L5H@详@襦@$5x@臦@5@i@_@4@A@7@4$@4@8@.@z4h@ݥ@ӥ>@R4@赥E@44@藥N@4b@4 @ee@3H@Gq@=}@3@@@3@@@@b3@Ť@D3H@觤@蝤@3@@u@2@W@2@9P@/@2@@2@|2@ߣ@գ@@ˣ@J2`@譣@裣@"2@腣@{ @1#@]@S@I?@1@+S@1@
_@j@1(@n@d1`@Ǣ@轢@賢r@詢@(1@苢@
1 @mh@c@Y@O8@E@;@1@'X@@@0@ @`@@ס@͡8@á@B0`@襡@蛡@0@}@s@i@/@K@@A`@7@-pa@
MHL輫HAHHΫHH莫IAHH蠫@H@LtH@Lt0@Lt@LuH!@@@<Y@Lt@LuHհ@@@<

@L螟t!
@L舟¸H@@@<@Huo@Lu#H6BDzEpB<gHLH=
GHBDzE<B<3@
H€@LuHPE@<@LuHn@E@<"@L€H3@E@<ndC<nt(<ptn<eH$H4HB8B8HHJH HIH9vJ8z8HB8NB8xH$H$HD$LAHLIIM)HHԧEtKELD(@	I L	AALLH=ǭ@ɜAHL舧HúHHEHL$`LHH=g臼u
HD$`Pp?@ZDHHDHtQW@7
ݛHHHHB0HH9XvIR8HD@D9|DHD9HDHtQF@ԛ뛽A뛸AHLwHL)HH1H^HHut5SIܽHHCHEHg@+HD$`H|$`="g@+H|$`~H|$`HtRHGHpH;wwIHD$`HPHJHHHt$`z@诚Ht$`H=~7"HD$`Hs"HDHPI9tHH9tATHz@0HH=7DHtHr@H=ӪH76$HDhD;$LmMcIAH!HHuH@HJ HCHHHKHHMH@J HtH;hsHtHCHpH;svH=HtEHGHpH;ww<HHPHJHHHAID9$LL뀾!HL9vM1H HHCHPHSAII9tHtHCHpH;sv뿻H=IHt/HGHpH;ww&H/HPHJHHHиr] Hǿ@HHHH9XvHHHtHrŻ̸	HHHpHu!H%AH@HIEA}IHPHUHu˸ȺHHH/H*HuroH9QvHH
H)HuKDIHHtGL9`vAJ,JHHrHxH%HRHHPC<i<a$L~ HH@Ht{HcH;P-LH=b5ADpD9}DV9uMcH,HPHtHBI9?$H~HH@HtUHcH;PrsLH=ӦO6Ač]Dp9}DV9uMcHHPHtHBI9v/I}6}vvD뽺vDH͔IDHI9]wI|Hu拼$LHԥDh8E~!HĥH@HtA}HcH;PD$`HT$`D|HŻA|$`
;HH}HDH=J3H}HcH0HPHtHBH9vsGbA5]GHLHtHEH9vH|HtH艓HDHt	H}p{vv$HuGH}Dh8EtAA~AHgHPHt1AEHH;Bs%A}AAD$`A}HT$`HŻA|$`ug
HH}HDH=УL3H}耒HcHHPHtHBH9vRAHLHtHEH9vH|HtH0HDHt	H}{v뚋$HH#X8~HH@Ht{HcH;Prk{ATD$`H@D
EʺH|$`Hŀ|$`t-HtLHxbAztH‰H=w2Ht	H}$$HH?X8~ H0H@Ht{HcH;P{Il
@@!D$`H@D
EʺH|$`ş|$`uYHHtHHHʀ<
tPH‰H=2X6GHtHxHh멋$HH1X8~H"H@Ht{HcH;Pr|{rb
@@D$`H۠@D
EʺH|$`軞|$`t0HtAHx_6wcpH‰H=q2C<at_<fDŽ$HH;HPHtB$LC<atL<iDLH$HeC{iDLH$Hl{iDLH$HE<iDLH$H$HD$D$Lu+HeDx8lAEMcI\$A>DkE9|؋D$D+t$vAEg H0HHߞH@HJ HCHHHKHHH@J HtH9hvHtHCHpH;svH=xHtBHGHpH;ww9H^HPHJHHHAIE9(냾yH봍x~xDgH=HGHtpZ2D9tDIcHѝHPHtHBH9txDDH=2IcHHPHtHBH9v褾A^D$HD$LEuvE9.AmDH=(1{^x9uA}v^DLAHڜD`8DAxA|$_$HD$Lu>A92DeDH=p0D9u}^Ee"#~}뢉źVEA9uDeHD`8!1$Hu H
қHQHtKHRHy8DžxHcH
HIHt)HIH9v'>۹ԃD$H$LEu$HFHPHHzx8DD9truHHBHt
HxtZ89}؉Ń{>9HȚH@Ht
HcH;PAă~xA|$HsH@HtIcH;PsD뛃9s~H7H@Ht{HcH;PsպzĺgIC<at_<fDŽ$HHٙHPHtB$LC<atL<iDLH$H{iDLH$H{iDLH$H<iDLH$Hn
Ht$L迈HX8Ht$McMI)IAIcH|$`贇Al$AHT$`H=T.AŃ~ HH@HtSHcH;P{HcD`<
<
EEHcL4E|$AyHD$@H|$`蓔Aă@xH|$`dAătHT$`D@{AIcĀ|`
DEHHPHJHH H=JDE9}dHtHHHqH;pv뭽ƾH?HHHHqH;pHPHJHH^HSI9HHHRJ2	t
w$HA9}A9~-HgHHHqH;pZHPHJHH-A9WHt:HHHqH;pw1HPHJHH ZHQ
3H:
HtHPH
@@C<ntB<pHLbHHHdH9$HHH=Ht&HTH)Hi̍@HcH;JCHHHHH!dHH	H)HĩxHHHHH&Ht؋Bп@@HH|$`4D$
Ht$H|$`-xHH
HHHtHQHH9w|$tHHHH
BH;1tu@@H|(<u}
؂HHPHϓHH;XsqHHHtHQHtH;͓t"@܂뚿@˂뉿@躂u*[twAgIcA|
IcLH|$`$AGH|`McBD<`H|$#H=HHGHpH;wHϒHBHHHJHHHol$(ot$ po|$0x ol$@h0ot$Pp@HHǰHtHPH<HHPHH=Ht$`uqH@jHc@<E|$McB|<`
@@@^PV	H뢿,@H|$`xu(,@dH|$`Pt؃H|`H|$H=cHHGHpH;wHAHPHJHHHHHo|$8oD$ @oL$0H oT$@P0o\$PX@HHǰHtHPH<HHPHH=Ht$`DuXH@HՐ@<E@4@A@PHkH|$`Ƅ$H=FHHGHpH;wH$HBHHHJHHHoD$`oL$pHo$P o$X0o$`@H̏H°HtHPHHHPHHΏAA<	t< uFLHEA)E< t<	tEYPHOLپI$HSHHPHJHH+HA9~ L%-I<$HtHGHpH;wv묿\@
~p@~HH@HtHxu]'p@c@@~H@ͯHpp@}~@K
yoe[HI<H%Hк&H%IŸ@艇HAH虇IźHTHſ
K|H$HHH=dZILA}^裻Ee#H
,HIDD9AWAVAUATUSH(AIHT$AϽ~:HHcHJHD8	u	HtBPvNtEaAtAiA AEADDDB@D$~UA3HHHEHPHUD	AD9wHtHEHpH;uv뽽X}s@{H5
{HEHuKHEHHCH}vTTHH;ErHH{Uz@z)HpH띾LIHuHH)H9w.})HHH)H9w{uރH@PDDB@+Hӊ@D
EʺHH|$赈HHHx}MIEHpI;u	IEHPIUIlAH8	HHH)H;Uv۸H˅~UA3HGHHEHPHUD	AD9HtHEHpH;uv뽽|$t H}pxHD$A|$uLH([]A\A]A^A_SHD$HvHT$KHC
xHHHHHtQP8H[HxHtHÿ@aywyHxHtHÿ@:yPyHxHtHÿ@y)ySHHtgHGHxEH\H9HBH9wTHHH9rYHHqHteHeHXH[ù@@0@w령@@@iw@@X@PwH(HSHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$!@vHT$HH=w
vwH͌UׯQHHH H1H͌UׯQHHH H1H1H͌UׯQHHH H1Ht9HHH%#"HHH1HHH H1HH9uH%#"HGHHLGMtaIHIuXH͌UׯQHII L1L9sTH!LLIH9tVHtYHH!LIH9t9Hu:0@%@@Wu0@'@@>uHGJHATUSHHHIH
HwHGHH9LOHGHxHH͌UׯQHHH H1H!LEHI4HHH9t HH!HI4HHtwH9uHEL${@F@@itH_LMHEK	H9W@M@@3t@N@@tILMHHEL$[]A\USH(HHHCH$HD$HD$HD$HNH$H<HD$H\$H}t0HEHHSHH9]vHEH4HtH}rH}ro$EoL$MH([]HJHHHH.HHHHHHHSH H$HD$HD$HD$H^HH~HHuHHHH9uHuH [ù@@@arH$@K@rHÿQ@rW@qٿ]@qȿc@q뷿i@q릿o@q땿t@qHo@qHSHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$HT$HH=3rIH[SHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$ED$D$0H$HD$HD$ HD$HT$HH=q
oH[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$HT$HH=$pH[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$D$D$0H$HD$HD$ HD$HT$HH=rp3H[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$%D$D$0H$HD$HD$ HD$HT$HH=~koH[HGHGGHG HG(G<G@GD~GEHGHHG0AWAVAUATUSH8HH@HnIILHHLH9t<.DDHAMcBD3c<$0@A.A&AAAAAHt$(DBHHHHQH|$(AOHcHL)H9vH:DtADeWlHEAIGHEHEHPHJHHB#LHHHIL9vH}HtHGHpH;wvHUHHtHBHD$u&Mt:AAD$A4`@m@@kE<<	u-t)D$Lk<E< uلtA<
t
Dt$<
uHtbHCHpH;swYHCHPHSD<MtVID$HpI;t$wKID$HPIT$L$AAD$AgH>H땾L'I룸@@HHtH9CvhA4<~ۃ9EEHt	H{FjMt
I|$7jLjAD$D$D$9EE~LCMtKHڋHtI	HL9t*A<@Dž@@u9@@EҸz9ºDˆED9D$HtYHCHpH;swPHCHPHS
H}HtIHGHpH;ww@HEHPHJHHHAHH랾HELiA<<
<
D$HHCHpH;sHCHPHS
H}HHGHpH;wHEHPHJHHHкHH@HPHSD$AD$HHCHpH;sHCHPHS
H}HHGHpH;wHEHPHJHHHL+hD$L$9L$9E@E<HUHtBE8H8[]A\A]A^A_þHHHHE_D$HtYHCHpH;swPHCHPHS
H}HtIHGHpH;ww@HEHPHJHHHAHhH랾THE밃D$HHCHpH;sHCHPHS
H}HHGHpH;wHEHPHJHHHкHH@HPHS
H}HtdHGHpH;ww[HEHPHJHHHAHwHA`HEXHHE땾H0HHEHLfMDtDD$~sAN
mvDD$
XvPHHHCHPHS	AD;d$}HtHCHpH;svMDtDAօ~{A.HFHHCHPHS AE9tEHtHCHpH;svHtyHCHpH;swpHCHPHSD$A	D$DELdA<hA
A
9EtA uALd< AHH{L$9L$E@%ATUSHH?HtHcHEAHcHEHHHELHtHPH9vH<HuܻHhcHE0JHH}0HtH9_vL$[J<HuHtH,cHE0Et$t;H}HtHcHE[]A\H}HHtHbHEHH}HHtHbHEHAWAVAUATUSHIHH?HtHu@HdIŻIZ@cI.I$I$HPHJHHLLHHHQHH9vI<$HtHGHpH;wvHA|.DDHH9uAMcBD5c<$@Ht$0~HHHHHHH|$AGHHL)H9vTH:TtA\$?aAAD$@tt0uvL
agL
aL
aKL
a<AT$DqE9}L la@L[aHID$J0Ht1H9Xv+<@
Q@	uA|$EuL	aIID$HtL9xvN4AD$<L`H[]A\A]A^A_AWAVAUATUSHIIAMtA^I|$HHG)L$HcH4(HGH9rjID$HhAGHIT$LlHHcT$HI|-L`HLL`AD$<DA\$8CH[]A\A]A^A_D8^ID$މt$HcHjAWAVAUATUSHII׉VAMtEwI|$HHwV)‰T$IcHHGH9rnID$HhHcID$LlHHcT$HI|-L`HLL_AD$<B3AD$8H[]A\A]A^A_Ë_8ۺDYID$끺)‰T$IcHaAWAVAUATUSHHAI֍FvIcHHCHD(HhHCL|(I?HwAMtMfLH;wwQHCHD(L`HCHD(HL)HxLL]C<Dk8H[]A\A]A^A_Do8EtIAWAVAUATUSHHAFMcIMl$LHCH(HHL}LkI}HtjLHwHGH9rdHCJD LxHCJD HL)HxLH]H}\C<Ds8H[]A\A]A^A_Dw8EeL뗺BIELkI}AHepAUATUSHHAIՍFvGIcHHCH|(HtH`\HCHD(HCLl(C<Dc8H[]A\A]Dg8EuAWAVAUATUSH(HAT$AMōFD+D$MtAm)McIIL$HHCHD$H8HGD)D$HcHD$HHwH9wHCJD Ht$HpHCJ| HcT$IcHtBD=HH\HCHc|$J| MtIUL>\C<Ds8H([]A\A]A^A_Dw8ED؉D$HcHD$Hƅ~}HL$HPZHSH
HjuAFv/HOHcHHTLHLH
HWLDG<w8Ëw8uFv.HOHcHHLHLH
HWLDG<w8Ëw8uAVAUATUSHFLcHCHL;`N,MuJ|(HtHYHCJD(HCJ4(J<0HtHPL)H[HCHhC<HCHtrH@I9vnC8[]A\A]A^Ëo8^JH<Ht-HrYHCHHtHPHHHCHh눸Muk8MHAWAVAUATUSH|$Fv.HcH\$H{H\AALcD<w8u˸TDoAwUEtPE@ A9t
A
EDAB|2@t+@
t%A9u%HL$q8[]A\A]A^A_AE9tIDHtL9KvIc<:FD8tEADoAWENE@ A9fA`AWAVAUATUSHIIT$HL$EDDt$HA9v-kEL$LLuHT$Am8H[]A\A]A^A_fDAWIAVIAUAATL%8eUH-8eSL)H#WHt1LLDAHH9uH[]A\A]A^A_HHtcsetattr()tcsetattr ICANONread()tcsetattr ~ICANONEdimCoder (1902b)Press 'h' for help.-Scratch-Opening '%s'

Opening '-Scratch-' BufferFile doesn't exist... Creating it.

You cannot close the '-Scratch-' buffer when other buffers are open.There are unsaved changes. Use 'E' or 'Q' to close without changes.There are unsaved changes in at least one of the open buffers. Use 'E' or 'Q' to close without changes.@@@@@@@@@d@@@k@J@,@,@,@-@'-@A-@,@S-@m-@-@-@-@s0@0@n0@x0@s0@s0@s0@0@0@E@E@E@E@E@E@E@E@E@showJSOutlineshowLuaOutlineshowTextOutlineshowCOutlineshowMarkdownOutlinecreateJSOutlinecreateLuaOutlinecreateTextOutlinecreateMarkdownOutlinerecreateOutline        ^X ^Dsrc/parsing.cifelseswitchwhiledocasefor&&||+^///*functioncurrentBuffer->fileType == FT_MARKDOWNcurrentBuffer->fileType == FT_CcurrentBuffer->fileType == FT_TEXTcurrentBuffer->fileType == FT_LUAcurrentBuffer->fileType == FT_JSbuf_len(currentBuffer->outline.markdown_nodes) == 0buf_len(currentBuffer->outline.c_nodes) == 0buf_len(currentBuffer->outline.text_nodes) == 0buf_len(currentBuffer->outline.lua_nodes) == 0
<%d: %.*s*|%d> 
<%d: %.*s|%d> 
<%d: new file*|%d> %shelp info Enter a line number: %c%4d %5d Enter the string to replace: Replace with?: No occurance of '%.*s' found
%5s %.*s- Enter the string to find: enter the string to find: %5s %.*s- 

<%d: %s|preview> 
Previewing '%s'
 * 'p' to show previous lines--^-^-^-^-^--
--v-v-v-v-v--
File information for '%.*s'
FileType: TextMarkdownC SourceC++ SourceC/C++ HeaderGophermapLua SourceJavaScript SourceVue.JS SourceHTML MarkupCSS SourceNumber of Lines: %d
Line Endings: LF (UNIX)CR (Commodore, Early Mac)CRLF (DOS, Windows, CP/M)NEL (Unicode)LS and PS (Unicode)Indentation: %d, tabsOutline:help
Basic
 a (line/range)				range. i (line/range) A (line) I (line) x (line/range)				to the clipboard). m (line/range) M (line/range)				one. j (line/range)				j$ je (range) jn				Equivalent to 'j +1'. jp				Equivalent to 'j -1'.
Find and Replace
 f (line/range) (string) ff (string)				to 'f #f (string)'. fa (line/range) (string)				found on. ffa (string) F (line) (string) r (line) R (line/range) (string) Rf (string) Ra (line/range) (string) Rfa (line/range) (string)
Copy and Paste
 c (line/range) C (string)				a newline included. k vi (line/range)				given line number/range. va (line/range)
Print and Preview
 P (line) p (line/range) clear version
Files and Buffers
 b b (buffer)				number. bn bp				beginning. s				Save the current buffer. o				if it doesn't exist. e E q Q info d (range) (string)				name. w (string)				the given name. g				List out all bookmarks.
Default Bookmarks
 #p(number)				lines. #f #s				currently in. #c
Relative Lines

File Settings
 indent_size indent_spaces				Default: false. line_ending1902bsetcrlfdoscpmwindowsunixcrold_macdefaulttruefalseSet bookmark '%.*s' to %d:%d
*%3d: %.*s %d:%d%4d: %.*s %d:%dEnter a filename: Saving '%s'
Saving '%.*s'%4s ^- %5s That buffer doesn't exist.
Enter a buffer number: *%3d: new file%4d: new file*%3d: %.*s%4d: %.*ssrc/editor.cstr[strLength] == '\0'Enter file to open: str[strLength - 1] == '\0'Opening a new file.FileType: %d
Unknown command
------#K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@`J@K@K@K@J@K@K@K@[J@K@K@K@~J@K@K@oJ@J@K@K@K@K@K@K@K@K@K@K@K@K@K@K@K@VJ@K@K@K@J@K@K@J@0J@K@K@K@yJ@K@J@jJ@J@eJ@K@K@J@K@K@tJ@]b@Sb@]c@lc@{c@c@c@c@c@c@c@c@7~@@w@@Or@O@@@@@@@Ԅ@@@@@@@@@@@@@@@@@@@@{@@v@%s@&@u@t@@|@Yr@x@@@@@@@)@t@Ò@@x@s@@editorState_openNewFileeditorState_openAnotherFileThat line number exceeds the bounds of the file.
 * 'q' or Ctrl-X to stop previewing * 'Q' to exit the whole program * Enter/'n' to show the next lines * 'j' start showing lines from given line number (TODO) * 'f' find first occurance of string in file and jump there (TODO)Use Ctrl-D to denote end of inputUse Ctrl-X to cancel the current command/operation.			Insert a line after the given line number or			Insert a line before the given line number or			Appends characters to the given line number.			Prepends characters to the given line number.			Delete the given line number or range (copies			Move the given line number or range up by one.			Move the given line number or range down by			Set's current line to given line number. Use to set last line as current line.			Set's current line to end of given line range.				Set's the current line to the next line.				Set's the current line to the previous line.	Finds the first occurance of the string in the				given line range and prints the line it's on.			Finds the first occurance of the string in the				file and prints the line it's on. Equivalent	Finds all occurances of the string in the				given line range and prints the lines it's			Finds all occurances of the string in the				file and prints the lines it's found on.				Equivalent to 'fa #f (string)'.		Finds the first occurance of the string in the				given line number and prints the line showing				where the occurance is located.			Replace a line with a new line.	Replace the first occurance of the given string				in the given line range with characters.			Replace the first occurange of the given string				in the file with characters.	Replaces all occurances of the given string				within the given line range with characters.				within the file with characters.
 Add 'i' at the end of all of these commands for the insensitive versions ('fi', 'ffi', 'fai', 'ffai', 'Ri', 'Rfi', 'Rai', 'Rfai').			Copy the line(s) to the internal clipboard.			Put the given string into the clipboard with				Print what's currently in the clipboard.		Paste the lines in the clipboard before the		Paste the lines in the clipboard after the			Preview the file, optionally starting at the				given line number. Enters preview mode.			Preview the given line or range of lines,				including the line before and after.				Clear the screen. May also use CTRL-L.			The current version of EdimCoder.				List all currently open buffers.			Switch the current buffer to the given buffer				Switch the current buffer to the next buffer,				wrapping around when it hits the end.				Switch the current buffer to the previous				buffer, wrapping around when it hits the				Open a file in a new buffer. Creates the file				Exit the current buffer. Only allowed when the				current buffer contains no new changes.				Exit the current buffer (without save).				Quit, closing all buffers. Only allowed when				none of the buffers contain new changes.				Quit, closing all buffers (without save).
File Info, Outlines, and Bookmarks
				Gives back information on the file, including				number of lines, filename, number of				characters, filetype, etc.		Create a bookmark with the given line range and			Print out the line range of the bookmark with
 Any command that accepts a line number or line range - denoted by
 '(range)' - can also accept a bookmark. Bookmarks are prefixed with
 '#'. Example: 'P #text'. You can also use bookmarks as the start or end of a line range: 'p #text:#text3'. EdimCoder provides some bookmarks by default:
			Represents a page of a file. Each page is 15				Represents the line range of the whole file.				Represents the line range of the bookmark that				the current line overlaps with. Useful for				seeing in which section of the file you are				Represents the current line. Adding '+' or '-' with a number afterward will be relative to the number/bookmark given before, or if omitted, the current line. 'p +5' will print the line 5 lines after the current line. 'p 3+5' will print the line 5 lines after line 3. 'p #test + 2' will print the bookmark range #test shifted up 2 lines. 'p #test:#test+3' will print the range starting at the start of the #test bookmark and ending 3 lines after the start of the same bookmark. A shorthand for this is called Relative Range Ends: 'p 5+:3' will print from line 5 to 3 lines after that - the end of the range is relative to the start. 'p #test+:3' is equivalent to 'p #test:#test+3'. There are two file settings that can be changed and affect the display and saving of a file. The two include indentation size and whether spaces are used for indentation or not. Use the 'set' command to set a value for these. The syntax of the set command is 'set property_name value'. The properties available are given below, along with their valid values:
			Size of indentation, default: 4				Accepts any number, or 'default'.			Whether spaces are used instead of tabs.				Accepts 'true', 'false', or 'default'.			The line ending type used by the file.				Default: current platform.				Accepts 'crlf', 'lf', or 'cr'. Also accepts				'dos', 'windows', 'cpm', 'old_mac', and 'unix'.Unimplemented prompting for name. Please add a name after the line range.No occurance of '%.*s' was found in line %d
File doesn't exist... Creating it.
Press Ctrl-D on new line to denote End Of Input
buf_len(currentBuffer->lines) == 0xcalloc failedxrealloc failedxmalloc failedsrc/stretchybuffer.cnew_len <= new_capFATAL: buf_cap(buf) <= (SIZE_MAX - 1) / 2new_cap <= (SIZE_MAX - offsetof(BufHdr, buf)) / elem_sizebuf__growsrc/hashmap.cIS_POW2(map->cap)key2*map->len < map->capval == (void *)(i+1)map_testmap_put_uint64_from_uint64map_get_uint64_from_uint64ERROR: Wrong Color - Unixe@y@@@@@Ξ@rbsrc/buffer.cwbbuffer->openedFilename[buf_len(buffer->openedFilename) - 1] == '\0'J@٣@٣@٣@٣@R@٣@b@٣@Z@z@٣@٣@٣@٣@٣@٣@r@٣@j@r@@@@@y@@@@@@@@@@@@@buffer_openFile;,d!x#Hr$q%p&&&& (L')pR*6++,,-(-<-P-d?.xU//G01$_>pr??l@@fA4A\%B|BCGL)IJ1Q4	Rt	3T	U	@W(
WH
^
_
a
ga
c4etegGk,ilos$
v@

y
ҩ 8GTt׫U>$Ld|,:HV߯{4;X|QZHxx\4'0|8w,@xzRxP +zRx$0FJw?;*3$"D DP
A`!DP
A|"DS"6D q"DX("9AADp
AAA #AD`
AA($+AAD l
AAA$@%AAD AAhj&SDN &CBAA '0'l(^(P(4p(c,(MAA 
ABAL)J8`)BBA A(D0v
(A ABBA(G*AAD G
AAAH*X
BBB B(A0A8Dp
8A0A(B BBBA 7Je
A$88}AAD tAA$`+9}AAD tAA$9}AAD tAA$9}AAD tAA$*:}AAD tAA:BQS
A\D :BBB B(A0A8DP8A0A(B BBB8h:9BBA A(D@((A ABBH;BBB B(A0A8DP
8A0A(B BBBAH>BBB B(A0A8D
8A0A(B BBBAH<@BBB B(A0A8DP
8A0A(B BBBALABBB B(A0A8D
8A0A(B BBBA<GlBBB A(A0
(A BBBAH!IBBB B(A0A8D`B
8A0A(B BBBAdkJwD
AHKBBB B(A0A8D`B
8A0A(B BBBAMBQS
A\H2M]BBB B(A0A8D@V
8A0A(B BBBA(8CTAAD0AAd'U!D 
A,VWAU8gV]BBA A(D0L(A ABB<XBBB A(A0
(A BBBAXZBBB B(A0A8GBf
8A0A(B BBBAXt[BBB B(A0A8GmDkD
8A0A(B BBBAT_"BBB B(A0A8G}Af
8A0A(B BBBAP(	_MBBB A(A0GoDj
0A(A BBBAH|	bBBB B(A0A8D@P
8A0A(B BBBA	gfpDU
AL	h/BBB B(A0A8G@
8A0A(B BBBAH4
VBBB B(A0A8D`r8A0A(B BBB 
YAD RA
ʛ'DN
A
՛'DN
A
'DN
A
AU
AAG4&H+\0p8ImQ(.BAA &AB$AAD@AADIDI DI8DIPDIh|DI rAD0i
AAןDe
AWDS WAGA ۠AGA  
iAGA D
AGA h
AGA
WH
V	BBB B(A0A8Dp
8A0A(B BBBA,
BAA 
ABAHBBB B(A0A8DP8A0A(B BBBHh̯BBB B(A0A8DP
8A0A(B BBBAHiBBB B(A0A8DP
8A0A(B BBBAHBBB B(A0A8D@
8A0A(B BBBAHLBBB B(A0A8D@
8A0A(B BBBA8+mBBA A(D0Q
(A ABBAH\dBBB B(A0A8D`
8A0A(B BBBA t@4?<H˳)BBB A(A0
(A BBBAD)BBB B(A0A8
0A(B BBBAHqBBB B(A0A8DHX8A0A(B BBBD]BEE E(H0H8G@j8A0A(B BBBdص@@@
@AAo@@8@
J A	@x@	oH@oo@A6@F@V@f@v@@@@@@@@@@@&@6@F@V@f@v@@@@@@@@@@GCC: (Solus) 8.2.0GCC: (Solus) 8.3.1 20190320,@+.<n@@,@Z,<@*,OE@PR,B@,!.@!,O@$, s@7<@@*@;@K<`Y^':	@int3IEK[5:@ZZn=9P{intրA=}*=+g=l1/
3W
6	7	8	k9	 *::	(;	0}<	8	=	@#D@	HA	P[B	XVDH`3+FNh]HWpTIWtJxșMnGNuއOTQdY
@t[o\z]N^	eI_
Dj`Wkb^	.+
pCdP;
=tj
uP
p/

We1
Le
4&eD
'/	)eMeD
|'_4Ye}DD
I'd
&ؤWzW	i
g
^h
^t<^wiHm
	Y
 
4&!
8P^./ICKOEO0JlenK	DcapL	DbufM%PN^|g!WP}1	#
v1j9j^n^J$vNTRRWT$,K}W`W,Kd[}W[E}WE";}W"BSBw'	2$	v*^LFCRNEL'*v\	eg%K+\1;P"IETX00W8<@4gDEvHG7 		H!A J		p!A G	X!A 
p^	@!A ?	`!A g	P!A &	h!A	WendW	^		],P%u!	V@
BnnnK n"XW@C#W
#C$$
E
%h&pN%jSM'g@6(w@B
)Us(@N)U0(@[&)Q8'#@
'-@G'7@'@'J@'T@(\@()Uv(@g)U	@'@*@SG%	W+@1,iW(@N+)U0-@r)U	X@*@
%&	W,(+>@S%mk%%bR
W'@(@)Uv->@N)U0*ES|@+(+@
%&
W
+a@S
%RP%wu%bRW'@(@
)Us-a@N)U0(@r
)U	@(@N)U0-@r)U	@*uj@#Cj&@.l(@)Uw-q@[)QP':@(L@)U	@'\@(@)U	u@'@*O>YK@9.Z.w_
k@+f@W,i`WaY-@[)Q1(Y@)Uw-x@[)QP*`(S.@(<@g)U	E@-F@g)U	W@/I
@6h0wJ	h$M-@)U1)T
T)Qh19E@-@)U	:@/;.@0buf1
o0old2'<@(I@
)U0)Tw(n@/)U0)T0)Qw(@Q)U0)To)Q1(@s)U0)T1)Qw(@)U	@(@)U	@(@)U	!@-@)U	(@/@60buf
o0old'=@(J@W)U0)Tw(o@y)U0)T0)Qw(@)U0)To)Q1(@)U0)T1)Qw(@)U	@(@)U	@(@)U	!@-@)U	(@2775263m<m<
f
2h4h4_4s9i93"6"62}}.2[[22//3͸͸L2^^72;2)224-4-B2++F3	h3!C!C
;W:<@*

+Zn=9P{intրA=}*=+g=l14	
3W	
6		7		8		k9	 	*::	(	;	0	}<	8		=	@	#D@	H	A	P	[B	X	VDM`	3+FSh	]HWp	TIWt	Jx	șMn	GNu	އOY	Qi	Y
	@t[t	\	]S	^	e	I_
D	j`W	kb^
.+pHi
P@=toz
Pp4We1Le4&	e"D'4.eReD|'d9^eDDI'i&ؤ	
Jlen
K	Dcap
L	Dbuf
MP
N^
|vg!WP}1	#
v
j
	9
j
^
n^J

vN
T
<	
	
<WT
,K
	
	}
W	`
W,K
N[
	
	}
W[
E
	
	}
WE
"
%	
	}
W"

Y	
	}
W
1B
qB
w
'
	2$
C	v
*^
LFCRNEL'*
 v
=\
	eg
=
CK
I\
O%P
	"
	IE
v	
	T
B	
0	0
W8	
<	
@	4
gD	
E	v
He
U!
		H!A!J
		p!A!G
	X!A!
p
^	@!A!?
	`!A!
g	P!A!&
	h!A]
	
end
]

		
Wend
W
^
C		],P%u"
	"
]	c		<#^
p	ɹET$x{5@1%%w+WK%';	%2$OC	JF%vZ&W'&n(&|eeS()iW[Y*6@H:
+U+Q1,6@H:+U+Q1,7@H:+QH,5@1+U|+R$0@%%w+%<&W$	"	&nM	G	-)iW		-&g			,1@T:+T+Q}./@}/	 @00@6&]W

1,0@ &WP
L
,J0@`:+T0+Q1,0@l:+U	@+T	@+Q
+R	 @
P
.Y/@}
/
	0@0/@6
&]W

1/@ &W

,/@`:+T0+Q1,/@l:+U	@+T	@+Q
+R	0@

P
..@}/	@@0/@6&]W12/@ &WHD,P/@`:+T0+Q1,/@l:+U	@+T	@+Q
+R	@@
P.-}_.@}/	P@0.@6x&]W1.@ &W,.@`:+T0+Q1,.@l:+U	@+T	@+Q
~+R	P@
P.{q-@}/	`@0".@6f&]uW18.@ &wW@<,V.@`:+T0+Q1,.@l:+U	`@+T	@+Q
r+R	`@
P.2D@/	@2w5
&7	|(	&:W{
o
-P	&G;
&=	&Ը>	2?W&e@	om&غE	&jF&XY0D@!)iGWf`*D@	"+U|+R+X1+Y1*D@9?+Ts+Q0*0E@9\+Ts+Q0,NE@39+U+Ts+Q1+R0+X0*dD@l:+U	@+T	@+Q
3+R	@,E@	+U|+X1+Y1."
A@/$	@2w
&	(&W-&G@6&	&Ը	2W&e	&غ	&j&%TP0A@!&)iW*A@	P+U|+R+X1+Y1*A@9m+Ts+Q0*#B@9+Ts+Q0,AB@39+U+Ts+Q1+R0+X0*WA@l:+U	@+T	@+Q
+R	@,B@	+U|+X1+Y1$
P.+?@l/	@&	&t&W+(&W-02-p2w2,O@@	+X5+Y10@@CL2w2,A@	+X5+Y1,?@l:+U	@+T	@+Q
+R	@
P.9@52w
&	O9(P&Wv-&G	&	!&Ը	iW2W&e	.(&\	w&	&
We[&KS	&`TW40&Rg	pj&(&S/
&91
,(&_3Wdb*{9@39k+Us+T|+Q1+R1+X0,9@9+U}+T|+Q032*;@	+U+R+X1+Y1*<@39+U}+T|+Q1+R1+X1,?@9+U|+Tv+Q0,H<@	+U+X5+Y1.u7@F/V	@&W&	  07@&Wa!W!17@&`W!!&"!07@)i
W""- &w
##2
*88@9c+T+Q0*M8@9+U+T+Q1,w8@	+Uv+R} $~!+X5+Y108@O	2w2,9@	+Uv+X1+Y1,7@l:+U	`@+T	@+Q
+R	@V
PF.CyS0@B4s0@4}0@40@
40@
40@.˷UB@w/	@4C@4EC@)4{C@5*C@l:U+U	 @+T	@+Q
\+R	@4C@*C@l:+U	X@+T	@+Q
d+R	@*D@l:+U	@+T	@+Q
l+R	@,D@l:+U	@+T	@+Q
s+R	@.ͷ8E@B4E@54E@4E@)4E@4E@.,@5ft$v##%3/4$*$*,@x:+U3*	-@x:+U2*-@x:
+U1*1-@x:$+U3*K-@x:;+U1*]-@x:R+U3*w-@x:i+U2*-@x:+U3*-@x:+U4,-@x:+U3$w@X
-%$$%&%%%DP	T%H%%4\g%%'uW&OW[&U&)c&&()iW''()iW((,@:+U 6:0 @ 	7.:W(S(4@ @:, @:+U0+T	@@(P$&	W((0!@#Y )iW')#),!@:+U80f!@# )iWb)^),!@:+U (o"&۷
W))(a"&))&	**&bRWH*D*0!@p!)iW**6:P"@@Z!7.:**4_"@:*"@:!+U	@+T1+Q4,)"@:+U0+T	@@(p.")iW>+4+8:"@"@	"7.:++,"@:+U8,"@:+U		@+T1+Q44!@:,|"@:+U	@+T1+Q84!@:0"@r+#)iW++0"@&")iWB,>,,
#@:+U 6:I#@
#7.:},y,4X#@:,)#@:+U0+T	@@(#)iW,,0p#@%#)iW&-"-,#@:+U89:#@#@7.:_-]-,#@:+U88: @ @$7.:--, @:+U86:M!@F$7.:--4\!@:4i @:: @}}$+Uv+T1+Q+R,!@:+U0+T	@@0%@!$)iVW--,&@:+U (&&^*.&.&_i.e.&bR`	W..0h%@!`%)iZW..,%@:+U (&)ieW!//0}&@&%)igW//,&@:+U 6:&@@k%7.://4&@:,&@:+U0+T	@@(p&)inW000&@*h&)ipW0|0,'@:+U89:+@+@r7.:00,+@:+U84%@:,s&@H:+Q1()&00&11&bR	W+1'10|'@#R')i~Wj1f1,'@:+U80(@#')iW11,(@:+U8(2()iW11( ')iWb2^2,B(@:+U 6:(@P(7.:224(@:,a(@:+U0+T	@@0(@!o()iW22,(@:+U 0(@()iW33,(@:+U8(H))iWC3;30(@5))iW33,
)@:+U89:3,@3,@7.:33,D,@:+U8*h'@:q)+U	@+T1+Q3*'@:)+U	@+T1+Q34'@:(+&
44&
E4A4&bRW440*@*)i
W440*@&U*)iW)5%5,*@:+U 6:*@0
*7.:d5`54*@:,7+@:+U0+T	@@(`I+)i
W550D+@*+)iW66,b+@:+U89:,@,@
7.:E6C6,,@:+U86:6*@+7.:o6i6,F*@:+Uv8$8&*o*@H:++Q14*@:8:s$@s$@O+7.:66,$@:+U:6:*@<,7.:66,*@:+Uv8$8&4W @:*#@:m,+U0+T	@@*"$@H:,+Q1*D$@:,+U	@+T1+Q24W$@:*s$@:,+U0*%@:,+U	@*=%@H:-+Q1*]&@H:-+Q1*.)@H:5-+Q14W)@::)@}r-+Uv8$8&+T0+Q+R4w+@:,+@H:+Q1$W@.%9$Y7M7%A/W77)cWT8H88;:@@(.4@;8;:-@-@].49@;8;:d@d@.4p@;,@H:+Q1$h{W@/%{885max{%Ws9g9%A{.W:9)c|Wj:b:)i}W::8;:'@'@c/43@;8;:X@X@/4d@;9;:@@4@;;k2@4<f;X;<,<<=end9<<<"I4<<>Ը=Q=>W??&
W??&-@@0+3@002	*93@M50+U|+T+Qs,G3@4+U+Ts0[3@[1&	@@&=.A*A*t3@9K1+Ts+Q0*3@7o1+U|+T+Qs,3@8+U+Ts03@_%2&+	jAfA&,=AA*3@91+Ts+Q0*3@7
2+U|+T+Qs,3@8+U+Ts(L4&9?	AA&d@W-B+B05@,2&M	TBRB*5@M52+U|+T~+Qs,#5@4+U~+Ts035@CG3&^	={BwB*P5@93+Ts+Q0*a5@7,3+U|+T~+Qs,o5@8+U~+Ts04@H3&g	=BB*4@93+Ts+Q0*4@73+U|+T~+Qs,4@8+U~+Ts*J4@93+Ts+Q0*[4@74+U|+T}+Qs*k4@8,4+U}+Ts,4@9+U~+Ts+Q0*2@9o4+U}+Ts+Q0*2@74+U|+T+Qs*2@84+U+Ts*2@94+U+Ts+Q0,3@9+Ts+Q0	;@JM5?U=end'BB>ԸCC?C;=	21@97<!CyC</CC=end<yDqD>DD>ԸqE]E>6UFGF>"	"GF>g
IzI>KWJJ01@M6>"
	@K>K(i6@iWpKjK( 6AH>n
KK,1@1+U|+RH(P6A
H>nKK,62@1+U|+RH,V1@4+Uv+TQ;[=@8<[
LL<[,rLlL<e[9LL>Ը\?M%M>a
aNIN>tzWOO>{PP*@97+UT+Tv+Q0,@8+Us+Tv;DL@c8<DmP_P<eD)Q
Q>ԸEQtQ*@398+UU#+Q1+R0+X0,@8+UU;*5@48<5-RR?e5&T>Ը6RRB1@B$,@;:l@9<SS?e#T?2Q?GR?ܸ\X>ԸESAS;չ<@0:?U?e)T<ܸ8S{S>ԸSSCRW;:D__cRWE`/WFh4h4
_FmmF
:FC
G
G??	G@@
GƸƸ
HضζF}}.F
*F;;
+G߶߶
3
Gm<m<
f
G͸͸LGrJ:E@PR
1-Zn=9P{intրA=}*=+g=l14	
3W	
6		7		8		k9	 	*::	(	;	0	}<	8		=	@	#D@	H	A	P	[B	X	VDM`	3+FSh	]HWp	TIWt	Jx	șMn	GNu	އOY	Qi	Y
	@t[t	\	]S	^	e	I_
D	j`W	kb^
.+pHi
P@=toz
Pp4We1Le4&	e"D'4.eReD|'d9^eDDI'i&ؤ	^
./ICKOEO
0
J=len
K	Dcap
L	Dbuf
M=LP
N^
|g!WP}1	#
v
Xj
	9
j
^
)n^J

KvN
T
y	
)	
y5WT
K,K
	
	}
W	`
W,K
[
	
	}
W[
E
.	
	}
WE
"
b	
	}
W"
:B
zB
w
'
		2$
L	v
*^
LFCRNEL'*
 v
F\
	eg
F
LK
R\
X.bP
	"
	IE
	
	T
	
0	0
W8	
<	
@	4
gD	
E	v
Hn
^!
	#	H!A!J
	#	p!A!G
	X!A!
p
^	@!A!?
	`!A!
g	P!A!&
	h!A]
	
end
]

			
Wend
W
^
L		],P%u"
	#^
p	ɹET$b@p
%)WSS&

%ZTVT%TT'-b@p$
(U	H@'<b@pC
(U	e@']b@pb
(U	p@'b@p
(U	@'b@p
(U	@'c@p
(U	o@'7c@p
(U	@)Xc@p'gc@p
(U	u@'vc@p)(U	~@'c@pH(U	@'c@pg(U	@'c@p(U	@'c@p(U	@'c@p(U	@'c@p(U	@'c@p(U	@'c@p!(U	@'d@p@(U	@'d@p_(U	@'#d@p~(U	3@'2d@p(U	M@'Ad@p(U	[@'Pd@p(U	@'_d@p(U	@*nd@p(U	@$O@]+WTT+@IV-V+.WWxW%WnXfX&
9,iWXX-QQ@5
,i
W4Y2Y*Q@p(U .pQ@/p[YWY)Q@p*Q@p(U0(T	@@'CP@pX(U	I@'P@p|(U	I@(T1'P@p(U	I@'P@p(U	B@(T	T8$8&'Q@p(U	B@(T*'Q@p(U	B@(T	T8$8&'7Q@p=(U	B@(T*'R@pn(U	B@(T	T8$8&(Q1*#R@p(U:$$&^@/+$WYY0һ+W%,WTZFZ,c-ZZ%ý?[}[&%/W[['^@pC(U	I@(Ts'$_@ph(U	B@(T**F_@
(Us(T0(Q1&,iQW$\\*A`@p(U &
,iaW\\*`@p(U &
,ikW]]*a@p(U &@
%oW~]x]'`@p](U	I@(Tv'`@p(U	B@(T*(Qv*a@
(Uv(T0(Q1'v^@p(U	I@(T1'^@p(U:'^@q(U	@'y_@p(U:'_@p7(U	@'_@pV(U	@'_@pu(U	@'_@p(U	8@'_@p(U	@'_@p(U	`@'_@p(U	@'`@q(U	@'2`@p'(U='P`@p>(U='Z`@p](U	*@'f`@qt(U0'p`@p(U='`@p(U='`@p(U	9@'`@p(U:'ga@q(U	@)qa@q'a@p(U=*a@p(U=12"-		0
W0W30?W45tmpW35iW12")		0W12"*		0W45iW35iW1:2"(		0W35iW1e|2"|,		0}W0
W40W309	035iW35iW6п;Z@M+';,		]]+;9	^^+';CWu^k^+˽;T^^7str<}%=Wl_T_%>r`l`8RW}%SW``%ݼbWAa7a%jaa&`Q,ikWbb-m\@_,im
Wd
d*|\@'q(Q1'\@'q&(Q1']@'q=(Q1*]@'q(Q1'[@3q}(U}(TT(Q| $ &'>[@?q(T}(Qv(R}(X}(Y} %'[@
(U}(T0(Q1'[@q(U	@'[@Kq(U}(T(Q0'\@q6(U	@'\@KqZ(U}(T(Q1'?\@Xq(U	|@(T|(Q}'S\@
(T0(Q1*
^@p(U	@(T	
@
P6Y@"+'/		6d2d+<tdld+'FWdd+˽W_eUe7str}%Wee%ff%&gg8'W}%(Wgg0?)^'Y@3q(U}(TT(Q} $ &'&Z@?q/(T}(Q(R}(Xs(Y|'BZ@
Q(Us(T0(Q1'YZ@qp(U	@'mZ@Kq(U}(T(Q0'Z@q(U	@'Z@Kq(U}(T(Q1*Z@Xq(U	|@(T}(Q}12.2'8W2˽I5end0W5str0W00W0ݼW035iW35i
W6U@J+"/		3h)h+Ahh+'KWii+˽\ii7str}%Wji%Wjj8,W}%-W"kk%ݼ<Wkk%DDl6l%9Tll8U}&0v,iEWxmVm-gW@_4,iG
Wnn*yW@'q(Q1'W@'qK(Q1'X@'qb(Q1*X@'q(Q1'V@3q(U}(TT(Q} $ &';V@?q(T}(Q|(R}(Xv(Yv %'V@
(U(TR(Q1'V@q(U	N@'V@Kq=(U}(T(Q0'W@q\(U	N@'W@Kq(U}(T(Q1'9W@p(U	|@(T}(Q}'MW@
(T0(Q1'Y@q(U	@(T	
@'>Y@eq(U}(T0(Q0'zY@rq/(T)Y@~q)Y@q6T@"+"2		nn+DKoCo+'NWoo+˽_8p,p7str"{%Wpp%Wqq%9qq8{8W{%Wrr0?^%2s(s'1T@3q (U{(TT(Qv $ &'@T@q (U	l@'sT@eq (U{(T0(Q0'T@?q!(T{(Q(R{(Xs(Y}'U@rq$!(Ts(X|'U@
G!(Us(TR(Q1'5U@qf!(U	N@'IU@Kq!(U{(T(Q0'cU@q!(U	N@'wU@Kq!(U{(T(Q1'U@q!(U|p)U@~q*U@Xq(U	|@(Tv(Q{,"9P1z"2"-		0W5c0901"2"+		0W5c0901{#2"*		0W5c0901׽P#2"P.		0QW5c`00cW0e04f0`tW35ihW16($2"(-		0)W5c.001W030440`BW35i6W$^@Y$5cW:W8o'@V'o$(U0(T0(Qo(R0*!@p(U:;1r$%2r"2er/0Ըs0u
0yW4$0	0W30	5c	35iW1g@%35ihW12O%2O-2eO:2"ON		0ԸP0wQ
0VW0c64R@V'+"&		ss+7,t"t% Wtt%
!Wuu&@&%?-W/v'v4N&5tmp4W&&,i<Wvv<%@>
vv*S@
(Q1'5S@
&(U|~(T0(Q1*S@
(Uv(T0(Q1'vR@*&(Us'R@
'(Uv~(T0(Q1'R@
7'(U|(T*(Q1*S@
(U|(T0(Q1=x^@*+Ż$Www+48ww+Kyxux+c)xx%9Vy0y%@zz%0WT{P{8W&(%W{{%	{{<,i
W1|+|*&@'q(Uv(Q1& *%W|||%	&} }%Wy}o}&`	*0DW%%
~~0h
0W-@9),i
Wz~t~>p@@)/p~~*@p(U:'@p)(U	@'ҕ@,)(Us'ە@q)(Usp'@p)(U	@*@'q(Us(Q1&?*,i

W~~*p@'q(Uv(Q1'@'q\*(U}(Q8*@p(U	B@(T(Q~'@p*(U	B@(T(Q~'–@eq*(U(Tv(Q0*@q(Uvp=^WOM@++R"WE=7endX8P%W%WC7)M@q'M@Xq+(U	@'M@q+(U	,@'M@q+(Uw(T1'M@q+(TX(Q:)HN@q1xDY,2D-2'D7W?i,	p@4K,0F
35iUWi,
PY,1-,212';W5str	0
W?,	@4,0307
,
P,@sd@/jAj$ـŀBԸ݁Be|B%
e8"
		%n%
W؍΍%'Wvl%n	DT
-po@W/%^$	ܒ%R&	-+%o(	ZP0*	&
l.%=
=˓ɓ*hq@q(T|(Qv'o@q.(U~(Tv(Q0'o@q.(Us(Tv(Q0(R1(X0'o@q.(Tv(Q0'o@q/(U|(Tv(Q0(R0(X0'p@q0/(U|(T	
@(Q2*p@q(U|(T	
@(Q7&@50%w%Wie8}%n	's@q/(U~(Tv(Q1(R0(X0's@q0(Us(Tv(Q0't@q0(R}*6t@p(U	?@-v@0%
W<p%9#%
pl&0,iW*v@'q(Us(Q1*w@'q(Q8&51%	/%)w@j'w@'q!1(Us(Q1*Zx@'q(Q8&m1,i
W*rx@p(U	@&0J4%4
3%&p2,i
Wܗ̗<%
%9-Ay@!1,j
W/)*&y@'q(U0(Q1&3%	W~z%`	W-z@&2,iW*z@
(Us(TV(Q1'z@q2(Tv(Q})z@~q'{@
2(Uv~(T0(Q1*-{@
(U~(Tv(Q1&3%&	WA=%`+	W}w-z@$|3,i-Wʚƚ*3z@
(Us(TV(Q1'z@q3(Ts(Q})dz@~q'>{@
3(T0(Q1*U{@
(U~(Tv(Q1-Z{@,4,i7W)c{@q'x@'q54(U0(Q8*z@q(U}p-z@4%˽W
SQ*@J(T~(Q|-@4%˽]}*@J(T~(Q|-U@5%˽`*p@(T~(Q|-ȁ@^5%˽d
؛֛*@(T~(Q|-܇@5%˽
*@(T~(Q|-@5%˽1/* @(T~(Q|-@-6%˽][*҇@(T~(Q|-*@r6%˽
*E@(T~(Q|-@U6%Ը	W%5	W-Y@P6%Ը	Wic%	W&09,crh%&`7%W628}%Wrl7end
}'@Xq7(U	@'nj@q7(U	@'ی@Kq7(U}(T(Q1*@q(U}(T}(Q:-8@8,iWɟ'P@pC8(U	@'h@pZ8(U:'@p8(U	@(Ts'ō@p8(U	@'֍@p8(U	@*@p(U*'ڋ@q8(U}(Tv(Q0*@	r(Us(Tv>$e@e@t	PP'e@pV9(U	@'e@pu9(U	@'e@p9(U3(T	@'f@p9(U4(T	@'f@p9(U	H@'f@p9(U	@'3f@p:(U4(T	@'=f@p>:(U	x@'Gf@p]:(U	@'[f@p:(U4(T	@'ef@p:(U	@'yf@p:(U4(T	@'f@p:(U	@'f@p;(U4(T	@'f@p&;(U	@'f@pE;(U	@'f@pi;(U4(T	@'f@p;(U	P@'f@p;(U4(T	@'f@p;(U	@'f@p;(U	"@'g@p<(U4(T	+@'g@p-<(U	@'#g@pQ<(U4(T	;@'-g@pp<(U	@'Ag@p<(U4(T	B@'Kg@p<(U	@'_g@p<(U4(T	N@'ig@p<(U	H@'sg@p=(U	R@'g@p9=(U4(T	l@'g@pX=(U	x@'g@pw=(U	p@'g@p=(U3(T	@'g@p=(U4(T	@'g@p=(U	@'g@p=(U	@'g@p!>(U4(T	@'g@p@>(U	@'g@p_>(U	P@'	h@p~>(U	@'h@p>(U4(T	@''h@p>(U	@'1h@p>(U	@';h@p>(U	@'Oh@p#?(U4(T	@'Yh@pB?(U	@'ch@pa?(U	@'mh@p?(U	H@'h@p?(U4(T	@'h@p?(U	p@'h@p?(U	@'h@p@(U	@'h@p%@(U4(T	$@'h@pD@(U	@'h@ph@(U4(T	.@'h@p@(U	0@'h@p@(U	h@'h@p@(U4(T	G@'i@p@(U	@'
i@pA(U	@'!i@p,A(U4(T	T@'+i@pKA(U	@'5i@pjA(U	(@'Ii@pA(U4(T	n@'Si@pA(U	@']i@pA(U	`@'gi@pA(U	@'qi@p
B(U	@'i@p.B(U3(T	@'i@pRB(U4(T	@'i@pqB(U	@'i@pB(U4(T	@'i@pB(U	H@'i@pB(U	@'i@pB(U4(T	@'i@pC(U	x@'i@p:C(U4(T	@'j@pYC(U	@'j@pxC(U	@'%j@pC(U4(T	@'/j@pC(U	@'9j@pC(U	@'Mj@pC(U3(T	@'aj@p"D(U4(T	$@'kj@pAD(U	@'uj@p`D(U	8@'j@pD(U4(T	.@'j@pD(U	h@'j@pD(U	@'j@pD(U4(T	>@'j@pE(U	@'j@p)E(U4(T	E@'j@pHE(U	@'j@plE(U3(T	N@'k@pE(U4(T	b@'k@pE(U	 @'k@pE(U4(T	e@')k@pE(U	H@'3k@pF(U	q@'Gk@p5F(U4(T	}@'Qk@pTF(U	@'[k@psF(U	@'ok@pF(U4(T	@'yk@pF(U	@'k@pF(U	@'k@pF(U	@'k@pG(U4(T	@'k@p7G(U	@'k@p[G(U4(T	@'k@pzG(U	H@'k@pG(U	@'k@pG(U4(T	@'k@pG(U	@'k@pG(U	@'l@pH(U4(T	@'l@p>H(U	@'-l@pbH(U4(T	@'7l@pH(U	@'Al@pH(U	P@'Ul@pH(U4(T	@'_l@pH(U	@'sl@pI(U3(T	@'l@p+I(U4(T	@'l@pJI(U	@'l@piI(U	@'l@pI(U	@@'l@pI(U4(T	@'l@pI(U	`@'l@pI(U	@'l@pJ(U4(T	@'l@p-J(U	@'l@pLJ(U	@'	m@ppJ(U4(T	 @'m@pJ(U	#@'m@pJ(U	@''m@pJ(U	@';m@pJ(U3(T	?@'Em@pK(U	@'Ym@p4K(U4(T	S@'cm@pSK(U	@'mm@prK(U	_@'m@pK(U4(T	j@'m@pK(U	(@'m@pK(U4(T	n@'m@pK(U	`@'m@pL(U	@'m@p6L(U	@'m@pUL(U	r@'m@pyL(U4(T	@'m@pL(U	@'m@pL(U3(T	@'n@pL(U	 @'
n@pL(U	h@'n@pM(U	@'!n@p8M(U	@'+n@pWM(U	8@'5n@pvM(U	@'?n@pM(U	@'In@pM(U	@'Sn@pM(U	X@']n@pM(U	@'qn@pN(U3(T	@'{n@p5N(U	@'n@pTN(U	 @'n@psN(U	`@'n@pN(U	@'n@pN(U	@'n@pN(U	8@'n@pN(U4(T	@'n@pO(U	`@'n@p2O(U	@'n@pVO(U4(T	@'n@puO(U	@'n@pO(U	@'o@pO(U	@'o@pO(U4(T	@'%o@pO(U	@'/o@pP(U	@@'9o@p4P(U	`@*Co@p(U	@.@%4s@gQ/h%D:/[%ɠŠ/N%<Cu%?9D%C%D%'Os@qP(U~(Tv(Q1(R0(X0'hs@qQ(U|(Tv(Q0's@pBQ(U	(@(T(Q~(Rs(X}'s@rmQ(Rs}!(X0(Y0*s@p(U	@E$%pRF2%pC3%̡¡'Yt@pQ(U	W@'ct@pQ(U:*t@p(U	F@.$t@QT/$C=/$<C$D$C$G$RC$C
%G%RC%ͣţ'%v@'qR(Uv(Ts(Q1'`v@pR(U	z@(Tv*ov@#r(TvG$@SH$}C$0,'bu@q>S(U	g@'zu@q\S(U}(T1'u@q{S(U	g@'u@qS(U}(T1'u@pS(U	z@)u@#r*v@'q(Q1't@qT(U~(Tv(Q1(R1(X0'u@q#T(Tv(Q0'v@pBT(U	@)v@#r.#{@@BU/#jf<@C#D#C#:6H#}C#~tC#G#pTC#B>)|@q'{@V'U(U}(T0(Q}(R1'|@p(U(U:'+|@qFU(T}(Qv'6|@q^U(Uvp)\|@~q)c|@*'z|@
U(T0(Q1'|@qU(Uvp*|@
(Us(Tv(Q1.#|@FOW/$#~z<C1#ƦD>#CI#75HV#}Cc#dZCp#ۧէG}#dVC~#($)~@q'1}@
V(U}~(T0(Q1)8}@*'`}@V'V(U}(T0(Q}(R2'}@pV(U:'}@qV(T}(Qv'}@q	W(Uvp)}@~q'~@q.W(Uvp*5~@
(Us(Tv(Q1>">~@>~@JX/"d`I>~@C"D"C")H#}'~@
W(Us(TA(Q0'~@eqX(U}(T0(Q0'~@qX(Uvp)~@*'~@
CX(T0(Q1'~@/raX(Ts(Qv'@qyX(Uvp)@~q.z""@NY/"ũ<C"
D"C"|H"}'k@
Y(Us(TI(Q1'@q,Y(U	@(T	
@'@eqOY(U}(T0(Q0'@;rgY(Ts)@~q)@*'
@
Y(T0(Q1) @q>,"0@0@RZ/:"I0@CG"C9DT"C_"Hl"}'u@
<Z(Us(Tr(Q1'@phZ(U	@(T	
@'@eqZ(U}(T0(Q0)р@q)؀@*'@
Z(T0(Q1'@GrZ(Ts)	@~q.:@0j\/H,<0CUF6CbGo`[CtfbFCDG[Cخ*@'q(Us(Q1*>@'q(Q8G/\CB>'p@
[(U|(Tx(Q1)@Sr'ȃ@
\(U|(Tx(Q1*׃@Sr(T)@j':@*T\(Us)B@j'Y@
\(U|2(T0(Q1)@~q*@
(U(T^(Q1..@0n]/y<0CJ,3@3N]C-0,'M@_r.](Ts*_@
(Us~(T^(Q1'y@
q](U}(Tv(Q1'@
](U}(T0(Q1)@~q'@*](U|*τ@
(U|}(T0(Q1.@`r4_/nf<`CܰJ@&M^C*@kr(TsG^Cz*X@
(Uv(TV(Q1'@
^(Uv(T^(Q1',@*^(Uv'C@
^(Uv~(T0(Q1'r@
_(U|(T0(Q1)@~q*4@
(Uv(T^(Q1.@v_/<Cs)@*'@_(U0)
@./@za/=>.<CJ
CWGdP`Ce~zJrz@!`DwGZ`C*]@
(Us(T0(Q1'@
|`(Us~(T0(Q1*p@
(Uv(T0(Q1)O@*'@
`(Us~(T0(Q1'@
`(U|(T0(Q1*!@
(U|(T0(Q1.O@c/(K/<H5}CBocHO}C\CiCvNFCCGAbCJ@_aC*@'q(Q1'x@'qb(Q1'f@'q-b(Q1*}@'q(Q1'a@qeb(U~(T}(Q:'@3qb(U}(Q| $ &'@wrb(Ts(Q}(Rv(X0'@
b(Us(T0(Q1)L@*'h@qc(U	@'|@Kq&c(U}(T(Q0'@qEc(U	@'@Kqic(U}(T(Q1'щ@Xqc(U	@(T|(Q}(Rs'@
c(Us~(T0(Q1*@p(U	@(T	
@.n,@f/,B</|,<H,}C,ȻG,{dH,}'P@rfd(U}*a@'q(QPG,dH,}'ޏ@rd(U}*֐@'q(QP',@3qd(U}(T~(Q $ &'@re(T}'@p"e(U	H@)@$'R@roe(U	@(T	@(Q
(R	@)r@	'@qe(U	,@'@Kqe(U}(T(Q0'@qe(U	,@'@Kqf(U}(T(Q1'@rf(T}'@p:f(U	H@)@$'ǐ@rf(U	A@(T	@(Q
4(R	@)@	.+@0g/,/,<0G8,`gH=,}'@rf(U}*@'q(QPGK,BgCL,bZ*@'q(Q1'f@pag(U	\@'p@pg(U	p@)@$*@r(U	@(T	@(Q
c(R	p@'d@qg(U(Tv(Q0'd@qh(Us(Tv(Q0(R0(X0'd@q>h(U}(Tv(Q0'd@pUh(U:'d@rzh(T|(Qv(R)e@r)Ro@	'fo@ph(U	@'r@%h(T0'r@
h(T0(Q1'r@
i(T0(Q1's@%i(T1)v@j)֒@~q'@pRi(U	p@'@Xqqi(U	~@'@qi(U0(T0(Q0'ӓ@qi(Us(T0(Q0(R0(X0'@qi(U}(T0(Q0'@pi(U:*@r(Tv(Q0(RLȾO@WhjIO@@MiWɽ)O@q@7_N@!BkBj0(No'N@qj(U	@'N@qj(U	@'O@q
k(U	@'DO@eq4k(Uo(T0(Q	E@)yO@qOI!E@]pPc!)A!1/A!CAu!UysBl"&	lB (\PB2W&	lMi3W91-G@#VlMi<W*G@p(U	@<	BwF	& 
lMiKW
'vG@pl(U	@(Qv'G@'ql(Q1**M@p(U	@(T	(Qv-:I@jumQstrh	-:I@ILmMiiWd^*II@'q(Q1*I@p(U	@(T	)@-J@.poMstrv	-J@j;nRo-J@ImMiW*J@'q(Q1'K@p&n(U	@(T	 @*K@q(U}-0K@jnRo-0K@InMiW^X*?K@'q(Q1'K@pn(U	@(T	&@*K@q(U}&
oMiW*K@'q(Q1'
J@ro(U3'EJ@pCo(U	@(T}'K@q[o(U}*#L@q(U}&P
%pMstr	>4&
oMiW*PL@'q(Q1'I@ro(U3'6L@qo(U}'L@pp(U	@(T}*L@q(U})3H@r'H@qQp(U	@'H@qpp(U	@*I@q(U	@SRWpT__cRWU͸͸LVs9i9UCC
CVU@@
UƸƸ
U44
UĿĿ
Um<m<f
W
*Wh4h4
_W
|W##
Uhh
>U"6"6
U
=Wȼȼ
U˷˷
BU߶߶3
U
?WU
8Uչչ
3U::
4Wmm
U
RW::
W
U
6Uxx
TWtt
W׾׾
W
WJJ
W߻߻
W]]
W  
W
W
W//
WC
U
9W99
UY:B@c0Zn=9P{int~(jsP				ր
A=}*=+g=
l1
3W
6	7	8	k9	 *::	(;	0}<	8	=	@#D@	HA	P[B	XVD`3+Fh]HWpTIWtJxșMGNއOQY
@t[\]^	I_
Dj`Wkb^.+pP=tPp		W	01
L<!RRX4
&kBeDR
'pDR|
'DDRI
'
&ؤQc^3
JnlenK	DcapL	DbufMn}PN9|g!WP}1	#
v
j9jZn^J|vN
TZfWT|
,K}W`W,K
[+}W[
E_}WE7
"}W"kB B!w!'	!2$I	!v*!"LF"CR"NEL'*#vw\	gw}K\+_
P,"IET,00W8<!@4DEv-H$	T	H!A2$J	T	p!A$G3	X!A$
p	@!A$?	`!A$	P!A$&	h!A
	WendWI		],P%u%	&2q@>
'fmt2>
()(Y3
~*
@@6	+@:+,@!-Ts-Q~.@.
-U	!@.$@;*
-U:,.@F-U1
/>
0(@'
1t(D2ptr).@S
-UU.@`
-U	@,@F-U10Ji@'|'ptr1t"Dlh.r@mI-UU-TT.@`h-U	@,@F-U10,B@'-1D1(D2ptr!.K@z-UU-TT._@`-U	@,i@F-U10h4@
'bufRZD1)D\L19D"3
	@4D4DC94$


.@

-UU@-TQs#.'@?
-U	0@-T	@-Q4-R	@.G@}
-U	@-T	@-Q6-R	@.`@
-U	X@-T	@-Q7-R	@,h@I
-UQs#

P	
}5'W6S'!D
6n'7744	U7͸͸	L87m<m<
f
7
7!C!C	
7KK
%7--
9C
:.@!Ni3Zn=9P{intրA=}-P*=+g=l1@	
3W	
6		7		8		k9	 	*::	(	;	0	}<	8		=	@	#D@	H	A	P	[B	X	VDY`	3+F_h	]HWp	TIWt	Jx	șMn	GNu	އOe	Qu	Y
	@t[	\	]_	^	e	I_
D	j`W	kb^
.+pTu
PL=t{
Pp@We1Le4&e.D'@:e^eD|'pEjeDDI'u&	ZPؤ
Map h1	i1	Tj1lenk	Dcapl	DMapm^|g!WP}1	#
vCj	9j^n^J6vNTd		d WT6,K		}W	`W,Kv[		}W[E		}WE"M		}W"%BeBw'2$	v*^ LF CR NEL'*!v1\	eg17K=\CMP	"	IE		Tj	0	0W8	<	@	4gD	E	vHYI"		H!A"J		p!A"G	X!A"
p^	@!A"?	`!A"g	P!A"&	h!A	WendW^		],P%u#$wƝ@
%mapx	7P&^y
Q	'N(
	@)@ 	*izD$+@@{	,,,-@.Uw.Ts.Qs/ *i}D=5/P*val~e0@@~
,,-@c.Uw.Ts-O@.U	@.T	@.Q.R	@

P
$s@P1mapsP1keys%eMI1vals3-@.UU.TT.QQ72Eo
@1mapoP1keyo)e-@c.UU.TT$k@;1mapkPA=1keyk-~z1valk8e-@.UU.TT.QQ2ge@1mapg P1keyg.51-@c.UU.TT3=c4mapcP4keyc$4valc/e5_e4map_P4key_%$E@.k1mapE&P|n1keyE4#1valEB({	@*iODZT6ț@O
,7G@
.U	@.T	@.QF.R	@8O@7}@/.U	@.T	@.QM.R	@-@.U	@.T	@.QN.R	@{
Pk$4@c1map4P94 DVN:6	7@)@7*i;D--@.Uw7@..Us.T87@H.Us3$8O@8X@2Y!
Ś@1map!*P1key!8({	0@*i&D0@@&,7Y@D.U	@.T	@.Q%.R	0@-r@.U	@.T	@.Q'.R	0@2
|@I	1ptr!1len-Dpj*x*buf	#/*iDyo2}
`@P1x
;y
(T2t	
G@1ptr	|+G@G@
,5
4x<.@,<r@M,ea,-{@c.UU.TT<@,,,YU-@.UU.TT.QQ=C
=,,E=G>߶߶
3
qE:O@$"q6Zn=9P{int~(jsP				ր
A=}*=+g=
l1
3W
6	7	8	k9	 *::	(;	0}<	8	=	@#D@	HA	P[B	XVD`3+Fh]HWpTIWtJxșMGNއOQY
@t[\]^	I_
Dj`Wkb^.+pP=tPp		W	01
L<!RRX4
&kBeDR
'pDR|
'DDRI
'
&ؤQc^3|g!WP}1	#
v9
j9j
n^J,vN
TZ
ZWT,
,K}W`W,Kl
[}W[
E}WE
"C}W"B[Bw'2$v* LF CR NEL'*!v'\	g'-K3\9C
P"IET`00W8<@4DEvHO?"		H!A"J		p!A"G3	X!A"
p	@!A"?	`!A"	P!A"&	h!A
W#endW	],P%u$%pJ	ɹET$z	&4@
'fmt"
()(Y
~*Q@Q@	++;9,e@-Ts-Q~.*@

-U3/j@X

0
&Ŀ@
'fmt
d^()(Y
~*@@
++,@-Ts-Q~.x@

-U1/@X
&"6x]@'fmtx
0*()(Y|
~*@@~+|+,@-Ts-Q~.Ơ@
-U0/@X
&9j@1]jJ	'fmtj0
93()(Yn
~*1@1@p]++,E@-Ts-Q~/
@
/J@X
,T@-U:&Ƹ^@X
1]^J	'fmt^2
B<()(Yb
~*@@d=
++,@-Ts-Q~/b@
/@X
&RU@
,@-U	o@&TO@1]J	.t@
-U	K@.@-U	Q@.@!-U	W@.@@-U	]@.@_-U	c@.̞@~-U	i@.ݞ@-U	o@,@-U	t@2'W3S'! 
3n'7444	U54͸͸	L5s9i9PA:v9Zn99L{intրA=}*9+g9l10	
3S	
6		7		8		k9	 	*::	(	;	0	}<	8		=	@	#D@	H	A	P	[B	X	VDI`	3+FOh	]HSp	TISt	Jx	șMj	GNq	އOU	Qe	Y
	@t[p	\{	]O	^	a	I_
@	j`S	kb^
.+pDe
L<=tkv
Lp0Wa-La4&a@'0
*aNa@|'`5Za~@@I'e&ؤ	Jlen	K	@cap	L	@buf	ML	NZ	|rg!WP}1	#
v	j		9	j	~Z	n^J		
vN	T	8				8ST	
,K				}	S	`	S,K	J[				}	S[	E				}	SE	"	!			}	S"	B	9B	w	'	2$	v	*Z	LFCRNEL'*	 v	\		ag		K	\	!P		"		IE	r			T	>		0	0	S8		<		@	4	cD		E	v	H-	!			H!A!J			p!A!G		X!A!
p	Z	@!A!?		`!A!	c	P!A!&		h!A			Send	S	lZ		],P%u"	##S9@q
$xr%str-$6S$F8VR$]Z$?uZ&˽'Y@;(S$)(
S*~@
+U}+Tv+Q+R+X~#S@)$%$1SE9,str=Q$FS&˽VX(	S<:(	Sk_-ii	S)-iS~)@(M
(*(.߻@)$ ?7$,S(h	S%/@[(a(a(@09@>0l@K0@>. w@?X&w"U$w.S(x	S-tmp
.]`h@@&` U$`,S(a	S-tmpi
.ȼ:@d$:#$:/Skc$]:9S$:ISka$9:Y(;	Svn(B	S(!C	S95(bRD	Swo(P(Q"(R@nh(V(W(uX@/O@I-iJSB<1δ@Kj+Q $ &1@W+T}*:@b+Q1.J'@m$'!$'-S$9'9NF((	S0г@>.@$#$/Sx$9;(	S~v(}-num@0*(|z12@n+Tv+Q1;@>+Uvp*u@b+Q1.׾@$"$.S$9:y(	S-num@]Y(1o@n+T~+Q|*@b+Q1#:S@V$%$1SK=$=(h	S\P(	S(bR	S#((((SQ(u@xv1~@K+U}v"+T}+Q
 $ &3$1@WB+U}+T+Qv*Ʊ@b+Q8#S@$$$0S%$<(	SbZ(	S(bR	S(yw(((42(u@YW1@K+U}v"+T}+Q
 $ &3$1@W+U}+T~+Qv*԰@b+Q8.tNp@$N|$N,-fpO822PY({Z
S-ftcr2-iUS*ҭ@b+Q12-i[S|v/@^7(~S33/@C
-iS1@z)+Us+T0@>*@+Uv+T	@/@(S2*'@-iS/I@0-iS*t@+U +T}1@+U=+T}1+@$+U=+T}18@A+U:+T}1G@^+U:+T}1@v+T}*Ư@+U9+T}1@+T	@*@+U}.[.R@$./w@H/-i2Stn0@>/@7e-i7S0Ȭ@>0j@>0@>0+@>0J@>0f@>4/"Sʢ@	5"-%5"+6fp#7{'	S6ft6rpf8	`@79n7o	SL
H
6cp


7xZ'#7yZea7zZ7}	Sg
_
7*~	S

7
8 7
8|7
7	SMG7X	S/@4h6i.S/@Y7V
Szx93W/@=6iYS1@z+U|+T0٣@>2%6ihS*@b+Q1/@*{6iSKA)7a
S7y
S/1@r7j
S]W'B@C:jS'[@*:iS'`@%7aS7yS2
76SB>7S~x7S26iS	*@b+Us+Q1/S@O6iSXT*q@b+Us+Q11@+U}+T	+Q1*@+U}1@/+Us+T	@1@n+U	@+T	@+Qm+R	`@1֤@+U}1y@b+Us+Q41@b+U|+Q41@>+Usp1@>+U|p1@+U}1@b%+Us+Q11,@b<+Q81:@T+U}1̧@bu+U0+T1+Q11U@+U}0@1@b+Us+Q11Ѩ@b+Q81O@b+Us+Q11c@b+Q81@b#+U0+T1+Q11@@b@+Us+Q11W@bW+Q81o@bn+Q81@b+Us+Q11@b+Q81ګ@+U}*2@b+Us+Q1
L;s@W><%U7N
7>=߶߶
3
>}}.?F<
>h4h4	_>|>	>=??	>==>C
=::
=ͷͷ	AK%%4:;9I?$>&IU%%B:;9I$>$>I:;9
:;9I8	:;9
<I!I/
4:;9I?<'II'&5I'4:;9I?<>I:;9(
:;9I8!I:;9
:;9I
I8:;9
:;9I8(:;9 4:;9I?!:;9I".?:;9'I@B#:;9IB$4:;9I%4:;9IB&U'1(1)B*.?:;9'@B+,4:;9IB-1.4:;9I/.?:;9I@B04:;9I1.?:;9@B2.?<n:;93.?<n:;94.?<n:;%B:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<'II'&5I'4:;9I?<
:;9I8!I>I:;9(:;9
:;9I
I8:;9
:;9I8( :;9!4:;9I?":;9I#>I:;9$.?:;9'I@B%:;9IB&4:;9IB'4:;9I(U)4:;9IB*1+B,1-U..?:;9'@B/4I40124:;9I3415:;9IB61RBUXYW71B81RBXYW91RBXYW:B;.?:;9'I@B<:;9IB=:;9IB>4:;9IB?:;9I@4:;9IBA4:;9IB.?:;9I@BC.?:;9'I D:;9IE.?:;9'I F.?<n:;9G.?<n:;9H.?<n:;%B:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<'II'&5I'4:;9I?<>I:;9(
:;9I8!I:;9
:;9I
I8:;9
:;9I8( :;9!4:;9I?":;9I#>I:;9$.?:;9'@B%4:;9IB&U'1(B)1*1+:;9IB,4:;9IB-.1RBUXYW/1B04:;9I1.:;9' 2:;9I3454:;9I6.:;9'@B74:;9I84:;9I9!I/:4:;9I;.:;9 <U=.:;9'I@B>1RBXYW?4I4@.?:;9'I@BA:;9IBB4:;9IBC41BD41E1UXYWF1UG1UH41IJ1K1L.?:;9'@BM4:;9IBN4:;9IO.:;9'I@BP:;9IBQ4:;9IR4:;9IS.?:;9'I T:;9IU.?<n:;9V.?<n:;W.?<n:;9%B:;9I$>$>II!I/:;	
:;I8
I&I
:;9
:;9I8:;9<4:;9I?<'II'&5I'4:;9I?<
:;9I8!I>I:;9(:;9
:;9I
I8 :;9!
:;9I8"(#:;9$4:;9I?%:;9I&.?:;9'@B':;9IB()4:;9I*1RBXYW+1B,1-B.1/7I0.?:;9'I@B1:;9IB24:;9IB34I444:;9IB5.?:;9'I 6:;9I7.?<n:;98.?<n:;9.?<n:;9%B:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<'II'&5I'4:;9I?<:;9
:;9I8:;9I>I:;9(:;9
:;9I
I8:;9
:;9I8 (!:;9"4:;9I?#:;9I$.?:;9'@B%4:;9I&>I:;9'((4I4)*4:;9IB+1RBXYW,1B-1.B/U01RBXYW1:;9IB2.?:;9'I@B3.?:;9' 4:;9I5.?:;9'I 61RBUXYW71819:;9IB:4:;9I;:;9I<.1@B=.?<n:;9>.?<n:;9%B:;9I$>$>II!I/:;	
:;I8
I&I
:;9
:;9I8:;9<4:;9I?<'II'&5I'4:;9I?<>I:;9(:;9
:;9I
I8:;9
:;9I8 (!:;9"4:;9I?#
:;9I8$:;9I%>I:;9&.?:;9'@B':;9IB()4:;9I*1RBXYW+1B,1-B.1/107I1:;9IB2.?:;9'I 3:;9I4.?<n:;95.?<n:;%UB:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<'II'&5I'4:;9I?<
:;9I8!I>I:;9(:;9
:;9I
I8:;9
:;9I8( :;9!4:;9I?":;9I#.?:;9'I@B$:;9IB%:;9IB&:;9I'(4:;9IB)U*1+B,:;9I-4:;9IB..?:;9'@B/01112U34:;9I4.?:;9'I@B5:;9IB64:;9IB74:;9IB84I494:;9I:4:;9I;.?:;9'@B<:;9I=.?<n:;9>.?<n:;9?.?<n:;U%Z0
../sysdeps/x86_64start.S	@>.B#>M$
 uv
th#
init.ca/
../sysdeps/x86_64crti.S	@Lu=/	@	
src/usr/lib64/gcc/x86_64-solus-linux/8/include/usr/include/bits/usr/include/bits/types/usr/include/usr/include/sys/usr/include/gnu/usr/include/asm/usr/include/asm-generic/usr/include/linuxmain.cstddef.htypes.hstruct_FILE.hFILE.hstdio.hmalloc.hedimcoder.hunistd.htermios.htermios-struct.hioctl-types.hstdlib.hstring.hioctl.htermios.h<built-in>stdc-predef.hfeatures.hcdefs.hwordsize.hlong-double.hstubs.hstubs-64.hlibc-header-start.hstdarg.htimesize.htypesizes.htime64.h__fpos_t.h__mbstate_t.h__fpos64_t.h__FILE.hstdio_lim.hsys_errlist.hstdio.hctype.hendian.hendian.hstdint.hstdint.hwchar.hstdint-intn.hstdint-uintn.hassert.hfloatn.hfloatn-common.hstdlib-bsearch.hstdlib-float.halloca.hposix_opt.hconfname.htermios-c_cc.htermios-c_iflag.htermios-c_oflag.htermios-baud.htermios-c_cflag.htermios-c_lflag.htermios-tcflow.htermios-misc.hioctls.hioctls.hioctls.h	ioctl.h
ioctl.hioctl.h	ttydefaults.h	@K
YFLYYY L<ZY L	rM
YFLYYY L<ZY L	rKZK	=\KZgY
	XXI	Y N&.&JrX\	<Y N*.*J<w
	K!	]X	t XX	/Z0gt	g%t
`
dt"w		't	>
Y/.	
y,t
K
.<
f	
tzg#t<v	Y/*	uy(t	K	*<	f	twX0K
t	gtJeX	!Z	
uvYZ\f	j	Y1f	h)K
v	a\
.YXX
YZYZYv&
src/usr/include/bits/usr/lib64/gcc/x86_64-solus-linux/8/include/usr/include/bits/types/usr/include/usr/include/sys/usr/include/gnuparsing.cstdio.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hmalloc.hunistd.hedimcoder.hstring.hassert.hstdlib.h<built-in>stdc-predef.hfeatures.hcdefs.hwordsize.hlong-double.hstubs.hstubs-64.hlibc-header-start.hstdarg.htimesize.htypesizes.htime64.h__fpos_t.h__mbstate_t.h__fpos64_t.h__FILE.hstdio_lim.hsys_errlist.hctype.hendian.hendian.hstdint.hstdint.hwchar.hstdint-intn.hstdint-uintn.hfloatn.hfloatn-common.hstdlib-bsearch.hstdlib-float.halloca.hposix_opt.hconfname.htermios.htermios.htermios-struct.htermios-c_cc.htermios-c_iflag.htermios-c_oflag.htermios-baud.htermios-c_cflag.htermios-c_lflag.htermios-tcflow.htermios-misc.hC	<@=ZzBlgKVg#=
.L
t.Jgf,Jf,J,J,J,JM#i0h"<ZX?fYKaK_x <3.=Y<]kp K
J	 J<]C'"X2XCK X<<X==<fZ!^	F<<Y
=

<KKX
Y.w	=..Y RztXXXh	t
K#ZV*eX6,t=ZXM<L
U.<jX~<9 }
.^
Y/}
ff.R
<Y>.e 
tY
X)}
tX:.}
.
W]]	=X X/}
ffKw}
tX.hX=JL<+~Xg&Jt>yXXgJ	i	h}	
}J.XfXX	>Y	<`

XB	J
tw|
J	Y)<f	X
JML|
|<J	Y)<f`	XX
J$K-=9K>Y
X
0<'F	g	hL|
|<.
X
0H1J.2J<h|
.X0J	g)Jt<%Eg
JML|
|<.<J	Y)<JJu
Xw|
.
>KZUX	|
 KY+YJuXXx	YX J~XXAXJXK&<J Y
>jK9KZZX
t(<fXqJY&<JXX<Jg(Jt{
{JJ(JY	JigY(<J.g	wYSJY(<f
wKYK*/<Z
t<.sJY'<fJg(Jt<(yJg	Jih{
{J.JY&<LY&<JY(<XJ}XY	XO



<4><N	<%<XJY{
{Jh{
{JXY
=jK
9KZZX	
t'<f0Jg'Jt
{
{JJ'JYJ
i
gY'<%Y1~<.=X<+Y/<	<{
J.=XfXY//X+/<	<{
J/J+f-*<X<*.<<
z
J-<Xf6!6K.wX
X==KK< G 
==K1
==1
==KK1
==1
==KK1
==K[
==KK[
==KKK[
==KKX  gJ Mg <gh.X0gJ Mg <gh.X0gJ Lg <gh.X0gJ Lg <gh.X2gJ Lg <gh.X{.teKYqXY1Y1Y1YM<Z*<Kt\f<.JJXu)	J?J/	X	f,	XK
Y.xfJAuXR<<YYK
Jsf
..W
X
.<
.XR..K(/X=-<.dXX;X.JJXg;	.vJB<;J.._5JG9.K&-X=+<.ZWXl.?.	JYUX<<X==KL
X$6JL<	XnX7X X=>gK$J
KY
>Y
W*K&<pJ
K
>Y
W*K&<aJ'
K2P
>Y
(XX
!M<
	
K>=&<`X>g %J
K>=&<c$vXXLz<*<<XkJ9	R. XKK,t ..rX.K-X<2X<eJX=ugYX"{#dYJzg4;<NJ<Y{?XM<8X<<.Wh!JJ:-fXXuXgXZ29<LJ<Yy?JJ X0
c%Xa>"	f$	#&	#%	#		#	#	J	Je<Qy=yM<Yf	
K(p<JX><{y<vXZ,@.'~	 K	J#fE<	JiHJJeN+?f
<)f+#-#,#*"<<<<<<K<K<K<K<K<JX<	K	X@
	J	>Kt#h;#X|mft]XZo<5<<K|?JJX	><X<Ja<JZJ1

Yy<.u.:<<.f  utgXZ29<Kyt?JJX0
Vh.y,<>7<J<UJ	K	J>
XXIfL
=
=mfJyXhXZ)|.KJXuY_.XJXuYl.J7XuuYeXJXuuY,
Vh.y+<>7<J<VJ	K	J>
XXIfL
=
=mfJyXhXZ){.teKYqXY1Y1Y1Y2
src/usr/include/bits/usr/lib64/gcc/x86_64-solus-linux/8/include/usr/include/bits/types/usr/include/usr/include/sys/usr/include/gnueditor.cstdio.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hmalloc.hunistd.hedimcoder.h<built-in>stdlib.hstring.hassert.hstdc-predef.hfeatures.hcdefs.hwordsize.hlong-double.hstubs.hstubs-64.hlibc-header-start.hstdarg.htimesize.htypesizes.htime64.h__fpos_t.h__mbstate_t.h__fpos64_t.h__FILE.hstdio_lim.hsys_errlist.hctype.hendian.hendian.hstdint.hstdint.hwchar.hstdint-intn.hstdint-uintn.hfloatn.hfloatn-common.hstdlib-bsearch.hstdlib-float.halloca.hposix_opt.hconfname.htermios.htermios.htermios-struct.htermios-c_cc.htermios-c_iflag.htermios-c_oflag.htermios-baud.htermios-c_cflag.htermios-c_lflag.htermios-tcflow.htermios-misc.hc	E@ =W4X"2<NX	f
b<~tg/Et,EfJJ3Z6fKe]Wg.7wf	
JGXggJ.XuXg&JXhu!	f	f.*Y!XgX*H
fX.JXY4
%ot<g
3
*=<
	-iXXIY=Y
lXX	jfXX=
=
K
K<WXX=
=
K
Kv<9YXtXH<0<0<0<2<0<0<0<0<0<0<0<0<0<0<.XXIY=Y
XXIY=Y
XtI<YK
XtIfY!K
~*3c6f1EXoKJY.0FXLtvXJ<;<
.pq^Xz.KX-JZg3'2	'<<	YI
#t#X2JJXlOzXuX
z!utIgXu < tJ$J<		k<XfhW^XX[
<	ZXTtX[
XtX[7^<.
`&fSYjJ.o
oJJ=!t'J
i
gXwJg<gX)u<J)y./J>vJ3
.X0_5<Xx
?Y!=<!fY^<>	<iX)s.J%
<KJ.<	t`z4

Xm<<g <stsz4zlg<
Y9
&XJKK(JJZ[tY		VX5yZJzXYi5Y<	3.Jt(t"	D_g		d Y]C
J=`Xj&<SKX
X.XYg w't-J
[u>.:J<K <!<XIXYX.JhY9
#|tjIJvYJJ^ XX5dtY<
YKj'ph		d^ J.. Ya	.=<
3.Jt(t"	<JVu]Yg		d Y]C
J;
XX<j&<SKX
tX<YgJw't-J
Mu.:J<KJ<!<XJIX<YX<.JgpXt$.
ttF.w
<	Z	;
K<3$>fCrX;Uliy<JF.f	XYM5tZ`JfwX
Z<1
Z<1f
X<
Zt<oGX=^jy<JGX<JX

K<i4C(*<<





Z<1/K<<t!J/LY!=				,t 	YXZZZZZZZZZ	X<X+o=y>=>!K<.	
<	
<	
<	
<,m!f<<FtY
X| =0<p0<q*<*<0<q0<0<o0<p<,<$<b$<f@9<w-<o:<s.<k3<s*<9<x-<p:<u;<vR=0<,<l#<1<n1<m=*<j0<m'<)<=#<,<m$<g$<c#<#<f#<g#<#<e#<=&<i4<u,<m#<=,<l$<$<h$<==-<`/<k-<g
xY

/=XX0J-<WJT<}Jz<K#tu
 J`XY<5J2<K#tu
JcXY 5J
<2dX#tu
Jh
<LXKtK
lX#;!t=
pX#;

J
rXXKt

Jw<KtK
Qz
PzXtK
N|JOO	 |/=t f=&.J!Y=	J|/=tg 	 |	 |th^J.<z	|XX.zhJ	}XVDXfJJz.<g=<F<JXMJYy	}}%<>T		:Z.m		K
	P-=	|XX\XHX=[%Xf!	|/t	|}Z	
KfZX$I<gXfEyJJV^X.Z
UX2X/
HYX`f	}XWX.Igf~Xt	}
iJ Xy<ug(J<IXJvgJZJ	JX	v%Jf>
3J9<J<JJ`	v%Xfi>
/<Ju5<J<JJ\X	~
f<	<f I
t"XtYYeA<[_tX<\<PYz	~XXfytJ
X"ffgrJX<1fYYe|?<[tkJYy	~XX<yt"Xfi!Y9
&vr.X.]Xy	~X[t"Xf!=Y9
#{.jXy	~XXX.\
<2tyt"Xfi!=Y9
#vp.X.\<Xx	~X[JM<uJN*.	~).	~*.	~).	~
JtNZf
Jt?ZJXX]oJ$I<gMfCyJJ	VzX.k!%*<Y<\!<JJ[Xu	~X
XJu
_7<J1"0JXu	~X
Xut
Q7<]#9J.rwY
</;X"Xu	~X[
tJX3J=
X1J<JYXXu	~X
XXtv<X.u
tX3<+@
X2_J5Xu@	i-.#<t	~XX

AY!=<g%<<J.<gXtJM<uJN*.	~).	*.	).	"tDXf<'K	#"Jtf"	<<6	XE
t0g		d	<Y	xm
J;
X j&<SK
ItYg wJ=%t+J
[q>.XY!.IXXY.J	wfXtwJR	/	v4
tX`!uW!V	===.JJ<v!u!><1.JJ<vX"Xu
7!J#.4t8 JJ
		tvJJp.g
	f
X-J^
zCX	1Z)<
J.<hq%.%twK]	\
X	X<%	z=Y:^<."O$.$twK	EX/X	`t"X$.$
	J=K
	<	zztXX	<50IYh	XY	uX[*t!	yX[	U	[b	|!>

?}= >f!<
#9<iwXYY%t	<JY	ZY=J.v<<	U[J
T
h	JK<ZYjX
J	byX*JX	
Yy

IYf	tYXJIf7^_X.XXJ	fWxE	fY<Y<+`tv<<	[JF$$JOQ-<	Z=Kfi	4
J	byX*JX	
u
f*|. YYtK<=R
src/usr/include/bits/usr/lib64/gcc/x86_64-solus-linux/8/include/usr/include/bits/types/usr/include/usr/include/sys/usr/include/gnustretchybuffer.cstdio.hstddef.hstdarg.h<built-in>types.hstruct_FILE.hFILE.hstdio.hmalloc.hunistd.hedimcoder.hstdlib.hassert.hstdc-predef.hfeatures.hcdefs.hwordsize.hlong-double.hstubs.hstubs-64.hlibc-header-start.htimesize.htypesizes.htime64.h__fpos_t.h__mbstate_t.h__fpos64_t.h__FILE.hstdio_lim.hsys_errlist.hctype.hendian.hendian.hstring.hstdint.hstdint.hwchar.hstdint-intn.hstdint-uintn.hfloatn.hfloatn-common.hstdlib-bsearch.hstdlib-float.halloca.hposix_opt.hconfname.htermios.htermios.htermios-struct.htermios-c_cc.htermios-c_iflag.htermios-c_oflag.htermios-baud.htermios-c_cflag.htermios-c_lflag.htermios-tcflow.htermios-misc.h3	B@KY]	T-KY]	T!KY]	TDWKXXuY7JL	YJ]KK q XXYuXXYXX	_<	Y"#_'Xq
X

src/usr/lib64/gcc/x86_64-solus-linux/8/include/usr/include/bits/usr/include/bits/types/usr/include/usr/include/sys/usr/include/gnuhashmap.cstddef.htypes.hstruct_FILE.hFILE.hstdio.hmalloc.hstdint-uintn.hstdint.hunistd.hedimcoder.hassert.hstdlib.hstdc-predef.hfeatures.hcdefs.hwordsize.hlong-double.hstubs.hstubs-64.hlibc-header-start.hstdarg.htimesize.htypesizes.htime64.h__fpos_t.h__mbstate_t.h__fpos64_t.h__FILE.hstdio_lim.hsys_errlist.hstdio.hctype.hendian.hendian.hstring.hstdint.hwchar.hstdint-intn.hfloatn.hfloatn-common.hstdlib-bsearch.hstdlib-float.halloca.hposix_opt.hconfname.htermios.htermios.htermios-struct.htermios-c_cc.htermios-c_iflag.htermios-c_oflag.htermios-baud.htermios-c_cflag.htermios-c_lflag.htermios-tcflow.htermios-misc.h"	.@u>$"
yuB+"=u>2"
	J	=	Kt<Gf=$J=N
]t=!Y		=<Z	[
yJ		=ZytXZXX
\XG K!
Jt
u	<	=J	\
uJ		=]
YJ
Km.XX	]J


=J
K  .)W 
	#	WL	
tX
0'J	gt
/f* KY4ZKY3ZKY=ZKY.ZKY8ZKYZY	#
	Y,hJ <	Ya	JXJ 	o
src/usr/include/bits/usr/lib64/gcc/x86_64-solus-linux/8/include/usr/include/bits/types/usr/include/usr/include/sys/usr/include/gnucolors.cstdio.hstddef.hstdarg.h<built-in>types.hstruct_FILE.hFILE.hstdio.hmalloc.hunistd.hedimcoder.hstdc-predef.hfeatures.hcdefs.hwordsize.hlong-double.hstubs.hstubs-64.hlibc-header-start.htimesize.htypesizes.htime64.h__fpos_t.h__mbstate_t.h__fpos64_t.h__FILE.hstdio_lim.hsys_errlist.hctype.hendian.hendian.hstring.hstdint.hstdint.hwchar.hstdint-intn.hstdint-uintn.hassert.hstdlib.hfloatn.hfloatn-common.hstdlib-bsearch.hstdlib-float.halloca.hposix_opt.hconfname.htermios.htermios.htermios-struct.htermios-c_cc.htermios-c_iflag.htermios-c_oflag.htermios-baud.htermios-c_cflag.htermios-c_lflag.htermios-tcflow.htermios-misc.h	O@'J
xX
eX	
1	
1	
1	
1	
1	0XY4N[ZZ'C
X<Y#ZZ'
XZ#_XZ'
XY#_XZ'
XY#_XZ'
XY
src/usr/lib64/gcc/x86_64-solus-linux/8/include/usr/include/bits/usr/include/bits/types/usr/include/usr/include/sys/usr/include/gnubuffer.cstddef.htypes.hstruct_FILE.hFILE.hstdio.hmalloc.hunistd.hedimcoder.hstdlib.hstring.hassert.h<built-in>stdc-predef.hfeatures.hcdefs.hwordsize.hlong-double.hstubs.hstubs-64.hlibc-header-start.hstdarg.htimesize.htypesizes.htime64.h__fpos_t.h__mbstate_t.h__fpos64_t.h__FILE.hstdio_lim.hsys_errlist.hstdio.hctype.hendian.hendian.hstdint.hstdint.hwchar.hstdint-intn.hstdint-uintn.hfloatn.hfloatn-common.hstdlib-bsearch.hstdlib-float.halloca.hposix_opt.hconfname.htermios.htermios.htermios-struct.htermios-c_cc.htermios-c_iflag.htermios-c_oflag.htermios-baud.htermios-c_cflag.htermios-c_lflag.htermios-tcflow.htermios-misc.h-	s@uugOwK5$=
X<
fX.	YJ.		<fR
n
q
t
w	e	f(%uWJ%=	e
Yn	X
g	Xsf	Y
Xee	Vfp.		KJ*JV	
f$J0Pzf
KXJXYe!
X/X.		XW{ffJX	g
	Kf<.kfXXfvX\Xk
0I#Y /H
OY=hX?ff.
r	X-
YXJ=h
X/X
=YJ =fJcYJ =	$
 KJ<?ZYfJXXYX4YXJ=hX/XYJ =fJ=hxXYX2XXYX

.?*PJJ<

JPt

JRX+
JuX
,RJJ<

JX-
JYX
XJ	%h,J.
X	X$#tv<X#\	JIJ	Y.JI	gX<  
v<26
.=<CX	wX	Z	X
]Xs	t
Y	
h	I`

<	w	tw	w		tkw
X,)WJ)/
eY"	f
X
XMZY0XVfKm<.mJ	
g*J
gJoth.JC$=	=	K,X,JtJX:'J.(KYg-<[ =f....	f J_X,.MfDYX	K,X,JX'<(KYg.J[X ....	d 	= _X,AXg<^MKYfKKKXX.	r<	KXB	=<$.?.?KX<XYfKKKXt	k<	K=tXg@/<_X,KKX<.	s 	K`t<,	t=#J/<G	<(<BV<UYt>[=JXY%KKKXX..	` 	KG	<	KXX


/	<2t<_J<
?##K&<=	o 	=4f<_J<
?#K&<=	o 	=2f<<	X J	K	K(	K?<	K[KJY>  	et	=	

s
ZkX	c<^
<X	deX!=oJX	x	=KX/6
NXbJgJ0<]gX
)
g	QfX
iXX? pgX
3XJ<oX	g#	u3XY/p
NX.bJgJ0<gXX
=f	Y	hV.
1
u!
K.Y.J]/
../sysdeps/x86_64crtn.S	@'K	@+K../sysdeps/x86_64/start.S/home/build/YPKG/root/glibc/build/glibc-2.29/csuGNU AS 2.31.1init.cGNU C11 8.2.0 -mtune=generic -march=x86-64 -g2 -O3 -std=gnu11 -fgnu89-inline -fmerge-all-constants -frounding-math -fstack-protector-strong -fmath-errno -fno-stack-protector -ftls-model=initial-exec_IO_stdin_usedstatic-reloc.c../sysdeps/x86_64/crti.STIOCM_RTS 0x004SIOCSIFNETMASK 0x891c__ldiv_t_defined 1B0 0000000__FLT64X_HAS_QUIET_NAN__ 1__FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN___STDDEF_H_ __USE_FORTIFY_LEVELallocaTIOCM_CD TIOCM_CAR_IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))_unused2_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGSbuf_len(b) ((b) ? buf__hdr(b)->len : 0)_SC_LINE_MAX _SC_LINE_MAX_SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION__FLT32_DIG__ 6_WCHAR_T_DEFINED TIOCSPGRP 0x5410_filenoCWERASE CTRL('w')__glibc_has_attribute(attr) __has_attribute (attr)__LONG_LONG_PAIR(HI,LO) LO, HI_SC_ARG_MAX _SC_ARG_MAXB300 0000007M_NLBLKS 2__ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)__FLT64_MANT_DIG__ 53TCSETX 0x5433__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX__FLT_MAX_10_EXP__ 38__SQUAD_TYPE long intTIOCSLCKTRMIOS 0x5457__LITTLE_ENDIAN 1234_POSIX_MESSAGE_PASSING 200809LTCSETSW2 _IOW('T', 0x2C, struct termios2)text_nodes_XOPEN_XPG2 1__INT_LEAST64_WIDTH__ 64R_OK 4_POSIX_ASYNC_IO 1BT_COMMENT_SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX__fortify_function __extern_always_inline __attribute_artificial__ONLCR 0000004__FLT64_MIN_10_EXP__ (-307)B200 0000006__ATOMIC_HLE_RELEASE 131072__PTRDIFF_MAX__ 0x7fffffffffffffffL_SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM__WCHAR_TYPE__ intTIOCGSOFTCAR 0x5419_SC_PII_OSI_M _SC_PII_OSI_M__LDBL_REDIR(name,proto) name protoIEXTEN 0100000SIOCGIFMAP 0x8970NCCS 32__BYTE_ORDER__ __ORDER_LITTLE_ENDIAN___SC_PAGE_SIZE _SC_PAGESIZE__UINT_FAST16_MAX__ 0xffffffffffffffffUL__DEC128_MIN_EXP__ (-6142)GNU C99 8.3.1 20190320 -mtune=generic -march=x86-64 -g3 -std=c99_CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGSDeleteLine__LEAF_ATTR __attribute__ ((__leaf__))__FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128N_SLIP 1__DBL_MAX_10_EXP__ 308__attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))NCC 8_SC_NETWORKING _SC_NETWORKING_SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE_IO_buf_end_SC_RTSIG_MAX _SC_RTSIG_MAX__getc_unlocked_body(_fp) (__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)_SC_PII_XTI _SC_PII_XTIM_MMAP_THRESHOLD -3__ELF__ 1__LDBL_DIG__ 18__SIZEOF_LONG__ 8ispunct(c) __isctype((c), _ISpunct)_POSIX_SPAWN 200809LB150 0000005__WCHAR_T__ B4000000 0010017_STDLIB_H 1_SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R_WCHAR_T_DECLARED __need___va_list__UINT64_TYPE__ long unsigned int_IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)_POSIX_VERSION 199009L__SHRT_WIDTH__ 16__STRICT_ANSI__ 1__environ__putc_unlocked_body(_ch,_fp) (__glibc_unlikely ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) ? __overflow (_fp, (unsigned char) (_ch)) : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))_SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT__DBL_HAS_INFINITY__ 1__REDIRECT_NTH(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROWSIOCSIFMEM 0x8920_CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS_SC_PRIORITIZED_IO _SC_PRIORITIZED_IO__FLT_HAS_INFINITY__ 1__FLT128_MIN_10_EXP__ (-4931)SIOCGIFENCAP 0x8925TCSADRAIN 1__WCHAR_MIN__ (-__WCHAR_MAX__ - 1)N_R3964 9__DEC64_MIN_EXP__ (-382)__FD_SETSIZE 1024__STD_TYPE typedef__FSID_T_TYPE struct { int __val[2]; }CLAMP_MAX(x,max) MIN(x, max)_CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS__THROWNL __attribute__ ((__nothrow__))_flags_SC_POLL _SC_POLLisLast_BITS_STDIO_LIM_H 1_SIZE_T_DEFINED _SC_SIGNALS _SC_SIGNALSB460800 0010004__isctype(c,type) ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type)SIOCGIFMTU 0x8921WINT_MAX (4294967295u)_IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)SIOCSRARP 0x8962__off_t_PC_PATH_MAX _PC_PATH_MAXINT_FAST8_MAX (127)__U32_TYPE unsigned int__struct_FILE_defined 1_IO_USER_LOCK 0x8000__FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128_CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS_CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LIBS_POSIX_RAW_SOCKETS 200809LINLCR 0000100SEEK_SET 0__USE_MISC__UINT_FAST64_MAX__ 0xffffffffffffffffULTIOCGSID 0x5429_PC_NO_TRUNC _PC_NO_TRUNC_SC_BC_STRING_MAX _SC_BC_STRING_MAXLINEEDITOR_H _VA_LIST_DEFINED __DEC128_MANT_DIG__ 34N_6PACK 7__SHRT_MAX__ 0x7fff_POSIX_SHELL 1height_POSIX_VDISABLE '\0'__INTPTR_TYPE__ long int__wchar_t__ __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32_SC_TIMERS _SC_TIMERS_lock__USE_XOPEN_EXTENDED__UINT16_MAX__ 0xffffINT16_MAX (32767)__LDBL_REDIR1_NTH(name,proto,alias) name proto __THROWL_tmpnam 20__MODE_T_TYPE __U32_TYPE__f64x(x) x ##f64x__INT_LEAST64_TYPE__ long int__INT32_MAX__ 0x7fffffff__FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128__GNUC_PATCHLEVEL__ 1_POSIX2_VERSION __POSIX2_THIS_VERSION__MALLOC_HOOK_VOLATILE volatile_IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS_SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX__GCC_ATOMIC_CHAR_LOCK_FREE 2TIOCMSET 0x5418__UINT_FAST32_TYPE__ long unsigned intIUTF8 0040000__INO_T_MATCHES_INO64_T 1__SIZEOF_INT__ 4__glibc_c99_flexarr_available 1__FLT32X_MAX_10_EXP__ 308Undo_T_PTRDIFF_ B1000000 0010010__SIG_ATOMIC_TYPE__ int_BSD_SIZE_T_DEFINED_ __BIGGEST_ALIGNMENT__ 16TIOCGWINSZ 0x5413TIOCPKT 0x5420COL_MAGENTA "\x1b[35m"__INT_FAST16_WIDTH__ 64UINT_FAST8_MAX (255)State__UINT16_C(c) c__PRAGMA_REDEFINE_EXTNAME 1__ID_T_TYPE __U32_TYPE__HAVE_DISTINCT_FLOAT128 1_SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO__DADDR_T_TYPE __S32_TYPEopenArgFile_XOPEN_XPG3 1va_arg(v,l) __builtin_va_arg(v,l)__USE_ISOC11INPUT_ENDINPUT 4SIOCSIFSLAVE 0x8930_IOC_NRSHIFT 0speed_t_IO_read_base__DBL_EPSILON__ ((double)2.22044604925031308084726333618164062e-16L)__ASM_GENERIC_IOCTLS_H _LFS_LARGEFILE 1N_SYNC_PPP 14__SIZE_MAX__ 0xffffffffffffffffULc_ispeed__va_list__ __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x__always_inline__UINT8_TYPE__ unsigned char__HAVE_FLOAT16 0TIOCM_CAR 0x040_SC_2_FORT_RUN _SC_2_FORT_RUN__FLT32_MIN_10_EXP__ (-37)OperationKindINT32_MIN (-2147483647-1)c_nodes_POSIX_PRIORITY_SCHEDULING 200809L__FLT128_MIN_EXP__ (-16381)TIOCCONS 0x541D_SC_2_SW_DEV _SC_2_SW_DEV__INT_LEAST16_MAX__ 0x7fffbuf__hdr(b) ((BufHdr *) ((char *) (b) - offsetof(BufHdr, buf)))__WCHAR_MAX __WCHAR_MAX____LDBL_DECIMAL_DIG__ 21sourceTIOCLINUX 0x541CONLRET 0000040_SC_THREADS _SC_THREADSc_line_IO_write_endreadFT_MARKDOWN_POSIX_THREAD_PROCESS_SHARED 200809L__UINT16_TYPE__ short unsigned intCSUSP CTRL('z')INT_FAST8_MIN (-128)_SC_TTY_NAME_MAX _SC_TTY_NAME_MAX__FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPElineEndingType__attribute_malloc__ __attribute__ ((__malloc__))__UWORD_TYPE unsigned long int_PC_PRIO_IO _PC_PRIO_IO_SC_V7_LPBIG_OFFBIG _SC_V7_LPBIG_OFFBIG_SC_ADVISORY_INFO _SC_ADVISORY_INFOTCIFLUSH 0__FLT32X_HAS_INFINITY__ 1TCIOFF 2ECHO 0000010INPUT_CTRL_O 15__UINT64_MAX__ 0xffffffffffffffffUL__INT8_C(c) c__stub_chflags TIOCSCTTY 0x540E_SC_BC_BASE_MAX _SC_BC_BASE_MAXB1500000 0010012__FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32_ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8))____mbstate_t_defined 1_IOC_TYPECHECK(t) (sizeof(t))false 0_SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC__FLT_MAX_EXP__ 128VMIN 6BT_FUNCTIONcc_t__stub_setlogin INPUT_HOME 72__HAVE_FLOAT128X 0_IO_read_end__STDIO_INLINE_SC_2_PBS_LOCATE _SC_2_PBS_LOCATE__FLT32_MANT_DIG__ 24__stub_stty __malloc_hookUINT_FAST32_MAX (18446744073709551615UL)__WORDSIZE 64MIN(x,y) ((x) <= (y) ? (x) : (y))_POSIX_SPIN_LOCKS 200809L__FLT128_MAX_10_EXP__ 4932_CS_LFS_LDFLAGS _CS_LFS_LDFLAGS_POSIX_SPORADIC_SERVER -1__INTMAX_C(c) c ## L_SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC__INT_LEAST8_WIDTH__ 8N_MASC 8_POSIX_SYNCHRONIZED_IO 200809L_SC_2_FORT_DEV _SC_2_FORT_DEV__GCC_IEC_559_COMPLEX 2_SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG__INT_FAST64_WIDTH__ 64TIOCCBRK 0x5428__UINT_FAST64_TYPE__ long unsigned int_SYS_TTYDEFAULTS_H_ IXANY 0004000_SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS__STDC__ 1__HAVE_FLOAT64X_LONG_DOUBLE 1PARENB 0000400__USER_LABEL_PREFIX__ __attribute_copy__CSTOPB 0000100_SIZE_T_DECLARED __USE_FORTIFY_LEVEL 0__DECIMAL_DIG__ 21__GLIBC_USE_LIB_EXT2 0__UINT_LEAST32_MAX__ 0xffffffffUINT16_MIN (-32767-1)_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGSLuaOutlineNodeisprint(c) __isctype((c), _ISprint)M_MMAP_MAX -4openedFilename__attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))__stub_lchmod _SC_XOPEN_VERSION _SC_XOPEN_VERSION__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1_SC_TRACE _SC_TRACEFT_HTML__DEC_EVAL_METHOD__ 2__GLIBC_USE_IEC_60559_TYPES_EXTSIOCSIFMAP 0x8971SIOCDEVPRIVATE 0x89F0_SC_STREAMS _SC_STREAMS__FLT32_MIN_EXP__ (-125)typeOFILL 0000100VT1 0040000__DBL_MIN_10_EXP__ (-307)MB_CUR_MAX (__ctype_get_mb_cur_max ())TIOCGPTLCK _IOR('T', 0x39, int)_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS_GCC_PTRDIFF_T __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32xVEOL2 16BT_HEADINGUINT_FAST16_MAX (18446744073709551615UL)_T_SIZE_ __FLT_MIN_10_EXP__ (-37)TCSAFLUSH 2_CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS__UINTPTR_TYPE__ long unsigned intdefaultUseSpaces__CFLOAT32X _Complex _Float32xISIG 0000001__INT_FAST64_MAX__ 0x7fffffffffffffffLICRNL 0000400__DBL_MANT_DIG__ 53CDSUSP CTRL('y')B3000000 0010015_UNISTD_H 1__k8 1_XOPEN_XPG4 1__USE_POSIX_SC_WORD_BIT _SC_WORD_BITLS_PS__INT_WCHAR_T_H __stub_fattach TCSETAW 0x5407COL_RESET "\x1b[0m"__DEC32_EPSILON__ 1E-6DFCRPRNT CREPRINTFIONBIO 0x5421__INTPTR_MAX__ 0x7fffffffffffffffLB50 0000001__glibc_macro_warning(message) __glibc_macro_warning1 (GCC warning message)_PC_FILESIZEBITS _PC_FILESIZEBITS_CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGSprintLogo__size_t INT_FAST64_MAX (__INT64_C(9223372036854775807))_SC_MAPPED_FILES _SC_MAPPED_FILES_SC_SPIN_LOCKS _SC_SPIN_LOCKS__FLT_EPSILON__ 1.19209289550781250000000000000000000e-7FM_CHECK_ACTION -5buf__fit(b,n) (buf__fits((b), (n)) ? 0 : ((b) = buf__grow((b), buf_len(b) + (n), sizeof(*(b)))))_CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS__FLT32_HAS_INFINITY__ 1__errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg)))_IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size)))_CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS__GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1LineEndings__UINT_LEAST64_MAX__ 0xffffffffffffffffUL__GLIBC_USE_IEC_60559_BFP_EXT_chain__glibc_likely(cond) __builtin_expect ((cond), 1)__UINT8_C(c) cB1800 0000012tcsetattr__FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32__f32x(x) x ##f32xforever for(;;)_HAVE_STRUCT_TERMIOS_C_ISPEED 1BT_BLOCK__GLIBC_USE_IEC_60559_FUNCS_EXT_SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX_SC_XOPEN_CRYPT _SC_XOPEN_CRYPTSIOCSIFPFLAGS 0x8934UINT64_MAX (__UINT64_C(18446744073709551615))_IOW_BAD(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))__INTMAX_TYPE__ long intICANON 0000002tcgetattrINT_LEAST64_MIN (-__INT64_C(9223372036854775807)-1)__amd64 1_BITS_STDINT_UINTN_H 1INT_FAST16_MIN (-9223372036854775807L-1)__HAVE_GENERIC_SELECTION 1CREPRINT CTRL('r')INT_FAST16_MAX (9223372036854775807L)B600 0000010__ORDER_LITTLE_ENDIAN__ 1234_PTRDIFF_T_DECLARED _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS_SC_TRACE_USER_EVENT_MAX _SC_TRACE_USER_EVENT_MAX_IO_lock_tTCSETSF2 _IOW('T', 0x2D, struct termios2)IS_POW2(x) (((x) != 0) && ((x) & ((x)-1)) == 0)_LINUX_IOCTL_H __FLT_DIG__ 6__SCHAR_MAX__ 0x7f_SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKSKEEPCEOT CEOFbuffer_openFileSIOCDELRT 0x890C__DBL_MAX_EXP__ 1024__USE_ISOC95__USE_ISOC99__UINT_LEAST16_MAX__ 0xffff_PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTEDVQUIT 1___int_wchar_t_h TTYDEF_SPEED (B9600)_POSIX_THREAD_SAFE_FUNCTIONS 200809LcurrentLine__FLT32X_MAX_EXP__ 1024_SC_MULTI_PROCESS _SC_MULTI_PROCESS__SIG_ATOMIC_MAX__ 0x7fffffffINPUT_END 70__SIZEOF_SIZE_T__ 8__DEC128_MAX__ 9.999999999999999999999999999999999E6144DLTIOCPKT_STOP 4_BITS_STDINT_INTN_H 1_CS_GNU_LIBC_VERSION _CS_GNU_LIBC_VERSIONSIOCGIFBRDADDR 0x8919__REDIRECT_LDBL(name,proto,alias) __REDIRECT (name, proto, alias)__PTRDIFF_WIDTH__ 64ECHOE 0000020__USE_XOPEN2K__USE_POSIX199506B3500000 0010016buf_pop(b) (buf__hdr(b)->len--, &(b)[buf__hdr(b)->len + 1])__NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct__unix__ 1__LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L_TERMIOS_H 1CLNEXT CTRL('v')buf_end(b) ((b) + buf_len(b))M_ARENA_TEST -7_PC_SYNC_IO _PC_SYNC_IO_SYS_IOCTL_H 1_BITS_POSIX_OPT_H 1UINT_LEAST8_MAX (255)__UINT_LEAST64_TYPE__ long unsigned int_CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGSTIOCSERGWILD 0x5454indentSize__wur __free_hook__SIZEOF_LONG_LONG__ 8__NTHNL(fct) __attribute__ ((__nothrow__)) fctbuf__growTCOON 1_Static_assert(expr,diagnostic) extern int (*__Static_assert_function (void)) [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })]__FLT64X_MAX_10_EXP__ 4932__FLT32_DECIMAL_DIG__ 9_POSIX_THREAD_CPUTIME 0_SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX_WCHAR_T_DEFINED_ _SC_NL_ARGMAX _SC_NL_ARGMAX__FSWORD_T_TYPE __SYSCALL_SLONG_TYPE_SC_RE_DUP_MAX _SC_RE_DUP_MAXsrc/main.c_SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASEprintError_SC_ATEXIT_MAX _SC_ATEXIT_MAXINPUT_CTRL_C 3CEOL _POSIX_VDISABLE_CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS__THROW __attribute__ ((__nothrow__ __LEAF))iscntrl(c) __isctype((c), _IScntrl)__intptr_t_defined TIOCSWINSZ 0x5414INT64_MAX (__INT64_C(9223372036854775807))INT_LEAST32_MAX (2147483647)__LDBL_REDIR1(name,proto,alias) name proto__FLT_MANT_DIG__ 24__stub_getmsg TIOCGPKT _IOR('T', 0x38, int)CS8 0000060console_promptINPUT_DOWN 66_POSIX2_C_VERSION __POSIX2_THIS_VERSION__va_copy(d,s) __builtin_va_copy(d,s)_SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_Ralloca(size) __builtin_alloca (size)TCOOFF 0__UQUAD_TYPE unsigned long intTIOCPKT_DATA 0__USE_XOPEN2K8XSI__USECONDS_T_TYPE __U32_TYPETCSETXF 0x5434_SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULINGSIOCDELMULTI 0x8932__builtin_putsUINT_FAST64_MAX (__UINT64_C(18446744073709551615))__SIZE_WIDTH__ 64__need___va_list chars__HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16__TIMESIZE __WORDSIZE__INT_LEAST8_MAX__ 0x7f_IO_write_ptr__FLT_MIN_EXP__ (-125)__FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64xSEEK_END 2/home/christian/src/ccpp/EdimCoderCREAD 0000200_ENDIAN_H 1__FLT_RADIX__ 2__INT32_C(c) c__glibc_macro_warning1(message) _Pragma (#message)_ANSI_STDARG_H_ ECHOK 0000040TIOCGETD 0x5424__FLT32X_DIG__ 15_SC_PII_INTERNET _SC_PII_INTERNETTIOCOUTQ 0x5411_IOC_NRBITS 8getch_nonblocking_POSIX_FSYNC 200809L__FLT_EVAL_METHOD_TS_18661_3__ 0_SC_XOPEN_REALTIME _SC_XOPEN_REALTIMEFIOASYNC 0x5452_VA_LIST_ __BIG_ENDIAN 4321__DEC128_MAX_EXP__ 6145CEOF CTRL('d')exit_POSIX2_SW_DEV __POSIX2_THIS_VERSION__HAVE_DISTINCT_FLOAT64 0__stub_fdetach _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32TIOCPKT_FLUSHREAD 1__DEC32_SUBNORMAL_MIN__ 0.000001E-95DF__KERNEL_STRICT_NAMES__COMPAR_FN_T __UINTMAX_TYPE__ long unsigned int__U64_TYPE unsigned long int__FLT32X_MANT_DIG__ 53_BITS_TIME64_H 1_SC_TRACE_NAME_MAX _SC_TRACE_NAME_MAXINT_FAST32_MAX (9223372036854775807L)__UINT_FAST8_TYPE__ unsigned charSIOCSIFMETRIC 0x891e__CHAR32_TYPE__ unsigned intopenScratchBuffer__INT_WIDTH__ 32B1152000 0010011_PC_MAX_CANON _PC_MAX_CANONM_ARENA_MAX -8HUPCL 0002000TIOCSRS485 0x542F__USE_LARGEFILE64_POSIX_TIMEOUTS 200809LTIOCSERGETLSR 0x5459__always_inline __inline __attribute__ ((__always_inline__))__LP64__ 1SIOCGIFCOUNT 0x8938__U16_TYPE unsigned short intclipboardLines_SC_REGEXP _SC_REGEXP__INT16_C(c) cFIONCLEX 0x5450__LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L__SEG_FS 1__attribute_pure__ __attribute__ ((__pure__))__FLT32X_DECIMAL_DIG__ 17__LONG_MAX__ 0x7fffffffffffffffL__GCC_ATOMIC_CHAR32_T_LOCK_FREE 2__INT16_TYPE__ short int__FLT128_DIG__ 33__KERNEL_STRICT_NAMES TCGETX 0x5432__HAVE_FLOAT64 1_SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER___int_size_t_h OPOST 0000001__UINT_LEAST32_TYPE__ unsigned int_SC_STREAM_MAX _SC_STREAM_MAX_IOC_READ 2U__GCC_ATOMIC_LONG_LOCK_FREE 2_CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS__WINT_MIN__ 0U_PC_2_SYMLINKS _PC_2_SYMLINKS_SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC__stub_fchflags TTYDEF_OFLAG (OPOST | ONLCR | XTABS)__ULONGWORD_TYPE unsigned long intB500000 0010005B57600 0010001ws_rowTIOCSETD 0x5423__USE_XOPEN__amd64__ 1_SC_SPORADIC_SERVER _SC_SPORADIC_SERVERperror__GLIBC_USE(F) __GLIBC_USE_ ## F__WORDSIZE_TIME64_COMPAT32 1_LFS64_ASYNCHRONOUS_IO 1VTIME 5_GCC_WCHAR_T TCIOFLUSH 2VERASE 2_SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT__DEV_T_TYPE __UQUAD_TYPEWCHAR_MIN __WCHAR_MINUINT32_MAX (4294967295U)_IO_save_base__LDBL_REDIR_DECL(name) TIOCMGET 0x5415__need_size_t M_TRIM_THRESHOLD -1TIOCM_ST 0x008__FLT64X_DECIMAL_DIG__ 21B2000000 0010013_CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS_LFS64_LARGEFILE 1running__LDBL_MIN_EXP__ (-16381)__USE_ISOC99 1_BSD_WCHAR_T_fileTypeVKILL 3_SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS_SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF_PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN__GCC_HAVE_DWARF2_CFI_ASM 1__CFLOAT128 _Complex _Float128B19200 0000016_SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32_IOC_TYPEBITS 8ECHONL 0000100CSIZE 0000060_SC_PII_OSI_CLTS _SC_PII_OSI_CLTS_POSIX_CHOWN_RESTRICTED 0_SC_SHELL _SC_SHELLW_OK 2_SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAXM_GRAIN 3_IOC_WRITE 1U_SC_SYMLOOP_MAX _SC_SYMLOOP_MAXSIOCGIFNETMASK 0x891bTIOCGLCKTRMIOS 0x5456TIOCSBRK 0x5427__INT16_MAX__ 0x7fff_SC_V7_ILP32_OFFBIG _SC_V7_ILP32_OFFBIG_CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS_POSIX_TRACE_LOG -1__has_include(STR) __has_include__(STR)INPUT_DELETE1 51__DEC128_MIN__ 1E-6143DLIOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)_SC_NL_NMAX _SC_NL_NMAX__INT64_TYPE__ long int__DEC64_MANT_DIG__ 16SIOCSIFLINK 0x8911_IOC(dir,type,nr,size) (((dir) << _IOC_DIRSHIFT) | ((type) << _IOC_TYPESHIFT) | ((nr) << _IOC_NRSHIFT) | ((size) << _IOC_SIZESHIFT))__FLT_HAS_QUIET_NAN__ 1_GCC_WRAP_STDINT_H __isascii(c) (((c) & ~0x7f) == 0)TCION 3__memalign_hook__USE_UNIX98__pad5MAXLENGTH 900_SC_IOV_MAX _SC_IOV_MAX__CONCAT(x,y) x ## yINPUT_SPECIAL1 27FIOQSIZE 0x5460__SCHAR_WIDTH__ 8__stub_gtty _POSIX_MEMORY_PROTECTION 200809L__ORDER_PDP_ENDIAN__ 3412__OFF_T_MATCHES_OFF64_T 1__ATOMIC_ACQUIRE 2_IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)currentBuffer_SC_HOST_NAME_MAX _SC_HOST_NAME_MAXSIOCGIFMEM 0x891fMarkdownOutlineNode_BITS_FLOATN_COMMON_H SIOCADDRT 0x890B_POSIX_THREAD_PRIO_INHERIT 200809L_XOPEN_SHM 1_SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS_CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGSINT_LEAST8_MIN (-128)__RLIM_T_MATCHES_RLIM64_T 1__TIME_T_TYPE __SYSCALL_SLONG_TYPE_SC_PII _SC_PII_CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS_SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT__f128(x) x ##f128VSTOP 9_SC_BARRIERS _SC_BARRIERS__FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64_SC_SHRT_MIN _SC_SHRT_MIN_LFS64_STDIO 1IMAXBEL 0020000__INTMAX_WIDTH__ 64_SC_XOPEN_XPG4 _SC_XOPEN_XPG4TCSETS2 _IOW('T', 0x2B, struct termios2)__GNUC_VA_LIST _SC_FILE_LOCKING _SC_FILE_LOCKINGTIOCSERSWILD 0x5455_SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZETCSETSF 0x5404__FLT64X_MIN_10_EXP__ (-4931)original_CS_POSIX_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS_SC_SELECT _SC_SELECT_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS_SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAXFORCE_QUITB2500000 0010014__ATOMIC_RELAXED 0__warndecl(name,msg) extern void name (void) __attribute__((__warning__ (msg)))SIOCPROTOPRIVATE 0x89E0_XOPEN_UNIX 1__GNU_LIBRARY___CS_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS_CS_PATH _CS_PATH_POSIX_MEMLOCK_RANGE 200809L_SC_PII_SOCKET _SC_PII_SOCKETTIOCSERCONFIG 0x5453_IONBF 2SIOCGARP 0x8954SIOCGIFNAME 0x8910IXOFF 0010000FT_GOPHERMAP__DBL_DENORM_MIN__ ((double)4.94065645841246544176568792868221372e-324L)__GCC_IEC_559 2UINT_LEAST32_MAX (4294967295U)__REDIRECT_NTHNL(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROWNL__USE_ISOC95 1_SC_TRACE_LOG _SC_TRACE_LOGCTIME 0TMP_MAX 238328__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATIONF_OK 0__UINTPTR_MAX__ 0xffffffffffffffffULSIOCSIFHWBROADCAST 0x8937amtToMove_PC_SOCK_MAXBUF _PC_SOCK_MAXBUF_SC_XOPEN_SHM _SC_XOPEN_SHM__INT_FAST16_MAX__ 0x7fffffffffffffffLSIOCGIFHWADDR 0x8927_POSIX_SEMAPHORES 200809L__PMT__stub_sstk _CTYPE_H 1PARMRK 0000010_PC_PIPE_BUF _PC_PIPE_BUFtryExit__INT64_MAX__ 0x7fffffffffffffffL__SSE_MATH__ 1TIOCGSERIAL 0x541E_POSIX_MAPPED_FILES 200809L__FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64xTIOCMBIS 0x5416_SC_T_IOV_MAX _SC_T_IOV_MAX__INT_LEAST32_WIDTH__ 32_SC_BASE _SC_BASETIOCM_LE 0x001_POSIX_TIMERS 200809L__FLT128_HAS_DENORM__ 1lastOperation_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS_CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS__SIZEOF_WINT_T__ 4TCGETA 0x5405__FLT64_HAS_QUIET_NAN__ 1__HAVE_FLOAT64X 1B230400 0010003VWERASE 14_GCC_SIZE_T __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x__INT_MAX__ 0x7fffffff__va_arg_pack() __builtin_va_arg_pack ()_SC_INT_MAX _SC_INT_MAX__GXX_ABI_VERSION 1013__INT_LEAST8_TYPE__ signed char_T_WCHAR SIOCGIFPFLAGS 0x8935__SSE2__ 1winsize__WINT_MAX__ 0xffffffffU_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS_CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS_IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)__SLONGWORD_TYPE long int_SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX_PC_SYMLINK_MAX _PC_SYMLINK_MAX__SIZEOF_WCHAR_T__ 4__FLT_EVAL_METHOD__ 0INTMAX_MIN (-__INT64_C(9223372036854775807)-1)__GLIBC__ 2_SC_XOPEN_XPG2 _SC_XOPEN_XPG2INT_FAST32_MIN (-9223372036854775807L-1)__INT8_MAX__ 0x7fINT32_MAX (2147483647)N_PROFIBUS_FDL 10_POSIX_ASYNCHRONOUS_IO 200809L_SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX_SC_V7_ILP32_OFF32 _SC_V7_ILP32_OFF32c_ccSIOCSARP 0x8955__P(args) args__HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 && __LDBL_MANT_DIG__ != 113)TIOCSERGSTRUCT 0x5458__INT_LEAST16_TYPE__ short intUINTPTR_MAX (18446744073709551615UL)N_MOUSE 2INT_LEAST8_MAX (127)islower(c) __isctype((c), _ISlower)_SYS_SIZE_T_H __RLIM_T_TYPE __SYSCALL_ULONG_TYPE_SC_XOPEN_XPG3 _SC_XOPEN_XPG3VEOL 11_CS_V6_ENV _CS_V6_ENV__FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64_CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LIBS_IO_EOF_SEEN 0x0010__x86_64 1CLOCAL 0004000_SC_BC_DIM_MAX _SC_BC_DIM_MAX_SC_NZERO _SC_NZERO_IOC_NONE 0UM_KEEP 4TIOCGRS485 0x542ECOutlineNode__BYTE_ORDER __LITTLE_ENDIAN_IO_save_endbuffer_close__VERSION__ "8.3.1 20190320"INT8_MAX (127)isdigit(c) __isctype((c), _ISdigit)TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL)_SC_REGEX_VERSION _SC_REGEX_VERSIONIGNBRK 0000001__USE_XOPEN2K8SIZE_MAX (18446744073709551615UL)lua_nodesNOFLSH 0000200__SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE__need_NULLoffsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)isspace(c) __isctype((c), _ISspace)_SC_JOB_CONTROL _SC_JOB_CONTROL__GLIBC_USE_DEPRECATED_SCANF_SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAXSIOCDIFADDR 0x8936__SYSCALL_WORDSIZE 64__USE_LARGEFILE__DEC32_MIN_EXP__ (-94)buf_add(b,n) (buf__fit((b), n), buf__hdr(b)->len += n, &(b)[buf__hdr(b)->len - n])_POSIX_SAVED_IDS 1__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1editorState_editor__bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)OCRNL 0000010TCSETA 0x5406__UINT32_TYPE__ unsigned int_SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAXCSTART CTRL('q')assert(expr) ((expr) ? __ASSERT_VOID_CAST (0) : __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION))__FLT64X_DIG__ 18_SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX_____fpos64_t_defined 1CSTATUS _POSIX_VDISABLEN_HDLC 13__LDBL_MAX_10_EXP__ 4932__END_DECLS __DEC64_EPSILON__ 1E-15DDFILENAME_MAX 4096level_SC_NL_LANGMAX _SC_NL_LANGMAX_SC_FILE_SYSTEM _SC_FILE_SYSTEM_STRING_H 1_SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_INHERIT__DEC32_MAX_EXP__ 97__OFF_T_TYPE __SYSCALL_SLONG_TYPE_POSIX_BARRIERS 200809L_SC_CHAR_BIT _SC_CHAR_BIT_IOC_NRMASK ((1 << _IOC_NRBITS)-1)TIOCSTI 0x5412_LFS_ASYNCHRONOUS_IO 1TIOCMBIC 0x5417__FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128__SIZEOF_INT128__ 16_SC_IPV6 _SC_IPV6__HAVE_FLOATN_NOT_TYPEDEF 1CERASE 0177TIOCSSOFTCAR 0x541ASIOCGIFDSTADDR 0x8917_SC_DEVICE_IO _SC_DEVICE_IOIOC_OUT (_IOC_READ << _IOC_DIRSHIFT)TIOCSSERIAL 0x541F__size_t__ TIOCSERSETMULTI 0x545B_SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE_SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE__FLT64X_HAS_INFINITY__ 1__attribute_used__ __attribute__ ((__used__))INPUT_RIGHT 67__CHAR_BIT__ 8SIOCGIFINDEX 0x8933EOF (-1)__GLIBC_USE_IEC_60559_TYPES_EXT 0_XOPEN_REALTIME_THREADS 1INTMAX_MAX (__INT64_C(9223372036854775807))__stub___compat_bdflush SIOCSIFBRDADDR 0x891a_SC_TRACE_INHERIT _SC_TRACE_INHERIT_SC_2_C_DEV _SC_2_C_DEV_SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R_SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING_FEATURES_H 1__f64(x) x ##f64__FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x_BSD_SIZE_T_ __va_arg_pack_len() __builtin_va_arg_pack_len ()B4800 0000014_POSIX_THREADS 200809L__attribute_deprecated__ __attribute__ ((__deprecated__))__has_include_next(STR) __has_include_next__(STR)_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVSTCSBRKP 0x5425_SC_MESSAGE_PASSING _SC_MESSAGE_PASSING_PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN_CS_V7_ENV _CS_V7_ENV__off64_t_POSIX_JOB_CONTROL 1_CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGSFT_UNKNOWNTIOCSER_TEMT 0x01__GCC_ATOMIC_POINTER_LOCK_FREE 2__USE_EXTERN_INLINES 1__DEC32_MAX__ 9.999999E96DFmarkdown_nodestcflag_t__OFF64_T_TYPE __SQUAD_TYPE_SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE__HAVE_FLOAT32X 1__FLT32_MAX_10_EXP__ 38TIOCPKT_NOSTOP 16_PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE__DEC64_MAX_EXP__ 385stateSIOCSIFDSTADDR 0x8918__WINT_WIDTH__ 32_SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIGCSTOP CTRL('s')__LDBL_HAS_DENORM__ 1IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)_ANSI_STDDEF_H TIOCGPGRP 0x540FINPUT_DELETE2 126__LEAF , __leaf__c_oflag_CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBSinputTIOCM_RNG 0x080__GCC_ATOMIC_INT_LOCK_FREE 2__UINT32_C(c) c ## U__FLT64_MAX_EXP__ 1024__INT_FAST32_MAX__ 0x7fffffffffffffffL__REGISTER_PREFIX__ internal staticTIOCPKT_IOCTL 64_mode_CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBSSTDIN_FILENO 0__REDIRECT_NTH_LDBL(name,proto,alias) __REDIRECT_NTH (name, proto, alias)_XOPEN_ENH_I18N 1INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1)_SC_UCHAR_MAX _SC_UCHAR_MAX_IO_write_base_SC_2_C_VERSION _SC_2_C_VERSIONTCGETS2 _IOR('T', 0x2A, struct termios2)_BITS_STDIO_H 1__f32(x) x ##f32isupper(c) __isctype((c), _ISupper)SIOCADDDLCI 0x8980__INO_T_TYPE __SYSCALL_ULONG_TYPE_IO_FILE__HAVE_FLOAT128 1B75 0000002TIOCM_DTR 0x002__GID_T_TYPE __U32_TYPE_IOC_SIZEBITS 14__INT_LEAST16_WIDTH__ 16_SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER__linux__ 1c_lflagSIOCDELDLCI 0x8981_SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC__ptr_t void *FOPEN_MAX 16__stub_putmsg __SLONG32_TYPE int_POSIX2_C_DEV __POSIX2_THIS_VERSION__STDC_HOSTED__ 1__DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD__INT_FAST32_TYPE__ long int__need_ptrdiff_t__k8__ 1__SIZEOF_FLOAT80__ 16__SIZEOF_FLOAT128__ 16__INT_LEAST32_MAX__ 0x7fffffff__FLT32_MAX_EXP__ 128__USE_ISOCXX11N_X25 6__UINTMAX_MAX__ 0xffffffffffffffffUL_SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS_SC_OPEN_MAX _SC_OPEN_MAX_IO_ERR_SEEN 0x0020__DBL_HAS_DENORM__ 1SIOCRTMSG 0x890D__UINT32_MAX__ 0xffffffffU__FLT64_MAX_10_EXP__ 308CFLUSH CDISCARD_CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBSinputHistoryIndex__glibc_clang_prereq(maj,min) 0_SC_XOPEN_UNIX _SC_XOPEN_UNIXINT8_MIN (-128)__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2UINT8_MAX (255)_IO_marker_SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES__GNUC_STDC_INLINE__ 1stdin stdin__FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x__POSIX2_THIS_VERSION 199209LTIOCM_RI TIOCM_RNGSIOCSIFNAME 0x8923__PMT(args) args_POSIX_TYPED_MEMORY_OBJECTS -1__WCHAR_WIDTH__ 32TIOCPKT_START 8INT_LEAST16_MAX (32767)__FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64_SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR__PTRDIFF_T TIOCINQ FIONREADEXIT_SUCCESS 0_CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION__WCHAR_MAX__ 0x7fffffff_POSIX_THREAD_ATTR_STACKADDR 200809LSIOCGIFADDR 0x8915_SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC_POSIX_MEMLOCK 200809L_SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC_SYS_CDEFS_H 1version "1902b"_SC_THREAD_ROBUST_PRIO_PROTECT _SC_THREAD_ROBUST_PRIO_PROTECTVSUSP 10_MALLOC_H 1ISTRIP 0000040FOPEN_MAXINPCK 0000020__SIZE_T termios_SC_CHILD_MAX _SC_CHILD_MAX_IO_codecvtCBRK CEOL_POSIX_TRACE_EVENT_FILTER -1_SC_2_PBS_TRACK _SC_2_PBS_TRACK__CFLOAT32 _Complex _Float32__GCC_ATOMIC_SHORT_LOCK_FREE 2_SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE__GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))COL_BLUE "\x1b[34m"PARODD 0001000__BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE__GCC_ASM_FLAG_OUTPUTS__ 1__BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE__SIZEOF_POINTER__ 8_SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE_PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE_T_SIZE __FLT64X_MANT_DIG__ 64FIOCLEX 0x5451TIOCMIWAIT 0x545C__CFLOAT64 _Complex _Float64_POSIX_REENTRANT_FUNCTIONS 1_SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLNFT_VUEoutline_POSIX_TRACE_INHERIT -1SIOCSIFBR 0x8941toupper(c) __tobody (c, toupper, *__ctype_toupper_loc (), (c))c_iflag__flexarr []__CFLOAT64X _Complex _Float64x__MAX_BAUD B4000000__ASMNAME2(prefix,cname) __STRING (prefix) cname_BITS_TYPES_H 1TIOCSIG _IOW('T', 0x36, int)__FLT64_HAS_INFINITY__ 1SIOCGIFFLAGS 0x8913UINT_LEAST16_MAX (65535)isblank(c) __isctype((c), _ISblank)BRKINT 0000002__REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))__LONG_LONG_MAX__ 0x7fffffffffffffffLLCTRL(x) (x&037)__FLT64X_MAX_EXP__ 16384_T_WCHAR_ __STDC_VERSION__ 199901LINT_LEAST32_MIN (-2147483647-1)COL_YELLOW "\x1b[33m"RAND_MAX 2147483647_POSIX_CLOCK_SELECTION 200809L_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS_SC_SCHAR_MIN _SC_SCHAR_MIN__GCC_ATOMIC_LLONG_LOCK_FREE 2_CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGSB9600 0000015__INT_FAST32_WIDTH__ 64_SC_CLK_TCK _SC_CLK_TCKVTDLY 0040000_POSIX2_LOCALEDEF __POSIX2_THIS_VERSION_SC_TRACE_SYS_MAX _SC_TRACE_SYS_MAX__FLT_MAX__ 3.40282346638528859811704183484516925e+38F_POSIX_REALTIME_SIGNALS 200809L__LONG_LONG_WIDTH__ 64_SC_2_C_BIND _SC_2_C_BINDSIOCDARP 0x8953_PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE_SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX_CS_LFS64_LIBS _CS_LFS64_LIBSB38400 0000017__realloc_hook__INO64_T_TYPE __UQUAD_TYPETIOCSPTLCK _IOW('T', 0x31, int)__stub_sigreturn _SC_2_LOCALEDEF _SC_2_LOCALEDEFSIOCGIFMETRIC 0x891d__HAVE_DISTINCT_FLOAT32 0INPUT_CTRL_L 12__S32_TYPE int__GLIBC_USE_DEPRECATED_GETS 1_SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAXFT_LUA__LDBL_HAS_QUIET_NAN__ 1__S16_TYPE short int_SC_CHAR_MAX _SC_CHAR_MAX__FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64__KEY_T_TYPE __S32_TYPElineNum_IO_buf_base_XOPEN_XCU_VERSION 4isalnum(c) __isctype((c), _ISalnum)__WCHAR_MIN __WCHAR_MIN__true 1_SC_NL_SETMAX _SC_NL_SETMAX_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS__attribute_artificial__ __attribute__ ((__artificial__))_POSIX_IPV6 200809L_SC_PIPE _SC_PIPE_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGSSTDERR_FILENO 2__FSBLKCNT64_T_TYPE __UQUAD_TYPESIG_ATOMIC_MAX (2147483647)__LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19LmodifiedgetchB110 0000003__SIG_ATOMIC_WIDTH__ 32__STD_TYPE_SC_CHAR_MIN _SC_CHAR_MIN__CLOCKID_T_TYPE __S32_TYPE_CS_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVSUINT_LEAST64_MAX (__UINT64_C(18446744073709551615))__SYSCALL_ULONG_TYPE __ULONGWORD_TYPE__ULONG32_TYPE unsigned int__HAVE_FLOAT32 1B1200 0000011__INT_FAST64_TYPE__ long int__need_NULL COL_GREEN "\x1b[32m"N_SMSBLOCK 12_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGSINPUT_UP 65_IO_wide_data_POSIX_THREAD_PRIORITY_SCHEDULING 200809L__LDBL_MANT_DIG__ 64_SC_XOPEN_LEGACY _SC_XOPEN_LEGACYB115200 0010002FT_CFT_TEXT_SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGENULL ((void *)0)__MALLOC_DEPRECATED __attribute_deprecated__N_TTY 0__ORDER_BIG_ENDIAN__ 4321B134 0000004__gnu_linux__ 1_SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORTbufferbuf_free(b) ((b) ? (free(buf__hdr(b)), (b) = NULL) : 0)_CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGSTCGETS 0x5401__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1__FLT64X_HAS_DENORM__ 1_SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCKFT_JS_SC_LONG_BIT _SC_LONG_BITINT64_MIN (-__INT64_C(9223372036854775807)-1)__SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)TCOFLUSH 1_SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAXforceExit_CS_LFS_LIBS _CS_LFS_LIBS_PC_ASYNC_IO _PC_ASYNC_IObuf_cap(b) ((b) ? buf__hdr(b)->cap : 0)__STDC_IEC_559_COMPLEX__ 1_SC_NL_TEXTMAX _SC_NL_TEXTMAXWCHAR_MAX __WCHAR_MAXN_IRDA 11_CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS__LDBL_REDIR_NTH(name,proto) name proto __THROWSIOCGIFSLAVE 0x8929__extern_inline extern __inline __attribute__ ((__gnu_inline__))__need_wchar_t__FLT_DECIMAL_DIG__ 9INTPTR_MAX (9223372036854775807L)_T_PTRDIFF TIOCGPTN _IOR('T', 0x30, unsigned int)VSTART 8_SC_TRACE_EVENT_NAME_MAX _SC_TRACE_EVENT_NAME_MAX_SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX__GLIBC_USE_IEC_60559_BFP_EXT 0__INTPTR_WIDTH__ 64__linux 1__exctype(name) extern int name (int) __THROWFT_CPP__GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))defaultIndentSize__FINITE_MATH_ONLY__ 0_shortbuf__HAVE_DISTINCT_FLOAT64X 0__FLT32X_HAS_QUIET_NAN__ 1SIOCGRARP 0x8961_SC_FIFO _SC_FIFO_CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS__FLT32_HAS_DENORM__ 1IUCLC 0001000__tobody(c,f,a,args) (__extension__ ({ int __res; if (sizeof (c) > 1) { if (__builtin_constant_p (c)) { int __c = (c); __res = __c < -128 || __c > 255 ? __c : (a)[__c]; } else __res = f args; } else __res = (a)[(int) (c)]; __res; }))_SC_2_CHAR_TERM _SC_2_CHAR_TERM__INT_LEAST64_MAX__ 0x7fffffffffffffffLCINTR CTRL('c')_IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)INT_LEAST16_MIN (-32767-1)TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL)_STDC_PREDEF_H 1_SC_USER_GROUPS _SC_USER_GROUPSN_AX25 5__extern_always_inline extern __always_inline __attribute__ ((__gnu_inline__))_XOPEN_REALTIME 1_SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N_SC_NGROUPS_MAX _SC_NGROUPS_MAX__INT32_TYPE__ int_SC_USER_GROUPS_R _SC_USER_GROUPS_RFIONREAD 0x541B__bos0(ptr) __builtin_object_size (ptr, 0)_SC_PAGESIZE _SC_PAGESIZECLAMP_MIN(x,min) MAX(x, min)__GLIBC_USE_DEPRECATED_GETS__FLT64_DIG__ 15_SC_ULONG_MAX _SC_ULONG_MAX__GCC_ATOMIC_BOOL_LOCK_FREE 2TextOutlineNode__DEC64_MAX__ 9.999999999999999E384DD_POSIX_MONOTONIC_CLOCK 0__USE_FILE_OFFSET64_IOR_BAD(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))BookmarkType__DBL_MIN__ ((double)2.22507385850720138309023271733240406e-308L)SIOCDRARP 0x8960N_PPP 3stderr stderrCS5 0000000_IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)widthisgraph(c) __isctype((c), _ISgraph)TIOCVHANGUP 0x5437_SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTSVLNEXT 15_SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN_SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE__nonnull(params) __attribute__ ((__nonnull__ params))TIOCGEXCL _IOR('T', 0x40, int)__BLKCNT64_T_TYPE __SQUAD_TYPE__STDIO_INLINE __extern_inline__PDP_ENDIAN 3412_SC_MB_LEN_MAX _SC_MB_LEN_MAX_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGSVEOF 4argc__SIZEOF_DOUBLE__ 8__FLOAT_WORD_ORDER __BYTE_ORDERTIOCGICOUNT 0x545D_SC_TIMER_MAX _SC_TIMER_MAXTIOCSERGETMULTI 0x545Ac_cflag__FLT128_MAX_EXP__ 16384N_HCI 15TIOCPKT_FLUSHWRITE 2argv_BSD_WCHAR_T_ __lldiv_t_defined 1_ASSERT_H 1__attribute_noinline__ __attribute__ ((__noinline__))OFDEL 0000200INPUT_BACKSPACE 127_SC_TIMEOUTS _SC_TIMEOUTSioctl__ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0)FT_CSSSIOCGIFTXQLEN 0x8942__glibc_clang_has_extension(ext) 0__USE_GNU__USE_POSIX2__OPTIMIZE__ 1_SC_2_UPE _SC_2_UPE_SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX_SC_SINGLE_PROCESS _SC_SINGLE_PROCESS_SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64M_TOP_PAD -2_SC_RAW_SOCKETS _SC_RAW_SOCKETS_SC_CLOCK_SELECTION _SC_CLOCK_SELECTIONTCSETS 0x5402_SC_AIO_MAX _SC_AIO_MAX__code_model_small__ 1__SWORD_TYPE long int__need_wchar_t __USE_XOPEN2KXSICS6 0000020INPUT_LEFT 68_IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)B2400 0000013__ATOMIC_ACQ_REL 4_SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION__time64_t __time_t_SIZET_ __INT8_TYPE__ signed charTIOCNXCL 0x540D_IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))UINT16_MAX (65535)_HAVE_STRUCT_TERMIOS_C_OSPEED 1__SSE2_MATH__ 1__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1__MMX__ 1TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY)__CPU_MASK_TYPE __SYSCALL_ULONG_TYPEcommand_executeCommandX_OK 1__TIME64_T_TYPE __TIME_T_TYPECMIN 1_BITS_TYPESIZES_H 1_IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS_SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE__FLT64_MIN_EXP__ (-1021)SIOCADDMULTI 0x8931SIOCSIFHWADDR 0x8924_IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)_ALLOCA_H 1_SC_PASS_MAX _SC_PASS_MAXPTRDIFF_MIN (-9223372036854775807L-1)buf__fits(b,n) (buf_len(b) + (n) <= buf_cap(b))ONOCR 0000020__FXSR__ 1__INT_FAST8_TYPE__ signed charTIOCGDEV _IOR('T', 0x32, unsigned int)TIOCM_DSR 0x100__USE_POSIX199309SIG_ATOMIC_MIN (-2147483647-1)__SEG_GS 1_SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM__FLT32X_MIN_EXP__ (-1021)_CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LIBS__ASSERT_VOID_CAST (void)VREPRINT 12_BSD_PTRDIFF_T_ __WCHAR_T _PC_NAME_MAX _PC_NAME_MAX__STDC_IEC_559__ 1_freeres_buf__ATOMIC_HLE_ACQUIRE 65536__DEC64_MIN__ 1E-383DD_BITS_WCHAR_H 1__WINT_TYPE__ unsigned intlineRange__INT_FAST8_MAX__ 0x7f__HAVE_DISTINCT_FLOAT32X 0IGNPAR 0000004CS7 0000040__FLT128_HAS_INFINITY__ 1ReplaceLine__SIZEOF_SHORT__ 2memmove_SC_NL_MSGMAX _SC_NL_MSGMAX__UINT_FAST16_TYPE__ long unsigned int_cur_column__LONG_WIDTH__ 64_XOPEN_LEGACY 1__UINT8_MAX__ 0xffBT_UNKNOWNkind_SC_USHRT_MAX _SC_USHRT_MAX_____fpos_t_defined 1__DECIMAL_BID_FORMAT__ 1_SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZECR_LF__GLIBC_USE_IEC_60559_FUNCS_EXT 0_SC_TZNAME_MAX _SC_TZNAME_MAX__UINT_FAST8_MAX__ 0xff_CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS__FLT128_MANT_DIG__ 113__need_size_t__BEGIN_DECLS _SC_SPAWN _SC_SPAWN__restrict_arr __restrict_SC_UINT_MAX _SC_UINT_MAX_CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS_STDINT_H 1buffers__DEC32_MIN__ 1E-95DF_XOPEN_VERSION 4_BITS_FLOATN_H __FLT64_DECIMAL_DIG__ 17_POSIX_NO_TRUNC 1ws_ypixel_SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX_PC_LINK_MAX _PC_LINK_MAX_SC_UIO_MAXIOV _SC_UIO_MAXIOV__FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32__UINT64_C(c) c ## UL__ATOMIC_CONSUME 1_IOWR_BAD(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))__stub_revoke _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG__glibc_unlikely(cond) __builtin_expect ((cond), 0)_SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING__UID_T_TYPE __U32_TYPE_SC_2_VERSION _SC_2_VERSION_CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS_SC_VERSION _SC_VERSION_POSIX_PRIORITIZED_IO 200809LReplaceString_IO_backup_basebuffer_initEmptyBuffer__RLIM64_T_TYPE __UQUAD_TYPE_POSIX_TRACE -1__GCC_ATOMIC_WCHAR_T_LOCK_FREE 2_IO_read_ptrisalpha(c) __isctype((c), _ISalpha)__INT_LEAST32_TYPE__ intBUFSIZ 8192SIOCSIFFLAGS 0x8914__SIZEOF_PTRDIFF_T__ 8__DBL_DECIMAL_DIG__ 17_POSIX_REGEXP 1ws_xpixel__SSIZE_T_TYPE __SWORD_TYPE_SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIGCDISCARD CTRL('o')STDOUT_FILENO 1_VA_LIST_T_H __ssize_t_defined M_MXFAST 1_SC_SSIZE_MAX _SC_SSIZE_MAX__toascii(c) ((c) & 0x7f)N_STRIP 4B576000 0010006_freeres_list____FILE_defined 1__DBL_MIN_EXP__ (-1021)__GLIBC_USE_DEPRECATED_SCANF 0_SC_SCHAR_MAX _SC_SCHAR_MAX_SC_SAVED_IDS _SC_SAVED_IDSTIOCPKT_DOSTOP 32__HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X__attribute_copy__(arg) _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZETCSETXW 0x5435__attribute_alloc_size__(params) __attribute__ ((__alloc_size__ params))_SC_SEMAPHORES _SC_SEMAPHORES_POSIX_SHARED_MEMORY_OBJECTS 200809L_SC_FD_MGMT _SC_FD_MGMT_POSIX_ADVISORY_INFO 200809LcanQuit__ASSERT_FUNCTION __extension__ __PRETTY_FUNCTION__BufHdr_SC_SS_REPL_MAX _SC_SS_REPL_MAXUINTMAX_MAX (__UINT64_C(18446744073709551615))_old_offset___int_ptrdiff_t_h _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS__FLT128_HAS_QUIET_NAN__ 1_POSIX_THREAD_PRIO_PROTECT 200809L__attribute_nonstring__ __attribute__ ((__nonstring__))__TIMER_T_TYPE void *SIOCGIFBR 0x8940FT_C_HEADER_IOC_DIRBITS 2SIOCSIFADDR 0x8916SIOCGIFCONF 0x8912clrscr__FLT32X_HAS_DENORM__ 1va_start(v,l) __builtin_va_start(v,l)COL_RED "\x1b[31m"__FLT32_HAS_QUIET_NAN__ 1tryQuit__ATOMIC_RELEASE 3__GNU_LIBRARY__ 6long long int__FSFILCNT64_T_TYPE __UQUAD_TYPEWINT_MIN (0u)_SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64TCFLSH 0x540BinputHistory_flags2_SC_2_PBS _SC_2_PBSEXIT_FAILURE 1va_end(v) __builtin_va_end(v)ws_col_POSIX2_CHAR_TERM 200809L__after_morecore_hook__DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL_SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADSisxdigit(c) __isctype((c), _ISxdigit)BT_SECTION_POSIX_CPUTIME 0__feof_unlocked_body(_fp) (((_fp)->_flags & _IO_EOF_SEEN) != 0)SIOGIFINDEX SIOCGIFINDEXbuf_pop_all(b) (buf__hdr(b)->len = 0)M_PERTURB -6FileTypec_ospeed__INTMAX_MAX__ 0x7fffffffffffffffL_SC_PHYS_PAGES _SC_PHYS_PAGES__x86_64__ 1_ASM_GENERIC_IOCTL_H TCSANOW 0_CS_LFS_CFLAGS _CS_LFS_CFLAGS__attribute_deprecated_msg__(msg) __attribute__ ((__deprecated__ (msg)))__DBL_MAX__ ((double)1.79769313486231570814527423731704357e+308L)IXON 0002000TIOCNOTTY 0x5422_CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS__SSE__ 1__DBL_HAS_QUIET_NAN__ 1VSWTC 7tolower(c) __tobody (c, tolower, *__ctype_tolower_loc (), (c))__DEC32_MANT_DIG__ 7__USE_ATFILE_IOLBF 1__FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F_POSIX2_C_BIND __POSIX2_THIS_VERSION__morecore__FLT32X_MIN_10_EXP__ (-307)_SC_AVPHYS_PAGES _SC_AVPHYS_PAGES_SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE__unix 1_CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS__LDBL_HAS_INFINITY__ 1_CS_LFS64_CFLAGS _CS_LFS64_CFLAGS_SC_MEMLOCK _SC_MEMLOCK__attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))_SC_THREAD_CPUTIME _SC_THREAD_CPUTIME_IOFBF 0INTPTR_MIN (-9223372036854775807L-1)FORCE_EXITPTRDIFF_MAX (9223372036854775807L)__CLOCK_T_TYPE __SYSCALL_SLONG_TYPE__FLT64X_MIN_EXP__ (-16381)INPUT_CTRL_X 24_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS_CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS__SIZEOF_LONG_DOUBLE__ 16_PC_MAX_INPUT _PC_MAX_INPUT__INT_FAST16_TYPE__ long int__FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPEINPUT_SPECIAL2 91__FLT64_HAS_DENORM__ 1_POSIX_READER_WRITER_LOCKS 200809L__FLT128_DECIMAL_DIG__ 36__FLT_HAS_DENORM__ 1_PC_VDISABLE _PC_VDISABLE_markersbuf_push(b,x) (buf__fit((b), 1), (b)[buf__hdr(b)->len++] = (x))__PID_T_TYPE __S32_TYPEgetTermSizeVT0 0000000COL_CYAN "\x1b[36m"IGNCR 0000200destinationOLCUC 0000002__LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L__SIZEOF_FLOAT__ 4main__DEC128_EPSILON__ 1E-33DL__SIZE_T__ _SC_PII_OSI_COTS _SC_PII_OSI_COTS_SC_FSYNC _SC_FSYNCTIOCEXCL 0x540CSIOCSIFENCAP 0x8926__UINT_LEAST8_TYPE__ unsigned char__NLINK_T_TYPE __SYSCALL_ULONG_TYPE__STDC_ISO_10646__ 201706L__LDBL_MIN_10_EXP__ (-4931)_SC_INT_MIN _SC_INT_MIN_SC_CPUTIME _SC_CPUTIME__warnattr(msg) __attribute__((__warning__ (msg)))__GLIBC_MINOR__ 29__STRING(x) #xTOSTOP 0000400TCSETSW 0x5403TCSETAF 0x5408_SC_PII_OSI _SC_PII_OSISEEK_CUR 1__CHAR16_TYPE__ short unsigned int_POSIX_THREAD_ATTR_STACKSIZE 200809L_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGSTIOCM_SR 0x010VDISCARD 13_SC_SHRT_MAX _SC_SHRT_MAX_CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS_SC_XOPEN_STREAMS _SC_XOPEN_STREAMS__attribute_const__ __attribute__ ((__const__))_IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)fflushstdout stdoutINPUT_ESC 27__FLT_MIN__ 1.17549435082228750796873653722224568e-38F__SYSCALL_SLONG_TYPE __SLONGWORD_TYPESIOCSIFMTU 0x8922__SIZE_TYPE__ long unsigned int__LDBL_MAX_EXP__ 16384_POSIX_THREAD_SPORADIC_SERVER -1VINTR 0__GNUC_MINOR__ 3_SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHAREDuseSpacesIOCSIZE_SHIFT (_IOC_SIZESHIFT)_LP64 1INT_LEAST64_MAX (__INT64_C(9223372036854775807))_vtable_offset__UINT_LEAST16_TYPE__ short unsigned int__S64_TYPE long int_SC_V7_LP64_OFF64 _SC_V7_LP64_OFF64__UINT_FAST32_MAX__ 0xffffffffffffffffUL__GNUC__ 8_SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IOIOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)__INT_FAST8_WIDTH__ 8__UINTMAX_C(c) c ## ULB921600 0010007_STDARG_H TIOCM_CTS 0x020__PTRDIFF_TYPE__ long intprintFileInfo_CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS__UINT_LEAST8_MAX__ 0xff__ATOMIC_SEQ_CST 5bool char__FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x__INT64_C(c) c ## LCQUIT 034TCSBRK 0x5409TCXONC 0x540ASIOCSIFTXQLEN 0x8943__GLIBC_USE_LIB_EXT2MAX(x,y) ((x) >= (y) ? (x) : (y))__DBL_DIG__ 15CKILL CTRL('u')includeNumberscreateTextOutlineparseBookmarkbookmarkName_lengthwordLengthhasKeywordcreateMarkdownOutlineouterContinuenegativeshowTextOutlinesrc/parsing.cshowJSOutline__builtin_fwritefreeskipBookmarkparseLineNumberlineLengthget_bookmarkline_startskipTextshowCOutlineskipWordshowOutlinedefaultLengthnode_iline_endstrncmpcurrentIndexresult_bookmarknumbergetInputprevLevelcreateJSOutlineincludeSymbolsrecreateOutlinespecial2COLOR_CYANlineNumbercurrentNameLengthspecialkeyheaderLinecreateLuaOutlineftExtstart_endLinecurrentNamestartWordpStringendBoundfoundresultshowMarkdownOutlinecreateCOutlineshowLuaOutline__assert_failname_startcolors_printfcurrentbackwardscallbackCOLOR_WHITEparseLineRangeline_range_lengthCOLOR_MAGENTAskipNumbersname_endfputcCOLOR_YELLOWcodeStartparamStartbookmarkNameblankBeforenodecanceledJSOutlineNodeinputKeyCallbackCOLOR_REDupdatedprintLineCOLOR_GREENskipWhitespacebookmarkRangegetFileTypeExtensioninputBufferlinenumbeforeline_rangerelativeEndendWordtrimSpaceparamEndCOLOR_BLACKgetcharparsing_getLineadd_bookmarkCOLORskipSymbolsskipLineNumberbookmark_rangeCOLOR_BLUEparsing_getLine_dynamicfunctionKeywordexistsvalue_end__builtin_putcharfoundIndexprintNewLinebuffer_findStringnextbuffer_insertBeforeLinesetting_endcheckLineNumbermaxCharslastInputpointingStringbuffer_insertAfterLinecolIndexindexcommand_moveUppreviousLinelinesAtATimebuffer_deleteLinepreviousfilename_lengthboundSizeisSpecialbuffer_findStringInLinecommand_insertAfterbuffer_replaceLinebuffer_moveLineUpstr2buffer_saveFilestrncpycommand_findStringInLinelastLinespace_lengthcommand_jumpbuffer_replaceInLineprintStrLengthcommand_prependToscopeOpeningCountrestcommand_previewcommandeditorState_openAnotherFilecommandInputCallbacksetting_startbufferEmptyeditorState_openNewFilestrLengthfilename_buftoEndline_structstartLineforwardinsensitivecommand_insertBeforecommand_replaceStringbuffer_prependToLinefilenamebuffer_moveLineDowninsertLinesoperationsrc/editor.cinputCanceledcommand_deleteLinemultiLineEditorlastCharstrtolcommand_list_bookmarkscommand_replaceAllStringresetClipboardbuffer_appendToLinelineInputcommand_findAllStringcommand_replaceLineprintTextnumOfLinesprintLineNumbercurrentLengthoriginal_linefirstMovedLinevalue_startcommand_appendTowhitespaceCountcommand_saveendLengthcommand_moveDownprintPromptcommand_findStringatLeastOneExistscommand_printHelpScreencommand_print_linesdoCopyrestLengthcommand_define_bookmarkxrealloc__fmtsrc/stretchybuffer.c__argnum_bytes__gnuc_va_listfp_offset__va_list_tagfatalxmallocnum_elems__builtin_va_listgp_offsetvprintfoverflow_arg_areaelem_sizenew_sizereg_save_areanew_lennew_capnew_hdrxcallocvfprintfmap_putmap_get_uint64valsmap_get_uint64_from_uint64hash_ptrhash_mixmap_testmap_get_from_uint64__uint64_tuintptr_tmap_put_from_uint64hash_byteskeysmap_getmap_growhash_uint64src/hashmap.cnew_mapmap_put_uint64map_put_uint64_from_uint64colors_putssrc/colors.cresetColorforegroundlineToDeletecopyAmtoldBuffermoveSourcefopenlineToPrependTolengthOfStringToReplacefgetcspace_amtisTypelineToAppendToemptyOperationlineToSearchendIndexspacesUsedcopySourceaddedAmtstr_isLowercaserewindsrc/buffer.cemptyLinetabsUsedspaceNumlowestSpaceNumtabNumlineToMovefclosemoveDestinationcr_lf_countcopyDestinationlinesAddedAmtbeginningcr_counttab_amtlineToReplacetabNumberscurrent_space_countfseeklineToReplaceIncurrent_tab_count__builtin_memcpystr_isUppercasestartIndexlineToInsertBeforedotIndexspaceNumberslineToInsertAfter../sysdeps/x86_64/crtn.S)U)SUSZU)T)VTVZTPVZVPSZS101PP0	sv)gTgUpq"tPH!Atq"P202	sv)TUpq"tPH!Atq"PUSUS0
sk@sk@#
sk@?sUs=\=DUD]\?sTQsVSVPVP:VSDRVP?cRo?]D]]?sXs]?sYs]Yjsqt#xPP]0]
]_DPDD]
]_0YUUYrTQYRv]v010v0vVUsSp1
UUYs]S|p1UsSp1U[_scSp1Us!Sp1U))	()3)^3)6)R6)m)~m)z)Vz)~)^)**^9*I*^I*r*~))0()z)Vz)~)v)0*V0*4*]9*t*V()+)_P+)w)_S)*P**_*$*_P))U()+)P+)z)S))U))P))U)*P**_*$*P)*S()~)
W@)$*
W@()~)1)$*1()z)V*$*V))0))Q))q%&	&&&^&&)&R)&`&~`&m&Vm&q&^t&'^,'<'^<'e'~%&0&m&Vm&q&vt&#'V#'''],'g'V&&_P&j&_S&'P''_''_P&&U&&P&m&S&&U&&P&&U&'P''_''P&'S&q&
W@&'
W@&q&1&'1&m&V''V&&0&&Q&&q$$X$$XV$$XR$$xR$$x$%P%!%X!%%%X(%r%Xr%w%Vw%}%X%%X%%XR%%xR%%x%%P$$T%%%T(%e%Tj%u%Tw%}%T%%T$%V%%X%%%V(%h%Vj%o%Vo%w%Pw%%V%%V$!%S!%%%s(%~%S%%S	z z } R}  #     !#!!!0!~0!$$e$0 ^  ~ #^#$~$e$^$]$ !#!4!>!]>!A!pA!E!PE!f!]f!t!p]t!!\]!#]0!j!\'$e$\$$BSBQPQR]RP0!8!P8!#'$N$\N$e$P V!$V9$e$V$S$ !0!0!#SN$Q$PQ$e$S 0!$0N$e$0$}|#$ |#!0!|#}!"P"#}|# O Sf m S r P!!PO f Sm  S!0!Sm  	~!0!	~$SBQPQU]U]UCIUKbUe{UU^^S~SRCF^K^^^b^e{^^^R~R~P^S^bseS]SK\s3$q"s3$q"Ss3$q"S\s3$v"S\CS\CKs3$q"S\PK|UU__P__:P:;UUUTSTST;UU;TT;Q]Q	]		Q	];RSR	S	RxPPP0V	V	1
V

V,V@IVcVV
VIPI|V2]VVvV0\	u8$8&U0VV V*3VMVV0V*303MVmz	p8$8&pr"Tpu"UqrpprVvEV	p8$8&"U@G0GbVbfvfV]vV8Vv4V0\
	p8$8&Uz04U\UY|`\4=0=UVl88	p8$8&U

0

V

rp"

T

rp"#

U

 $ & rp",
5
05
M
V

#

VAwVw{v{VAK0Kg\gk	u8$8&kvU\v\|\0V8TUqrQ@I0IcV0V1V%
V%
)
v)
p
V0
\U
Y
	u8$8&Y
d
Ug
p
0p

V

V

\\|6\

0

V8L]rp"]fTLbrp"#bfULf $ & rp"u|#|VvV0\	u8$8&U2\6h\hl|l\02VWh8	v8$8&	U	
	v8$8&7	H	:	v8$8&U	v8$8&{UVU(V(/U/;V{T(T(3T3;TPSSP(S6;PUW\WZUZm\mtUt{\TY]YZTZm]mxTx{]QmQmxQx{Q'P(GPZkPy{P0s@S@DVOOPZ{0/TUT\U\U(\(?U/QTQ]T]?T/NQNSQ?S/XRXVR?V\iPi{_{P_PP_7P;HPHY_YPP_
PP2]27P7\^\PP^P^P$P$3^3?Pm^^~}
vvo~}~}`}v}v00?;HPH_NXPXP_PPL]]$?](2P2?\P\TpTUQU^\^pUp$\$/UT^V^pTp$V$/TQ^Q^pQp/Qt^]^ptp$]$/T#TV:P:\q^pTprPqqP
q:P:\qprPqqP
qS^SSpuSSu|8|8SSRRSSRRSRSRSS1S1|8SS|8|8SSRRSR
SR
1S1|8SSSR$S)-]-\]Q\^]]Q]]Q]]Q
]
]Q$]-\q}#q}#q}#q}#
q}#^ku8u8qQQPPsU\U\sTPTsQVQVsTPTPSPQSKQ[bQb{S{PQPSSPSQQpKSQK[S[fSQf{sQ{SSQ0Tq1$Tb{00Ub{02U2[P[]U]aPabpbqPqsU[T[]T]qTqsT2U2GPG[U[\U#\qPqrUrsPUUP
U
UUpUP05U5U35U5PQ0QU0PQTQ	TR	Rrp"	rp"	G
UG
P
t

U

U

t

U

q
Uq U )q/;U;DqU37U	9
T9

T

T

T

T

T

T
T)T)T&T&3T37T7BT	
Q

S

Q

Q
ZSZQSQ7S7BQw

QJ_Q0Q

0_SsSe]	u8$8&U4zUzU\|p}\}~qU|\}~\"|`"+\6\PP6?PjsPt}PP	11]6]]\pUS@E0EO-sOR.sRj-s~0-s.s-s0-s.s	-sVuV\OU6]TTT4T
Q
\QQ4QRRR4R0
Q
\v0P,	,6P6j\jv|v{p(4v0160OgPg]6HPH{](4]\ff\f{V{\(4\0{UUPUPUPU(400{SPSP"S".s6aSauPuSPSPSPS(40{VUX\TXTXfTfTQ]XQXfQfQRXVXfRfVR0QX]X~0~P	P]]01X00P^PX1^^6S6OPOXSPSPSUuVVVVTTTTQ]QQQRRRR0Q]0P&	&0P0]]0100LdPd_0BPB__]\``]`p\pu}u\\0uPPPPP0L0LPP0P0uSRSRS(s0bSbRSRSRSRS0uVU4]]>T>4T4BTBT5Q5?V?4Q4BQBQ>R>4^4BRB^R^(2025Q54V4Y0YbPb	PVV(?0??140?0P4\\0\\SP4SPSPS0-{-41{{BPUS/
L
S

S
SBT
T

T

T
TZUPVPV/
L
\t
v
\

0

V

\

V
0Z|u

|u
	|u	su\/
L
V

V

\C
L
\v

Sv

0

TlNNUNN^NO~O"OU"OjO^jOtOUtOQUlNNTNO]O"OT"OjO]jOtOTtO%P]%P*PP*PQ]QQ]lNNQNQlNNRNN_NOROtO_tOQRNN0NOVO"O0"OjOVjOtO0tOOPOPVPPPPlPVlPP0PPVPPPPOQVOQlQ0lQQVQQ0QQPQQVQQPNN NOPOOTOO_tOQ_NO^tOQ^NN0NNSOtOSNNPNNpNNPO"O0"OjO\jOtO0*PlPRlPPs $0 $+(r"!Q)Q0)QOQROQYQs $0 $+(r"*PsPP!Q)QV)QOQP*P@P0@PgPSgPlP0lPPs $0 $+(OQYQs $0 $+(OO0OOSOP0PPPOO2OOPOOpOO:[QlQ0lQQ\QQ0]UZUZaSamUm0VPZVZa0afVmUSPaSafPfkSU_U_U],_],MUMMUM0N_0NlNUU_PSP]P
\
 P-.P..S1q2^MMUMM_MMPMMSMMPMM]MNPN"NV"N0NPVM0N0PSSPS])S])],]],:-S]:-B-]--S]-.]..S]..]./S]/0]00S]00S11S]12]22S]22]22S]22]22S]22S23S]33Sw44S5)5S55S]55Sl6t6S]t66S67S]7A7SA7I7S]I7v7SE8^8S]^88]88S]8)9])9B9S]B9:]::S]:7:]7:P:S]P::]::S]:!;]!;(<S](<1<S=<A<S]A<T<],><>S]<>M>S>>S>>S]>?S3?S?S?_@S]_@A]ABS]BB]SC\CS]\CC]EES]EF]FFS]FH]HKS]KK]KLS]LL]L>MS]>MHM]HMRMS\MpM]pMMS]MMSMMS]MMSMMPMMSMMSPM0NS]0NKNSKN^NS]^NlN]
#P#^0^11^22^q2(4^w44^5)5^=5Q5^h5<^,>;C^SCD^ERM^\MM^"N0NP0NlN^#	|p"#	|~"|p	|~")	|~"#	|p"#	|~"|p	|~")	|~"}s)}s],:-}s--}s..}s./}s00}s11}s22}s22}s22}s23}s55}sl6t6}s67}sA7I7}sE8^8}s88}s)9B9}s::}s7:P:}s::}s!;(<}s=<A<}s,><>}s>>}s?_@}sAB}sSC\C}sEE}sFF}sHK}sKL}sL>M}spMM}sMM}sKN^N}s~))^))P))S))P))P))P)*\+8+\++\v++P--^-.^P. .^S*.F.^S-.p~.F.s~. .P*./.P01]HM\M]01S11SRM\MSY11S11S0&1V&1*1v*11V11VRM\MV11011S12S22S220q22S22s22S22S\MfMS22022]23033P3%3]550MM0%3u3\u3y3|y3$4\w44\5)5\=5Q5\h55\MM\p3u3P%343043O3P33033PMM0O3\3Q\3`3q`3y3Q~44V5)5V44P44\)5=5\44S)5=5S304S=5Q5S$404P04w4\Q5h5\$4w4SQ5h5Sh5z5Sz5~5s~55S;;si);;si)c;};	pi);;	pi)ABsi)B-Bsi)AA	pi)8BRB	pi)FVFp!AqPVF]Fp!AH!APFIFp!AqP#IFOFPnFFp!AqPFFp!AH!APFFp!AqPFFpFFPFFPFFp!Aq4&͙|1EE}EEPEESEFPGHPEEPE
FSGHSFFPG.GPFF|FGPGFG|FGvGSvGzGsGGSHHSfMpMS:-B-SB--S]--S--R--S]3--V--V3--^--^B-`-^`-u-Pu-v-\f--_--_F.q.Sq.u.s{..S..S>MHMS.</Va/ 0V00V.0^./^//P	/0S4/F/0F/a/V 060060;0P;00V4/a/^ 00^N/a/0;0@0P@0L0pL0\0P//P//P55Ul6p6U55U5l6]l6p6Ut6y6Py66]66]5l6}66}56P6D6VD6l6066V660;6C6PC6l6S66S66s66S67UA7E7U67U7A7]A7E7UI7K7PK7Q7]Q7E8]q77P77V7707'8V18E8077P77S18E8S77s7'8SL8^8U88UL8^8U^88S88U88P89S^88088P88V88088089P99V09B9U::U09B9UB99S::U::P:7:Sg99099P :-:P.:0:00:7:P>:P:U::U>:P:UP::S::U::P:;Sq::0::P::0;;P<<P<<P^<!<^!<=<|^=<G<P^G<k<|^k<<|<l=|^l=
>|>,>|<<P<<<=<_=<G<PG<K<|K<O<PO<
>_>,>_f<k<~|#k<u<~u<<^l==^"<1<	T<=]<1=S==U=S<<V<<v<1=V==U=Vf<<0l==S4><>\<>>\]>>|]>>\]<>A>\>>\A>M>\M>t>S>>V>S?V]S??]0NKNV]>>V3?:?V>?]?3?SS?n?S0NKN]-?3?vS?U?vU?f?vf?n?vBNKNv??U??@@UKN[NU??U??P??U@@U@@P@@U@@uKN[N0%@,@\,@@\V@@\@@\V@1AV1AA\[NgN\VgNlNSV,@@v|@@v|[NgNv|gNlNvs,@S@\S@U@UU@X@\X@\@U_@d@P@@S@@P@@S@@P@@S[NlN0d@@V1AAV@@S1AAS]BE0]B;C^SCD^EE^oB~BPBECSSCYCP\CgCPgCDSEESBB0B$C\$CSCvgCC0CCPCC	CCPCD\DD|DDpEEvBB0BB1gCC0BBPBSC]CCPCE]C'C\DD\DDV$CSC0D&DP'DDPDsEPtEEPEEPEE0$CSC0DtDStD~DQ~DDSDDQDDSDDsDDSDEQE1ES1EMEQMEbESbElEQlEyESyEEQEESEE0DmDV*HNH_NH]Hp3I`I_HJ^H*H0*HNH_NH]Hp.I8I08I`I_II0IIPII	IIPIIpJJpKK	|s~"KK_JK^KKSKL^LjLSKK0LALVALELvJLjLV		0		S		s		S	R	0R	m	Pr		P		0]U]oUoUUU!U!@U@UU1U1HUHUUUUMUM]U:T:!T!@T@TT1T1HTHTT]T!Q!eSeoQo]S?R?h\hoRo!\!@R@\R1\1HRH\R]\.0.]Qo|QQ!@QQ1HQQQo1^1^M^M]10!]M]0QqQ01_a!VMVPp!PHp
v)@ptv)@#y
v)@NPNd]dP&]&101>P>]0P]01<0
v @v @#
v @>f
v&@fjv&@#o
v&@Sd0Vv<VP<CPCD]DO00OyVy}v}V/US~Q~SNVUVuUWjP'/U/0U0CP'/T/NTU'UT'T	PuUuUUUUUUU!U!/UuTTTTTTT/TuQRQQQQQ
R
/QSpx/ST	Qs#
Qpx#%T%/	Qs#Ppp&/P1TsSSTsWP!WSsS!s PSWUUTTQQ|UU|TTnvUv|UnvTv|TnvQv|Q`hUhnU`hThnTRUVUU U }V}URuTuSTT|S|TRQ\
Q
Q Q \Qpq'PhwPSPpq'UCVCDUTSXD$T@T#*(0S&U&+U+?U?DUDRU!T!+T+:T:DTDRTQ+5Q5:t͙y':CT͙y'CD!T͙T͙ %'DQQTQNmUmUUNYTYTTNm
%#"mP
%#"NmUmUUNm0mrU	rU#rU025U5CUCJPJMup'MNP'U'2U.U..up'UUpu'PDLULRUDLTLRTRZUZ`URZTZ`TRZQZ`QrU#S#$U~Q~S$U$qSqrUPU~UcQcd~PdSrUrSU~Q~S\UU\T
S
T~Q~SU\UT[S[\T:?~?MQMN~:NSUUUU9@b@Ub@@]@@U9@b@Tb@@_@@T9@b@Qb@@9@b@Rb@@@9@b@Xb@@X9@b@Yb@@\@@Y\@b@Xb@@S@@v@@S~@@P@3@U3@U@wU@c@Uc@@w@·@@·@9@w@'@T'@*@p*@U@TU@X@TX@a@pa@9@T@@R@@@·@R·@9@R@9@T'@U@	c@@P@@P·@ͷ@PϷ@ط@P۷@4@P'@U@0c@@Z@@Z·@ȷ@ZϷ@ط@Z۷@/@Z'@U@0c@@V·@Է@VԷ@ط@v۷@9@Vc@z@	uI,z@@z $ &q"AI,@@u_I,@@z $ &q"AI,·@Ϸ@	uI,@@	uI,@/@z $ &q"AI,/@9@	uI,c@z@	uI,z@@z $ &q"aI,@@	uI,@@z $ &q"aI,·@Ϸ@	uI,@@	uI,@/@z $ &q"aI,/@9@	uI,@+@U+@@S@@U@@S@8@T8@@T@@T@@T@@T@@T@@V@@T@@VN@k@TR@k@U`@c@q|3$g@k@Q@@T@@p@޵@T޵@@T@@p@ڵ@Tڵ@ݵ@t޵@@Tµ@ݵ@Xh@p@Tp@w@pw@@T@@T@@ph@@T@@t@@T@@X@c@Uc@@S@	@U	@h@S@@T@	@T	@,@T,@h@T@@Q@	@	@5@Q5@G@G@Q@QQ@h@@T@RT@@_@	@R	@@R@h@_@@X@@]@	@X	@9@X9@G@]G@h@X"@.@T.@@^	@
@T
@h@^8@W@PW@@#@h@#H@@V@h@Vv@@P@@!@$@P$@h@@@ $ &u"#@ʹ@T@ɴ@v"# $ &u"ɴ@ʹ@U@@ $ &@ʹ@Qʹ@@ $ &δ@@]ܴ@@U@@QQ@^@P^@a@pa@h@P@³@U³@@S@@U@@S@ϳ@Tϳ@@T@@T@ϳ@Qϳ@@]@@Q@@Q@@T@@\@@T@@\@@U@H@SH@R@UR@@S@@T@R@TR@d@Td@{@T{@@T@@Q@R@QR@p@Qp@{@Q{@@Q@IJ@TIJ@O@^R@V@TV@@^ڲ@;@V;@C@0a@@V@@_a@k@_{@@0@1@
ppp"@(@U(@|@S|@@U@@S@,@T,@@T@@T@@T@D@QD@@^@@Q@@Q@@^@@T@@]@@T@@];@w@\@@\Z@n@
p|pp"@)@U)@@\@@U@@U@@\@@T@I@PI@@T@@P@ͱ@Tͱ@@P@@T@@Q@@_@@Q@@_@@T@@S@@P@@S@@u8@@S$@@^@@^?@N@QN@@@@Q@ͱ@ر@@Qd@@]h@v@}v"v@}@U}@@}v"~@@_@@Q~@@]~@@V@;@U;@@\@@U@ʰ@Uʰ@@\@W@TW@@T@ʰ@Tʰ@۰@T۰@ݰ@Tݰ@@t@@@`@Q`@@^@@Q@ϰ@Qϰ@۰@^۰@@Q@(@T(@@_@Ű@TŰ@@_6@@Sʰ@@SP@[@R[@@ʰ@۰@@@T@@y@@]}@@}v"@@U@@}v"@@^@@Q@@]@@Vp@@U@@\@@Up@@T@@V@@T@í@V@@P@í@Pí@@]$@8@	8@@_y@@5@@7@@1@@0í@@S@@s@$@S$@8@08@A@PA@E@p@@1@Ʈ@Ʈ@ܮ@P@@0@ȯ@_ȯ@̯@̯@@_@@S@@s@̯@SN@y@VR@\@U\@5@V5@8@U8@p@V@@S@@s@@S@Ԭ@SԬ@ج@sج@4@S8@p@Sʢ@@U@@V@@U@R@Vʢ@@T@@S@@P@@]@R@]@
@	@@_@@_R@Z@5Z@b@7b@j@8j@r@;r@z@1t@@0@@0@@S@@0@@S@@P@@S@ϧ@0ϧ@ӧ@Pӧ@M@SM@M@0@@S@¨@P¨@-@S-@=@0=@R@SR@T@PT@̩@S̩@@0@@P@@S@.@0.@C@SC@H@PH@@S@@P@5@S5@:@Pt@@1@@1@Τ@P֤@	@Pg@l@P@@P@@P@@P2@9@P=@g@P@@P@@Pڨ@@P=@B@Pi@{@P.@3@Pu@z@P@@P@@Pݫ@@P@%@P@@@R@@@@R@U@Z@#Z@@@@#@M@@ڨ@i@n@#n@@@N@_N@g@0g@@_)@@_@N@N@g@0g@@@|@S|@~@P~@@S)@@S@@\@@P@@\)@@\@@^N@g@1@@^@)@1)@@^@@_@@1@@_@@1@M@_M@M@1@-@_-@=@1=@@_@.@1.@:@_@ܥ@Q)@B@Q@@Q@ܥ@R)@W@R@@R@
@0@@P@ @p @"@q"@5@P5@@Q@٣@1@@@ģ@R@@0@@\@2@|7@P@\@@P@@p@ܥ@P)@:@P@@P@@p2$s"@Х@p2$s"@@T@@p2$|"ť@Х@T1@D@0D@@P@@PW@`@Rc@@RW@[@|q"[@`@|q"4c@@|q"@S@^
@ @^Ъ@ܪ@P@@P@@S@_@Q_@@^Ъ@ܪ@0@@0@G@\S@_@0_@@\s@ɢ@0s@s@0s@s@00s@ɢ@000@@@@OzZ
6g

U
U
Y
g


6#]vz4 c]v]v%@]v

,

(v

Aggk{v26
26vN^
?D]DD;>C !e$ !$#$e$$$ $$$w%$$$%j%r%$$$%%%&&&'&t&&'))
))()$*()))$*o!]PM<OSd%

_/
t
v





C
L
v





v





u{\p}@@ET~~4	d++++B----- .*.F.F.....0
0}0004/a/ 0}0N/a/;0\0a/0
0 001110Y1111O2Y2q2q222225
55MM%33MM%3y333MM3r4=5h5w445=5566655666'818E8v7|778099:7:<
>>,>"<=<P<Y<<U=< =1=U=<<1=6=f<<l==<>>>>>?0NKN-?3?S?n?BNKN??@@KN[N,@@@A[NlNd@@1AA@@1AmA]BCCEEE$CECJCSCDEEFFHEFFFGH$I.IJJJTHH`I{IIJJJJLLLJKKLKKLjLNNOtOOO"OjOtOPP!Q$QQ~OOOP[QeQlQQNYc!!@@@P@@@@Х@@@@ @Ъ@ܪ@@@@?@@@í@@@@@@í@$@$@2@8@J@'@>@I@U@c@@·@9@I@P@c@@·@۷@@9@\@b@g@@s@@@@@@?s3E

g
+:!J#9$&w
9'5( "`)!*+:"n#$	%S'&$'[:J
!J(	)*
"+P1%,|-
xI
-
XJ#
7.w/@K301:'2bJr(	3pJ4)2'
!5!6b"7"#58j#79#8:$N$J;|$L<$U3=>?M@&/AB%t&j(>)$C^*a!ym<[aOJBLJJ?
"4jEG0cQ.wJCu@Ҙ-G=12>#@5H
1_Y:VY;ޮVPA3}6n=f %HFf#VD/WU_@xrVAa7Ja>ԙC{qh19/n]zM02eXzGMS/o: ?ln:Twdl+/$"6j*GRbjbzO& ޚ'#R&Qy W;#:76/8:%Bzѱ(,'
`I&Q$/PmoՁw
E@`\`!2?AiJ}*$fnoh%5+U)4Kjo ZqMa}Ӭx8U@

a|hTD[=Y;0E@9p%@Kv_XNx
5DSUO:bec
^<agK'<H-hU`n6F<:H1]ԥj!p^]b#'8mp@tjAy*gE?bWUtr-B[pmnnEu&dnyVoSM@<m2m
KT&p.:%Cewx/y/zn{&|z}Q~2BI2В\8]>p"=ދ]@tp(C,EQ!|ؠOƤX^vs"__P#R*i+U7689x2:94^McYdzqiJjүmmu@vu`{^||tO)fw}xUQw@Rcwf"v4
?~˅Uec:+w!lz48IC]n7W1D1k:'-
~d'
RB<7IJ/#m`nN|S'i(*|i$SUr>:$:.SncxUZ%Bvtee?A;!1AUj(2
CyZVKLH}5:'40'C5;E
]M]]lXQ%Ƶ*
"/+38,<A#EdZD Sn2
]M]]"H'Mm2}ni?o|p`qXWrB8mǀj=X4"#&C'(l)kl*|+-.53Qa4h56,Z78gu9̎:;E<=>?q@,LA8B\C[D}EFѣGuHkIJ̔PJSVL\F=xf	jo[prYosu]^#_PcTh
dmn&o:-Q`$s%mpPlx^gDjmGpn[tiDuvY
w"x)yz-3{>: 4<!
)4+XzcIdkf)}6[Y"
J]4lOJx¨w`XZD ՛X˜"u*
~X7jwkt]puE"vwy[zE{wX|&7p
D,K
6y>-YqQ7x31x6Qmd-<XlkL-=t([%x91YWRdNcf\C-o+:yn+8j_"k(^t_~ZD l(0RU6l!ALMF"'#$@%]h&495|6<789A?-YFfb]#liQeq+}tv#&swGQWVly[p\sr`k$8= *;"H/X014-86+8i)<lMo$r#u$~
/+jsfZD
#}8&.?6qCRF8JjNmRr<Vz`d}gVhi&lOpZksd35gu^ < #;&S)1s,FP/VJ2F699<݊?8dBKEeHvI[0LOTRrUhKYvdRg#{jXkmaoirfCuevDw[Mz'}=5k>h
RTsa{yd~`wٞStvGqk51ZD}FRu>a!V#2%+S'0)+<-=3/1"3lR5'7{9h;v=f?EAWCBJL!tNzzPR?oTsAVXn]Z\K^e`b3d
fhj(ln)pUrft	vڍxrWz{|O~]UQj	X{Fя$/[9_j5_Z{d[ H`|OLA
cPk;NIFSo|yZEU5:,!rB9CLEvR-6r>#?ph,RkXOZMaG}V\&M[OyڰAMk}5`H+~6Fo ;bL1TʂdEtb	sQ8L/~pM`0ʑ2	W/(?a\FROBm5	ϐ/!eH\ϝtptG$<	i؟J#AdQN٩ec/cHsu1h$BdcmP	Tb%XG:Ģ=z..`s4PAxff1r3NO$b-{3K3d	MǴo
GzI
%O.o6/jyNZ"}*G~_L (iVyV)DJgؗ~O:"tAZTTvuZg;"+#-,0CRE~CV !L"s#mZ$.%ΰ&tU'(G%\nx)Sts{ v&!#F$!!%P&jM(BA_7$ 7z8í9E$!"'#l$%&
'8().*+{+,4-e.Tz/'F0{!B"#dU$j%B&'t()r>*D+D,PO-&.+2/
0wF^87!:! Xu!>" [B&%-1 ;;!pF"\#6@8Ar4BCIFG_HC
%3I?۵@FABC.P5QR0)TŪV_W3Y"^Z<2[]ı|K6Jc7)Hi0~,VyDuϭ7'};`Fl#&a'({)+,J-H.6a[:G>AAHGJ-WK7*L$MȓNO,PSTUjV-ZWi[b\]SH^qmIN*U_('9 !i"L#;$a%j&7'JD(S)a*V+,b-l.br/01~S2b3|4t'5S6B7I;8f9jG: ;<k=M>!?.@w[B>D_E.|FG@HJI9JKwLǍM7N$OQ?RbvS<TPU3VNWTGXYYZ>[\c^qv_f'Jj8k<l.mA1nqohp/qjsgWK/oP H!&"x#`$r%&b'h(1)d*>G+n,|->.K/7
01.2gq34
5ʮ6R789:U9;c<Ѧ=,>dV?]@HRAU?CDwF8GLt{MPNYQ7RSW)X#\Xl]Pmf#lO#,	/CT0l1^2}D34586	j7A89Tq>?@YAHBCDnEMF3 G#HXICJAKR`LvM%)!./cB0\1(2F07x8^<:Z6>b?؉A:`EF-GHTIQJ&Kc_L1iM2NOeP-Q/SItTd'Uo
?
s3E

g
+:!J#9$&w
9'5("`)*+:n 	!S'"$#[:J
!J$	%&
"'P1%(|-
xI

XJ#
7)w*@K3+,:'-bJr(	.pJ/)02'12!3!4b"5"#56j#77#88$N$J9|$L:$
1?
s3E

g
+:!J#9$&w
9'5("`)*+:n 	!S'"$#[:J

!J$	%&
"'P1%(|-
xI
XJ#
7)w*@K3+,:'-bJr(	.pJ/)02'12!3!4b"5"#56j#77#88$N$J9|$L:$c?
s3E

g
+	:!J#9$&w
9'5("`)*+:n	 S'!$"[:J
#!J$	%&
"'P1%(|-
xI

XJ#
7)w*@K3+,:'-bJr(.pJ/)02'12!3!4b"5"#56j#77#88$N$J9|$L:$Ni?s3E

g
+:!J#9$&w
9'5("`)*+:n 	!S'"$#[:J
$!J%		&
"'P1%|-
xI

XJ#
7(w)@K3*+:',bJr(
-pJ.)/2'01!2!3b"4"#55j#76#87$N$J8|$L9$"q?

s3E

g
+	:!J#9$&w
9'5("`)*+:n	S'$ [:J
!!J"	#$
"%P1%&|-
xI
'(XJ#
7)w*@K3+,:'-bJr(.pJ/)02'12!3!4b"5"#56j#77#88$N$J9|$L:$v?	s3E

g
+:!J#9$&w
9'5("`)*+:n 	!S'"$#[:J
!J$	%&
"'P1%(|-
xI

XJ#
7)w*@K3+,:'-bJr(.pJ/)02'12!3!4b"5"#56j#77#88$N$J9|$L:$@@@@8@@@H@	x@
	@@ @
@@@p@@AAAA A!A !A !"
@@$
p@7
@M8!A\A
@A`@P@
@@
0@# @<@U@n@@@
E@]
OM@
4R@
T@

U@#
Y@"9
Z@ML
^@\@up@@
0@@@	
`@/DA=ANAWAjp@} A
@@!A
Y/@}
E@B
@6
@
G@
@
.@}'<
@dQf  !Ah !A
@
r@
@?
{5@
R@0!A
,@

@.(
.@4H!A<P!AN
O@W]!Ad
K@9v
0@
.@@
@

k2@
@
w@X

i@'

@X!A,
D@<
@Pc`!Ar
`@{
@'
@)h!A
7@
@
L@c.
@EY
_.@}f!As
@{ 
@!A
|@I
@@
@
ʢ@	
<@0
@].
@=Qe
@Yx
b@p
21@9Ix!A
p@l
@+
h@@
Ś@
@
-@}	
Ɲ@	
@!	
@9	N	
@SV	
@j	!Av	
/@}	
_N@!	

A@	
@C	
@+	
@	
@		
@4	
sd@/	
l@


9@q-
D
W

]@b
v

@J


9@
p!A

@

S0@B

O@]


@!A 
@)
?@l; U
s@Wl
&^@v
@
B@w
q@
O@
@(@
B@'
@
@)
@minit.cstatic-reloc.ccrtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.7307__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entrymain.cparsing.c__PRETTY_FUNCTION__.3747__PRETTY_FUNCTION__.3757__PRETTY_FUNCTION__.3767__PRETTY_FUNCTION__.3777__PRETTY_FUNCTION__.3787__PRETTY_FUNCTION__.3623__PRETTY_FUNCTION__.3685__PRETTY_FUNCTION__.3701__PRETTY_FUNCTION__.3606__PRETTY_FUNCTION__.3724editor.ccommandInputCallbackcheckLineNumbercommand_jumpcommand_replaceAllStringcommand_replaceStringcommand_findAllStringcommand_findStringmultiLineEditor__PRETTY_FUNCTION__.3584__PRETTY_FUNCTION__.3602stretchybuffer.c__PRETTY_FUNCTION__.3310hashmap.c__PRETTY_FUNCTION__.3329__PRETTY_FUNCTION__.3346__PRETTY_FUNCTION__.3388colors.c__PRETTY_FUNCTION__.3340__FRAME_END____init_array_end_DYNAMIC__init_array_start__GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE___libc_csu_finiinputHistoryIndexshowLuaOutlinefree@@GLIBC_2.2.5putchar@@GLIBC_2.2.5getTermSizeresetColorhash_ptropenArgFileshowTextOutlinestrncpy@@GLIBC_2.2.5buffer_replaceInLinestrncmp@@GLIBC_2.2.5_ITM_deregisterTMCloneTablestdout@@GLIBC_2.2.5clrscrmap_getbuffer_moveLineDownadd_bookmarkbuffer_closeputs@@GLIBC_2.2.5stdin@@GLIBC_2.2.5getFileTypeExtensionmap_put_uint64_from_uint64hash_uint64buffersdefaultIndentSizeresetClipboard_edataopenScratchBufferfclose@@GLIBC_2.2.5get_bookmarkprintLogocolors_putsparseLineRangerewind@@GLIBC_2.2.5parseLineNumbergetInputxrealloc__assert_fail@@GLIBC_2.2.5getch_nonblockinginputHistorycreateJSOutlinemap_get_from_uint64ioctl@@GLIBC_2.2.5clipboardLineshash_mixxmallocfgetc@@GLIBC_2.2.5buffer_deleteLinedefaultUseSpacesfputc@@GLIBC_2.2.5createMarkdownOutlineread@@GLIBC_2.2.5__libc_start_main@@GLIBC_2.2.5printPromptskipLineNumberbuffer_insertAfterLinecalloc@@GLIBC_2.2.5showCOutline__data_startmap_put__gmon_start__buf__growstrtol@@GLIBC_2.2.5__dso_handlememcpy@@GLIBC_2.14hash_bytesmap_put_from_uint64_IO_stdin_usedmap_growbuffer_openFileskipWhitespace__libc_csu_initmap_get_uint64malloc@@GLIBC_2.2.5fflush@@GLIBC_2.2.5editorState_editorprintFileInfoparseBookmarkbuffer_saveFilefseek@@GLIBC_2.2.5buffer_moveLineUpmap_get_uint64_from_uint64parsing_getLineshowMarkdownOutlinemap_testprintLineNumberbuffer_insertBeforeLinerealloc@@GLIBC_2.2.5tryQuitbuffer_appendToLine__bss_startshowJSOutlineconsole_promptcreateLuaOutlinemaintryExitgetchskipSymbolsmemmove@@GLIBC_2.2.5skipNumberscommand_executeCommandskipWordtcgetattr@@GLIBC_2.2.5buffer_findStringtcsetattr@@GLIBC_2.2.5fopen@@GLIBC_2.2.5printErrorperror@@GLIBC_2.2.5skipBookmarkvfprintf@@GLIBC_2.2.5createCOutlinecurrentBufferparsing_getLine_dynamicshowOutlineprintLineexit@@GLIBC_2.2.5forceExitfwrite@@GLIBC_2.2.5__TMC_END__skipTextcreateTextOutline_ITM_registerTMCloneTablebuffer_initEmptyBufferprintTextmap_put_uint64recreateOutlinefatalcolors_printfxcallocbuffer_prependToLinebuffer_findStringInLinebuffer_replaceLine.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_loc.debug_ranges.debug_macro@ #@ 1@$Do@(N8@8xV@J^o@JkoH@H0zx@xB	@	@ @ @@	@p.p@p,@AAAA  A!A !AX0/P p.&	,@80C_#N \<H`#T	!i


1
ELF>P@@ @8@#"@@@@@hh@@  @@xx@@MzMz@@X9X9@@@@@@@DDPtd@@QtdRtd@@/usr/lib64/ld-linux-x86-64.so.2GNU GNUlWJyrp<! !")gUaB5& =zXms' fJ .6 @R @libc.so.6fflushexit_IO_putcfopenstrncmpperrorstrncpyputsputcharreallocstdin__assert_failstrtolfgetccallocstrlentcsetattrreadstdoutfputcmemcpyfclosemallocfwritetcgetattrmemmove_IO_getc__libc_start_mainvfprintffreeGLIBC_2.14GLIBC_2.2.5_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableui	@@@@ @! @"@ @(@0@8@@@H@P@	X@
`@h@p@
x@@@@@@@@@@@@@@@@HHHtH5%@%h%h%h%h%h%h%h%hp%h`%h	P%h
@%h0%h %zh
%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@%
h0H%H%@fDAWAVIAUAE@ATUSHXB@8X@.AI仈@@HLA-NhD$<D$CHPHrH;pvH]HPH$HrHpD<H9tD;HH$Hu@HQD$8HHPHrH;pfo$HHpHfoL$JfoT$ R fo\$0Z0HL$@HJ@HHDиHAHøH988kVvu1;uH=H<kHHt	HkPHHHHH9iH=ZHK1HwHHt^HkPHWfH)HHt	HkPHHHH=HH9iH1HtHkPHH=HwHHH)HHHcHkHHHhHHHpHt*HH1DH9HHHu翐@1cfDhH<HHHQHPHkHHTH(HxUnH9H@1Kc6L~eHHHHHqH;pHxLHWHPHkHH<H<H=IvzeIvupؐ@H@<xXHHZHPHVHrl@ZH@1wbb@1153HH:ZH"f.@1I^HHPTI@@H@H@nDH=HzH9tHFHt	H=QH5JH)HHH?HHtHHtfD=1uUH~]Dff.@f.@HXH=fD$)D$)D$ )D$0HD$@D$H1Ht$x_11d$HT$fD$&xv1Ht$EHxP1HT$L$
xD$HX@@@(@D$HX@!@@@{HXH=fD$)D$)D$ )D$0HD$@D$H1Ht$x_111d$HT$fD$&
xy1Ht$XHxS1HT$L$
x!D$HX@@(@D$HX@!@@@x:@1@HH& w!HsuHH9v@HH9wfDIHDDσ߃A@v-tAy@	vA-tt.Ay@?w+IsDEuHH9vÐHH9wfDA{AvD1ff.f1ff.fH-u!WH0	wDHH9w0	vff.'tXB<?w)HHs5.tH$uHGJHw@HH9r0	vHHE11ɺff.fSIH1HLLHIaI9ttHAL)HtL1-te1HDILJI9t
Ar@	v~
@EHcH[Dr@
w@$@@1[HÐASIHCHt1HxHC1HtHHHcK8@AUAATIUSHH=iu{H=Y t	t
tgtwE~mfDADH=$Mƒ
!A9HuHcIčEA$H[]A\A]
uA$H[]A\A]øfUHSHH=uH=Ã t	t
uVhHPHrH;pvHSHPHEHrHpH=;fƒ
tHEHu@HEHt@H[]DH1[][AVIAUE1ATUHSH Ht$D$HtSHFLcHv1fHH9^v3<@	@H5gHt$D$HuI@1a<>Ht1HL$HT$Մt̀2	C<w
tC<w
v	
m	HcD$	HL$1HtHQH5H9>HD$HHPHrH;pvHQHPHD$HrHpL$1L$o<HD$Ht+HpL9	|0
tH
H;pHpHu
@1HD$H []A\A]A^f1<[	HtHL$HT$Մv1D[C3F}	H?D$1ۅ%	H9\$	HD$H5L<	uH@DHT$H
tHH;B@	B	@HD$Hhl$f.[HD$HHPHrH;pHcL$HpH)H4H|HcHcD$HT$D$XHc3DH9Xv2<@	@H5;HHD$Hu1@HD$HHct$HHthHPHHH)H9H)H5߿<	uH@몾HOHPHD$Hr@HH9/L@11rU7D@H
RHL$1HtHQH9оH
@HD$HHPHrH;p	Hp	L$~1@1THD$HHPHrH;pHpD$PfDKHD$HHPHrH;pvHMHPHD$HrHcL$HpH)H4H|HcHcD$HT$	D$XHc4fDH9Xv2<@	@H5~HHD$Hu1@^HD$HHct$HH\HPHHH)H90H)H5<	uH@6@@		@HD$HcL$1H4H|HtHPH)HcyHt$L$HFYHcHHFH9wKHH9^v:<@	@
t!@
t@"H5VHt$HuH
1ۿ@_DHHcL$HT$HH4HBHH)H9HH)H5C<	uH@@E1H^KHPHD$HrB@H6KHPHD$HrHp	L$[@lHD$H:HcT$H;P+<	<H5XHH9L@HH9L@@11
Q'D@H
@H
ʺHt$
@11PCD@11PHt$@H
j5t$@HcD$HT$H57|	ID@H
HD$Ht	Hx
AH 1[]A\A]A^1f@|e7HHHHHD$Hq
^H5i
HD$HHPHrH;pHp
HD$D$HHx6HD$1!<~HD$HHc|$HPH9HOHH)H4Hc#Ht$Hc\$HFHHFH9w3XH51Ht$H8HH9^*<	<uþ@11UN¾HGHPHD$HrH@?HD$Hc\$Ht<H;Xry@HH9Xvk<@	t7@t!H5׷rHD$Hu1D$u@11Mۺ@H
bD$;@븾@11pM@H
U H
D1ۿ@HHT$HcL$Ht@HBHH)H9HH)H5<	uH@HH9{Lƾ@H
sHt$.fSH$p@f.Hh[fDntxHf0@t[DNmdHf[Ð6Hc[fDcpHf@p[DHSzuUHB@HtJHxtC1fDHH9Xv/H1HH<H+zHHHB@Hu[ù@
@P@@HSzuUHB@HtJHxtC1fDHH9Xv/H1HH<H+zHH0HB@Hu[ù@@x@@H@tugAWH)1AVAUATUSHLw0MtSMfMtJIHHcE1DIIM9t9I>1HtHWH9HHBuMuH[]A\A]A^A_1ff.AWIAVIAUIATI UHSHH(HL$EAĄH)E1Ʌ~LI\EE1HlA\	Ѐ>wLH	ЄHH9uIG0HtKHxHwH;pwBHHpHLDpDhDHD$DpDhH(D[]A\A]A^A_ÐHǺLL$BLL$HxIG0HwMt@IAHpI;qv"LϺVBI\IH@HpIqA4f.AWAVAUATUSH(H-Ӳ}HEHtMHxtFA1E1IEf.HH9XvHAAH:#tHEHuH([]A\A]A^A_@HrHJz#@HDH<#uAH9uH}@HHGHpH;wHU@HBHpHHHrHDxDpHEADHtHPHsAJH9ABIcHLJtHtHBHIDHHI L	=H-~EMcHEDL$DT$DD$HL$}@DL$LcT$DD$HL$HE@H-&fEMcDE1@D@P@off.@AWAVAUATUSHXL5ðA~HD$ IFHtHxiD$E1MNJ4Dl$1Dl$Ht$MtIYL1HL:IIfIL9A;(uI{LκAHHHHD$(AAB@H)HLIǃMHcHIOH9XL@MALHHHNH9€LMտ#@HcHHNH9*@MHcHHOLH9HLL0@HNH9€HLL3@HNH9hLMͿ8@HcHHOH93L<@L?@IGHl$HLLl$(IHD$8pAL@DMALMcIINH9L#@ADMMcIINH9a*@MHcHHOLH9+IHL0@INH9ILL3@INH9L8@LHcʺHHOH9€L<@€L?@€tsIH;D$8E1LL1HIAB@LLLL)MHcHHOH9+Ll$(ID$Ht&HPII9|$Mu$|$MuHX[]A\A]A^A_1ɋT$H Ht$ LH	HT$0HX[]A\A]A^A_LILl$(Hl$H1IA<(<)L9LuIL9;A;{uHE@L1H\$L%zI|$@I\$HtHGHpH;wv#:ID$@L%GI|$@HGHpHHwHNjD$HG|$tHD$Ht$ H H‹D$@H	ЉHH!LH	HT$0HHD$@L%ԪHD$L|$ HD$0D$D$PL9?L91Ȓ@t@x@Hq@tucHABt1u$HB@HtHxtH@?HB@HtHxtH@AWAVAUAATIUSHˉHL2MtI~E@uuP@&|IƸ$ fAAFLA]1)H=JHHvHH+,LIH988HW8HHMcD<ADE@1E1@f@	uE1tHD[]A\A]A^A_ÐL$t@t<#h If@@Us@L$$@fDEAMtsIFHpI9vrjIvAoI$HOHPHrH;pvH\7HPI$HrHpΓ@ړ@E1 1d@L7II$H@HpufH988W8H+=HH@1E1?$ If@@$1@fHPHrH;pvH6HPI$HrHpA.HL
H!%tDHJHDщ@HL)H9v1I$Huf@^[^QfDLΓ@1L
H!%tEDHJHDщ@LHL)a@@1\>tx@LΓ@11=DHPHrH;pvHM5HPI$HrHpAL-HL
H!%tDHJHDщ@HL)H9I$Hw{uMsEr=q5p-o%nmj
iѓ@A֓@XIFHpI;vv%LL$Q4L$II$H@HpHIvAI9.M4$MMueba|RtQlPdM\ITELADד@ܓ@AiKfIFHpI;vv!L3ܓ@II$H@HpHIvE<H9tRM4$D}MuLA
5LE1fDד@Γ@1E1:Lѓ@S11H H
HD$HAHtHxuw1H [f.HT$~HAHtHcH;Hw	HtHz>HD$Щ@1y:ݓ@1-;H|$>H|$
Ht$H
HQHtHzkbKDH=|$HzD$H [fDATHUSux8HPHt	HRHu[]A\@HcH9rW@V9P8ֿ@1;H8L$H@HHtHHʅuHc|0
B~j13H5ɡdHSH9fHءHH@J <@	@u@117뽐@uK@1Z:[
]A\@W@9P8[]@1A\!:@@1:[
]A\=D*@19f@1t@@19@[@]1A\9@*QfUHAWAVAUATASHHX8ALIcLE|$H=gLDGAŃ~ HBH@Ht{HcH;P{RMclEB=D<
Hc1HHH)čBHL$IH-=D9t#D9}	A91 H~H9tHA9u1^H~H9u1@;@711HƅsHHtHHHʀ<
H=:IDAL$@CHe[A\A]A^A_]@1-VAT$fD@1L61@16L"Aăt:DHHfDH\HxnHe[A\A]A^A_]HhfD1LD@1n5He[A\A]A^A_]ff.@UHAUATSH7LHcHLDkH=͝HLDžDE`~ HHRHtxHcH;JǺ1McDB-B<
HcDJ1HLHH)HL$H 09t9~A9|C1 HFL9tHA9u1^HFL9u@a@1PHe[A\A]]D1-f.BTofDF@1L41fF@14LÃtfD1L޿@13He[A\A]]@U
HAWAVAUATAHSHHHHDh8IcHH)H(LHcLD{H=LDDBAăEuE~HH@Ht
IcH;PA1DMcB#B=<
HcDB1HHH)LHL$H#3@9t9~A9|C1 H~I9tHA9u1^H~I9u@a@1@He[A\A]A^A_]Ð1-f.nF@1L21fF@12LÃtfDAHHpHTA}1xDL޿@1L1He[A\A]A^A_]ff.fAWAVAUATUSHH
әHQHHzADoHc2oW1HH
HQA9|1HtHBH9sHAIcH;jHH+5AH1Hm@I988AI*11<DH
	HQH-H;j#<?p<p+<q<<QE
-f. u
E|$HD7f.HHH9ot31HA9HDHBHuHugo;j8.1@0HHBAIcHt6H9hv0HH+5H1Hm@I/1<H
[]A\A]A^A_E,A DHE1IcHHBuAIcuH1@18@`@@@1@1@1H"m@HH+5H1HI	/1*@/HHB@1/
-@ u
A@
-{ nu
_@9i8t'@1.H
.HQHM*@1.H
HQ1f.HHݕ1HHtrΔ@1,H@p1H1H@Ht)HPօtHLHHtHAH<
tS@1H`BttHBfHB@HtHxt@fHDrAWAVAUATUSHHhHKHw1HHs1E11HHHHs1HIHI)
I@H,@HY@H\H=UHHSLHHsLIAH0Hs1HH8:IE*D$E1E1A}#YHHSLH)؉)EAȃ#<U$p@fD1111E111HH11HIj
I}@HI)1'1Hh[]A\A]A^A_1L1LIA&11H8:I.EEك#A<U$ @DHSH)؉)EAȃ#<U$О@fEHh8LcDmH~1H@HtHPL9=xDH=MN8H?HP1HtHBL9:f.Ht	H{1HH0HtH~68@`@@
ȫ@@h@ج@@8@`@@@@(@X@v@l@bx@X@N@Dh@:а@0@&8@@@P@@@@<@ֿ@̿P@¿@踿cHs1HxHNHSH=[HIHHsLHD$HމD$=HT$HsHljH1D)L$EDT$IHSH)؉)EAȃ#<U 
$ŀ@fDI}11H=ď1IH?1LHD$D$HT$1Hlj1D)L$rEDT$IuMEzE1@19I@EDك#A<Uy$0@Eك#A<UR$@E&HD`8A~.HH@HtA|$HcH;Ps1@1A|$A11H|$pD$p|$pHHmHxt_L>IfHH4E11ɺLaHsHH1H
HL$pLHH=6HD$pu@Pp1WfLH?H{込oEHuH4E11ɺLDT$HsDT$AHE)H1HDT$YEDT$`@1迼:EHH1HHHtQP8DwfH
H{@EHHPHvHzAf.HcDaA|
u
IcEDaHl$pLMcDD$H覻B|$pLcD$&BDpH|$ %H^HBHPHrH;p5fod$ HHpH"fol$0jfot$@r fo|$Pz0HL$`HJ@HHH|иH=%@Hދ@<H|$pL$B%HL$Ƅ$HHHPHrH;p;foD$pHHpHfo$Jfo$R fo$Z0H$Hz@HLdиL%4+	AE<	t< B)fDIAEAE)< t<	tE1S@HGHpH;wv I$HŊH8HGHpHwAT-HA9L%I<$Hu믐E
Hxh8
H=e/}^}v1
D$EE
HHPHtHz
DD$E1A*D#HĉHPHt#H9jv|$1HfDL$H8t@EW
Hx@8At*h~H\HRHt
HcH;JAʼnHt$p1D$p|$pI
H=
LD)Mt
I|$HHcHP1HtHBH9}vDI;l$	I<HtH苷IHMueDHqH@0HLHxA1DHH9h*HHH1HDHD@HtQ|@1}
HH@0HufDHH4LE1HsHHL)HA1蜿HH0Hu	EE+
HALu1LILp1Hy"ATAHPH9HH9uAfEIH(h8~(HH@Ht}HcH;Ps1P}r>@@1=11H|$pD$p|$pWH=H‰>*Y@H@=hHH{^D$EEuHAHPHHzRL$EME1HPDE~7HAGHH;Bs!1DT$4HՅDT$HPAE9}HIcH;B1DE*	Hh8~}1H=j++}^v}1EHh8~0HH@Ht }HcH;Ps18}I1@@11H|$pD$p|$p7HHtHHHʀ<
uHhH=rH‰'<H4HF1LL$-IL$HL))хE<n<pHHH)Hi98 HHHHփfHAHPI9v[ŕ@1@1H|$p
Ht$ H|$pD$OAExH
`McHu|$tKHHJH.1EDwfH!@p1zDLDCH{DA@1YfDIfD91E11ɺL蚺1H91LE1y1HHL)AE1E11ɺLDT$J1DT$AHE)1fD~@.ش@$HH@HtHx[
HBfD"@1MuH;HsE11ɺLH蒹HsIH1L>A}pHD$tBH=CHL$pLL[HD$pDPDxDD)D$Ll$!fILL1HpfITPI9t
AEHЀ	vAAA)EEEQIcHH@HH@HH9DBDLl$D)D$DE1E1QDH?HxF11E11ɺL\1IAE9QDx8DTADžx"HcHHP1HtHBH91Dx8DDT$DT$ANjD$AoMcA~A11HH@H[L9`Q1D=DL濟@1詮H=:LDDT$h|$DT$ADž5D`HcD$x1AI|$ҭEDLD^@1DT$ DT$DLH=~HI L	OzH=~HDX HPH}fBE<n<pJEH=~H$Hx1QDH9
 @1{H~B| <ud
H}HHH;hLdH=}ILHHt	HQHuH9t!@1
*螬@@1l}1Hi}H@HB|p@*@7@躬f.AAg@1nEuH|HPH8HztDx8E9AtAz1DT$
H|DT$HPDEA}1DDXDHHljL$xL$HPH)|HrDhHHAHPH{HrD5QD&EuH{HPHtHztDx8DT$E9|D|$E׃|$H{~D$1xH}{HPl$E1f.~3Ht.MHH;Js";l$*AEH5{HPA9}HIcH;J{1D\Hz`Ad^D3N@1Hl$p1fN@1Ht݃H|p@*@c@@@1ĩH=UzH70E:KD$ExDoH=z1HGHtp HyHP1HtHBL9^D$EE1A~hA1DT$HyDT$HPE9zE1t$tEuENDEAHFy0H2y1HJH(yH)Hi98HH;B'1 D${@1Hl$pHD$p@@1H~HD$pH	HPHrH;pHp𿟕@Ht$p1Ht$pH=qxOx1D$D$AʼnANH/xHt"H+xH)Hi98HcH;JDBMcKHHwH1A~hAz1DT$+DT$HwEAHPDT$EEHHPHD$pHrDT$@;*@@DH988HHCwHHH+5.wHP8HHt	HyHuU@11H|$P7@D$|$HuIHt|H@HtBHu?
t7HfDx<AЉt5@11HtH营1Hf@1f1HÐAWAVAUATUSH(Ht$~1HEvHcHJHD8	uHBPv	tE1%1=IH@HPIVA	AatAi DED@11D$L1H|$豱IHMHx[A>HHCHpH;sHsL4IvLE1fDHAHL)H9	tHL)H9wO1'f.}H)HL)H9w{uHHL)H9vɸHAHt@PE1D@1m
Ht@PE1DA~@1H5*t
IFH1HpbHIFHHGI~vALHI9Vw@fHߺHH@HpIfDE1EE1E1(@IFHpI;vw AIvA	E9Mu׾LIH@Hpƀ|$u"H(H[]A\A]A^A_À|$tI~HD$1ff.S11HHrHt$D$
HCHr1HHHtQP8H[DATUSHHrD`8E~"HrH@HtA|$HcH;PHt$D1D$|$Hu1YfH9]v2H|HtH'HDHHuH[]A\@H}H[]A\fD
H=qHDHt	H}ĠHqHcHP1HtHBH9v>aH[]A\A1{v@HHtHÿ3@賡ɡfHGHtHÿB@胡虡fHHtHÿR@SifSHHtWHGHH\H9HBH9w{H1HH9rQHHqHt+H袠HthHXH[fHXHHHX[ù@a@@讟@a@v@蕟B@{葠@a@@hSHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$@D$HD$HD$ HD$1D$0讞H=oHT$H躟
0趟fDH͌UׯQHHH H1H͌UׯQHHH H1H͌UׯQH1HHH H1@Ht;H%#"HH@HHH1HHH H1H9uÐH%#"DLGMtwHHGHtHHHuvH͌UׯQHII L1I9srLH!LIH9u3HH!ILH9tHuHfD1DHGJHù@%
@@B@'
@0@)fUSHHHtLWHHwHKH9suLFIH͌UׯQLMHHH H1L!H9t{HL!H4I<1HHuHEILUHH0H[]fDHHT$LUHuHT$KH9dp@M
@.@@HEH0H[]ùp@F
@*@p@N
@@ff.@UfHSH(HHC޾)$)D$HH<H$/H}H\$HD$H}t;1fDHH9]v'H4HtHEHHHIH}H9]wʚH}fo$foT$MUH([];ff.ff.ff.ff.ff.ff.SfH )$)D$fH^HHHHuHHHH9uHuH [ù`@
@D@T@w{$@fɶ@1@϶@1@@1@@1@@1ԙ@@1ę@ö@1鴙@Զ@vfD϶@1错@SHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$HH=iHD$HD$ D$D$0HD$϶@1H[ÐSHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$QH$HT$HH=hHD$HD$ D$D$0HD$f϶@1:
ЗH[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$1H$HT$HH=hHD$HD$ D$D$0HD$蟘϶@1sH[f.SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$HH=PgHD$HD$ D$D$0HD$ܗ϶@1谖H[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$HH=fHD$HD$ D$D$0HD$϶@1H[HGHGGHG HG(G<HG@HG0ff.AWAVAUATIUH@SHHjHIO1|.DHH9uttLcBD=<h8<mA<tuKHt$DHH|$SHcHL)LH:LH9wEt$^I$11LHPHrH;pvHuHPI$HrHpLHHqHH9v(I$HuA<c9I$HHtHBH<@M1HCHpH;sw&Hs@,@
t>L,<tvHuѾHߺHH@HpHs@,@
uID$HHPHrH;pvHmHPID$HrHpH^LXIT$AD$<1HtBAD$8yH[]A\A]A^A_DADAD$OflfDAD$<H1[]A\A]A^A_A@Z(@8@DATUHSH?HtHHHEHE10H9Xv'H<HtHHEHHHuHE0HtFHx1
HH9XvzIIJ< HtHőHE0J HűEt,t'H}HtH蕑HE[]A\H}@HtHnHE@Hx[HE0띐AWAVAUATI5@UHSHH?HtHL1芒IMDHPHrH;pvH5HPHEHrHpALH1HPH9vHEHuH1һA<.DHH9ut{LcCD<<h%<mA<tuRHt$D褪L謐H|$SHcHL)fAH:LH9wDuHUHt`HztYE1@JN$Ht7Hxt01@HH;Xs<LrHUJ"HuHt
IL;rrE<LH[]A\A]A^A_A<ciI\AE@AfAWAVIAUIATUSHu_8MIFHcD$L<I}HHG)H4HGH9rTHOHcHcHH\J<;HLLH蠏Ee8AD$AE<H[]A\A]A^A_HL$HL$HIE1HyfA1E1MAWFAVIAUIATUSHHcAHMIFI}HcAL<HHGh)H4HGH9H_HcHJ<;HHLLH觎Ee8DAE<H[]A\A]A^A_@Dg8Et_IcHMbI}1E1Ho1)HH9tHL$HL$HIET@1AAWFAVAUIATUHSHvbHELcIN| I?HGHHGMtnMuJ40H9wr@HwLHLތE<]8H[]A\A]A^A__8uIHEJ| HGI4HE1AWFAVIHAUAATUSHIFIcHLd(I$I<$HL{HHwHGLH9r?HGHJ8HWHLH{܋AF<En8H[]A\A]A^A_@I$IFH|(En8EV뾐E1HuIL1jff.AUFIATUHSHvFHcL$HELH8HtH#HELHL(]8E<H[]A\A]Ë_8uH[]A\A]ff.AWFAVAAUMATIUSH(1)MtAEMcID$INL8I9HtHwAA)ȅ}LcLH9wHwHcIcHtDHH萋ID$Hc1J|8MtIUL Et$8AD$<H([]A\A]A^A_fDALcALօ8tHHGDw8E H([]A\A]A^A_@L$LT$DD$LL$LL$LT$L$DD$IID$J|8HwLff.@Fv0HOHcƃHHTHDLHH
LG<w8@w8uÍFv(HWHcHH2HT2LH2H1LG<G8Ëw8tF@FAVAUATUSHLcHCN,MuJ<0HHHHI9tkHHz虈HCJ<0J4(HHHPL)H證HCHhC<H@I9Gk8[]A\A]A^f.Ht&Hz2HCHtiHHHHHHHo8&HML1lDJ4(Z1PfH%Hff.@FLGHcM\MATUSIkHtZLcD$FDEA
AE1D	E1E9t(II9tMcFG8tE1ɸuA9u[]w8A\EADAw8Yw8ff.AWAVIAUIATAUS1HH$%H;Xs)D}DLLDHu$IFHuѽH[]A\A]A^A_H$E~8f.fAWIAVIAUAATL%TUH-TSL)HHt1LLDAHH9uH[]A\A]A^A_HHtcsetattr()tcsetattr ICANONread()tcsetattr ~ICANONEdim - Ed ImprovedPress 'h' for help.Opening '-Scratch-' Buffer-Scratch-Opening '%s'

Copyright (c) Christian Seibold. All Rights Reserved.
File doesn't exist... Creating it.

You cannot close the '-Scratch-' buffer when other buffers are open.There are unsaved changes. Use 'E' or 'Q' to close without changes.There are unsaved changes in at least one of the open buffers. Use 'E' or 'Q' to close without changes.@@@@@@@@@X@@@p@6@*@*@*@*@+@*@showCOutlineshowMarkdownOutlinecreateCOutlinecreateMarkdownOutline    $    ^X ^Dsrc/parsing.celseswitchwhiledocasefor///*if%.*s
currentBuffer->fileType == FT_MARKDOWNcurrentBuffer->fileType == FT_C
<%d: %.*s*|%d> 
<%d: %.*s|%d> 
<%d: new file*|%d> %shelp info Enter a line number: %c%4d %5d Enter the string to replace: No occurance of '%.*s' found
%5s %.*s- Enter the string to find: %5s %.*s- 

<%d: %s|preview> 
Previewing '%s'
 * 'p' to show previous lines--^-^-^-^-^--
--v-v-v-v-v--
File information for '%.*s'
Filetype: %d
Number of Lines: %d
Outline:clearhelp'%s' is currently open.

 * 's' - Save current bufferinfoSet bookmark '%.*s' to %d:%d
%4d: %.*s %d:%dEnter a filename: Saving '%s'
Saving '%s'%4s ^- %5s That buffer doesn't exist.Enter a buffer number: *%3d: new file%4d: new file*%3d: %.*s%4d: %.*ssrc/editor.cstr[strLength] == '\0'Enter file to open: str[strLength - 1] == '\0'Opening a new file.FileType: %d
Unknown command
------<@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@<@=@=@=@<@=@=@=@<@=@=@=@<@=@=@<@|<@t<@=@=@=@=@=@=@=@=@=@=@=@=@=@=@l<@d<@=@=@\<@=@=@;@;@;@=@=@;@;@;@;@;@;@;@=@;@=@=@:@8O@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@0R@p^@p^@p^@B^@R@p^@p^@\@p^@p^@p^@[@p^@p^@Z@Z@0^@p^@^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@^@\@S@S@`S@PS@X@p^@W@!W@p^@ O@V@pU@pT@0T@T@Z@HY@Z@p^@p^@R@N@8O@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@_^@p^@p^@p^@U^@R@p^@p^@\@p^@p^@p^@[@p^@p^@Z@^@0^@p^@^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@]@+_@S@^@^@PS@X@p^@W@W@p^@.O@V@pU@pT@0T@^@Z@^@Z@p^@p^@^@N@8O@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@_^@p^@p^@p^@B^@R@p^@p^@\@p^@p^@p^@[@p^@p^@Z@Z@0^@p^@^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@]@\@S@|S@`S@PS@X@p^@W@W@p^@ O@V@pU@pT@0T@T@Z@HY@Z@p^@p^@R@N@8O@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@_^@p^@p^@p^@B^@R@p^@p^@\@p^@p^@p^@[@p^@p^@Z@Z@0^@p^@^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@^@\@S@S@`S@PS@X@p^@W@!W@p^@ O@V@pU@pT@0T@T@Z@HY@Z@p^@p^@R@N@8O@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@0R@p^@p^@p^@U^@R@p^@p^@\@p^@p^@p^@[@p^@p^@Z@^@0^@p^@^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@^@+_@S@^@^@PS@X@p^@W@!W@p^@.O@V@pU@pT@0T@^@Z@^@Z@p^@p^@^@N@8O@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@_^@p^@p^@p^@U^@R@p^@p^@\@p^@p^@p^@[@p^@p^@Z@^@0^@p^@^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@p^@^@+_@S@^@^@PS@X@p^@W@!W@p^@.O@V@pU@pT@0T@^@Z@^@Z@p^@p^@^@N@editorState_openNewFileeditorState_openAnotherFileThat line number exceeds the bounds of the file.
No occurance of '%.*s' was found in line %d
 * 'q' or Ctrl-X to stop previewing * 'Q' to exit the whole program * Enter/'n' to show the next lines * 'j' start showing lines from given line number (TODO) * 'f' find first occurance of string in file and jump there (TODO)An unnamed file is currently open.
Use Ctrl-D to denote end of inputUse Ctrl-X+Enter to cancel the current command/operation * Ctrl-L or 'clear' - Clear the screen * '#' - Gives back information on the file, including number of lines, filename, number of characters, filetype, etc. * 'j (line#)' - Set's current line to line number (no output). Use 'j$' to set last line as current line. * 'a (line#)' - Insert after the line number * 'i (line#)' - Insert before the line number * 'A (line#)' - Appends to a line * 'I (line#)' - Prepends to a line * 'r (line#)' - Replace a line with a new line * 'R (line#) (string)' - Replace the first occurance of the string in the line * 'x (line#)' - Deletes a line * 'm (line#)' - Move the line up by one * 'M (line#)' - Move the line down by one * 'f (string)' - Finds the first occurance of the string in the file and prints the line it's on out * 'F (line#) (string)' - Find the first occurance of the string in the line and print the line out showing you where the occurance is * 'u' - Undo the last operation, cannot undo an undo, cannot undo past 1 operation - UNIMPLEMENTED * 'c' - Continue from last line; Append to end of file * 'p (line#:start)' - Preview whole file (optionally starting at given line) * 'P (line#:start):(line#:end)' - Preview a line or set of lines, including the line before and after * 'b' - List all currently open buffers * 'b (buffer#)' - Switch current buffer to buffer # * 'bn' - Switch current buffer to next buffer. Will wrap around when hits end. * 'bp' - Switch current buffer to previous buffer. Will wrap around when hits beginning. * 'd(line#:start):(line#:end) (string)' - Create bookmark with line range start:end and name string * 'w (string)' - Print out line range of bookmark with name string * 'g' - List out all bookmarks * 'o' - Open file in new buffer * 'n' - Create new file in new buffer * 'e / E' - Exit current buffer / Exit current buffer (without save) * 'q / Q' - Quit, closing all buffers / Quit, closing all buffers (without save)
Any command that accepts a line number or line range - denoted by '(line#:start):(line#:end)' - can also accept a bookmark. Bookmarks are prefixed with '#'. Example: 'P #test'.Unimplemented prompting for name. Please add a name after the line range.File doesn't exist... Creating it.
Press Ctrl-D on new line to denote End Of Input
buf_len(currentBuffer->lines) == 0xcalloc failedxrealloc failedxmalloc failedsrc/stretchybuffer.cnew_len <= new_capFATAL: buf_cap(buf) <= (SIZE_MAX - 1) / 2new_cap <= (SIZE_MAX - offsetof(BufHdr, buf)) / elem_sizebuf__growsrc/hashmap.cIS_POW2(map->cap)key2*map->len < map->capval == (void *)(i+1)map_testmap_put_uint64_from_uint64map_get_uint64_from_uint64ERROR: Wrong Color - Unixv@v@v@v@v@v@v@src/buffer.cwbuffer->openedFilename[buf_len(buffer->openedFilename) - 1] == '\0'buffer_openFile;TX`Z	jZ8
Z|^_ `DahaaPb`bpbb0c(dLder0sd ttt`uvPx0`0|Dt	P	@	L
l
P


й8Xlк@@,@ T0h@|P`p0
8
\
p
0

@ PP`P4@@0|pPhzRx[+zRx$UFJw?;*3$" Dx\D`
Ec
E hD]D`
Hc
E^0V2BBE J(A0A8D]:^{p^l^$h^58^s L_Ay
F[
ELp_BED A(D0
(A ABBAS
(F ABBA4,`ADD 
AAFD
CAAX`7
BEE A(D0DP
0A(A BBBC
0C(A BBBH0TmLe
GZ
FV
BQ
GZF4n|HZ
An|HZ
An-HoBGB B(A0A8D@`
8A0A(B BBBAH(ToVBEE E(E0D8G`
8D0A(B BBBBHthpBBB B(A0A8D`k
8A0A(B BBBEd,rXBBB B(A0A8D
8A0A(B BBBA^
8A0A(B BBBE($x-<@x]HTx-BBB E(D0C8IP
8D0A(B BBBB(l~
AH0k
AKA\PBHC c
ABE
FBIV
CIFV
FBJM
FDI8,AC
HK
E
HH,hTAC
L
F03AH
HKB
BHBBB B(A0A8D@
8F0A(B BBBE ĊD
G^
JL<pBBB B(A0A8J
8A0A(B BBBD$zRx,P
 N {
Gv
J^HpRBBB B(A0C8F`
8D0A(B BBBA zRx`(*PpLKAH @AP|\BAA D0
 AABEM
 AABGS
 AABI'DN
A'DN
A'DN
A 8ĭA[
Dh
A\AJ|0<HTK MlOL
A4<!AAD0
AAGL
AAA$(	4AHI@AAP	̱d	ȱx	ı			 	|AM0S
AA	
 
AJA 8
AJA \
AJA 
LAJA$
AJA
B`
BBB B(D0I8LP
8F0A(B BBBFz
8C0A(B BBBA,DBAD 
ABIHtBBB B(I0D8DP
8A0A(B BBBAHBBE E(A0A8FP
8A0A(B BBBDH`-BEE E(A0A8DP
8A0A(B BBBEHXDBEB E(A0D8F@T
8A0A(B BBBIHBEH E(A0A8D@w
8A0A(B BBBEHlrBHA D(F0D
(A ABBAK(A ABB`<
aBEE E(D0C8D`
8A0A(B BBBGy
8A0A(B BBBE
@
ؾ<<
AEBB A(C0
(A BBBK0hAA d
AEDPL<tBBE E(D0A8F@
8C0A(B BBBDD]BEE E(H0H8G@j8A0A(B BBB @@@
D@@@o@@8@
P@@H@	o@oo@@6@F@V@f@v@@@@@@@@@@@&@6@F@V@f@v@@@@@@@@GCC: (Solus) 8.2.0,P@+.<	@D@<	@H@*P@{@J	z^)@0E+intXpXdd5	X			Y					 	x	(
f	0
	8
	@
	H
	P
	X
`

h
QXp
Xt

kx
<
CJ


%w
(
8)
K*
3+	
2

3X
5HX5i
C

iy)
		X	GyCGX?EKWXXhT	V!	W	YX	Y[		\	 	^(	_]0	`8	wa@	eXH	fXL	FgXP	hXT	kXX	qm	`e0r?	;tQ	uQ	yX	}X	X	 	(E7Q0	Lio0tOXyP	
		q*!)@)E	+	q,@&	g
(
-!0.E(			X{RCDw	V
			E	%	Z 		Z(	,	0	b	Z8	g@	gwB3399?59XZKX`58j	9	Y9	9	9	x9 	f9(	90	98	9@	9H	9P	X	`	hj(05z)z)s):c?R@AvG;H@Iz?Dg	XW	L		W	f	X	W	`
}W	
~X_	@J@J%%:;9I$>&I$>I:;9	
:;9I8

:;9I8:;9I:;9

:;9II!I/:;9'II'<!I:;9>I:;9(:;9
:;9I84:;9I?<4:;9I?<!4:;9I?U%U%Z0
../sysdeps/x86_64start.S	P@>.B#>M$
 uv
thA;
/usr/lib64/gcc/x86_64-solus-linux/8.2.0/include../posix/bits../libio/bits../wcsmbs/bits/types../iconv../sysdeps/unix/sysv/linux/bits../libio../includestddef.htypes.hlibio.h__mbstate_t.hwint_t.hgconv.h_G_config.hstdio.hsys_errlist.hstdio.hinit.c`/
../sysdeps/x86_64crti.S	@?Lu=/	D@]/
../sysdeps/x86_64crtn.S	@'K	H@+K../sysdeps/x86_64/start.S/home/build/YPKG/root/glibc/build/glibc.git/csuGNU AS 2.31.1__off_t_sys_errlist_internal_IO_stdin_IO_read_ptr_chainsize_t__min_needed_from__statep_shortbuf__cd_IO_2_1_stderr__IO_buf_base_IO_jump_t__max_needed_from__mbstate_t__codecvt_error__invocation_counter_G_iconv_t__outbuf__codecvt_ok_fileno_IO_read_end_sys_nerrlong int__gconv_end_fct_IO_buf_end_cur_column_IO_codecvt_IO_last_state_sys_errlist__gconv_step__codecvt_partial_old_offset__cd_in__init_fctGNU C11 8.2.0 -march=x86-64 -mtune=generic -g2 -O3 -std=gnu11 -fgnu89-inline -fmerge-all-constants -frounding-math -fstack-protector-strong -fno-stack-protector -ftls-model=initial-exec__codecvt_do_always_noconv__codecvt_do_unshift__nsteps__shlib_handle__gconv_btowc_fct_wide_vtable_IO_marker_freeres_buflong unsigned int__codecvt_result_IO_FILE_plus__data_IO_write_ptr__gconv_fct_sbufshort unsigned int__internal_use_IO_save_base__wchwchar_t_lock_flags2_mode__btowc_fct_IO_2_1_stdin___max_needed_to__to_name__fct__codecvt_do_encoding_IO_stdout__min_needed_to__codecvt_destr_IO_write_end__gconv_init_fct_sys_nerr_internal__gconv_info_IO_lock_t_IO_FILEwint_t__codecvt_do_in_pos_markers__state_IO_stdin_used__flagsunsigned char__wchb__steps__codecvt_noconvshort int_IO_wide_data_vtable_offset_IO_2_1_stdout___codecvt_do_max_lengthinit.c__count__stateful__value__combined__modname__cd_out_next__off64_t_IO_read_base_IO_save_end__counter__outbufend__pad5_unused2__codecvt_do_out_IO_backup_base__codecvt_do_length_IO_stderr_freeres_list__from_name__gconv_step_data__end_fct_IO_write_base_IO_state__gconv_loaded_objectstatic-reloc.c../sysdeps/x86_64/crti.S../sysdeps/x86_64/crtn.S@@D@H@@@H@M@@@@@8@@@@	H@
@@ @
@D@@@@@@@@@@@@ 
P7@-5
=@
E
@@f
0C@
E@3
n@\
j@R@@
@
1
@V]h
@j
@}
@(@@
 @@@@
0@IȒ@bs@
@p@`@	j@]T@@"@+@>@Q@g
@@w7

6@-
w@
@r@
P@a 
@ @!
@(
u@0
@<D
,@VQ
`@ti
}@v @
*@
s@!
 r@0@@
 L@
`,@qD@"
w@.Q	B
@Rh
@@7
q
p@'z
 @
u@
`r@
@p@'
@@A
P.@,K
@y@W
@@sf
@}
+@|@
u@ 
pp@@
r@K
u@@.
t@7
{@G
 @:V
@]f
u@u
0n@K
PK@@@
~@
P@+
@@
r@
@!
0+@|5
u@|>
z@N
@-f{
@@
i@
@2
0@
@
@5
`@{		0	
x@;	O	e	
`0@Xt	8@	
`@	
0,@-	
>@			@	
@	 

z@B

PG@&

u@5

6@]E

`q@
pv@K

w@`@Y

o@'a

Ѓ@v

@

Є@rinit.cstatic-reloc.ceditor.ccommandInputCallbackcheckLineNumbereditorState_replaceString.isra.3editorState_findStringInFileeditorState_findStringInLineeditorState_insertAfter.isra.8multiLineEditor.constprop.10__PRETTY_FUNCTION__.3520__PRETTY_FUNCTION__.3538editorState_executeCommand.cold.11multiLineEditor.constprop.10.cold.12main.ccrtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.7339__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entryparsing.c__PRETTY_FUNCTION__.3523__PRETTY_FUNCTION__.3532__PRETTY_FUNCTION__.3469__PRETTY_FUNCTION__.3487stretchybuffer.c__PRETTY_FUNCTION__.3295hashmap.c__PRETTY_FUNCTION__.3314__PRETTY_FUNCTION__.3331__PRETTY_FUNCTION__.3373colors.c__PRETTY_FUNCTION__.3322__FRAME_END____init_array_end_DYNAMIC__init_array_start__GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE___libc_csu_finifree@@GLIBC_2.2.5putchar@@GLIBC_2.2.5resetColorhash_ptrstrncpy@@GLIBC_2.2.5buffer_replaceInLinestrncmp@@GLIBC_2.2.5_ITM_deregisterTMCloneTablestdout@@GLIBC_2.2.5clrscrmap_getbuffer_moveLineDownadd_bookmarkbuffer_findStringInFilebuffer_closeputs@@GLIBC_2.2.5stdin@@GLIBC_2.2.5getFileTypeExtensionmap_put_uint64_from_uint64hash_uint64buffers_edatafclose@@GLIBC_2.2.5editorState_executeCommandget_bookmarkcolors_putsstrlen@@GLIBC_2.2.5parseLineNumber_IO_putc@@GLIBC_2.2.5getInputxrealloc__assert_fail@@GLIBC_2.2.5getch_nonblockingmap_get_from_uint64hash_mixxmallocfgetc@@GLIBC_2.2.5buffer_deleteLinefputc@@GLIBC_2.2.5createMarkdownOutlineread@@GLIBC_2.2.5__libc_start_main@@GLIBC_2.2.5printPromptskipLineNumberbuffer_insertAfterLinecalloc@@GLIBC_2.2.5showCOutline__data_startmap_put__gmon_start__buf__growstrtol@@GLIBC_2.2.5__dso_handlememcpy@@GLIBC_2.14hash_bytesmap_put_from_uint64_IO_stdin_usedmap_growbuffer_openFileskipWhitespace__libc_csu_initmap_get_uint64malloc@@GLIBC_2.2.5fflush@@GLIBC_2.2.5_IO_getc@@GLIBC_2.2.5editorState_editorprintFileInfobuffer_saveFilebuffer_moveLineUpmap_get_uint64_from_uint64parsing_getLineshowMarkdownOutlinemap_testprintLineNumberbuffer_insertBeforeLinerealloc@@GLIBC_2.2.5buffer_appendToLine__bss_starteditorState_promptmaingetchskipSymbolsmemmove@@GLIBC_2.2.5skipNumbersskipWordtcgetattr@@GLIBC_2.2.5tcsetattr@@GLIBC_2.2.5fopen@@GLIBC_2.2.5printErrorperror@@GLIBC_2.2.5vfprintf@@GLIBC_2.2.5createCOutlinecurrentBufferparsing_getLine_dynamicshowOutlineprintLineexit@@GLIBC_2.2.5fwrite@@GLIBC_2.2.5__TMC_END__skipText_ITM_registerTMCloneTablebuffer_initEmptyBufferprintTextmap_put_uint64recreateOutlinefatalcolors_printfxcallocbuffer_prependToLinebuffer_findStringInLinebuffer_replaceLine.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_ranges@ #@ 1@$Do@(N8@8HV@P^o@Fko@0zH@HB@@ @ @QxD@D	@'@@@@@@@@ @@@00 !
,h804C0x!M	(
QELF>P@@ @8@#"@@@@@hh@@  @@xx@@M{M{@@h9h9@@@@@@@DDPtd@@QtdRtd@@/usr/lib64/ld-linux-x86-64.so.2GNU GNUwXXn(A1x! !")gUaB5& =zXms' fJ .6 @R @libc.so.6fflushexit_IO_putcfopenstrncmpperrorstrncpyputsputcharreallocstdin__assert_failstrtolfgetccallocstrlentcsetattrreadstdoutfputcmemcpyfclosemallocfwritetcgetattrmemmove_IO_getc__libc_start_mainvfprintffreeGLIBC_2.14GLIBC_2.2.5_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableui	@@@@ @! @"@ @(@0@8@@@H@P@	X@
`@h@p@
x@@@@@@@@@@@@@@@@HHHtH5%@%h%h%h%h%h%h%h%hp%h`%h	P%h
@%h0%h %zh
%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@%
h0H%H%@fDAWAVIAUAE@ATUSHXB@8X@.AI仈@@HLA-NiD$<D$CHPHrH;pvH^HPH$HrHpD<H9tD;HH$Hu@HQD$8HHPHrH;pfo$HHpHfoL$JfoT$ R fo\$0Z0HL$@HJ@HHDиHAHøH988kWvu1;uH=H<kHHt	HkPHHHHH9jH=ZHK1HwHHt^HkPHWfH)HHt	HkPHHHH=HH9jH1HtHkPHH=HwHHH)HHHcHkHHHhHHHpHt*HH1DH9HHHu翐@1dfDiH<HHHQHPHkHHTH(HxUnH9H@1Kd6L~fHHHHHqH;pHxLHWHPHkHH<H<H=IvzfIvupؐ@H@<xYHH[HPHVHrl@ZH@1wcb@1163HH:[H"f.@1I^HHPTI@@H@H@nDH=HzH9tHFHt	H=QH5JH)HHH?HHtHHtfD=1uUH~]Dff.@f.@HXH=fD$)D$)D$ )D$0HD$@D$H1Ht$x_11d$HT$fD$&xv1Ht$EHxP1HT$L$
xD$HX@@@(@D$HX@!@@@{HXH=fD$)D$)D$ )D$0HD$@D$H1Ht$x_111d$HT$fD$&
xy1Ht$XHxS1HT$L$
x!D$HX@@(@D$HX@!@@@x:@1@HH& w!HsuHH9v@HH9wfDIHDDσ߃A@v-tAy@	vA-tt.Ay@?w+IsDEuHH9vÐHH9wfDA{AvD1ff.f1ff.fH-u!WH0	wDHH9w0	vff.'tXB<?w)HHs5.tH$uHGJHw@HH9r0	vHHE11ɺff.fSIH1HLLHIaI9ttHAL)HtL1-te1HDILJI9t
Ar@	v~
@EHcH[Dr@
w@$@@1[HÐASIHCHt1HxHC1HtHHHcK8@AUAATIUSHH=iu{H=Y t	t
tgtwE~mfDADH=$Mƒ
!A9HuHcIčEA$H[]A\A]
uA$H[]A\A]øfUHSHH=uH=Ã t	t
uVhHPHrH;pvHTHPHEHrHpH=;fƒ
tHEHu@HEHt@H[]DH1[][AVIAUE1ATUHSH Ht$D$HtSHFLcHv1fHH9^v3<@	@H5gHt$D$HuI@1a<>Ht1HL$HT$Մt̀2	C<w
tC<w
v	
m	HcD$	HL$1HtHQH5H9>HD$HHPHrH;pvHRHPHD$HrHpL$1L$o<HD$Ht+HpL9	|0
tH
H;pHpHu
@1HD$H []A\A]A^f1<[	HtHL$HT$Մv1D[C3F}	H?D$1ۅ%	H9\$	HD$H5L<	uH@DHT$H
tHH;B@	B	@HD$Hhl$f.[HD$HHPHrH;pHcL$HpH)H4H|HcHcD$HT$D$XHc3DH9Xv2<@	@H5;HHD$Hu1@HD$HHct$HHthHPHHH)H9H)H5߿<	uH@몾HPHPHD$Hr@HH9/L@11rV7D@H
RHL$1HtHQH9оH
@HD$HHPHrH;p	Hp	L$~1@1UHD$HHPHrH;pHpD$PfDKHD$HHPHrH;pvHNHPHD$HrHcL$HpH)H4H|HcHcD$HT$	D$XHc4fDH9Xv2<@	@H5~HHD$Hu1@^HD$HHct$HH\HPHHH)H90H)H5<	uH@6@@		@HD$HcL$1H4H|HtHPH)HcyHt$L$HFYHcHHFH9wKHH9^v:<@	@
t!@
t@"H5VHt$HuH
1ۿ@_DHHcL$HT$HH4HBHH)H9HH)H5C<	uH@@E1H^LHPHD$HrB@H6LHPHD$HrHp	L$[@lHD$H:HcT$H;P+<	<H5XHH9L@HH9L@@11
R'D@H
@H
ʺHt$
@11QCD@11QHt$@H
j5t$@HcD$HT$H57|	ID@H
HD$Ht	Hx
AH 1[]A\A]A^1f@|e7HIHHHD$Hq
^H5i
HD$HHPHrH;pHp
HD$D$HHx6HD$1!<~HD$HHc|$HPH9HOHH)H4Hc#Ht$Hc\$HFHHFH9w3XH51Ht$H8HH9^*<	<uþ@11UO¾HHHPHD$HrH@?HD$Hc\$Ht<H;Xry@HH9Xvk<@	t7@t!H5׷rHD$Hu1D$u@11Nۺ@H
bD$;@븾@11pN@H
U H
D1ۿ@HHT$HcL$Ht@HBHH)H9HH)H5<	uH@HH9{Lƾ@H
sHt$.fSH$p@f.Hh[fDntxHf0@t[DNmdHf[Ð6Hc[fDcpHf@p[DHSzuUHB@HtJHxtC1fDHH9Xv/H1HH<H+zHHHB@Hu[ù@@`@@HSzuUHB@HtJHxtC1fDHH9Xv/H1HH<H+zHH0HB@Hu[ù@#@@@H@tugAWH)1AVAUATUSHLw0MtSMfMtJIHHcE1DIIM9t9I>1HtHWH9HHBuMuH[]A\A]A^A_1ff.AWIAVIAUIATI UHSHH(HL$EAĄH)E1Ʌ~LI\EE1HlA\	Ѐ>wLH	ЄHH9uIG0HtKHxHwH;pwBHHpHLDpDhDHD$DpDhH(D[]A\A]A^A_ÐHǺLL$CLL$HxIG0HwMt@IAHpI;qv"LϺVCI\IH@HpIqA4f.AWAVAUATUSH(H-Ӳ}HEHtMHxtFA1E1IEf.HH9XvHAAH:#tHEHuH([]A\A]A^A_@HrHJz#@HDH<#uAH9uH}@HHGHpH;wHU@HBHpHHHrHDxDpHEADHtHPHsAJH9ABIcHLJtHtHBHIDHHI L	=H-~EMcHEDL$DT$DD$HL$}ADL$LcT$DD$HL$HE@H-&fEMcDE1@D@`@off.@AWAVAUATUSHXL5ðA~HD$(IFHyHxnD$$E1@N$J4Dl$ 1Dl$Ht$MtIl$L1HL9IHHH9;(u(W@1LT$H{LAHHHD$LT$x*LxtLxL\$AA@LLL5M)AAMHcHIOH98AL!@AMALHHHNH9€ALAMӿ&@HcHHNH9A-@AMHcHHOLH9HLL3@HNH9€gHLA6@LHNLH9>ALAM˿;@HcHHOH9?@LB@L@@LC@LE@L{Ɩ@L_M@LCJ@L'G@LLI@LL@IGMH\$HMHD$@nLMHٿ!@HcHHNH9QL޿&@ADMMcIINH9-@MHcHHOLH9ILL޿3@INH9HHLLHNH9€L޿;@LHcȸHHOH9dL޿I@HL޿L@,L\$L;\$@E1LLߺ1HIgLAHD$LLA6@L)؃MHcHIOH9€'L޿O@L1H\$L5I~@I^HtHGHpH;wv$;IF@L5IF@|$HPHJHHHHЉx|$$HtGD$ Ht$(H H‹D$8H	ЉH H!LH	HT$0HHD$8/L5pHD$L|$(HD$0D$D$$IFHtHPII9|$$u
|$$uHX[]A\A]A^A_1ɋT$$H Ht$(LH	HT$0HX[]A\A]A^A_Ȓ@t@@\H\$HM1H(t.)u,tH9v%u߀;{lHH9w
DH9wL5$@Hq@tucHABt1u$HB@HtHxtH@?HB@HtHxtH@AWAVAUAATIUSHˉHL2MtI~E@uuP@&|IƸ$ fAAFLA]1)H=JHHvHH+,LIH988HW8HHMcD<ADE@1E1@f@	uE1tHD[]A\A]A^A_ÐL$t@t<#h If@@Us@L$$Ж@fDEAMtsIFHpI9vrjIvAoI$HOHPHrH;pvH\7HPI$HrHpޓ@@E1 1d@L7II$H@HpufH988W8H+=HHɓ@1E1?$ If@@$1@fHPHrH;pvH6HPI$HrHpA.HL
H!%tDHJHDщ@HL)H9v1I$Huf@^[^QfDLޓ@1L
H!%tEDHJHDщ@LHL)a@@1\>tx@Lޓ@11=DHPHrH;pvHM5HPI$HrHpAL-HL
H!%tDHJHDщ@HL)H9I$Hw{uMsEr=q5p-o%nmj
i@A@XIFHpI;vv%LL$Q4L$II$H@HpHIvAI9.M4$MMueba|RtQlPdM\ITELAD@@AiKfIFHpI;vv!L3@II$H@HpHIvE<H9tRM4$D}MuLA
5LE1fD@ޓ@1E1:L@S11H H
HD$HAHtHxuw1H [f.HT$~HAHtHcH;Hw	HtHz>HD$@1y:@1-;H|$>H|$
Ht$H
HQHtHzkbKDH=|$HzD$H [fDATHUSux8HPHt	HRHu[]A\@HcH9rW@V9P8ֿ
@1;H8L$H@HHtHHʅuHc|0
B~j13H5ɠdHSH9fHؠHH@J <@	@u@117뽐@uK
@1Z:[
]A\@W@9P8[]
@1A\!:@@1:[
]A\=D*@19f@1t@@19@[@]1A\9@*QfUHAWAVAUATASHHX8ALIcLE|$H=gLDGAŃ~ HBH@Ht{HcH;P{RMclEB=D<
Hc1HHH)čBHL$IH-=D9t#D9}	A91 H~H9tHA9u1^H~H9u1@K@711HƅsHHtHHHʀ<
H=:IDAL$@CHe[A\A]A^A_]@1-VAT$fD@1L61@16L"Aăt:DHHfDH\HxnHe[A\A]A^A_]HhfD1LD-@1n5He[A\A]A^A_]ff.@UHAUATSH7LHcHLDkH=͜HLDžDE`~ HHRHtxHcH;JǺ1McDB-B<
HcDJ1HLHH)HL$H 09t9~A9|C1 HFL9tHA9u1^HFL9u@q@1PHe[A\A]]D1-f.BTofDV@1L41fV@14LÃtfD1L޿-@13He[A\A]]@U
HAWAVAUATAHSHHHHDh8IcHH)H(LHcLD{H=LDDBAăEuE~HH@Ht
IcH;PA1DMcB#B=<
HcDB1HHH)LHL$H#3@9t9~A9|C1 H~I9tHA9u1^H~I9u@q@1@He[A\A]A^A_]Ð1-f.nV@1L21fV@12LÃtfDAHHpHTA}1xDL޿@1L1He[A\A]A^A_]ff.fAWAVAUATUSHH
ӘHQHHzADoHc2oW1HH
HQA9|1HtHBH9sHAIcH;jHH+5AH1H}@I988AI*11<DH
	HQH-H;j#<?p<p+<q<<QE
-f. u
E|$HD7f.HHH9ot31HA9HDHBHuHugo;j8.1
@0HHBAIcHt6H9hv0HH+5H1H}@I/1<H
[]A\A]A^A_E,A DHE1IcHHBuAIcuH1@1H@p@@@1@1@1H"}@HH+5H1HI	/1*@/HHB
@1/
-@ u
Aϔ@
-{ nu
_@9i8t'
@1.H
.HQHM*@1.H
HQ1f.HHݔ1HHtrޔ@1,H@p1H1H@Ht)HPօtHLHHtHAH<
tS	@1H`BttHBfHB@HtHxt@fHDrAWAVAUATUSHHhHKHw1HHs1E11HHHHs1HIHI)
I'@H,-@Hi@H\H=UHHSLHHsLIAH0Hs1HH8:IE*D$E1E1A}#YHHSLH)؉)EAȃ#<U$ŀ@fD1111E111HH11HIj
I}'@HI)1'1Hh[]A\A]A^A_1L1LIA&11H8:I.EEك#A<U$0@DHSH)؉)EAȃ#<U$@fEHh8LcDmH~1H@HtHPL9=xDH=MN8H?HP1HtHBL9:f.Ht	H{1HH0HtH~6H@p@@
辿ث@@ڿx@п@ƿ@輿H@貿p@訿@螿ȭ@蔿@芿8@耿h@v@l@b@X@N(@Dx@:@0@&H@@@`@@Ȳ@@L@־@̾`@¾@踾cHs1HxHNHSH=[HIHHsLHD$HމD$=HT$HsHljH1D)L$EDT$IHSH)؉)EAȃ#<U 
$Ő@fDI}11H=Ď1IH?1LHD$D$HT$1Hlj1D)L$rEDT$IuMEzE1@19I@EDك#A<Uy$@@Eك#A<UR$@E&HD`8A~.HH@HtA|$HcH;Ps1@1A|$A11H|$pD$p|$pHHmHxt_L>IfHH4E11ɺLaHsHH1H
HL$pLHH=6HD$p@Pp1WfLH?H{辻oEHuH4E11ɺLDT$HsDT$AHE)H1HDT$YEDT$p@1迻:EHH1HHHtQP8DwfH
H{@EHHPHvHzAf.HcDaA|
u
IcEDaHl$pLMcDD$H覺B|$pLcD$&BDpH|$ %H^HBHPHrH;p5fod$ HHpH"fol$0jfot$@r fo|$Pz0HL$`HJ@HHH|иH=%@Hފ@<H|$pL$B%HL$Ƅ$HHHPHrH;p;foD$pHHpHfo$Jfo$R fo$Z0H$Hz@HLdиL%4+	AE<	t< B)fDIAEAE)< t<	tE1S@HGHpH;wv I$HʼnH8HGHpHwAT-HA9L%I<$Hu믐E
Hxh8
H=e/}^}v1
D$EE
HHPHtHz
DD$E1A*D#HĈHPHt#H9jv|$1HfDL$H8t@EW
Hx@8At*h~H\HRHt
HcH;JAʼnHt$p1D$p|$pI
H=
LD)Mt
I|$HHcHP1HtHBH9}vDI;l$	I<HtH苶IHMueDHqH@0HLHxA1DHH9h*HHH1HDHD@HtQ𿌕@1}
HH@0HufDHH4LE1HsHHL)HA1蜾HH0Hu	EE+
HALu1LILp1Hy"ATAHPH9HH9uAfEIH(h8~(HH@Ht}HcH;Ps1P}r>@Е@1=11H|$pD$p|$pWH=H‰>*Y@H@=hHH{^D$EEuHAHPHHzRL$EME1HPDE~7HAGHH;Bs!1DT$4HՄDT$HPAE9}HIcH;B1DE*	Hh8~}1H=j++}^v}1EHh8~0HH@Ht }HcH;Ps18}I1@ȕ@11H|$pD$p調|$p7HHtHHHʀ<
uHhH=rH‰'<H4HF1LL$-IL$HL))хE<n<pHHH)Hi98 HHHHւfHAHPI9v[Օ@1@1H|$p
Ht$ H|$pD$OAExH
`McHu|$tKHHJH.1EDwfH!@p1zDLDCH{DA@1YfDIfD91E11ɺL蚹1H91LE1y1HHL)AE1E11ɺLDT$J1DT$AHE)1fD@.@$HH@HtHx[
HBfD2@1MuH;HsE11ɺLH蒸HsIH1L>A}pHD$tBH=CHL$pLL[HD$pDPDxDD)D$Ll$!fILL1HpfITPI9t
AEHЀ	vAAA)EEEQIcHH@HH@HH9DBDLl$D)D$DE1E1QDH?HxF11E11ɺL\1IAE9QDx8DTADžx"HcH~HP1HtHBH91Dx8DDT$DT$ANjD$AoMcA~A11H~H@H[L9`Q1D=DL濯@1詭H=:~LDDT$h|$DT$ADž5D`HcD$x1AI|$ҬEDLDn@1DT$ DT$DLH=}HI L	OzH=}HDX HPH}fBE<n<pJEH=}H$Hx1QDH9
0@1{H}B| <ud
H|HHH;hLdH=|ILHHt	HQHuH9t!@1
*螫@@1l}1Hi|H@HB|p@:@G@身f.AAg%@1nEuH{HPH8HztDx8E9AtAz1DT$
H{DT$HPDEA}1DDXDHHljL$xL$HPH){HrDhHHAHPHzHrD5QD&EuHzHPHtHztDx8DT$E9|D|$E׃|$Hz~D$1xH}zHPl$E1f.~3Ht.MHH;Js";l$*AEH5zHPA9}HIcH;J{1D\Hy`Ad^D3^@1Hl$p1f^@1Ht݃H|p@:@s@@@1ĨH=UyH70E:KD$ExDoH=y1HGHtp HxHP1HtHBL9^D$EE1A~hA1DT$HxDT$HPE9zE1t$tEuENDEAHFx0H2x1HJH(xH)Hi98HH;B'1 D${@1Hl$pHD$p@@1H~HD$pH	HPHrH;pHp𿯕@Ht$p1Ht$pH=qwOx1D$D$AʼnANH/wHt"H+wH)Hi98HcH;JDBMcKHHvH1A~hAz1DT$+DT$HvEAHPDT$EEHHPHD$pHrDT$@;:@ @DH988HHCvHHH+5.vHP8HHt	HyHuUɓ@11H|$P8@D$|$HuIHt|H@HtBHu?
t7HfDx<AЉt5@11HtH萤1Hf@1f1HÐAWAVAUATUSH(Ht$~1HEuHcHJHD8	uHBPv	tE1%1=IH@HPIVA	AatAi DED@11D$L1H|$豰IHMHx[A>HHCHpH;sHsL4IvLE1fDHAHL)H9	tHL)H9wO1'f.}H)HL)H9w{uHHL)H9vɸHAHs@PE1D@1m
Hs@PE1DA~@1H5*s
IFH1HpbHIFHHGI~vALHI9Vw@fHߺHH@HpIfDE1EE1E1(@IFHpI;vw AIvA	E9Mu׾LIH@Hpƀ|$u"H(H[]A\A]A^A_À|$tI~HD$1ff.S11HHqHt$D$
HCHq1HHHtQP8H[DATUSHHqD`8E~"HqH@HtA|$HcH;PHt$D1D$|$Hu1YfH9]v2H|HtH'HDHHuH[]A\@H}H[]A\fD
H=pHDHt	H}ğHpHcHP1HtHBH9v>aH[]A\A1{v@HHtHÿC@賠ɠfHGHtHÿR@胠虠fHHtHÿb@SifSHHtWHGHH\H9HBH9w{H1HH9rQHHqHt+H袟HthHXH[fHXHHHX[ù@q@е@讞@q@@蕞R@{葟@q@@hSHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$@D$HD$HD$ HD$1D$0讝H=nHT$H躞
0趞fDH͌UׯQHHH H1H͌UׯQHHH H1H͌UׯQH1HHH H1@Ht;H%#"HH@HHH1HHH H1H9uÐH%#"DLGMtwHHGHtHHHuvH͌UׯQHII L1I9srLH!LIH9u3HH!ILH9tHuHfD1DHGJHù@%@(@B@'@@@)fUSHHHtLWHHwHKH9suLFIH͌UׯQLMHHH H1L!H9t{HL!H4I<1HHuHEILUHH0H[]fDHHT$LUHuHT$KH9d@M@>@@HEH0H[]ù@F@:@@N@(@ff.@UfHSH(HHC޾)$)D$HH<H$/H}H\$HD$H}t;1fDHH9]v'H4HtHEHHHIH}H9]wʙH}fo$foT$MUH([];ff.ff.ff.ff.ff.ff.SfH )$)D$fH^HHHHuHHHH9uHuH [ùp@@T@T@w{$@fٶ@1@߶@1@@1@@1@Ƕ@1Ԙ@Ͷ@1Ę@Ӷ@1鴘@@vfD߶@1锘@SHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$HH=hHD$HD$ D$D$0HD$߶@1H[ÐSHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$QH$HT$HH=gHD$HD$ D$D$0HD$f߶@1:
ЖH[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$1H$HT$HH=gHD$HD$ D$D$0HD$蟗߶@1sH[f.SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$HH=PfHD$HD$ D$D$0HD$ܖ߶@1谕H[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$HH=eHD$HD$ D$D$0HD$߶@1H[HGHGGHG HG(G<HG@HG0ff.AWAVAUATIUH+@SHHjHIO1|.DHH9uttLcBD=<h8<mA<tuKHt$DHH|$SHcHL)LH:LH9wEt$^I$11LHPHrH;pvHuHPI$HrHpLHHqHH9v(I$HuA<c9I$HHtHBH<@M1HCHpH;sw&Hs@,@
t>L,<tvHuѾHߺHH@HpHs@,@
uID$HHPHrH;pvHmHPID$HrHpH^LXIT$AD$<1HtBAD$8yH[]A\A]A^A_DADAD$OflfDAD$<H1[]A\A]A^A_A@Z8@H@DATUHSH?HtHHHEHE10H9Xv'H<HtHHEHHHuHE0HtFHx1
HH9XvzIIJ< HtHŐHE0J HűEt,t'H}HtH蕐HE[]A\H}@HtHnHE@Hx[HE0띐AWAVAUATIE@UHSHH?HtHL1芑IMDHPHrH;pvH5HPHEHrHpALH1HPH9vHEHuH1һA<.DHH9ut{LcCD<<h%<mA<tuRHt$D褩L謏H|$SHcHL)fAH:LH9wDuHUHt`HztYE1@JN$Ht7Hxt01@HH;Xs<LrHUJ"HuHt
IL;rrE<LH[]A\A]A^A_A<ciI\AE@AfAWAVIAUIATUSHu_8MIFHcD$L<I}HHG)H4HGH9rTHOHcHcHH\J<;HLLH蠎Ee8AD$AE<H[]A\A]A^A_HL$HL$HIE1HyfA1E1MAWFAVIAUIATUSHHcAHMIFI}HcAL<HHGh)H4HGH9H_HcHJ<;HHLLH觍Ee8DAE<H[]A\A]A^A_@Dg8Et_IcHMbI}1E1Ho1)HH9tHL$HL$HIET@1AAWFAVAUIATUHSHvbHELcIN| I?HGHHGMtnMuJ40H9wr@HwLHLދE<]8H[]A\A]A^A__8uIHEJ| HGI4HE1AWFAVIHAUAATUSHIFIcHLd(I$I<$HL{HHwHGLH9r?HGHJ8HWHLH{܊AF<En8H[]A\A]A^A_@I$IFH|(En8EV뾐E1HuIL1jff.AUFIATUHSHvFHcL$HELH8HtH#HELHL(]8E<H[]A\A]Ë_8uH[]A\A]ff.AWFAVAAUMATIUSH(1)MtAEMcID$INL8I9HtHwAA)ȅ}LcLH9wHwHcIcHtDHH萊ID$Hc1J|8MtIUL Et$8AD$<H([]A\A]A^A_fDALcALօ8tHHGDw8E H([]A\A]A^A_@L$LT$DD$LL$LL$LT$L$DD$IID$J|8HwLff.@Fv0HOHcƃHHTHDLHH
LG<w8@w8uÍFv(HWHcHH2HT2LH2H1LG<G8Ëw8tF@FAVAUATUSHLcHCN,MuJ<0HHHHI9tkHHz虇HCJ<0J4(HHHPL)H譈HCHhC<H@I9Gk8[]A\A]A^f.Ht&Hz2HCHtiHHHHHHHo8&HML1lDJ4(Z1PfH%Hff.@FLGHcM\MATUSIkHtZLcD$FDEA
AE1D	E1E9t(II9tMcFG8tE1ɸuA9u[]w8A\EADAw8Yw8ff.AWAVIAUIATAUS1HH$%H;Xs)D}DLLDHu$IFHuѽH[]A\A]A^A_H$E~8f.fAWIAVIAUAATL%SUH-SSL)HHt1LLDAHH9uH[]A\A]A^A_HHtcsetattr()tcsetattr ICANONread()tcsetattr ~ICANONEdim - Ed ImprovedPress 'h' for help.Opening '-Scratch-' Buffer-Scratch-Opening '%s'

Copyright (c) Christian Seibold. All Rights Reserved.
File doesn't exist... Creating it.

You cannot close the '-Scratch-' buffer when other buffers are open.There are unsaved changes. Use 'E' or 'Q' to close without changes.There are unsaved changes in at least one of the open buffers. Use 'E' or 'Q' to close without changes.@@@@@@@@@X@@@p@6@*@*@*@*@+@*@showCOutlineshowMarkdownOutlinecreateCOutlinecreateMarkdownOutline    $    ^X ^Dsrc/parsing.cifelseswitchwhiledocasefor&&||+^///*|%.*s|
%c
currentBuffer->fileType == FT_MARKDOWNcurrentBuffer->fileType == FT_C
<%d: %.*s*|%d> 
<%d: %.*s|%d> 
<%d: new file*|%d> %shelp info Enter a line number: %c%4d %5d Enter the string to replace: No occurance of '%.*s' found
%5s %.*s- Enter the string to find: %5s %.*s- 

<%d: %s|preview> 
Previewing '%s'
 * 'p' to show previous lines--^-^-^-^-^--
--v-v-v-v-v--
File information for '%.*s'
Filetype: %d
Number of Lines: %d
Outline:clearhelp'%s' is currently open.

 * 's' - Save current bufferinfoSet bookmark '%.*s' to %d:%d
%4d: %.*s %d:%dEnter a filename: Saving '%s'
Saving '%s'%4s ^- %5s That buffer doesn't exist.Enter a buffer number: *%3d: new file%4d: new file*%3d: %.*s%4d: %.*ssrc/editor.cstr[strLength] == '\0'Enter file to open: str[strLength - 1] == '\0'Opening a new file.FileType: %d
Unknown command
------=@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@=@>@>@>@=@>@>@>@=@>@>@>@=@>@>@=@|=@t=@>@>@>@>@>@>@>@>@>@>@>@>@>@>@l=@d=@>@>@\=@>@>@<@<@<@>@>@<@<@<@<@<@<@<@>@<@>@>@;@8P@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@0S@p_@p_@p_@B_@S@p_@p_@]@p_@p_@p_@\@p_@p_@[@[@0_@p_@_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@_@]@T@T@`T@PT@Y@p_@X@!X@p_@ P@W@pV@pU@0U@U@[@HZ@[@p_@p_@S@O@8P@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@__@p_@p_@p_@U_@S@p_@p_@]@p_@p_@p_@\@p_@p_@[@_@0_@p_@_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@^@+`@T@_@_@PT@Y@p_@X@X@p_@.P@W@pV@pU@0U@_@[@_@[@p_@p_@_@O@8P@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@__@p_@p_@p_@B_@S@p_@p_@]@p_@p_@p_@\@p_@p_@[@[@0_@p_@_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@^@]@T@|T@`T@PT@Y@p_@X@X@p_@ P@W@pV@pU@0U@U@[@HZ@[@p_@p_@S@O@8P@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@__@p_@p_@p_@B_@S@p_@p_@]@p_@p_@p_@\@p_@p_@[@[@0_@p_@_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@_@]@T@T@`T@PT@Y@p_@X@!X@p_@ P@W@pV@pU@0U@U@[@HZ@[@p_@p_@S@O@8P@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@0S@p_@p_@p_@U_@S@p_@p_@]@p_@p_@p_@\@p_@p_@[@_@0_@p_@_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@_@+`@T@_@_@PT@Y@p_@X@!X@p_@.P@W@pV@pU@0U@_@[@_@[@p_@p_@_@O@8P@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@__@p_@p_@p_@U_@S@p_@p_@]@p_@p_@p_@\@p_@p_@[@_@0_@p_@_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@p_@_@+`@T@_@_@PT@Y@p_@X@!X@p_@.P@W@pV@pU@0U@_@[@_@[@p_@p_@_@O@editorState_openNewFileeditorState_openAnotherFileThat line number exceeds the bounds of the file.
No occurance of '%.*s' was found in line %d
 * 'q' or Ctrl-X to stop previewing * 'Q' to exit the whole program * Enter/'n' to show the next lines * 'j' start showing lines from given line number (TODO) * 'f' find first occurance of string in file and jump there (TODO)An unnamed file is currently open.
Use Ctrl-D to denote end of inputUse Ctrl-X+Enter to cancel the current command/operation * Ctrl-L or 'clear' - Clear the screen * '#' - Gives back information on the file, including number of lines, filename, number of characters, filetype, etc. * 'j (line#)' - Set's current line to line number (no output). Use 'j$' to set last line as current line. * 'a (line#)' - Insert after the line number * 'i (line#)' - Insert before the line number * 'A (line#)' - Appends to a line * 'I (line#)' - Prepends to a line * 'r (line#)' - Replace a line with a new line * 'R (line#) (string)' - Replace the first occurance of the string in the line * 'x (line#)' - Deletes a line * 'm (line#)' - Move the line up by one * 'M (line#)' - Move the line down by one * 'f (string)' - Finds the first occurance of the string in the file and prints the line it's on out * 'F (line#) (string)' - Find the first occurance of the string in the line and print the line out showing you where the occurance is * 'u' - Undo the last operation, cannot undo an undo, cannot undo past 1 operation - UNIMPLEMENTED * 'c' - Continue from last line; Append to end of file * 'p (line#:start)' - Preview whole file (optionally starting at given line) * 'P (line#:start):(line#:end)' - Preview a line or set of lines, including the line before and after * 'b' - List all currently open buffers * 'b (buffer#)' - Switch current buffer to buffer # * 'bn' - Switch current buffer to next buffer. Will wrap around when hits end. * 'bp' - Switch current buffer to previous buffer. Will wrap around when hits beginning. * 'd(line#:start):(line#:end) (string)' - Create bookmark with line range start:end and name string * 'w (string)' - Print out line range of bookmark with name string * 'g' - List out all bookmarks * 'o' - Open file in new buffer * 'n' - Create new file in new buffer * 'e / E' - Exit current buffer / Exit current buffer (without save) * 'q / Q' - Quit, closing all buffers / Quit, closing all buffers (without save)
Any command that accepts a line number or line range - denoted by '(line#:start):(line#:end)' - can also accept a bookmark. Bookmarks are prefixed with '#'. Example: 'P #test'.Unimplemented prompting for name. Please add a name after the line range.File doesn't exist... Creating it.
Press Ctrl-D on new line to denote End Of Input
buf_len(currentBuffer->lines) == 0xcalloc failedxrealloc failedxmalloc failedsrc/stretchybuffer.cnew_len <= new_capFATAL: buf_cap(buf) <= (SIZE_MAX - 1) / 2new_cap <= (SIZE_MAX - offsetof(BufHdr, buf)) / elem_sizebuf__growsrc/hashmap.cIS_POW2(map->cap)key2*map->len < map->capval == (void *)(i+1)map_testmap_put_uint64_from_uint64map_get_uint64_from_uint64ERROR: Wrong Color - Unixw@w@w@w@w@w@w@src/buffer.cwbuffer->openedFilename[buf_len(buffer->openedFilename) - 1] == '\0'buffer_openFile;TXPZ	ZZ8
pZ|^_ `Dpahaa@bPb`bb c(dLder0sdtttPuvPx P0|Dpt	@	0	L
l
@
p

й8Xl00,@T h0|@Pп`p 
8
\
`
 
p
0 @PP@p400 |`@hzRx[+zRx$UFJw?;*3$" Dh\D`
Ec
E h4]D`
Hc
E^0V2BBE J(A0A8D]:]{`^\^$X^58^s L^Ay
F[
ELp_BED A(D0
(A ABBAS
(F ABBA4`ADD 
AAFD
CAAX`7
BEE A(D0DP
0A(A BBBC
0C(A BBBH0TmLe
GZ
FV
BQ
GZF$n|HZ
An|HZ
An-HoBGB B(A0A8D@`
8A0A(B BBBAH(DoVBEE E(E0D8G`
8D0A(B BBBBHtXpBBB B(A0A8D`k
8A0A(B BBBEdr\BBB B(A0A8D
8A0A(B BBBA^
8A0A(B BBBE(y-<0y]HTxy-BBB E(D0C8IP
8D0A(B BBBB(\
AH0k
AKA\@BHC c
ABE
FBIV
CIFV
FBJM
FDI8,ЁAC
HK
E
HH,hDAC
L
F03AH
HKB
BHBBB B(A0A8D@
8F0A(B BBBE D
G^
JL<`BBB B(A0A8J
8A0A(B BBBD$zRx,P
 N {
Gv
J^H`RBBB B(A0C8F`
8D0A(B BBBA zRx`(Pp<KAH @APl\BAA D0
 AABEM
 AABGS
 AABIx'DN
A'DN
A'DN
A 8A[
Dh
A\AJ| ,8DK MlOL
A4,!AAD0
AAGL
AAA$(	$AHI@AAP	d	x				 	|AM0S
AA	
| 
xAJA 8
AJA \
AJA 
<AJA$
صAJA
pB`
BBB B(D0I8LP
8F0A(B BBBFz
8C0A(B BBBA,DBAD 
ABIHtBBB B(I0D8DP
8A0A(B BBBAHBBE E(A0A8FP
8A0A(B BBBDHP-BEE E(A0A8DP
8A0A(B BBBEHX4BEB E(A0D8F@T
8A0A(B BBBIHBEH E(A0A8D@w
8A0A(B BBBEH\rBHA D(F0D
(A ABBAK(A ABB`<
aBEE E(D0C8D`
8A0A(B BBBGy
8A0A(B BBBE
@
ȿ<<
AEBB A(C0
(A BBBK0hAA d
AEDPL<tBBE E(D0A8F@
8C0A(B BBBDD]BEE E(H0H8G@j8A0A(B BBB @@@
D@@@o@@8@
P@@H@	o@oo@@6@F@V@f@v@@@@@@@@@@@&@6@F@V@f@v@@@@@@@@GCC: (Solus) 8.2.0,P@+.<	@D@<	@H@*P@{@J	z^)@0E+intXpXdd5	X			Y					 	x	(
f	0
	8
	@
	H
	P
	X
`

h
QXp
Xt

kx
<
CJ


%w
(
8)
K*
3+	
2

3X
5HX5i
C

iy)
		X	GyCGX?EKWXXhT	V!	W	YX	Y[		\	 	^(	_]0	`8	wa@	eXH	fXL	FgXP	hXT	kXX	qm	`e0r?	;tQ	uQ	yX	}X	X	 	(E7Q0	Lio0tOXyP	
		q*!)@)E	+	q,@&	g
(
-!0.E(			X{RCDw	V
			E	%	Z 		Z(	,	0	b	Z8	g@	gwB3399?59XZKX`58j	9	Y9	9	9	x9 	f9(	90	98	9@	9H	9P	X	`	hj(05z)z)s):c?R@AvG;H@Iz?Dg	XW	L		W	f	X	W	`
}W	
~X_	@J@J%%:;9I$>&I$>I:;9	
:;9I8

:;9I8:;9I:;9

:;9II!I/:;9'II'<!I:;9>I:;9(:;9
:;9I84:;9I?<4:;9I?<!4:;9I?U%U%Z0
../sysdeps/x86_64start.S	P@>.B#>M$
 uv
thA;
/usr/lib64/gcc/x86_64-solus-linux/8.2.0/include../posix/bits../libio/bits../wcsmbs/bits/types../iconv../sysdeps/unix/sysv/linux/bits../libio../includestddef.htypes.hlibio.h__mbstate_t.hwint_t.hgconv.h_G_config.hstdio.hsys_errlist.hstdio.hinit.c`/
../sysdeps/x86_64crti.S	@?Lu=/	D@]/
../sysdeps/x86_64crtn.S	@'K	H@+K../sysdeps/x86_64/start.S/home/build/YPKG/root/glibc/build/glibc.git/csuGNU AS 2.31.1__off_t_sys_errlist_internal_IO_stdin_IO_read_ptr_chainsize_t__min_needed_from__statep_shortbuf__cd_IO_2_1_stderr__IO_buf_base_IO_jump_t__max_needed_from__mbstate_t__codecvt_error__invocation_counter_G_iconv_t__outbuf__codecvt_ok_fileno_IO_read_end_sys_nerrlong int__gconv_end_fct_IO_buf_end_cur_column_IO_codecvt_IO_last_state_sys_errlist__gconv_step__codecvt_partial_old_offset__cd_in__init_fctGNU C11 8.2.0 -march=x86-64 -mtune=generic -g2 -O3 -std=gnu11 -fgnu89-inline -fmerge-all-constants -frounding-math -fstack-protector-strong -fno-stack-protector -ftls-model=initial-exec__codecvt_do_always_noconv__codecvt_do_unshift__nsteps__shlib_handle__gconv_btowc_fct_wide_vtable_IO_marker_freeres_buflong unsigned int__codecvt_result_IO_FILE_plus__data_IO_write_ptr__gconv_fct_sbufshort unsigned int__internal_use_IO_save_base__wchwchar_t_lock_flags2_mode__btowc_fct_IO_2_1_stdin___max_needed_to__to_name__fct__codecvt_do_encoding_IO_stdout__min_needed_to__codecvt_destr_IO_write_end__gconv_init_fct_sys_nerr_internal__gconv_info_IO_lock_t_IO_FILEwint_t__codecvt_do_in_pos_markers__state_IO_stdin_used__flagsunsigned char__wchb__steps__codecvt_noconvshort int_IO_wide_data_vtable_offset_IO_2_1_stdout___codecvt_do_max_lengthinit.c__count__stateful__value__combined__modname__cd_out_next__off64_t_IO_read_base_IO_save_end__counter__outbufend__pad5_unused2__codecvt_do_out_IO_backup_base__codecvt_do_length_IO_stderr_freeres_list__from_name__gconv_step_data__end_fct_IO_write_base_IO_state__gconv_loaded_objectstatic-reloc.c../sysdeps/x86_64/crti.S../sysdeps/x86_64/crtn.S@@D@H@@@H@M@@@@@8@@@@	H@
@@ @
@D@@@P@@@@@@@@ 
P8@-5
>@
E
A@f
0D@
F@3
o@\
k@R@@
@
1
@V]h
@j
@}
@(@@
 @@@@
0@IȒ@bs@
@@p@	j@]d@@"@+@>@Q@g
@@w7

7@-
x@
@s@
P@a 
@ @!
@(
v@0
@<D
,@VQ
`@ti
~@v @
*@
t@!
 s@0@@
 M@
`,@qD@"
x@.Q	B
@Rh
@@7
q
q@'z
 @
v@
`s@
@q@'
@@A
P.@,K
@z@W
@@sf
@}
+@|@
v@ 
pq@@
s@K
v@@.
u@7
|@G
 @:V
@]f
v@u
0o@K
PL@@@
@
P@+
@@
s@
@!
0+@|5
v@|>
{@N
@-f{
@@
j@
@2
0@
@
@5
`@{		0	
y@;	O	e	
`0@\t	8@	
`@	
0,@-	
?@			@	
@	 

{@B

PH@&

v@5

7@]E

`r@
pw@K

x@`@Y

p@'a

Є@v

@

Ѕ@rinit.cstatic-reloc.ceditor.ccommandInputCallbackcheckLineNumbereditorState_replaceString.isra.3editorState_findStringInFileeditorState_findStringInLineeditorState_insertAfter.isra.8multiLineEditor.constprop.10__PRETTY_FUNCTION__.3520__PRETTY_FUNCTION__.3538editorState_executeCommand.cold.11multiLineEditor.constprop.10.cold.12main.ccrtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.7339__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entryparsing.c__PRETTY_FUNCTION__.3523__PRETTY_FUNCTION__.3532__PRETTY_FUNCTION__.3469__PRETTY_FUNCTION__.3487stretchybuffer.c__PRETTY_FUNCTION__.3295hashmap.c__PRETTY_FUNCTION__.3314__PRETTY_FUNCTION__.3331__PRETTY_FUNCTION__.3373colors.c__PRETTY_FUNCTION__.3322__FRAME_END____init_array_end_DYNAMIC__init_array_start__GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE___libc_csu_finifree@@GLIBC_2.2.5putchar@@GLIBC_2.2.5resetColorhash_ptrstrncpy@@GLIBC_2.2.5buffer_replaceInLinestrncmp@@GLIBC_2.2.5_ITM_deregisterTMCloneTablestdout@@GLIBC_2.2.5clrscrmap_getbuffer_moveLineDownadd_bookmarkbuffer_findStringInFilebuffer_closeputs@@GLIBC_2.2.5stdin@@GLIBC_2.2.5getFileTypeExtensionmap_put_uint64_from_uint64hash_uint64buffers_edatafclose@@GLIBC_2.2.5editorState_executeCommandget_bookmarkcolors_putsstrlen@@GLIBC_2.2.5parseLineNumber_IO_putc@@GLIBC_2.2.5getInputxrealloc__assert_fail@@GLIBC_2.2.5getch_nonblockingmap_get_from_uint64hash_mixxmallocfgetc@@GLIBC_2.2.5buffer_deleteLinefputc@@GLIBC_2.2.5createMarkdownOutlineread@@GLIBC_2.2.5__libc_start_main@@GLIBC_2.2.5printPromptskipLineNumberbuffer_insertAfterLinecalloc@@GLIBC_2.2.5showCOutline__data_startmap_put__gmon_start__buf__growstrtol@@GLIBC_2.2.5__dso_handlememcpy@@GLIBC_2.14hash_bytesmap_put_from_uint64_IO_stdin_usedmap_growbuffer_openFileskipWhitespace__libc_csu_initmap_get_uint64malloc@@GLIBC_2.2.5fflush@@GLIBC_2.2.5_IO_getc@@GLIBC_2.2.5editorState_editorprintFileInfobuffer_saveFilebuffer_moveLineUpmap_get_uint64_from_uint64parsing_getLineshowMarkdownOutlinemap_testprintLineNumberbuffer_insertBeforeLinerealloc@@GLIBC_2.2.5buffer_appendToLine__bss_starteditorState_promptmaingetchskipSymbolsmemmove@@GLIBC_2.2.5skipNumbersskipWordtcgetattr@@GLIBC_2.2.5tcsetattr@@GLIBC_2.2.5fopen@@GLIBC_2.2.5printErrorperror@@GLIBC_2.2.5vfprintf@@GLIBC_2.2.5createCOutlinecurrentBufferparsing_getLine_dynamicshowOutlineprintLineexit@@GLIBC_2.2.5fwrite@@GLIBC_2.2.5__TMC_END__skipText_ITM_registerTMCloneTablebuffer_initEmptyBufferprintTextmap_put_uint64recreateOutlinefatalcolors_printfxcallocbuffer_prependToLinebuffer_findStringInLinebuffer_replaceLine.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_ranges@ #@ 1@$Do@(N8@8HV@P^o@Fko@0zH@HB@@ @ @QyD@D	@'@P@P@@@@ @@@00 !
,h804C0x!M	(
QELF>@@:@8@#"@@@@@hh@@  @@@@@@DDAA xAA@@DDPtd@@TTQtdRtdAA/usr/lib64/ld-linux-x86-64.so.2GNU GNU|ki&l*\ˣ<$ $%)gUa9, 4x]Okq( dA%7 l !AI0!Alibc.so.6fflushexitfopenstrncmpperrorstrncpyputsputcharreallocstdin__assert_failrewindstrtolfgetccallocstrlentcsetattrfseekreadstdoutfputcmemcpyfclosemallocioctlfwritetcgetattrmemmove__libc_start_mainvfprintffreeGLIBC_2.14GLIBC_2.2.5_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableui	AAAA" !A$0!A% A  A( A0 A8 A@ AH AP A	X A
` Ah Ap A
x A A A A A A A A A A A A A A A A A !A!!A#HHHtH5%@%h%h%h%h%h%h%h%hp%h`%h	P%h
@%h0%h %zh
%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@%
h0%h %h%hH%H%@fDU1HTSHHT$oE@HHHW@4H\@@HHtHX5]HlHHtLH;pH5trvu1fu@HuH虇
H
HHHqHpHȉ
u<@HH;pv@{@7
f1I^HHPTI@H@H@@DH=)
H"
H9tHHt	H=H5H)HHH?HHtHHtfD=uUH~]Dff.@f.@HXH=ufD$)D$)D$ )D$0HD$@D$H1Ht$x_11d$HT$fD$&xv1Ht$HxP1HT$L$
zxD$HX@@~@(@nD$HX@!@V@@F{HXH=fD$)D$)D$ )D$0HD$@D$H1Ht$x_111d$HT$fD$&xy1Ht$HxS1HT$L$
x!D$HX@@(@~D$HX@!@f@@Vx:@1@HT1HT$&D$
H HD$HH	ff.fHE@W@H@ATAt@U-Sl@HPH0D$<D$<HPHrH;pvH赃HPH$HrHp@,I9t+HH$HuDH	D$8HtlHPHrH;pwcHfo$HpHHfoL$JfoT$ R fo\$0Z0fod$@b@HHHDH	HP[]A\fPHHPH;	Hr|f.SHHPHH	HHPHrH;pHfo$HpHHfoL$JfoT$ R fo\$0Z0fod$@b@HHsHH|H=Hstu@1NHP[@H@<&HP[þPHHPH;Hr<f.HH=EH<tHH9t@1H鳉Hv@1H陉f1yfH°HtHPHHHPHH9tl臕HHtHPHHHH=HwPH)HiHHHHVHBHHBHiH@H
,HAHHHAHHTH4fHHH°HtHPHHHPH=HH9tz赔HHtHPHHHH=HwPH)HiHHHHHBHHBHtHfD1	f;H
LHAHHHAHHTHTfH!HtLHpHvBt&HH1DH9t#HHPuX@1鏇H1mf.1?-HHH9rHH9t0<	vHÐH@HHH9w*HFʃ߃Av
QЀ	v_uHH9ufHff.HH9sH&tfHsHH9v vIHDDσ߃A@v-tAy@	vA-tt5Ay@?w;Is%DEtH9vEuHH9wHfA{AvD1ff.f1ff.fH9svfDHff.H9s+<'t<P߀?w$HHs<.t<$uHH@{<v@HE11ɺDUHHSH1H{HII9t{HAL)HtS1-tt1H@ILJI9tL9v
Ar@	vޅ~
@EHcH[]r@
w@$@@1[]HIs1H9vASIoHEHt1HxHE1HtHHHcM8H9r1ff.H9w?#uHff.AUAATIUSHH=Iu{H=9 t	t
tgtwE~mfDADH=ƒ
!A9HuHcIčEA$H[]A\A]
uA$H[]A\A]øfUHSHH=uH=yTÃ t	t
uVhHPHrH;pvHzHPHEHrHpH=ƒ
tHEHu@HEHt@H[]DH1[][AWAVAUATAUHSH8H|$Ht$D$,D$HtWHFD$H	1DHH9^v3<@	(	@H572Ht$D$,HuI@1<NHt1HL$,HT$Մt̀+

C<w
tC<w


HcD$,	HL$1HtHQH5sH9ZeHD$HgHPHrH;pvHyHPHD$HrHpL$,1L$,<HD$Ht0HpLct$L9
|0
tH
H;p
HpHu@1FHD$H8[]A\A]A^A_f1<[A1HtHL$,HT$Մ_DnC;	3
F
H2D$,1E+cH5)H9\$,=HD$<	uE1EtfDH5AE9u@HL$LcJ|7HWHQI9J@	h@H
eHL$D$,HQHHQD$,L@1Z@1}HD$HHPHrH;pvHvHPHD$HrHpD$,f.HcHD$1HtHHAH9E1t(fH5 AA9uHD$HHPHrH;pvH]vHPHD$HrHcL$,HpH)H4H|HcHcD$,HT$	L$,HD$DyMc7L9xv3B<8@	@H5HD$IHuHct$,E1HLf.HPHHH)L9L)<	tBH5Hct$,HD$HIHuHHL9vLL)<	utE1H5yA;A9u@1Z@1{HD$8(E1DH5) AA9uHD$HHPHrH;pvHtHPHD$HrHcL$,HpEH)H4H|Hc$HcD$,HT$L$,HD$YHc9fDH9Xv2<@	@H5kfHD$HHuHct$,1HF@HPHHH)H9
H)ڀ<	tBH5!Hct$,HD$HHHuHHH9LH)ڀ<	uEEtE1f.H5AE9u@1Z@1zHD$7E&E1@H5y A;E9uA@	@H
<HL$LcD$,J|J41HtHQL)Hc~Ht$L$,HFDyMcHHFI9sMDB<>@	!@
t!@
t@CH5Ht$IHt	HFI9rE1t@H5 ATA9uE1@H5qA3A9uHt$HcL$,E1HF@HFHH)I9HL)<	tBH5!HcL$,Ht$HIHuHHI9LL)<	utE1H5AA9u@E1DH5 AcA9ufZ@11wHt$T$,<@D$ Z@11wHt$E1E@H5	 AE9ufDt+E1fH5 AA9uHD$HtHPHrH;pwHp	L$,iHKpHPHD$HrHp	L$,9DfDOfDA܅E1fH5AA9u|D$,HL$HcЀ|	H5D$,WfD@H
uHD$Ht	HxHD$H81[]A\A]A^A_f0E1DH5IAA9u1HT$HHcL$,HH;J
	kH5D$,D$,HnHHHD$Hq
H5
HD$HHPHrH;pHp
HD$D$,HhHxlHD$|1<~'HD$HHc|$,HPH9HOHH)H4HcyHt$Hc\$,HFHHFH9w9fH5Ht$HHH;^q<	<uþZ@11t¾HQmHPHD$HrHt$Hc\$,HtCH9^EHH9^<	t9<t H5/'Ht$Hu1Z@11xsHt$E1EtfH5 AE9uD$,A܅KE1H5AkA9uF1Z@1rD$,A܅E1H5\ AA9u_H
=1ۿ@HοHHT$HcL$,Ht=HBHH)H9HH)H
<	u@HH9Lɾ@H
|Ht$f?SH$0@f.csHf@s[DvvuHf@e[DVAtxHfD@t[6AmdHfD[Hc[fDAcpHfD@p[Hh[fDluHf8@a[DjsHf0[fHhtml[H
SyuVHA0HtKHxtD1fDHH9Xv0H[HЀxtx1#H
7HA0Hu[ù`@r@H@cH
	SyuVHA0HtKHxtD1fDHH9Xv0H[HЀxtx1#H
HA0Hu[ùP@~@p@H
SyuVHA0HtKHxtD1fDHH9Xv0H[HЀxtx1"H
7HA0Hu[ù@@@@cH
	SyuVHA0HtKHxtD1fDHH9Xv0H[HЀxtx1"H
HA0Hu[ù0@@@H
SyuVHA0HtKHxtD1fDHH9Xv0H[HЀxtx1!H
7HA0Hu[ù @@@cH	xw;@$Ő@f[SKAWH)1AVAUATUSHH_0HtVL{MtMIHLcE1f.IHM9t7H;1HtHWL9uHHuI$H[]A\A]A^A_1SH_8H9>#ILVIHLaI9t|I9twHPD9A@<f~q<ptE<sumIQ0Ht8HzHt/H1HHH929J9|H H	H[ÐHHH H	[fD<ctHL$LLلtHD$HXH H	IAHtHD1ɻ|uDAWIAVAUILATIU1SH1HHIH9vHHLLHAqA,$HAl$I9,1HH?+E1-t+1HH8:]H[]A\A]A^A_fDHH9r1HE1HH9vHHLHD$?HL$IHHHL$AHL$H9xD)E)E1A,$Et$a@HH9f1HqE1HH9HHHL$A\HL$H9DEE1A,$Et$Am8A,$AAl$8#HHLHD$HL$IH9r9#uHHHDE$I EED$p@HH91HE1HH9vHHLHD$HL$AHHHL$DxEHL$DEIEt$H91HL>+tv-HH91HE1HH9vHHLmAHHE)Et$fHHLHD$=HL$I^HH91HE1HH9vHHLAHHEEt$`DEu8Et$8#HHLHD$kLD$IL9rA8#uLHILH AAD$fDAWHIAVH EAUIATUHSHH8HL$(DD$HD$hDD$AH)E1ۍE~WE1Ld+H$\AH@ƀ\H?C@uHI9uIG0HtkHPHrH;pwbHR|$HpHLDhxD@Dp!fHD$(|$DhxDpD@H8D[]A\A]A^A_fDHDD$DL$L\$`DD$DL$HPL\$IG0Hra-t]3MICHpI;sv-LߺDD$DL$B`DD$DL$IH@HpIsAMtSICHpI;sv-LߺDD$DL$_DD$DL$IH@HpIsA_kff.fAUATUSHLAz|IRHtKHztD1E1AHHBHH9`HA݀9#t#IRHuAH[]A\A]DHqHy#HDH<#uAH9uAtpIcHJ|IHtHpLNI1LLHLAH AHLAH	HEMcL-EMc"D1IcHHJt
HtHzHHHH AH[H	]AA\ALA]CE1"@@H@Au@AWAVAUATUSHXL=[HD$IGHHx|D$E1M@NDl$1MtIYL1HLII@IL9A;(uA{ IkICufDHHx tLHAx*LxtLxHALL)A@L׃MHcHIOH9€^LMп@HcHHNH9(L@ADMMcIINH9@MHcHHOLH9ILA!@LINLH9HL$@HNH9€hL)@LHcȸHHOH93-@L0@L.@L1@L3@L@L;@Lo8@LS5@L7L7@L:@IGL\$@HD$8H\$HxAL@AMALHcHHNH9AALDM@McIINH9r@MHcHHOLH9<IHA!@LINLH9HLL$@HNH9€L)@LHcȸHHOH9L7@L:@Lt$(L;t$8E1LL:1HIA@LM)LHD$(ALAMHcHHOH9€ID$Ht&HPII9|$Mu$|$MuHX[]A\A]A^A_1ɋD$H Ht$LAAPH	HT$ HX[]A\A]A^A_L\$@H\$H1IA(t2)u0tL9MuA;{t IL9w5DL9w#|$tSHT$D$0AA|$Ht$H H	ЍWH H!LH	HT$ HHD$0hL%D$L|$Hl$ D$f.AUATUSHH=HGHHpHAH1۹EA:Hzv5t
AAHGHHpHH9
HHuĄAAIcDH9spNIcH4HHtHFHPA@H HAH	AIH=EEHGHdf.Au*H[]A\A]DEA"D1IcH4HHtHFHHA@H H[H	]AA\AA]Au뇹@@@8AWAVAUATUSHLA{kICE1HHx1ADH<؉E1HtLOI1L)1ҹf=@8HHuHx1LE11ɺHI#IAtT$HLAH ALT$HH	AT$H!LH	LHH$LLT$MMAICHt$HPHH9Au"fAuH[]A\A]A^A_1HAT$H L[H	]LA\AA]LA^AA_@@@ff.H)Btiv/~uQHBHHtHxtH@@u#HBHHtHxtH@.fDHBHHtHxtH@kHBHHtHxtH@ff.AWAVAUATUSHL[A{kICE1HHx1ADH<؉E1HtLOI1L1ҹf=@8HHuHx1LE11ɺHIIAtT$HLAH ALT$HH	AT$H!LH	LHH$LkLT$MMAICHt$HPHH9Au"fAuH[]A\A]A^A_1HAT$H L[H	]LA\AA]LA^AA_@3@@ff.Hxw;@$@f+[AWAVAAUAATIUHSHL:MtIA
A
{A1"H=HHHH+LIHHW8HHMl_<ADʄ@1Y1H[]A\A]A^A_AF<wAAHbDH[H@HHH9]H9tAMtZIOHtQLL1@S8	DHH9uIGE1Ef@1A D9uAAEHHHHCHڿ@Hp1I$HHSHHHtH9pHHHP1DI$HEHtH{HWH9r1@A9IŸ$ fAEAEA$tA^AE^E18HPHrH;pvHUNHPI$HrHpCL5ILH! t€DHAHDȉHL)I9I$Hvz@MIGHpI9wsLMII$H@HpIwAoI$HHPHrH;pvHtMHPI$HrHp7@C@ 1EfD
bDH1HtBaH̋W8H+=DHH"@1U-j@L~fD@1lUg1fHSHrHH%eL7@1L
H!%tDHJHDщ@LHL)UKfD5fDeHHKI$HHHt<HS@1H@1SI$HtHPHrHH9prHE1A	9A#h If@AU;EB$@xDLƿ7@1LD$E1LD$Kf.HPHrH;pv#HLD$JLD$HPI$HrHpC(ILH! t€DHAHDȉHL)L9I$Hmqu3r+q#pomiA:@?@\fDIGHpI;wv+LLD$ILD$?@II$H@HpIIwE,L9M<$E.Muea~QvPnMfI^EVANA@@E@AiVIGHpI;wv+LLD$@ILD$E@II$H@HpIIwE4L9t>M<$EuMuLǻ4MLLD$@@7@1rELD$L|LD$:@S11H H
HD$HAHtHxuw1H [f.HT$~HAHtHcH;Hw	HtHznHD$@1)PF@1PH|$H|$
Ht$(H
aHQHtHzkbKDH=|$HzD$H [fDHHHHHH+5HP8HHt	HyHu]"@1PHH|$D$
PDE1J@|$umHtHPHt4Ht)H@x<AЉt-@1O8
uHx
1H@1OfHuHff.HHtWHxtPS1HH;Xs(H<HtH蔻HHHu[HxtH@[ff.AUATUSHHux8HPHt	HRHuH[]A\A]HcH9rW@9P8ֿc@1?OH(L$HPHHtHruHc|:
t~i1+H5蔻HKH9lHHHPJ"<@	@uZ@11K뽐@u[c@1NH
[]A\A]FfDW@9P8Hֿc@1[]A\A]SN@\@1;Nf*\@1Nf.E1 A躹HHDEA9|f@\@1M|@H\@1[]A\A]M*Nff.@AWAVAAUIATUSHH Hu/H
HHQHHt|LbMuE1ADAA9uH
HAHtHxD9|HDLcA߃~F}1+JfDpAxLcA1fDMcH
HQHȉE1퐅~1Ht,KHH;Js 9*AEHOHPD9~HtL9bv1DH"EtzDx8H[]A\A]A^A_f.XLcŃ~x1D*3HH@HtL9`v1EuHh8H[]A\A]A^A_Ð1{D9DHuHP@Dy8rjfDE1WH1HPLcA1ff.AWIAVAUAATUSHYHl$ HcH迶1@#JH|$D$H
PDE11Dt$IEGHMt	ID$HA<
LD$AH H$AʼnD$CD$=T$E}MAH=0DLd]RDrHH=EHD$PDL$T$HL$,aAXZAuEtH[]A\A]A^A_fH޿@1?HDIl$&Dh@1Hl$ H1h@1HHÃtwfDHsHxefAWAVIAUAATUSH1Ld$HcLߴHE]MH=I LD$EFAUHL$i`AXZAKE~!HH@HtA}HcH;PRDHcD<
<
|$;McE11I>D9~sH7HPHrH;p*Hp-|$ID9~}HHrJ4&B4>@	G@
w$HrNDA99HHPHrH;pHpI |$D9f1HtHPH@1@FH|$D$H`
9PDE11G|$HHtHXHڀ<
uHhT$H=AuIL*CZH[]A\A]A^A_@EHcЀ|
DmDHHPHrH;pw~Hp^@E1$HPHrH;pw7HpA HzDT@EA9HHuH<HPHr@H<HPHrhH<HPHrWHn<HPHrh@1Ld$E1h@1EL
ŃtfDHHxF1L@1莱[11AWAVAUATAUHSHH\$ AHcHAED}EH D$E1D$@1DACHEGAHATH=T$HL$,^\AXZAuEt^H[]A\A]A^A_@@1H\$ C1@1CH¾AŃt8DHD@1Bff.AVIAUATUSHH\$AHcHH@EeMDI EFHD$H=UHL$i[HcXZ~ HH@Ht}HcH;Pw1IcD<
<
|$AL=sH11A$:9~gHHPHrH;pHp-|$HB/9~nHHrH4.4@	@
wIrE9tu9tnHHPHrH;pHpH |$B/91HtHPH@@1蹮H[]A\A]A^fHHPHrH;pw~Hp^&@E1$HPHrH;pw7HpA HrD@EA9HuHn8HPHr@HN8HPHrhH.8HPHrH8HPHrSAIcŀ|
EE@1H\$@1@1@H蒻AŃt%D1txHD@1?H[]A\A]A^11G@AWAVAUATUSHH
˽HQHHzADoHc2oW1HH
HQD91HtHBH9sHAIcH;jHH+5H1H@IAIj?1C<DH
HQH-H;j#<?p<p+<q<<QE
-zf. fu
E|$HOD7f.HHH9ot31HA9H<HBHuHugo;j8.1c@$?H
HBAIcHt6H9hv0HH+5ŻH1H@I&>1<H
[]A\A]A^A_E,A DHE1IcHHBuAIcuH1@1蓪@Y @OH@E&@1ip@1]@1QH@HH+5H1HII=1*\@=HںHBc@1=
-|@ nu
AYS@
-; .u
D@E9i8t'c@1==H
&HQHM*\@1=H
HQ1jf.HHչ1HHtrb@11@Hxw+P$`@f@膨HH@1Ht-HPօt#HLHHtHAH<
@1d@1XH!B@th/FRD5˸@E1
HӸxEtE@çH@v9HM@薧HD@~@@nHUD)@VHOTf.r@&Hf.@Hf.@H߷bf.@ƦHBf.@覦H"f.@膦Hf.@fH_f.@FH?f.@&Hf.@Hf.3@H߶f.g@ƥHf.u@覥Hf.AWAVAUATUHSHhH#Lg1ILE111LHH=1LHI
ILLHL$H=UIǿY@H@H@H
`@H@H
LH))ՉуA<7
$@%Hcҍ]A|
uHcӉٍ]Hl$pLHcۉL$H
|pHcL$_"DpH|$ 8HߴH%HPHrH;p%Hfol$ HpHH*fot$0rfo|$@z fol$Pj0fot$`r@HHHH|H=8	X@~Hw@<-fD1Hh[]A\A]A^A_@111E1111HH!11HIҮ
I1LHL$H=E11If1@֢1i@辢 @财1@3@13X@舢@~@13@c@Y@1h3@>@1M3@#@123(@@@1
3`@,@12@ȡ<@辡E@12@裡1U@2@舡\@12 @mh@1|2X@Rl@H@1W2@-@#1@22@1!2@@@11(@Ҡ`@Ƞ@辠@11@裠@虠@菠@11@t(@jX@`+@1o1@E@;@1>@1@1@H@1%1@@x@a@11@֟@̟n@10@豟8@觟@10@茟p@肟@x@n1@}0@1l0(@B@1Q0X@'@@1,0@@10@@ݞ@1/@ž@踞1*@/>@1/@茞H@肞H@1/x@g@]X@1l/@B_@1Q/@'1h@6/|@1%/0@@1
/X@@֝@1.@軝@豝@1.@薝(@茝@肝@1.@g@1v.X@L@B@1Q.@'@@1,.@@1.(@`@ݜ@1-@œ1@-@1-@薜 @茜P@肜@1-p@g@]@1l-@B&@8:@1G-=@@@	Y@1-@m@1,@ӛy@ɛ@1,8@讛@1,p@蓛@艛@@u@1,@Z@1i,0@?x@5@+@!H@@
@ @h@@@1+@ʚ0@p@趚@謚@袚H@蘚@1+p@}@s@1+@X@N@D@1S+ @)P@p@@1@fD1LL蓥E11LHH軥1LHn1E11LHH虥@H
@H@H@Hy@H]@H%@H	$@HØt'@H識MH@@@<16@@H,/@HH=fEGDG<11E1LL1LHHHL$pLHH=:HD$pY@Pp1nD$Dd$D$h~HDh8EHcL4f.HHBJ0HH{E11OfDHCHpH;swEHRJ2HsLH6HBJ0HuIL9xgHuH!HHH@HpHէHHpH1C!H5IH@HHFIEH~E1fDJJ,H+HpH1 H5KHPH.Ht7HQHPHyt(1
HH9QvH5H.HuKDHtIL9foC<i\<a1I}t)I|HtH腕IDHI9]wI}i1<HH*Hx1HH9X
H1HtHr@1臕H@Hu1D$D`D;d$McIHHBJ(H
H{
11PHCHpH;swEHRJ*HsHHƥHBJ(H
HH9h
HuHHHH@HpHD$E11ɺLLDl$Dt$HD$C1LHHHL)DEDLB@1NHL$E1E1H=LH衼C<a<fu-HD$HP1HtBD$C<a31H|$<iLy1<|$uHh8~(HH@Ht}HcH;Ps11ҍ}AD$pH|$pH?
PDE11&|$pHHHxƒ1M9wCHCHpH;svHߺUHH@HpHsAIM9dHuDd$\$EHHBHtHx 61HB~,HUSHH;Ps1H4H@9~HHcH;P1e|$HX8~(HԢH@Ht{HcH;Ps1{r@@1D$pH|$pH
XPDE11f|$pm
H=TH‰
81E1LL1LHHƜHL)HHHLc1L[HL`1Hy&
ATHPH9
HH9uDH@XH|HB0HHx1GD9_1HtQ`@1u
H4HB0HHH9XH[R8HD@DHHD9}1HtQq@1럋|$HѠX8At*k~HH@Ht
HcH;PA܉ߺHt$p1D$p|$pH
:HH}H=OHD3H}H2HcHP1HtHBH9{vesH9]b
H|HtH裎HDHHudC<n
<p<e-H|$1417-H@p1譎1|${HcD`8E~*HSH@HtA|$HcH;Ps1Ht$pD1D$pG|$pHug
ӍHH}H=HD0H9]2	H|HtHsHDHHu4
Ht$ LJ
H{Ht$ Lch8HcII)I[A_Hl$pHcH+DsE1HDH=7D7AăAmE~)HH@HtHcH;PsA}1Q1CIcDp<

<

DJ,DkE11LFf.D9Hd	HPHrH;pW	Hp-IWM9IH]HJH)B9	O
w$HcDE9|HHPHrH;pHp^댋|$FHX8~(HޜH@Ht{HcH;Ps1{I1@@D$pH|$pH
bPDE11p|$pwHHtHHHʀ<
uHhH=@H‰01\$Dd$D9DkDfH=3D9u^9Al$fúVCD9u1Hh8h1+|$'H~HJHHy{C<n
<p
1LLLHHH90D$XHZHKH9vU@1@1;H|$p7
Ht$ H|$pA耊xHHHuAtHHH1H)H|$pT$QHRL$Ƅ$HHPHrH;pHfoD$pHpHHfo$Jfo$R fo$Z0fo$b@HHLdL%AL<	t< u!HD)< t<	tj1ZfDHGHpH;wv(L$L$I$HH8HGHpHw+H9L%\I<$Hu몸C<a<<fu-H+D$HP1HtBD$C<as1H|$<iL1Dd$Dl$EAmDE9|0fH=b0{^9uA}vA1DHlD`81@1v@F@<H5H@HtHx
11HHHPHrH;pvHeHPHʗHrHpAIHD9d$N1@HH0HPHrH;pvHHPHjHrHpIHD9D$~x1McD+d$EuA1$@H=DD/D9HHP1HtHBxDL9u;H=Ԗ1HGHtp@H@@@<1A9sHHPHrH;pHp fDdfD@
H/@H2H@<PE1@E1$HPHrH;pw7HpA HϕzD@EA9AHuHHPHrH}KMcH|H@HtH@I9A}^H7H)HPHrH;pHpH1HHPHr9H}Hx蜃o1HtHPH@@11DHHPHrLH蠑HyzEBDB<1z89Džx"HLHcHJ1HtHQH91H
HPHrH@1,H=H"17@HHÓ@E@<1NDD9uHHBHt
Hxtj89؉ŃHiH=]H‰S'HH{HcÀ|p
AE]{1i@1Hl$pC1@1,H*Ãts|p@"@/@f.Dt$H=A^A~)HGHt HcH;PsA~1H=QLD%LcAl$E9}!fߺV|9uHH@HtH@I9IƷ?@1xz8'Hёz8HJGB8HHHIH9vωz81/PHljL$L$HPHJHrBLcHD$ HpHt$ '`|$AD9H
HPHHrADAA|$11{9HH@Rpu1@1H=XH7 1HH;H)HĩxHzHtBHc<@HH@E@<1sHreF@1Hl$p1F@1Ht݃H|pH|$ KHLHHPHrH;pHfo|$ HpHH:foD$0BfoL$@J foT$PR0fo\$`Z@hPHHPHώHrHHvHxk1KH9@1}H|(<u`
r}HsH*HH9XH,H=wHHHHt	HQHuH9t@1~}뒿*}딿@1d}uH(B8B8xg~x1[}1LHH@Hk\$~(HčH@Ht{HcH;Ps1H=LrLcAl$9jfߺV9uKH41Ht$HNH)HĩHcH;PHHHH1{iH|$L{iH|$LtHՌ@@@<1]
@1{v2{i떀{ioH|$1{^軿Al$1O1DH޿(@
1H{1n{1Aji@1Hl$pBHD$p@1+H~H|$pHHGHpH;wHGHPHWHt$p@1zHt$pH=xC1B8DPHHPHHr1111YHD$pHb@c"@@>z@4"@[@%zDAWAVAUATUSH(Ht$~1HHcHJHD8	uH'BPv	tE1%1IH@HPIVA	AatAi DED\@116
D$H
LH|$PDE1IHNHx\A>HHCHpH;sHsL4IvLE1HAHL)H9	tHL)H9rG1f}H)HL)H9w{uHHL)H9vɸHAH(@PE1D\@1
H@PE1DA~@1wH5Z
PxIFHLy1HpIIFHIGI~vAATHI9FwLIv@1wy@HߺHH@HpHfDE1EE1E1(@IFHpI;vw AIvA	E9Mu׾L-IH@Hpƀ|$u"H(H[]A\A]A^A_À|$tI~7vHD$1*xfDS11HHPHt$D$q
HCvH,1HHHtQP8H[DHvHtHÿ@SwiwfHvHtHÿ@#w9wfHvHtHÿ@v	wfSHHtWHGHH\H9HBH9w{H1HH9rQHHqHt+HBvHthHXH[fHXHHHX[ù@	@h@.u@	@@u@v1v@	@@@tSHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$1@D$HD$HD$ HD$1D$0.tH=HT$HZu
sVufDH͌UׯQHHH H1H͌UׯQHHH H1H͌UׯQH1HHH H1@Ht;H%#"HH@HHH1HHH H1H9uÐH%#"DHGHtwHLGMtIHIuvH͌UׯQHII L1L9srLH!LIH9u3HH!ILH9tHuHfDHGJHù@@%@@r@@'@@rfUSHHHtLWHHwHKH9suLFIH͌UׯQLMHHH H1L!H9t{HL!H4I<1HHuHEILUHH0H[]fDHHT$LUHuHT$KH9d @M@@qHEH0H[]ù @F@@q @N@@qff.@UfHSH(HHC޾)$)D$HH<H$/H}H\$HD$H}t;1fDHH9]v'H4HtHEHHHIH}H9]wJpH}Apfo$foT$MUH([];ff.ff.ff.ff.ff.ff.SfH )$)D$fH^HHHHuHHHH9uHuH [ù@@@o@w{$@fy@1o@@1o@[@1to@a@1do@g@1To@m@1Do@s@14o@@nfD@1o@SHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$HH=HD$HD$ D$D$0HD$o@1jnH[ÐSHHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$QH$HT$HH=j~HD$HD$ D$D$0HD$o@1m
PmH[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$1H$HT$HH=}HD$HD$ D$D$0HD$?n@1lH[f.SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$HH=|HD$HD$ D$D$0HD$|m@10lH[SHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$HH= |HD$HD$ D$D$0HD$l@1pkH[H|GHGGHG HG(G<G@GDGEHGHHG0fAWAVAUI@ATAUHLSH(kLHj1f.A|.DDHH9uAtyMcCD5c<wi$@@AHt$DcL[jH|$AT$HcHL)fDALH:L\H9wD}iHEE11THPHrH;pvHMHPHEHrHpCL%LIiHL9vHEHuHUHHtHBH<H$E1E1E1AHi<t#A< utEtoHAAi<uMMEMJ4111HH9ELAEfD<	uEt$A`<
tE1<
QMtlIEHpI;uwcIuE|Mt0IFHpI;vw'$IvAE1$AfLIH@Hp뿐LIH@Hp냐EEMt	I~gHAE1hD$D$$fDH(hA<tcA
A
EA u
AMIGHpI;wIwA	HEDEgA<uHVgL$$9ȋL$9E@HUE<1HtBE8JH([]A\A]A^A_fD$MIGHpI;wvIwA
HEHHPHrH;pvH HPHEHrHpAL<E1fDAAHf< tHHLguD@u5wDAŅthE1*f.IGHpI;wwAIwA	E9}(Mu۾LiIH@Hp@uDv@DDAօtRE1%DIGHpI;wwAIwA E9t(Mu۾LIH@Hp@ADHeA<<
<
5D$MIGHpI;wIwA
HEHHPHrH;pvHdHPHEHrHp1L<к?IH@HPIWE$ALDD$	DD$IH@Hp@D$MfLIH@HpmfDfDE@@9L$vE@fDD$MgIGHpI;wZIwA
HEHkHPHrH;pvH/HPHEHrHp1L<к
IH@HPIT$A
HEHHPHrH;pvHHPHEHrHpE1L$AkLIH@HpfDAAAAzAoAd@E@E<H(1[]A\A]A^A_þLIH@HpD$Mt;IGHpI;ww2IwA
HEHt:HPHrH;pw1HpL<L~IH@Hp봾H_HPHEHr9LEE~RfDHtI1A4AL@Dž@@u9LHI9uar9ºDˆEDI}+ajEEp@m@@aATUHSH?HtH`HEHE10H9Xv'H<HtH`HEHHHuHE0HtCHx1
HH9XvrL$[J<HtHh`HE0JHuϋEt't"H}HtH8`HE[]A\H}HHtH`HEHHx`HE0fAWIAVAUATI@USHH?HtHL1JaHLDHPHrH;pvHUHPIHrHpALH_HPH9vIHuH1һf.A<.DHH9utkLcCD,c<w[$@AHt$D]~LU_H|$SHcHL)fAH:LH9wEw^IWHHzE1@JN$H+Hx 1=@@	AEH	_IWJ"HtIHH9Xv?<@
uAG@uH
^IWJ"HuHAG<H:^H[]A\A]A^A_H^IWuE1H Ag^AODnEA9|H
;^H
.^IWDIL9jVDH
]IW^HfAAAAAG(ff.AWAVIAUIATUSHu_8MIFHcD$L<I}HHG)H4HGH9rTHOHcHcHH\J<;H]LLH`]Ee8AD$AE<H[]A\A]A^A_HL$HL$HIE1HyfA1E1MAWFAVIAUIATUSHHcAHMIFI}HcAL<HHGh)H4HGH9H_HcHJ<;HH\LLHg\Ee8DAE<H[]A\A]A^A_@Dg8Et_IcHMbI}1E1Ho1)HH9tHL$HL$HIET@1AAWFAVAUIATUHSHvbHELcIN| I?HGHHGMtnMuJ40H9wr@HwLHL~ZE<]8H[]A\A]A^A__8uIHEJ| HGI4HE1AWFAVIHAUAATUSHIFIcHLd(I$I<$HL{HHwHGLH9r?HGHJ8HWHLYH{|YAF<En8H[]A\A]A^A_@I$IFH|(En8EV뾐E1HuI}@L1jff.AUFIATUHSHvFHcL$HELH8HtHXHELHL(]8E<H[]A\A]Ë_8uH[]A\A]ff.AWFAVAAUMATIUSH(1)؃MtAm)McID$INL8I9Ht~HwAA)ȅ|LcLH9wHwHcIcHtD
HHOYID$Hc1J|8MtIULXEt$8AD$<H([]A\A]A^A_DALcALօ8tHHGDw8E H([]A\A]A^A_@L$LT$DD$LL$LL$LT$L$DD$IID$J|8HwLff.@Fv0HOHcƃHHTHDLHH
LG<w8@w8uÍFv(HWHcHH2HT2LH2H1LG<G8Ëw8tF@FAVAUATUSHLcHCN,MuJ<0HHHHI9tkHHz9VHCJ<0J4(HHHPL)HmWHCHhC<H@I9Gk8[]A\A]A^f.Ht&HzUHCHtiHHHHHHHo8&HML1lDJ4(Z1PfH%Hff.@AWAVAUATUSH|$t$H\$HcD$HsLdMMt$Mt{HcD<t2@A@
@1E1A	E9tJHI9tAIcE<A42D8t^En@w7t3 A9tCE1ɸEuA9uHL$T$Q8[]A\A]A^A_fn@w̄tȃ A9uEADAG8D$
fAWEAVIAUAATUHSDHD$HHL$D$%EgDD$DLDHu!ED9wAHD[]A\A]A^A_ÐHT$De8AWIAVIAUAATL%XaUH-XaSL)HCSHt1LLDAHH9uH[]A\A]A^A_HHtcsetattr()tcsetattr ICANONread()tcsetattr ~ICANONEdimCoder (1902b)Press 'h' for help.-Scratch-Opening '%s'

Opening '-Scratch-' BufferFile doesn't exist... Creating it.

You cannot close the '-Scratch-' buffer when other buffers are open.There are unsaved changes. Use 'E' or 'Q' to close without changes.There are unsaved changes in at least one of the open buffers. Use 'E' or 'Q' to close without changes.r@@@@@@@@@0@@@]@@/@/@0@00@H0@h0@/@0@0@/@0@/@3@3@3@3@3@3@3@3@3@I@I@I@I@I@I@I@I@I@showJSOutlineshowLuaOutlineshowTextOutlineshowCOutlineshowMarkdownOutlinecreateJSOutlinecreateLuaOutlinecreateTextOutlinecreateMarkdownOutline        ^X ^Dsrc/parsing.cifelseswitchwhiledocasefor&&||+^///*functioncurrentBuffer->fileType == FT_MARKDOWNcurrentBuffer->fileType == FT_CcurrentBuffer->fileType == FT_TEXTcurrentBuffer->fileType == FT_LUAcurrentBuffer->fileType == FT_JS
<%d: %.*s*|%d> 
<%d: %.*s|%d> 
<%d: new file*|%d> %shelp info Enter a line number: %c%4d %5d Enter the string to replace: Replace with?: No occurance of '%.*s' found
%5s %.*s- Enter the string to find: enter the string to find: %5s %.*s- 

<%d: %s|preview> 
Previewing '%s'
 * 'p' to show previous lines--^-^-^-^-^--
--v-v-v-v-v--
File information for '%.*s'
FileType: TextMarkdownC SourceC++ SourceC/C++ HeaderGophermapLua SourceJavaScript SourceVue.JS SourceHTML MarkupCSS SourceNumber of Lines: %d
Line Endings: LF (UNIX)CR (Commodore, Early Mac)CRLF (DOS, Windows, CP/M)NEL (Unicode)LS and PS (Unicode)Indentation: %d, tabsOutline:help
Basic
 a (line/range)				range. i (line/range) A (line) I (line) x (line/range)				to the clipboard). m (line/range) M (line/range)				one. j (line/range)				j$ je (range) jn				Equivalent to 'j +1'. jp				Equivalent to 'j -1'.
Find and Replace
 f (line/range) (string) ff (string)				to 'f #f (string)'. fa (line/range) (string)				found on. ffa (string) F (line) (string) r (line) R (line/range) (string) Rf (string) Ra (line/range) (string) Rfa (line/range) (string)
Copy and Paste
 c (line/range) C (string)				a newline included. k vi (line/range)				given line number/range. va (line/range)
Print and Preview
 P (line) p (line/range) clear version
Files and Buffers
 b b (buffer)				number. bn bp				beginning. s				Save the current buffer. o				if it doesn't exist. e E q Q info d (range) (string)				name. w (string)				the given name. g				List out all bookmarks.
Default Bookmarks
 #p(number)				lines. #f #s				currently in. #c
Relative Lines

File Settings
 indent_size indent_spaces				Default: false. line_ending1902bsetcrlfdoscpmwindowsunixcrold_macdefaulttruefalseSet bookmark '%.*s' to %d:%d
*%3d: %.*s %d:%d%4d: %.*s %d:%dEnter a filename: Saving '%s'
Saving '%.*s'%4s ^- %5s That buffer doesn't exist.
Enter a buffer number: *%3d: new file%4d: new file*%3d: %.*s%4d: %.*ssrc/editor.cstr[strLength] == '\0'Enter file to open: str[strLength - 1] == '\0'Opening a new file.FileType: %d
Unknown command
------zQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@rQ@Q@Q@Q@jQ@Q@Q@Q@bQ@Q@Q@Q@ZQ@Q@Q@RQ@JQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@BQ@Q@Q@Q@:Q@Q@Q@P@P@Q@Q@Q@P@Q@P@P@P@P@Q@Q@P@Q@Q@O@g@@i@`i@i@i@i@i@j@ j@g@@j@`j@|@
@o}@
@$@Ԃ@
@
@p@
@
@
@F@
@
@߅@Ӂ@.@
@݁@
@
@
@
@
@
@
@
@
@
@
@
@@@*{@{@0x@t|@@
@@@z@m@@@
l@}@p~@z~@2@@
@y@:x@x@editorState_openNewFileeditorState_openAnotherFileThat line number exceeds the bounds of the file.
 * 'q' or Ctrl-X to stop previewing * 'Q' to exit the whole program * Enter/'n' to show the next lines * 'j' start showing lines from given line number (TODO) * 'f' find first occurance of string in file and jump there (TODO)Use Ctrl-D to denote end of inputUse Ctrl-X to cancel the current command/operation.			Insert a line after the given line number or			Insert a line before the given line number or			Appends characters to the given line number.			Prepends characters to the given line number.			Delete the given line number or range (copies			Move the given line number or range up by one.			Move the given line number or range down by			Set's current line to given line number. Use to set last line as current line.			Set's current line to end of given line range.				Set's the current line to the next line.				Set's the current line to the previous line.	Finds the first occurance of the string in the				given line range and prints the line it's on.			Finds the first occurance of the string in the				file and prints the line it's on. Equivalent	Finds all occurances of the string in the				given line range and prints the lines it's			Finds all occurances of the string in the				file and prints the lines it's found on.				Equivalent to 'fa #f (string)'.		Finds the first occurance of the string in the				given line number and prints the line showing				where the occurance is located.			Replace a line with a new line.	Replace the first occurance of the given string				in the given line range with characters.			Replace the first occurange of the given string				in the file with characters.	Replaces all occurances of the given string				within the given line range with characters.				within the file with characters.
 Add 'i' at the end of all of these commands for the insensitive versions ('fi', 'ffi', 'fai', 'ffai', 'Ri', 'Rfi', 'Rai', 'Rfai').			Copy the line(s) to the internal clipboard.			Put the given string into the clipboard with				Print what's currently in the clipboard.		Paste the lines in the clipboard before the		Paste the lines in the clipboard after the			Preview the file, optionally starting at the				given line number. Enters preview mode.			Preview the given line or range of lines,				including the line before and after.				Clear the screen. May also use CTRL-L.			The current version of EdimCoder.				List all currently open buffers.			Switch the current buffer to the given buffer				Switch the current buffer to the next buffer,				wrapping around when it hits the end.				Switch the current buffer to the previous				buffer, wrapping around when it hits the				Open a file in a new buffer. Creates the file				Exit the current buffer. Only allowed when the				current buffer contains no new changes.				Exit the current buffer (without save).				Quit, closing all buffers. Only allowed when				none of the buffers contain new changes.				Quit, closing all buffers (without save).
File Info, Outlines, and Bookmarks
				Gives back information on the file, including				number of lines, filename, number of				characters, filetype, etc.		Create a bookmark with the given line range and			Print out the line range of the bookmark with
 Any command that accepts a line number or line range - denoted by
 '(range)' - can also accept a bookmark. Bookmarks are prefixed with
 '#'. Example: 'P #text'. You can also use bookmarks as the start or end of a line range: 'p #text:#text3'. EdimCoder provides some bookmarks by default:
			Represents a page of a file. Each page is 15				Represents the line range of the whole file.				Represents the line range of the bookmark that				the current line overlaps with. Useful for				seeing in which section of the file you are				Represents the current line. Adding '+' or '-' with a number afterward will be relative to the number/bookmark given before, or if omitted, the current line. 'p +5' will print the line 5 lines after the current line. 'p 3+5' will print the line 5 lines after line 3. 'p #test + 2' will print the bookmark range #test shifted up 2 lines. 'p #test:#test+3' will print the range starting at the start of the #test bookmark and ending 3 lines after the start of the same bookmark. A shorthand for this is called Relative Range Ends: 'p 5+:3' will print from line 5 to 3 lines after that - the end of the range is relative to the start. 'p #test+:3' is equivalent to 'p #test:#test+3'. There are two file settings that can be changed and affect the display and saving of a file. The two include indentation size and whether spaces are used for indentation or not. Use the 'set' command to set a value for these. The syntax of the set command is 'set property_name value'. The properties available are given below, along with their valid values:
			Size of indentation, default: 4				Accepts any number, or 'default'.			Whether spaces are used instead of tabs.				Accepts 'true', 'false', or 'default'.			The line ending type used by the file.				Default: current platform.				Accepts 'crlf', 'lf', or 'cr'. Also accepts				'dos', 'windows', 'cpm', 'old_mac', and 'unix'.Unimplemented prompting for name. Please add a name after the line range.No occurance of '%.*s' was found in line %d
File doesn't exist... Creating it.
Press Ctrl-D on new line to denote End Of Input
buf_len(currentBuffer->lines) == 0xcalloc failedxrealloc failedxmalloc failedsrc/stretchybuffer.cnew_len <= new_capFATAL: buf_cap(buf) <= (SIZE_MAX - 1) / 2new_cap <= (SIZE_MAX - offsetof(BufHdr, buf)) / elem_sizebuf__growsrc/hashmap.cIS_POW2(map->cap)key2*map->len < map->capval == (void *)(i+1)map_testmap_put_uint64_from_uint64map_get_uint64_from_uint64ERROR: Wrong Color - Unix @0@@@P@`@@@rbsrc/buffer.cwbbuffer->openedFilename[buf_len(buffer->openedFilename) - 1] == '\0'@r@r@r@r@@r@@r@@@r@r@r@r@r@r@z@r@@!@q@q@q@q@@q@q@q@@ @q@q@q@q@q@q@,@buffer_openFile;Ti"$0$$@&p '())$P)<p)T*+,-.0P.D.X.lp////0101P1(2x2B`ClC`DD`EE0F FlGKM0	O	PV	X8
Y
Z
0\\(dtefPgi\km 
q
r
vHz`} D@ p<`` @`Яб,Th|вp<`@ L|`0D pXpzRx"+zRx$FJw?;*3$" DP#D`
Ec
E h$D`
Hc
E$$3D k%DS0%&BGF Ip
 AABC(&AG`
AD^
AA$0&Dd
HR
N
EX'D
Gt(c\~AKK0(<)D@)8l)))$)8)[,L8*AGw
AH[
AL|++L +BED A(D0
(A ABBAS
(F ABBA4+ADD 
AAFD
CAAd,8,BBB B(D0D8Dp
8A0A(B BBBC:	
8C0A(B BBBJP:ILn
FZ
F\
DX
HQ
G\
DQ
GZ
FV
JTD;}H[
AL<}H[
A(<}H[
AH=}H[
Ahl=}H[
A=IH>BGE B(A0A8D@c
8A0A(B BBBA(L>+AD 
ABF
KGHP?BEB H(D0C8LP{
8A0A(B BBBGH`B#BHI E(A0D8Gp
8D0A(B BBBGLDBBA A(D0j
(A ABBF
(L DHKHdEBBB B(A0A8D
8A0A(B BBBAm
8A0A(B BBBELd`LBBA A(D0 
(A ABBHx
(L DHHE`MBBB B(A0A8DP<
8A0A(B BBBAF
8M0D(E HEHEO`,OBBB B(A0A8DP<
8A0A(B BBBAF
8M0D(E HEHEQIHPQPBGE E(D0D8FP
8C0A(B BBBH(TY
AH0k
AKA 8ZN 
Et
Da @[dT}
APApd`[!BBA A(F0m
(A ABBA
(F ABBKY
(J ABBH
(H ABBEd]UBBE E(A0A8M@>
8A0A(B BBBKd
8A0A(B BBBBX@	_BEB E(A0A8GRWAW
8A0A(B BBBC\	`BBE E(A0A8G^hNA
8A0A(B BBBEX	dBBB B(D0D8GZLYAR
8A0A(B BBBEhX
dLBEB A(C0G`iNAB
0A(A BBBJz
0A(A BBBAH
gBBB B(A0A8D@
8F0A(B BBBE tkFD/
Mv
JL4n+BBB B(A0D8G
8A0A(B BBBE$zRx,h
HԙjBBB B(A0C8F`)
8D0A(B BBBA zRx`(DKAH @Ad'DN
A'DN
A'DN
A ,A[
Dh
AAJ
$
8
K L
MlOL
A4p
!AAD0
AAGL
AAA$
AHI@AA
4
0
,( $4  H|AM0S
AAlx AJA |AJA AJA AJA$$PAJALWd`4	BBB J(G0G8D`
8F0A(B BBBGX
8C0A(B BBBA,\BAD 
ABDH<BEB B(I0A8DP
8A0A(B BBBDHDBBE E(A0A8FP
8A0A(B BBBDH-BEE E(A0A8DP
8A0A(B BBBEHBEB E(A0D8F@T
8A0A(B BBBIH(BEH E(A0A8D@w
8A0A(B BBBEHtrBHA D(F0D
(A ABBAK(A ABB`aBEE E(D0A8F`
8A0A(B BBBFy
8A0A(B BBBE$@8<<LHAEBB A(C0
(A BBBKDXBDE B(A0A8
0A(B BBBCL0}BEE E(A0D8GHD
8D0A(B BBBBD$`]BEE E(H0H8G@j8A0A(B BBBlx@`@@
@AAo@@8@
Q A(	@@	oh@oo@A6@F@V@f@v@@@@@@@@@@@&@6@F@V@f@v@@@@@@@@@@@GCC: (Solus) 8.2.0GCC: (Solus) 8.3.1 20190320,@+.<n@@<@@*@@K<`Y^':	@int3IEK[@^K%%4:;9I?$>&IU%U%Z0
../sysdeps/x86_64start.S	@>.B#>M$
 uv
th#
init.ca/
../sysdeps/x86_64crti.S	@Lu=/	@]/
../sysdeps/x86_64crtn.S	@'K	@+K../sysdeps/x86_64/start.S/home/build/YPKG/root/glibc/build/glibc-2.29/csuGNU AS 2.31.1init.cGNU C11 8.2.0 -mtune=generic -march=x86-64 -g2 -O3 -std=gnu11 -fgnu89-inline -fmerge-all-constants -frounding-math -fstack-protector-strong -fmath-errno -fno-stack-protector -ftls-model=initial-exec_IO_stdin_usedstatic-reloc.c../sysdeps/x86_64/crti.S../sysdeps/x86_64/crtn.S@@@@@@@@@@@@8@@@h@	@
(	@@ @
 @@@@@AAAA A!A !A 
J@P5
PR@
E
W@UR
`Y@k
@[@
 _@
@`@L
@j@@
 @

*@:AL
@N
 @a
`@w8!AA
@A
@<
@D	
@ `@9P@
R@@k0@ @@@@@@
+5@@N @g@		p@AAAAA@ A
@@!A(
`2@}7
I@II^
@3j
@u
@~
 @
1@}
@a  !A !A	
@
@
`@<,
9@#9
0@FX0!Ak
/@I
 @!
@H!AP!A
`T@d !A
@&
3@

@@
@@ 4
p5@CW
@g
p @p
@'y
@X!A
H@
0@`!A
@
@'

@A/h!A@S
@;@i{
@
0@[
P@
`1@}!AA
 @ 
@/!A<O
@KZ
@@n@}
P@
@	
 @8
@]
P@
@K
g@F
	
@4@+x!A	
@@
@++	>	
 @@P	
P@k	
@{	
0@}	
p@|	
@	
@@-		
 @c	
p@	 !A	
2@}

`S@

E@+

@@~0

 @8

@>

@J
_

@k

j@+

`@


@}



@


@
 
=@/p!A=
@U
`3@Ia
T@!k}
@@ !A
@
C@ 
@@W
c@
`@
@G@
@l
@"
@@0
`@'8
0@M
@e
0@rinit.cstatic-reloc.ceditor.ccommandInputCallbackcheckLineNumbercommand_jumpcommand_replaceAllStringcommand_replaceStringcommand_findAllStringcommand_findStringmultiLineEditor.constprop.7__PRETTY_FUNCTION__.3584__PRETTY_FUNCTION__.3602command_executeCommand.cold.9multiLineEditor.constprop.7.cold.10main.ccrtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.7307__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entryparsing.cskipNumbers.part.1skipBookmark.part.4parseLineNumber.part.3__PRETTY_FUNCTION__.3747__PRETTY_FUNCTION__.3757__PRETTY_FUNCTION__.3767__PRETTY_FUNCTION__.3777__PRETTY_FUNCTION__.3787__PRETTY_FUNCTION__.3623__PRETTY_FUNCTION__.3685__PRETTY_FUNCTION__.3701__PRETTY_FUNCTION__.3724stretchybuffer.c__PRETTY_FUNCTION__.3310hashmap.c__PRETTY_FUNCTION__.3329__PRETTY_FUNCTION__.3346__PRETTY_FUNCTION__.3388colors.c__PRETTY_FUNCTION__.3340__FRAME_END____init_array_end_DYNAMIC__init_array_start__GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE___libc_csu_finiinputHistoryIndexshowLuaOutlinefree@@GLIBC_2.2.5putchar@@GLIBC_2.2.5getTermSizeresetColorhash_ptropenArgFileshowTextOutlinestrncpy@@GLIBC_2.2.5buffer_replaceInLinestrncmp@@GLIBC_2.2.5_ITM_deregisterTMCloneTablestdout@@GLIBC_2.2.5clrscrmap_getbuffer_moveLineDownadd_bookmarkbuffer_closeputs@@GLIBC_2.2.5stdin@@GLIBC_2.2.5getFileTypeExtensionmap_put_uint64_from_uint64hash_uint64buffersdefaultIndentSizeresetClipboard_edataopenScratchBufferfclose@@GLIBC_2.2.5get_bookmarkprintLogocolors_putsstrlen@@GLIBC_2.2.5parseLineRangerewind@@GLIBC_2.2.5parseLineNumbergetInputxrealloc__assert_fail@@GLIBC_2.2.5getch_nonblockinginputHistorycreateJSOutlinemap_get_from_uint64ioctl@@GLIBC_2.2.5clipboardLineshash_mixxmallocfgetc@@GLIBC_2.2.5buffer_deleteLinedefaultUseSpacesfputc@@GLIBC_2.2.5createMarkdownOutlineread@@GLIBC_2.2.5__libc_start_main@@GLIBC_2.2.5printPromptskipLineNumberbuffer_insertAfterLinecalloc@@GLIBC_2.2.5showCOutline__data_startmap_put__gmon_start__buf__growstrtol@@GLIBC_2.2.5__dso_handlememcpy@@GLIBC_2.14hash_bytesmap_put_from_uint64_IO_stdin_usedmap_growbuffer_openFileskipWhitespace__libc_csu_initmap_get_uint64malloc@@GLIBC_2.2.5fflush@@GLIBC_2.2.5editorState_editorprintFileInfoparseBookmarkbuffer_saveFilefseek@@GLIBC_2.2.5buffer_moveLineUpmap_get_uint64_from_uint64parsing_getLineshowMarkdownOutlinemap_testprintLineNumberbuffer_insertBeforeLinerealloc@@GLIBC_2.2.5tryQuitbuffer_appendToLine__bss_startshowJSOutlineconsole_promptcreateLuaOutlinemaintryExitgetchskipSymbolsmemmove@@GLIBC_2.2.5skipNumberscommand_executeCommandskipWordtcgetattr@@GLIBC_2.2.5buffer_findStringtcsetattr@@GLIBC_2.2.5fopen@@GLIBC_2.2.5printErrorperror@@GLIBC_2.2.5skipBookmarkvfprintf@@GLIBC_2.2.5createCOutlinecurrentBufferparsing_getLine_dynamicshowOutlineprintLineexit@@GLIBC_2.2.5forceExitfwrite@@GLIBC_2.2.5__TMC_END__skipTextcreateTextOutline_ITM_registerTMCloneTablebuffer_initEmptyBufferprintTextmap_put_uint64recreateOutlinefatalcolors_printfxcallocbuffer_prependToLinebuffer_findStringInLinebuffer_replaceLine.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_ranges@ #@ 1@$Do@(N8@8V@Q^o@Lkoh@h0z@B(	@(	@ @  @ Ѫ@	@-@T@AAAA  A!A !A X0 /P m,?K80wC!V	8,x8Q



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
    Line *line;
    int lineNum;
        TextOutlineNode *text_nodes;
#ifndef LINEEDITOR_H
#define LINEEDITOR_H

#ifndef __APPLE__
#include <malloc.h>
#endif

#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdint.h>
#include <stddef.h>
#include <assert.h>
#include <stdlib.h>
#include <stdarg.h>

#define true 1
#define false 0
#define bool char
#define forever for(;;)

#define internal static

#define version "1902b"

typedef struct TermSize {
	int width;
	int height;
} TermSize;

void clrscr();
TermSize getTermSize();

#ifdef _WIN32
#include <conio.h>
#define getch _getch
#define kbhit _kbhit
#else
#include <alloca.h>
#include <unistd.h>
#include <termios.h>
char getch();
char getch_nonblocking();
#endif

typedef enum State {
	KEEP, EXIT, FORCE_EXIT, QUIT, FORCE_QUIT
} State;

/* === editor.c === */
#define MAXLENGTH 900 /* 2000000 was too big on Windows */

char *console_prompt(void);
State command_executeCommand(char *current);
void editorState_editor(void);

void printText(int startLine);
void printLine(int line, char operation, int printNewLine);
void printFileInfo(void);

/* == Streatchy Buffers (by Sean Barratt) === */

#define MAX(x, y) ((x) >= (y) ? (x) : (y))
#define MIN(x, y) ((x) <= (y) ? (x) : (y))
#define CLAMP_MAX(x, max) MIN(x, max) // TODO: These are probably wrong (MIN is with CLAMP_MAX for some reason)
#define CLAMP_MIN(x, min) MAX(x, min)
#define IS_POW2(x) (((x) != 0) && ((x) & ((x)-1)) == 0)

void *xcalloc(size_t num_elems, size_t elem_size);
void *xrealloc(void *prt, size_t num_bytes);
void *xmalloc(size_t num_bytes);
void fatal(const char *fmt, ...);

typedef struct BufHdr {
	size_t len;
	size_t cap;
	char buf[0]; // [0] new in c99
} BufHdr;

#define buf__hdr(b) ((BufHdr *) ((char *) (b)  - offsetof(BufHdr, buf)))
#define buf__fits(b, n) (buf_len(b) + (n) <= buf_cap(b))
#define buf__fit(b, n) (buf__fits((b), (n)) ? 0 : ((b) = buf__grow((b), buf_len(b) + (n), sizeof(*(b)))))

#define buf_len(b) ((b) ? buf__hdr(b)->len : 0)
#define buf_cap(b) ((b) ? buf__hdr(b)->cap : 0)
#define buf_push(b, x) (buf__fit((b), 1), (b)[buf__hdr(b)->len++] = (x))
#define buf_end(b) ((b) + buf_len(b))

#define buf_add(b, n) (buf__fit((b), n), buf__hdr(b)->len += n, &(b)[buf__hdr(b)->len - n]) // TODO: Not sure if I should be returning the address or not
#define buf_pop(b) (buf__hdr(b)->len--, &(b)[buf__hdr(b)->len + 1]) // TODO: Check that array exists and length doesn't go below 0
#define buf_pop_all(b) (buf__hdr(b)->len = 0)

#define buf_free(b) ((b) ? (free(buf__hdr(b)), (b) = NULL) : 0)

void *buf__grow(const void *buf, size_t new_len, size_t elem_size);

/* === Hash Map === */

uint64_t hash_uint64(uint64_t x);
uint64_t hash_ptr(const void *prt);
uint64_t hash_mix(uint64_t x, uint64_t y);
uint64_t hash_bytes(const void *ptr, size_t len);

typedef struct Map {
	uint64_t *keys;
	uint64_t *vals;
	size_t len;
	size_t cap;
} Map;

uint64_t map_get_uint64_from_uint64(Map *map, uint64_t key);
void map_put_uint64_from_uint64(Map *map, uint64_t key, uint64_t val);
void map_grow(Map *map, size_t new_cap);
void *map_get(Map *map, const void *key);
void map_put(Map *map, const void *key, void *val);
void *map_get_from_uint64(Map *map, uint64_t key);
void map_put_from_uint64(Map *map, uint64_t key, void *val);
uint64_t map_get_uint64(Map *map, void *key);
void map_put_uint64(Map *map, void *key, uint64_t val);
void map_test(void);

/* === buffer.c - Text Editing Data Structures === */

typedef enum FileType {
	FT_UNKNOWN, FT_TEXT, FT_MARKDOWN, FT_C, FT_CPP, FT_C_HEADER, FT_GOPHERMAP,
	FT_LUA, FT_JS, FT_CSS, FT_HTML, FT_VUE
} FileType; // TODO: Add Batch and Bash files

void getFileTypeExtension(FileType ft, char **ftExt);

typedef struct Line {
	char *chars;
} Line;

typedef enum OperationKind {
	Undo, InsertAfter, InsertBefore, AppendTo, PrependTo, ReplaceLine, ReplaceString, DeleteLine
} OperationKind;

typedef struct Operation {
	OperationKind kind;
	int *lines; // Line(s) that have been modified/added/deleted by the operation
	union {
		Line original; // The original line that was modified/deleted - TODO: Not very memory efficient
	};
} Operation;

// Levels:
//  0 for #
//  1 for ##
//  ...
typedef struct MarkdownOutlineNode {
	Line *line;
	int lineNum;
	int level;
} MarkdownOutlineNode;

typedef struct COutlineNode {
	Line *line;
	int lineNum;
} COutlineNode;

typedef struct TextOutlineNode {
	Line *line;
	int lineNum;
} TextOutlineNode;

typedef struct LuaOutlineNode {
	Line *line;
	int lineNum;
} LuaOutlineNode;

typedef struct JSOutlineNode {
	Line *line;
	int lineNum;
} JSOutlineNode;

typedef struct Bookmark Bookmark;

typedef enum LineEndings {
	CR_LF, // DOS, Windows, CP/M
	LF, // UNIX
	CR, // Early Mac
	NEL, LS_PS // Unicode (New Line , Line Separator, and Paragraph Separator, respectively)
} LineEndings;

typedef struct Buffer {
	char *openedFilename; // char Stretchy buffer for the currently opened filename
	FileType fileType;
	Line *lines;
	Operation lastOperation;
	Bookmark *bookmarks;
	// Used by default when no line passed into a command.
	// Commands that modify the file will change the currentLine to the last line it modified. Some commands, like 'c', don't modify the file based on the current line, but will change the current line to what it's modifying ('c' will change the current line to the last line in the file and start inserting from there).
	int currentLine;
	bool modified;
	LineEndings lineEndingType;
	unsigned char indentSize;
	bool useSpaces; // TODO
	union outline {
		void *nodes;
		MarkdownOutlineNode *markdown_nodes;
		COutlineNode *c_nodes;
		TextOutlineNode *text_nodes;
		LuaOutlineNode *lua_nodes;
	} outline;
} Buffer;

// Stretchy buffer of Buffers
Buffer *buffers;
Buffer *currentBuffer;
char **inputHistory;
unsigned int inputHistoryIndex;
Line *clipboardLines;
unsigned char defaultIndentSize;
bool defaultUseSpaces;

void buffer_initEmptyBuffer(Buffer *buffer);
int buffer_openFile(Buffer *buffer, char *filename);
void buffer_saveFile(Buffer *buffer, char *filename);
void buffer_close(Buffer *buffer);

int buffer_insertAfterLine(Buffer *buffer, int line, Line *lines);
int buffer_insertBeforeLine(Buffer *buffer, int line, Line *lines);
void buffer_appendToLine(Buffer *buffer, int line, char *chars);
void buffer_prependToLine(Buffer *buffer, int line, char *chars);
void buffer_replaceLine(Buffer *buffer, int line, char *chars);
// TODO: This will basically just delete the lines and then insert before the line number
// void buffer_replaceLines(Buffer *buffer, int lineStart, int lineEnd, Line *lines);
void buffer_replaceInLine(Buffer *buffer, int line, int startIndex, int endIndex, char *chars);
// TODO: Add the number to move up by
void buffer_moveLineUp(Buffer *buffer, int line);
// TODO: Add the number to move up by
void buffer_moveLineDown(Buffer *buffer, int line);
void buffer_deleteLine(Buffer *buffer, int line);

// TODO
// void buffer_deleteLines(Buffer *buffer, int lineStart, int lineEnd);
int buffer_findStringInLine(Buffer *buffer, int line, char *str, int strLength, bool insensitive);
int buffer_findString(Buffer *buffer, char *str, int strLength, int *colIndex, unsigned int startLine, unsigned int endLine, bool insensitive);


/* === parsing.c === */

typedef struct pString {
	char *start;
	char *end;
} pString;

typedef struct lineRange {
	int start;
	int end;
} lineRange;

typedef enum BookmarkType {
	BT_UNKNOWN, BT_FUNCTION, BT_BLOCK, BT_COMMENT, BT_HEADING, BT_SECTION
} BookmarkType;

typedef struct Bookmark {
	char *name; // Dynamic Array Buffer
	lineRange range;
	BookmarkType type;
	bool outline;
} Bookmark;

// Function pointer to function that can run user-code on specific keypresses during input (with getInput). If null, the function is not called
// Return true if keypress should continue to use default action provided by getInput()
typedef bool (*inputKeyCallback)(char, bool isSpecial, char **, int *);

#define INPUT_ESC 27

// ANSI Control Characters
#define INPUT_CTRL_L 12 // Clear Scrren
#define INPUT_CTRL_X 24 // Cancel
#define INPUT_CTRL_C 3 // Currently: Exit Program, TODO: Exit or Copy?
#define INPUT_CTRL_O 15

// Special Keys
#ifdef _WIN32
#define INPUT_SPECIAL1 -32
#define INPUT_SPECIAL2 224 // TODO
#define INPUT_LEFT 75
#define INPUT_UP 76
// TODO: Fix
#define INPUT_RIGHT 77
#define INPUT_DOWN 78
// TODO: Fix
#define INPUT_DELETE 83
#define INPUT_END 79
#define INPUT_HOME 71
#define INPUT_ENDINPUT 26 // CTRL-Z
#define INPUT_BACKSPACE 8
#else
#define INPUT_SPECIAL1 27
#define INPUT_SPECIAL2 91
#define INPUT_LEFT 68
#define INPUT_RIGHT 67
#define INPUT_UP 65
#define INPUT_DOWN 66
#define INPUT_DELETE1 51
#define INPUT_DELETE2 126
#define INPUT_END 70
#define INPUT_HOME 72
#define INPUT_ENDINPUT 4 // CTRL-D
#define INPUT_BACKSPACE 127
#endif

char *skipWhitespace(char *start, char *endBound, bool backwards);
char *skipWord(char *start, char *endBound, bool includeNumbers, bool includeSymbols, bool backwards);
char *skipNumbers(char *start, char *endBound);
char *skipLineNumber(char *start, char *endBound);

long parseLineNumber(Buffer *buffer, char *start, char *endBound);
char *parseLineRange(Buffer *buffer, char *start, char *end, lineRange *line_range);
lineRange parseBookmark(Buffer *buffer, char *start, char *end);
char *skipBookmark(char *start, char *end);

char *getInput(bool *canceled, char *inputBuffer, inputKeyCallback callback, unsigned char indentSize);
int parsing_getLine(char *line, int max, int trimSpace);
int parsing_getLine_dynamic(char **chars, int trimSpace);

void createOutline(void);
void recreateOutline(void);
void showOutline(void);

void createMarkdownOutline(void);
void createCOutline(void);
void createTextOutline(void);
void createLuaOutline(void);
void createJSOutline(void);
void showMarkdownOutline(void);
void showCOutline(void);
void showTextOutline(void);
void showLuaOutline(void);
void showJSOutline(void);






























































































1
2
3
4
5
6
7


8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986

987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
    if (backwards) {
        do {
            if (current <= endBound) break;
            --current;
        } while (*current == ' ' || *current == '\t' || *current == '\n' || *current == '\r');
    } else {
        while (*current == ' ' || *current == '\t' || *current == '\n' || *current == '\r') {
            ++current;
            if (current > endBound) break;
        }
        if (backwards && current <= endBound) break;
        case FT_TEXT:
        {
            createTextOutline();
        } break;
        case FT_TEXT:
        {
            // Pop off all of the current nodes
            if (buf_len(currentBuffer->outline.text_nodes))
                buf_pop_all(currentBuffer->outline.text_nodes);
            assert(buf_len(currentBuffer->outline.text_nodes) == 0);
            createTextOutline();
        } break;
        case FT_TEXT:
        {
            showTextOutline();
        };
        printf("%c\n", *paramStart);
        currentName.end = skipWhitespace(paramStart, start, true) + 1;
        if (*currentName.start == '*') currentName.start = currentName.start + 1;
            || (strncmp(currentName.start, "&&", 2) == 0)
            || (strncmp(currentName.start, "||", 2) == 0)
            || (strncmp(currentName.start, "&", 2) == 0)
            || (strncmp(currentName.start, "|", 2) == 0)
            || (strncmp(currentName.start, "+", 2) == 0)
            || (strncmp(currentName.start, "-", 2) == 0)
            || (strncmp(currentName.start, "*", 2) == 0)
            || (strncmp(currentName.start, "/", 2) == 0)
            || (strncmp(currentName.start, "^", 2) == 0)
    assert(currentBuffer->fileType == FT_TEXT);
    lineRange bookmarkRange;
    bookmarkRange.start = -1;
    bool blankBefore = false;
    int headerLine = -1;
    // Go through each line
    for (int line = 0; line < buf_len(currentBuffer->lines); line++) {
        // Search for blank line
        if (buf_len(currentBuffer->lines[line].chars) <= 1) {
            if (blankBefore && headerLine != -1) {
                // Add previous heading to bookmarks (including correct line end of section)
                if (bookmarkRange.start != -1) {
                    bookmarkRange.end = headerLine - 1;
                    if (bookmarkRange.end >= buf_len(currentBuffer->lines)) bookmarkRange.end = buf_len(currentBuffer->lines) - 1;
                    pString name;
                    name.start = currentBuffer->lines[bookmarkRange.start].chars;
                    name.end = currentBuffer->lines[bookmarkRange.start].chars + buf_len(currentBuffer->lines[bookmarkRange.start].chars) - 1;
                    bool updated = add_bookmark(currentBuffer, name, bookmarkRange);
                }
                TextOutlineNode node;
                node.line = &(currentBuffer->lines[headerLine]);
                node.lineNum = headerLine;
                buf_push(currentBuffer->outline.text_nodes, node);
                bookmarkRange.start = headerLine;
                headerLine = -1;
                blankBefore = false;
            }
            blankBefore = true;
        } else if (blankBefore) {
            if (headerLine != -1 && blankBefore) {
                headerLine = -1;
                blankBefore = false;
            }
            headerLine = line;
        }
    }
    if (bookmarkRange.start != -1) {
        bookmarkRange.end = headerLine - 1;

        if (bookmarkRange.end >= buf_len(currentBuffer->lines)) bookmarkRange.end = buf_len(currentBuffer->lines) - 1;
        pString name;
        name.start = currentBuffer->lines[bookmarkRange.start].chars;
        name.end = currentBuffer->lines[bookmarkRange.start].chars + buf_len(currentBuffer->lines[bookmarkRange.start].chars) - 1;
        bool updated = add_bookmark(currentBuffer, name, bookmarkRange);
    }
    assert(currentBuffer->fileType == FT_TEXT);
    for (int node_i = 0; node_i < buf_len(currentBuffer->outline.text_nodes); node_i++) {
        int linenum = currentBuffer->outline.text_nodes[node_i].line - currentBuffer->lines;
        printLine(linenum, 0, true);
    }
            if (name.start[i] == '-') {
                buf_push(bookmark.name, '_');
                continue;
            }
#include "edimcoder.h"

// Gives back pointer starting at next non-whitespace character that appears after start
char *skipWhitespace(char *start, char *endBound, bool backwards) {
	char *current = start;
	if (current >= endBound) return current;

        if (!backwards && current > endBound) break;
        else if (backwards && current <= endBound) break;
	if (backwards) {
		do {
			if (current <= endBound) break;
			--current;
		} while (*current == ' ' || *current == '\t' || *current == '\n' || *current == '\r');
	} else {
		while (*current == ' ' || *current == '\t' || *current == '\n' || *current == '\r') {
			++current;
			if (current >= endBound) break;
		}
	}

	return current;
}

// Will give back a pointer just after the word skipped.
char *skipWord(char *start, char *endBound, bool includeNumbers, bool includeSymbols, bool backwards) {
	char *current = start;
	while ((*current >= 'A' && *current <= 'Z') || (*current >= 'a' && *current <= 'z')
		   || (includeNumbers && *current >= '0' && *current <= '9')
		   || (includeNumbers && *current == '-') // Note: Technically this will also match numbers that have '-' in the middle and at end, but whatever TODO: Fix this
		   || (includeSymbols && *current >= '!' && *current <= '/')
		   || (includeSymbols && *current >= ':' && *current <= '@')
		   || (includeSymbols && *current >= '[' && *current <= '`')
		   || (includeSymbols && *current >= '{' && *current <= '~')) {
		if (backwards && current <= endBound) break;

		if (!backwards) ++current;
		else --current;

		if (!backwards && current >= endBound) break;
	}
	return current;
}

// TODO
char *skipText() {
	return NULL;
}

// TODO
char *skipSymbols() {
	return NULL;
}

char *skipNumbers(char *start, char *endBound) {
	char *current = start;
	if (current >= endBound) return current;
	
	if (*current == '-') ++current; // Note: Not doing '+' here
	if (current >= endBound) return current;
	
	while (*current >= '0' && *current <= '9') {
		++current;
		if (current >= endBound) break;
	}
	return current;
}

// Specific to Edim Command Language
char *skipLineNumber(char *start, char *endBound) {
	char *current = start;
	if (current >= endBound) return current;
	if (*current == '\'') {
		++current;
		current = skipWord(current, endBound, true, false, false);
	} else {
		// If symbol
		if ((*current >= '!' && *current <= '/')
			|| (*current >= ':' && *current <= '@')
			|| (*current >= '[' && *current <= '`')
			|| (*current >= '{' && *current <= '~')) {
			//++current;
			if (*current == '.' || *current == '$') // Hacky, TODO
				++current;
		} else {
			current = skipNumbers(current, endBound);
		}
	}
	return current;
}

// Returns '0' if number could not be parsed
long parseLineNumber(Buffer *buffer, char *start, char *endBound) {
	char *current = start;
	
	if (current >= endBound) return 0;
	
	current = skipWhitespace(current, endBound, false);
	pString lineNumber;
	lineNumber.start = current;
	current = skipLineNumber(current, endBound);
	if (current == lineNumber.start) return 0; // No number found
	lineNumber.end = current;
	
	// Special Line Number Symbols
	if (lineNumber.end - lineNumber.start == 1) {
		switch (lineNumber.start[0]) {
			case '0':
			if (buf_len(buffer->lines) == 0)
				return 0;
			else return 1;
			case '1':
			return 1;
			case '-':
			return 0;
			case '$':
			return buf_len(buffer->lines);
			case '.':
			return buffer->currentLine;
		}
	}
	
	// Turn number string into long integer
	int result = 0;
	bool negative = false;
	current = lineNumber.start;
	if (*current == '-') {
		current++;
		if (current >= endBound) return 0;
		
		negative = true;
	}
	while (*current >= '0' && *current <= '9') {
		result *= 10;
		result += *current - '0';
		++current;
		if (current == lineNumber.end + 1) break;
		if (current >= endBound) break;
	}
	
	if (negative && result > 0) {
		result *= -1;
	}
	
	return result;
}

/*int parseLineNumber() {

}*/

lineRange parseBookmark(Buffer *buffer, char *start, char *end) {
	char *name_start = start + 1;
	char *current = start;
	
	if (current > end) {
		lineRange line_range = { buffer->currentLine, buffer->currentLine };
		return line_range;
	}
	
	current = skipBookmark(current, end);
	char *name_end = current;
	
	lineRange line_range;
	line_range.start = buffer->currentLine;
	line_range.end = buffer->currentLine;
	
	if (name_end == name_start || name_end == start) { // If no bookmark parsed (or just '#' given)
//        printf("No bookmark or only '#' given\n");
		return line_range;
	}
	
	pString bookmarkName;
	bookmarkName.start = name_start;
	bookmarkName.end = name_end - 1;
	int bookmarkName_length = bookmarkName.end - bookmarkName.start + 1;
	
	if (bookmarkName_length == 1) {
		switch(*bookmarkName.start) {
			case 'p':
			{
			} break;
			
			case 'f':
			{
				line_range.start = 1;
				line_range.end = buf_len(buffer->lines);
			} break;
			
			case 'c':
			{
				line_range.start = buffer->currentLine;
				line_range.end = buffer->currentLine;
			} break;
			
			case 's':
			{
				for (int i = 0; i < buf_len(buffer->bookmarks); i++) {
					if (buffer->currentLine >= buffer->bookmarks[i].range.start && buffer->currentLine <= buffer->bookmarks[i].range.end) {
						line_range.start = buffer->bookmarks[i].range.start;
						line_range.end = buffer->bookmarks[i].range.end;
						break;
					}
				}
			} break;
			
			default:
			{
				Bookmark *result_bookmark;
				bool found = get_bookmark(buffer, bookmarkName, &result_bookmark);
				
				if (found) {
					line_range.start = result_bookmark->range.start;
					line_range.end = result_bookmark->range.end;
				}
			} break;
		}
	} else {
		Bookmark *result_bookmark;
		bool found = get_bookmark(buffer, bookmarkName, &result_bookmark);
//        printf("Result Bookmark Range: %d:%d\n", result_bookmark->range.start, result_bookmark->range.end);
		
		if (found) {
			line_range.start = result_bookmark->range.start;
			line_range.end = result_bookmark->range.end;
		}
	}
	
	return line_range;
}

// Allows A-Za-z0-9 and _ (underscore)
char *skipBookmark(char *start, char *end) {
	char *current = start;
	if (current > end) return current;
	
	if (*current == '#') current++;
	else return current;
	
	if (current > end) return current;
	
	while ((*current >= 'A' && *current <= 'Z') || (*current >= 'a' && *current <= 'z') || (*current >= '0' && *current <= '9') || (*current == '_')) {
		++current;
		
		if (current > end) break;
	}
	
	return current;
}

char *parseLineRange(Buffer *buffer, char *start, char *end, lineRange *line_range) {
	char *current = skipWhitespace(start, end, false);
	int line_start = (int) parseLineNumber(buffer, current, end);
	current = skipLineNumber(current, end);
	
	line_range->start = line_start;
	line_range->end = line_start;
	
	if (current == start) { // If there wasn't a line number passed in
		line_range->start = buffer->currentLine;
		line_range->end = buffer->currentLine;
	
		if (*current == '#') { // Check for bookmark
			lineRange bookmark_range = parseBookmark(buffer, current, end);
			current = skipBookmark(current, end);
			
			line_range->start = bookmark_range.start;
			line_range->end = bookmark_range.end;
		}
	}
	
	int line_range_length = line_range->end - line_range->start;
	
	current = skipWhitespace(current, end, false);
	
	// Relative end, denoted as '+: number' means that the end should be the start plus the number
	// given after '+:'. The end is relative to the start.
	bool relativeEnd = false;
	
	// Check for relative line
	if (*current == '+') { // Addition first
		current++;
		if (current > end) return current;
		current = skipWhitespace(current, end, false);
		
		char *before = current;
		long number = parseLineNumber(buffer, current, end);
		current = skipLineNumber(current, end);
		
		if (current == before) { // If there was no number provided
			relativeEnd = true;
		} else {
			line_range->start = line_range->start + number;
			line_range->end = line_range->end + number;
		}
	} else if (*current == '-') { // Subtraction
		current++;
		if (current > end) return current;
		current = skipWhitespace(current, end, false);
		
		char *before = current;
		long number = parseLineNumber(buffer, current, end);
		current = skipLineNumber(current, end);
		
		if (current == before) { // If there was no number provided
			relativeEnd = true;
		} else {
			line_range->start = line_range->start - number;
			line_range->end = line_range->end - number;
		}
	}
	
	line_range_length = line_range->end - line_range->start;
	current = skipWhitespace(current, end, false);
	
	if (*current == ':') { // Given an end line for the range
		current++;
		if (current > end) return current; // TODO
		current = skipWhitespace(current, end, false);
		
		char *start_endLine = current;
		int line_end = (int) parseLineNumber(buffer, current, end);
		current = skipLineNumber(current, end);
		
		if (relativeEnd) {
			line_range->end = line_range->start + line_end;
		} else {
			line_range->end = line_end;
		}
		
		if (current == start_endLine) { // If there wasn't a line number passed in as end of line range
			line_range->end = buffer->currentLine;
			
			if (*current == '#') { // Check for bookmark as end of range
				lineRange bookmark_range = parseBookmark(buffer, current, end);
				current = skipBookmark(current, end);
				
				line_range->end = bookmark_range.end;
			}
		}
		
		current = skipWhitespace(current, end, false);
		
		line_range_length = line_range->end - line_range->start;
	
		// Check for relative line
		if (*current == '+') { // Addition first
			current++;
			if (current > end) return current;
			current = skipWhitespace(current, end, false);
			
			long number = parseLineNumber(buffer, current, end);
			current = skipLineNumber(current, end);
			
			line_range->end = line_range->end + number;
		} else if (*current == '-') { // Subtraction
			current++;
			if (current > end) return current;
			current = skipWhitespace(current, end, false);
			
			long number = parseLineNumber(buffer, current, end);
			current = skipLineNumber(current, end);
			
			line_range->end = line_range->end - number;
		}
	
		line_range_length = line_range->end - line_range->start;
	}
	
	return current;
}

/* Gets input, trims leading space, and puts into line char array
as long as it doesn't go over the max.

@line - array of characters to fill up
@max - maximum amount of characters allowed in line
@trimSpace - Whether to trim leading space (1) or not (0)
@return - the length of the line
*/
int parsing_getLine(char *line, int max, int trimSpace) {
	int c;
	int i = 0;
	
	/* Trim whitespace */
	while (trimSpace && ((c = getchar()) == ' ' || c == '\t'))
		;
	
	if (!trimSpace) c = getchar();
	
	/* If there's nothing left, return */
	if (c == '\n') {
		line[i] = '\0';
		return 1; /* Including \0 */
	}
	
	/* Transfer input characters into line string */
	while (c != EOF && c != '\n' && i < max)
	{
		line[i] = (char) c;
		++i;
		c = getchar();
	}
	
	/* End of string */
	line[i] = '\0';
	++i; /* Includes '\0' in the length */
	
	return i;
}

// Gets input, trims leading space, and puts into a char stretchy buffer (dynamic array). Does not add null character at end.
// Returns the length of the buffer.
int parsing_getLine_dynamic(char **chars, int trimSpace) {
	int c;
	
	/* Trim whitespace */
	while (trimSpace && ((c = getchar()) == ' ' || c == '\t'))
		;
	
	if (!trimSpace) c = getchar();
	
	/* If there's nothing left, return */
	if (c == '\n') {
		return 0;
	}
	
	/* Push input characters onto buffer */
	while (c != EOF && c != '\n') {
		buf_push(*chars, (char) c);
		c = getchar();
	}
	
	return buf_len(*chars);
}

// TODO: Test on macOS and BSD!
// TODO: bool printNewLine
// TODO: Placeholder/Ghost text
// TODO: Autocomplete?
char *getInput(bool *canceled, char *inputBuffer, inputKeyCallback callback, unsigned char indentSize) {
	(*canceled) = false;
	int currentIndex = 0;
	int defaultLength = buf_len(inputBuffer);
	
	if (inputBuffer != NULL && buf_len(inputBuffer) > 0) {
		for (int i = 0; i < buf_len(inputBuffer); i++) {
			if (inputBuffer[i] == '\t')
				for (int i = 0; i < indentSize; i++)
					fputc(' ', stdout);
			else if (inputBuffer[i] == INPUT_ESC)
				colors_printf(COLOR_RED, "$");
			else putchar(inputBuffer[i]);
			++currentIndex;
		}
	}
	
	char c;
	while ((c = getch()) != INPUT_ENDINPUT) { // Ctrl-Z for Windows, Ctrl-D for Linux
#ifdef _WIN32
		if (c == 0) continue;
		if (c == INPUT_SPECIAL1 || c == INPUT_SPECIAL2)
#else
		if (c == INPUT_SPECIAL1)
#endif
		{
#ifndef _WIN32
			if (getch_nonblocking() == INPUT_SPECIAL2) {
#endif
				int specialkey = getch();

				if (callback != NULL) {
					if (!callback(specialkey, true, &inputBuffer, &currentIndex))
						continue;
				}
				
				if (specialkey == INPUT_LEFT) { // Left arrow
					if (currentIndex != 0) {
						if (inputBuffer[currentIndex - 1] == '\t')
							for (int i = 0; i < indentSize; i++)
								fputc('\b', stdout);
						else putchar('\b');
						--currentIndex;
					}
				} else if (specialkey == INPUT_RIGHT) { // Right arrow
					if (currentIndex < buf_len(inputBuffer)) {
						if (inputBuffer[currentIndex] == '\t')
							for (int i = 0; i < indentSize; i++)
								fputc(' ', stdout);
						else if (inputBuffer[currentIndex] == INPUT_ESC)
							colors_printf(COLOR_RED, "$");
						else putchar(inputBuffer[currentIndex]);
						++currentIndex;
					}
#ifdef _WIN32
				} else if (specialkey == 83) { // Delete
#else
				} else if (specialkey == INPUT_DELETE1) {
					int special2 = getch();
					if (special2 == INPUT_DELETE2) {
#endif
						if (currentIndex < buf_len(inputBuffer)) {
							// Move all the characters down one
							char *source = &(inputBuffer[currentIndex + 1]);
							char *destination = &(inputBuffer[currentIndex]);
							int amtToMove = buf_end(inputBuffer) - source;
							memmove(destination, source, sizeof(char) * amtToMove);
							buf_pop(inputBuffer);
							// Print all of the characters that have been moved
							for (int i = currentIndex; i < buf_len(inputBuffer); i++) {
								if (inputBuffer[i] == '\t')
									fputs("    ", stdout);
								if (inputBuffer[i] == INPUT_ESC)
									colors_printf(COLOR_RED, "$");
								else putchar(inputBuffer[i]);
							}
							// Print spaces where the last character(s) used to be
							fputs("    \b\b\b\b", stdout);
							// Go back to where the cursor is
							for (int i = 0; i < buf_len(inputBuffer) - currentIndex; i++) {
								if (inputBuffer[buf_len(inputBuffer) - 1 - i] == '\t')
									fputs("\b\b\b\b", stdout);
								else putchar('\b');
							}
						}
#ifndef _WIN32
					}
#endif
				} else if (specialkey == INPUT_END) { // End key
					for (int i = currentIndex; i < buf_len(inputBuffer); i++) {
						if (inputBuffer[i] == '\t')
							for (int i = 0; i < indentSize; i++)
								fputc(' ', stdout);
						else if (inputBuffer[i] == INPUT_ESC)
							colors_printf(COLOR_RED, "$");
						else putchar(inputBuffer[i]);
					}
					currentIndex = buf_len(inputBuffer);
				} else if (specialkey == INPUT_HOME) { // Home key
					for (int i = 0; i < currentIndex; i++) {
						if (inputBuffer[i] == '\t')
							for (int i = 0; i < indentSize; i++)
								fputc('\b', stdout);
						else putchar('\b');
					}
					currentIndex = 0;
					//} else if (special == 115) { // Ctrl+Left // TODO
					//} else if (special == 116) { // Ctrl+Right // TODO
				} else {
					//printf("%d", special); // For debugging
				}
				continue;
#ifndef _WIN32
			} else { // TODO: Add to the location of the cursor
				// If escape key was hit and wasn't a special key
				// (most likely ESC hit by itself)
				// then print $ with next character after, and add
				// to buffer ESC + next character
				colors_printf(COLOR_RED, "$");
				//printf("%c", c);
				buf_push(inputBuffer, 27);
				++currentIndex;
				//buf_push(inputBuffer, c);
				continue;
			}
#endif
		}
		
		if (callback != NULL) {
			if (!callback(c, false, &inputBuffer, &currentIndex))
				continue;
		}
		
		// ASCII Control Keys
		if (c == INPUT_CTRL_X) {
			//buf_pop_all(inputBuffer);
			fputs("^X", stdout);
			buf_free(inputBuffer);
			inputBuffer = NULL;
			currentIndex = 0;
			(*canceled) = true;
			return NULL;
		} else if (c == INPUT_CTRL_C) {
			exit(0); // TODO
		} else if (c > 0 && c <= 26 && c != 13 && c != 8 && c != 9 && c != 10) { // Capture all other Control Keys (aside from Enter, backspace, and tab)
			continue;
		}
		
		if (c == '\n' || c == '\r') { // Enter
#ifdef _WIN32
			putchar('\r');
#endif
			putchar('\n');
			buf_push(inputBuffer, '\n');
			++currentIndex;
			break;
		}
		if (c == '\t') { // Tab
			if (currentIndex == buf_len(inputBuffer)) {
				for (int i = 0; i < indentSize; i++)
					fputc(' ', stdout);
				buf_push(inputBuffer, '\t');
			} else {
				for (int i = 0; i < indentSize; i++)
					fputc(' ', stdout);
				buf_add(inputBuffer, 1);
				// Move all characters up one
				char *source = &(inputBuffer[currentIndex]);
				char *destination = &(inputBuffer[currentIndex + 1]);
				int amtToMove = &(inputBuffer[buf_len(inputBuffer) - 1]) - source;
				memmove(destination, source, sizeof(char) * amtToMove);
				// Change the character in the inputBuffer
				inputBuffer[currentIndex] = c;
				// Print the characters
				for (int i = currentIndex + 1; i < buf_len(inputBuffer); i++) {
					if (inputBuffer[i] == '\t')
						for (int i = 0; i < indentSize; i++)
							fputc(' ', stdout);
					else if (inputBuffer[i] == INPUT_ESC)
							colors_printf(COLOR_RED, "$");
					else putchar(inputBuffer[i]);
				}
				// Move back to where the cursor is
				for (int i = 0; i < buf_len(inputBuffer) - currentIndex - 1; i++) {
					if (inputBuffer[buf_len(inputBuffer) - 1 - i] == '\t')
						for (int i = 0; i < indentSize; i++)
							fputc('\b', stdout);
					else putchar('\b');
				}
			}
			
			++currentIndex;
			continue;
		}
		if (c == INPUT_BACKSPACE || c == 8)
		{
			if (currentIndex > 0) {
				if (currentIndex == buf_len(inputBuffer)) {
					if (inputBuffer[currentIndex - 1] == '\t')
						for (int i = 0; i < indentSize; i++)
							fputc('\b', stdout);
					else fputs("\b \b", stdout);
					buf_pop(inputBuffer);
					--currentIndex;
					continue;
				}
				
				if (inputBuffer[currentIndex - 1] == '\t')
					for (int i = 0; i < indentSize; i++)
						fputc('\b', stdout);
				else fputs("\b \b", stdout);
				
				// Move all characters down one
				char *source = &(inputBuffer[currentIndex]);
				char *destination = &(inputBuffer[currentIndex - 1]);
				int amtToMove = buf_end(inputBuffer) - source;
				memmove(destination, source, sizeof(char) * amtToMove);
				
				buf_pop(inputBuffer);
				
				// Print all of the characters again
				for (int i = currentIndex - 1; i < buf_len(inputBuffer); i++) {
					if (inputBuffer[i] == '\t')
						for (int i = 0; i < indentSize; i++)
							fputc(' ', stdout);
					else if (inputBuffer[i] == '\n' || inputBuffer[i] == '\r')
						; // Do Nothing
					else if (inputBuffer[i] == INPUT_ESC)
							colors_printf(COLOR_RED, "$");
					else putchar(inputBuffer[i]);
				}
				
				// Print spaces where the last character(s) used to be
				for (int i = 0; i < indentSize; i++)
					fputc(' ', stdout);
				for (int i = 0; i < indentSize; i++)
					fputc('\b', stdout);
				
				// Move back to where the cursor is
				for (int i = 0; i <= buf_len(inputBuffer) - currentIndex; i++) {
					if (inputBuffer[buf_len(inputBuffer) - 1 - i] == '\t')
						for (int i = 0; i < indentSize; i++)
							fputc('\b', stdout);
					else putchar('\b');
				}
				
				--currentIndex;
			}
			continue;
		}

#ifdef _WIN32
		if (c == INPUT_ESC) {
			colors_printf(COLOR_RED, "$");
			buf_push(inputBuffer, c);
			continue;
		}
#endif
		
		if (currentIndex == buf_len(inputBuffer)) {
			putchar(c);
			buf_push(inputBuffer, c);
		} else {
			putchar(c);
			buf_add(inputBuffer, 1);
			// Move all characters up one
			char *source = &(inputBuffer[currentIndex]);
			char *destination = &(inputBuffer[currentIndex + 1]);
			int amtToMove = &(inputBuffer[buf_len(inputBuffer) - 1]) - source;
			memmove(destination, source, sizeof(char) * amtToMove);
			// Change the character in the inputBuffer
			inputBuffer[currentIndex] = c;
			// Print the characters
			for (int i = currentIndex + 1; i < buf_len(inputBuffer); i++) {
				if (inputBuffer[i] == '\t')
					for (int i = 0; i < indentSize; i++)
						fputc(' ', stdout);
				else if (inputBuffer[i] == INPUT_ESC)
					colors_printf(COLOR_RED, "$");
				else putchar(inputBuffer[i]);
			}
			// Move back to where the cursor is
			for (int i = 0; i < buf_len(inputBuffer) - currentIndex - 1; i++) {
				if (inputBuffer[buf_len(inputBuffer) - 1 - i] == '\t')
					for (int i = 0; i < indentSize; i++)
						fputc('\b', stdout);
				else putchar('\b');
			}
		}
		++currentIndex;
	}
	
	// If no input was made, free the buffer and return;
	if (buf_len(inputBuffer) - defaultLength <= 0) {
		if (inputBuffer != NULL)
			buf_free(inputBuffer);
	}
	
	// If there's no new line - which there shouldn't be -
	// then add it.
	if (inputBuffer != NULL && *(buf_end(inputBuffer) - 1) != '\n') {
		buf_add(inputBuffer, '\n');
	}
	
	if (buf_len(inputBuffer) == 0) {
#ifdef _WIN32
		printf("^Z");
#else
		printf("^D");
#endif
	}
	
	return inputBuffer;
}

void getFileTypeExtension(FileType ft, char **ftExt) {
	switch (ft) {
		case FT_TEXT:
		{
			(*ftExt) = malloc(sizeof(char) * 3);
			(*ftExt)[0] = 't';
			(*ftExt)[1] = 'x';
			(*ftExt)[2] = 't';
		} break;
		case FT_MARKDOWN:
		{
			(*ftExt) = malloc(sizeof(char) * 2);
			(*ftExt)[0] = 'm';
			(*ftExt)[1] = 'd';
		} break;
		case FT_C:
		{
			(*ftExt) = malloc(sizeof(char) * 1);
			(*ftExt)[0] = 'c';
		} break;
		case FT_CPP:
		{
			(*ftExt) = malloc(sizeof(char) * 3);
			(*ftExt)[0] = 'c';
			(*ftExt)[1] = 'p';
			(*ftExt)[2] = 'p';
		} break;
		case FT_C_HEADER:
		{
			(*ftExt) = malloc(sizeof(char) * 1);
			(*ftExt)[0] = 'h';
		} break;
		case FT_LUA:
		{
			(*ftExt) = malloc(sizeof(char) * 3);
			(*ftExt)[0] = 'l';
			(*ftExt)[1] = 'u';
			(*ftExt)[2] = 'a';
		} break;
		case FT_JS:
		{
			(*ftExt) = malloc(sizeof(char) * 2);
			(*ftExt)[0] = 'j';
			(*ftExt)[1] = 's';
		} break;
		case FT_VUE:
		{
			(*ftExt) = malloc(sizeof(char) * 3);
			(*ftExt)[0] = 'v';
			(*ftExt)[1] = 'u';
			(*ftExt)[2] = 'e';
		} break;
		case FT_HTML:
		{
			(*ftExt) = malloc(sizeof(char) * 4);
			(*ftExt)[0] = 'h';
			(*ftExt)[1] = 't';
			(*ftExt)[2] = 'm';
			(*ftExt)[3] = 'l';
		} break;
		case FT_CSS:
		{
			(*ftExt) = malloc(sizeof(char) * 3);
			(*ftExt)[0] = 'c';
			(*ftExt)[1] = 's';
			(*ftExt)[2] = 's';
		} break;
	}
}

void createOutline(void) {
	switch (currentBuffer->fileType) {
		case FT_MARKDOWN:
		{
			createMarkdownOutline();
		} break;
		case FT_C_HEADER:
		case FT_C:
		{
			createCOutline();
		} break;
		case FT_TEXT:
		{
			createTextOutline();
		} break;
		case FT_LUA:
		{
			createLuaOutline();
		} break;
		case FT_JS:
		{
			createJSOutline();
		} break;
	}
}

// Currently, after every operation that modifies the file, the outline is recreated.
// TODO: Perhaps it would be more efficient to only change the line a node points to when
// that line is moved/changed by using some type of hash table for integer keys.
void recreateOutline(void) {
	switch (currentBuffer->fileType) {
		case FT_MARKDOWN:
		{
			// Pop off all of the current nodes
			if (buf_len(currentBuffer->outline.markdown_nodes) > 0)
				buf_pop_all(currentBuffer->outline.markdown_nodes);
			assert(buf_len(currentBuffer->outline.markdown_nodes) == 0);
			createMarkdownOutline();
		} break;
		case FT_C:
		{
			// Pop off all of the current nodes
			if (buf_len(currentBuffer->outline.c_nodes))
				buf_pop_all(currentBuffer->outline.c_nodes);
			assert(buf_len(currentBuffer->outline.c_nodes) == 0);
			createCOutline();
		} break;
		case FT_TEXT:
		{
			// Pop off all of the current nodes
			if (buf_len(currentBuffer->outline.text_nodes))
				buf_pop_all(currentBuffer->outline.text_nodes);
			assert(buf_len(currentBuffer->outline.text_nodes) == 0);
			createTextOutline();
		} break;
		case FT_LUA:
		{
			if (buf_len(currentBuffer->outline.lua_nodes))
				buf_pop_all(currentBuffer->outline.lua_nodes);
			assert(buf_len(currentBuffer->outline.lua_nodes) == 0);
			createLuaOutline();
		} break;
	}
}

void showOutline(void) {
	switch (currentBuffer->fileType) {
		case FT_MARKDOWN:
		{
			showMarkdownOutline();
		} break;
		case FT_C:
		{
			showCOutline();
		} break;
		case FT_TEXT:
		{
			showTextOutline();
		} break;
		case FT_LUA:
		{
			showLuaOutline();
		} break;
		case FT_JS:
		{
			showJSOutline();
		} break;
	}
}

void createMarkdownOutline(void) {
	assert(currentBuffer->fileType == FT_MARKDOWN);
	int prevLevel = 0;
	lineRange bookmarkRange;
	bookmarkRange.start = -1;
	
	// Go through each line
	for (int line = 0; line < buf_len(currentBuffer->lines); line++) {
		// If starts with a hash, then it's a heading
		if (currentBuffer->lines[line].chars[0] == '#') {
			int level = 0;
			// Increment level with each successive '#'
			for (int i = 1; i < buf_len(currentBuffer->lines[line].chars); i++) {
				if (currentBuffer->lines[line].chars[i] == '#') {
					level++;
				} else break;
			}
			
			// create the node and push it
			MarkdownOutlineNode node;
			node.line = &(currentBuffer->lines[line]);
			node.lineNum = line;
			node.level = level;
			
//            buf_push(currentBuffer->outline.markdown_nodes, node);

			// Set previous bookmarks ending position, push it onto the
			// bookmarks array, and set starting position of new bookmark.

			if (bookmarkRange.start != -1) { // If there was a previous bookmark
				bookmarkRange.end = line - 1 + 1;

				if (bookmarkRange.end >= buf_len(currentBuffer->lines)) bookmarkRange.end = buf_len(currentBuffer->lines) - 1;

				pString name;
				name.start = currentBuffer->lines[bookmarkRange.start].chars + prevLevel + 1;
				name.end = currentBuffer->lines[bookmarkRange.start].chars + buf_len(currentBuffer->lines[bookmarkRange.start].chars) - 1;

				// Trim starting and ending whitespace of name
				name.start = skipWhitespace(name.start, name.end, false);
				name.end = skipWhitespace(name.end, name.start, true);

				// Fix start to be 1:end rather than 0:end-1 before adding bookmark
				bookmarkRange.start = bookmarkRange.start + 1;
				bool updated = add_bookmark(currentBuffer, name, bookmarkRange, BT_SECTION, true);
			}

			prevLevel = level;
			bookmarkRange.start = line;
		}
	}

	if (bookmarkRange.start != -1) { // If there was a previous bookmark
		bookmarkRange.end = buf_len(currentBuffer->lines);

		pString name;
		name.start = currentBuffer->lines[bookmarkRange.start].chars + prevLevel + 1;
		name.end = currentBuffer->lines[bookmarkRange.start].chars + buf_len(currentBuffer->lines[bookmarkRange.start].chars) - 1;

		// Fix start to be 1:end rather than 0:end-1 before adding bookmark
		bookmarkRange.start = bookmarkRange.start + 1;
		bool updated = add_bookmark(currentBuffer, name, bookmarkRange, BT_FUNCTION, true);
	}
}

void createCOutline(void) {
//    assert(currentBuffer->fileType == FT_C);

	pString name;
	name.start = NULL;
	lineRange bookmarkRange;
	bookmarkRange.start = -1;


	// Go through each line
	for (int line = 0; line < buf_len(currentBuffer->lines); line++) {
		pString currentName;
		
		char *start = currentBuffer->lines[line].chars;
		char *current = start;
		int lineLength = buf_len(currentBuffer->lines[line].chars);
		char *endBound = buf_end(currentBuffer->lines[line].chars);

		//printLine(line, 0, true);

		current = skipWhitespace(current, endBound, false);


		/*printf("      ");
		for (int i = 0; i < current - start - 1; i++) // Debug
			printf(" ");
		printf("^- %c\n", *current);*/

		// Check that has params start ('(')
		char *paramStart = current;
		bool outerContinue = false;
		while (*paramStart != '(') {
			paramStart++;
			if (paramStart >= endBound) {
				outerContinue = true;
				break;
			}
		}

		if (outerContinue) continue;
		//printf("%c\n", *paramStart);

		/*printf("      ");
		for (int i = 0; i < paramStart - start; i++) // Debug
			printf(" ");
		printf("^- %c\n", *paramStart);*/

		// Potential function name
		currentName.end = paramStart - 1;
		while (*currentName.end == ' ') currentName.end = currentName.end - 1;

		// NOTE: without '+ 1', a space is included (this is how it should be)
		currentName.start = skipWord(currentName.end, start, true, true, true) + 1;
		if (*currentName.start == '*') currentName.start = currentName.start + 1;

		// NOTE: currentName.end itself is included in the string/name
		int currentNameLength = currentName.end - currentName.start + 1;

		/* // For Debug:
		printf("       ");
		for (int i = 0; i < currentName.start - start - 1; i++) // Debug
			printf(" ");
		printf("^");
		for (int i = 0; i < currentName.end - currentName.start - 1; i++)
			printf("-");
		printf("^- %c, %c - %.*s\n", *currentName.start, *currentName.end, currentNameLength, currentName.start);
		*/

		// Make sure function name doesn't match any language keywords
		if ((strncmp(currentName.start, "if", MAX(currentNameLength, 2)) == 0)
			|| (strncmp(currentName.start, "else", MAX(currentNameLength, 4)) == 0)
			|| (strncmp(currentName.start, "switch", MAX(currentNameLength, 6)) == 0)
			|| (strncmp(currentName.start, "while", MAX(currentNameLength, 5)) == 0)
			|| (strncmp(currentName.start, "do", MAX(currentNameLength, 6)) == 0)
			|| (strncmp(currentName.start, "case", MAX(currentNameLength, 4)) == 0)
			|| (strncmp(currentName.start, "for", MAX(currentNameLength, 3)) == 0)
			|| (strncmp(currentName.start, "&&", 2) == 0)
			|| (strncmp(currentName.start, "||", 2) == 0)
			|| (strncmp(currentName.start, "&", 2) == 0)
			|| (strncmp(currentName.start, "|", 2) == 0)
			|| (strncmp(currentName.start, "+", 2) == 0)
			|| (strncmp(currentName.start, "-", 2) == 0)
			|| (strncmp(currentName.start, "*", 2) == 0)
			|| (strncmp(currentName.start, "/", 2) == 0)
			|| (strncmp(currentName.start, "^", 2) == 0)
			|| (strncmp(currentName.start, "//", 2) == 0)
			|| (strncmp(currentName.start, "/*", 2) == 0)) {
			continue;
		}

		// Search for types/keywords that signify the line is *not* a function declaration
		//bool hasProperReturnType = true;
		while (true) {
			char *startWord = current;
			current = skipWord(current, currentName.start, true, true, false);
			char *endWord = current;
			current = skipWhitespace(current, currentName.start, false);
			int wordLength = endWord - startWord;

			if ((strncmp(startWord, "if", MAX(wordLength, 2)) == 0)
				|| (strncmp(startWord, "else", MAX(wordLength, 4)) == 0)
				|| (strncmp(startWord, "switch", MAX(wordLength, 6)) == 0)
				|| (strncmp(startWord, "while", MAX(wordLength, 5)) == 0)
				|| (strncmp(startWord, "do", MAX(wordLength, 6)) == 0)
				|| (strncmp(startWord, "case", MAX(wordLength, 4)) == 0)
				|| (strncmp(startWord, "for", MAX(wordLength, 3)) == 0)
				|| (strncmp(startWord, "//", 2) == 0)
				|| (strncmp(startWord, "/*", 2) == 0)) {
				outerContinue = true;
				break;
			}
			// If matches with any possible return type, set hasReturnType and break
			/*if ((strncmp(startWord, "int", MAX(wordLength, 3)) == 0)
				|| (strncmp(startWord, "bool", MAX(wordLength, 4)) == 0)
				|| (strncmp(startWord, "float", MAX(wordLength, 5)) == 0)
				|| (strncmp(startWord, "double", MAX(wordLength, 6)) == 0)
				|| (strncmp(startWord, "char", MAX(wordLength, 4)) == 0)
				|| (strncmp(startWord, "string", MAX(wordLength, 6)) == 0)
				|| (strncmp(startWord, "void", MAX(wordLength, 4)) == 0)) {
				hasReturnType = true;
				break;
			}*/

			if (current >= currentName.start - 1) break;
		}

		if (outerContinue) continue;

		// Search for paramEnd
		char *paramEnd = paramStart;
		int level = 0;
		while (true) {
			paramEnd++;

			// Don't count nested parentheses
			if (*paramEnd == '(') ++level;
			if (*paramEnd == ')' && level != 0) --level;

			if (paramEnd >= endBound) {
				outerContinue = true;
				break;
			}

			if (*paramEnd == ')' && level == 0) break;
		}

		if (outerContinue) continue;

		// Check For function code start ('{')
		char *codeStart = paramEnd;
		while (*codeStart != '{') {
			codeStart++;
			if (codeStart >= endBound) {
				outerContinue = true;
				break;
			}
		}

		if (outerContinue) {
			continue; // TODO: Disable function declarations without body for now.
			// Check for ';'
			codeStart = paramEnd;
			outerContinue = false;
			while (*codeStart != ';') {
				codeStart++;
				if (codeStart >= endBound) {
					outerContinue = true;
					break;
				}
			}
			
			if (outerContinue) continue;
			else {
				COutlineNode node;
				node.line = &(currentBuffer->lines[line]);
				node.lineNum = line;
				
//                buf_push(currentBuffer->outline.c_nodes, node);
				
				// Add previous bookmark, add this bookmark, set start of next bookmark
				if (bookmarkRange.start != -1) {
					bookmarkRange.end = line - 1 + 1;
					bookmarkRange.start = bookmarkRange.start + 1;
					add_bookmark(currentBuffer, name, bookmarkRange, BT_FUNCTION, true);
				}
				
				bookmarkRange.start = line;
				bookmarkRange.end = line + 1;
				bookmarkRange.start = bookmarkRange.start + 1;
				add_bookmark(currentBuffer, currentName, bookmarkRange, BT_FUNCTION, true);
				
				bookmarkRange.start = -1;
				continue;
			}
		}

		//printf("|%.*s|\n", currentNameLength, currentName.start);
		COutlineNode node;
		node.line = &(currentBuffer->lines[line]);
		node.lineNum = line;
		
//        buf_push(currentBuffer->outline.c_nodes, node);

		if (bookmarkRange.start != -1) {
			// Add previous bookmark, set start of next bookmark
			bookmarkRange.end = line - 1 + 1;
			// Fix start to be 1:end rather than 0:end-1 before adding bookmark
			bookmarkRange.start = bookmarkRange.start + 1;
			add_bookmark(currentBuffer, name, bookmarkRange, BT_FUNCTION, true);
		}

		bookmarkRange.start = line;
		name = currentName;
	}

	if (bookmarkRange.start != -1) {
		// Add previous bookmark, set start of next bookmark
		bookmarkRange.end = buf_len(currentBuffer->lines);
		// Fix start to be 1:end rather than 0:end-1 before adding bookmark
		bookmarkRange.start = bookmarkRange.start + 1;
		add_bookmark(currentBuffer, name, bookmarkRange, BT_SECTION, true);
	}
}

void createTextOutline(void) {
	assert(currentBuffer->fileType == FT_TEXT);

	lineRange bookmarkRange;
	bookmarkRange.start = -1;
	bool blankBefore = true;
	int headerLine = -1;

	// Go through each line
	for (int line = 0; line < buf_len(currentBuffer->lines); line++) {
		// Search for blank line
		if (buf_len(currentBuffer->lines[line].chars) <= 1) {
			if (blankBefore && headerLine != -1) {
				// Add previous heading to bookmarks (including correct line end of section)
				if (bookmarkRange.start != -1) {
					bookmarkRange.end = headerLine - 1 + 1;

					if (bookmarkRange.end > buf_len(currentBuffer->lines)) bookmarkRange.end = buf_len(currentBuffer->lines) - 1;

					pString name;
					name.start = currentBuffer->lines[bookmarkRange.start].chars;
					name.end = currentBuffer->lines[bookmarkRange.start].chars + buf_len(currentBuffer->lines[bookmarkRange.start].chars) - 1;

					// Fix start to be 1:end rather than 0:end-1 before adding bookmark
					bookmarkRange.start = bookmarkRange.start + 1;
					bool updated = add_bookmark(currentBuffer, name, bookmarkRange, BT_SECTION, true);
				}

				TextOutlineNode node;
				node.line = &(currentBuffer->lines[headerLine]);
				node.lineNum = headerLine;

//                buf_push(currentBuffer->outline.text_nodes, node);

				bookmarkRange.start = headerLine;

				headerLine = -1;
				blankBefore = false;
			}

			blankBefore = true;
		} else if (blankBefore) {
			if (headerLine != -1 && blankBefore) {
				headerLine = -1;
				blankBefore = false;
			}

			headerLine = line;
		}
	}

	if (bookmarkRange.start != -1) {
		bookmarkRange.end = buf_len(currentBuffer->lines);

		pString name;
		name.start = currentBuffer->lines[bookmarkRange.start].chars;
		name.end = currentBuffer->lines[bookmarkRange.start].chars + buf_len(currentBuffer->lines[bookmarkRange.start].chars) - 1;

		// Fix start to be 1:end rather than 0:end-1 before adding bookmark
		bookmarkRange.start = bookmarkRange.start + 1;
		bool updated = add_bookmark(currentBuffer, name, bookmarkRange, BT_SECTION, true);
	}
}

void createLuaOutline(void) {
	assert(currentBuffer->fileType == FT_LUA);

	pString name;
	name.start = NULL;
	lineRange bookmarkRange;
	bookmarkRange.start = -1;

	for (int line = 0; line < buf_len(currentBuffer->lines); line++) {
		pString currentName;

		char *start = currentBuffer->lines[line].chars;
		char *current = start;
		int lineLength = buf_len(currentBuffer->lines[line].chars);
		char *endBound = buf_end(currentBuffer->lines[line].chars);

		current = skipWhitespace(current, endBound, false);

		// Check for 'function' keyword
		char *functionKeyword = "function";
		bool hasKeyword = true;
		for (int i = 0; i < 8; i++) {
			if (current[i] != functionKeyword[i]) {
				hasKeyword = false;
				break;
			}
		}

		if (!hasKeyword) continue;

		current = current + 8;

		current = skipWhitespace(current, endBound, false);
		currentName.start = current;
		current = skipWord(current, endBound, true, false, false);
		currentName.end = current;

		LuaOutlineNode node;
		node.line = &(currentBuffer->lines[line]);
		node.lineNum = line;

//        buf_push(currentBuffer->outline.lua_nodes, node);

		if (bookmarkRange.start != -1) {
			// Add previous bookmark, set start of next bookmark
			bookmarkRange.end = line - 1 + 1;
			// Fix start to be 1:end rather than 0:end-1 before adding bookmark
			bookmarkRange.start = bookmarkRange.start + 1;
			add_bookmark(currentBuffer, name, bookmarkRange, BT_FUNCTION, true);
		}

		bookmarkRange.start = line;
		name = currentName;
	}

	if (bookmarkRange.start != -1) {
		// Add previous bookmark, set start of next bookmark
		bookmarkRange.end = buf_len(currentBuffer->lines);
		// Fix start to be 1:end rather than 0:end-1 before adding bookmark
		bookmarkRange.start = bookmarkRange.start + 1;
		add_bookmark(currentBuffer, name, bookmarkRange, BT_FUNCTION, true);
	}
}

void createJSOutline(void) {
	assert(currentBuffer->fileType == FT_JS);
	
	pString name;
	name.start = NULL;
	lineRange bookmarkRange;
	bookmarkRange.start = -1;
	
	for (int line = 0; line < buf_len(currentBuffer->lines); line++) {
		pString currentName;
		
		char *start = currentBuffer->lines[line].chars;
		char *current = start;
		int lineLength = buf_len(currentBuffer->lines[line].chars);
		char *endBound = buf_end(currentBuffer->lines[line].chars);
		
		current = skipWhitespace(current, endBound, false);
		
		// Check for 'function' keyword
		char *functionKeyword = "function";
		bool hasKeyword = true;
		for (int i = 0; i < 8; i++) {
			if (current[i] != functionKeyword[i]) {
				hasKeyword = false;
				break;
			}
			
		}
		
		if (!hasKeyword) continue;
		
		current = current + 8;
		
		current = skipWhitespace(current, endBound, false);
		currentName.start = current;
		current = skipWord(current, endBound, true, false, false);
		currentName.end = current;
		
		JSOutlineNode node;
		node.line = &(currentBuffer->lines[line]);
		node.lineNum = line;
		
		if (bookmarkRange.start != -1) {
			// Add previous bookmark, set start of next bookmark
			bookmarkRange.end = line - 1 + 1;
			// Fix start to be 1:end rather than 0:end-1 before adding bookmark
			bookmarkRange.start = bookmarkRange.start + 1;
			add_bookmark(currentBuffer, name, bookmarkRange, BT_FUNCTION, true);
		}
		
		bookmarkRange.start = line;
		name = currentName;
	}
	
	if (bookmarkRange.start != -1) {
		// Add previous bookmark, set start of next bookmark
		bookmarkRange.end = buf_len(currentBuffer->lines);
		// Fix start to be 1:end rather than 0:end-1 before adding bookmark
		bookmarkRange.start = bookmarkRange.start + 1;
		add_bookmark(currentBuffer, name, bookmarkRange, BT_FUNCTION, true);
	}
}

void showMarkdownOutline(void) {
	assert(currentBuffer->fileType == FT_MARKDOWN);
	
	// Go though each node
	for (int node_i = 0; node_i < buf_len(currentBuffer->bookmarks); node_i++) {
		if (!currentBuffer->bookmarks[node_i].outline) continue;
		int linenum = currentBuffer->bookmarks[node_i].range.start - 1;
		
		printLine(linenum, 0, true);
	}
}

void showCOutline(void) {
	assert(currentBuffer->fileType == FT_C);
	
	// Go through each node
	for (int node_i = 0; node_i < buf_len(currentBuffer->bookmarks); node_i++) {
		if (!currentBuffer->bookmarks[node_i].outline) continue;
		int linenum = currentBuffer->bookmarks[node_i].range.start - 1;
		
		printLine(linenum, 0, true);
	}
}

void showTextOutline(void) {
	assert(currentBuffer->fileType == FT_TEXT);

	for (int node_i = 0; node_i < buf_len(currentBuffer->bookmarks); node_i++) {
		if (!currentBuffer->bookmarks[node_i].outline) continue;
		int linenum = currentBuffer->bookmarks[node_i].range.start - 1;
			
		printLine(linenum, 0, true);
	}
}

void showLuaOutline(void) {
	assert(currentBuffer->fileType == FT_LUA);

	for (int node_i = 0; node_i < buf_len(currentBuffer->bookmarks); node_i++) {
		if (!currentBuffer->bookmarks[node_i].outline) continue;
		int linenum = currentBuffer->bookmarks[node_i].range.start - 1;
		
		printLine(linenum, 0, true);
	}
}

/* === Bookmarks === */