ELF(I#4\4 (pxxx444444 PPPDDQtd/lib/ld-linux-armhf.so.3GNU GNU PϠ>?%&% # $!"   i Tq<"' m6dN6 J wlibm.so.6_ITM_deregisterTMCloneTable__gmon_start___Jv_RegisterClasses_ITM_registerTMCloneTablesqrtlogsinsqrtfcoslibc.so.6socketfflushexitsignalstrncpytimeabort__assert_failmemsetreadstdoutfputcstrnlenlseekmemcpymallocraisestderrcreatcloseopenfprintfsendto__ctype_toupper_locfcntl__libc_start_mainwritefreeGLIBC_2.4 ii Y{ii Y       "#$%@--4Əʌ4Əʌ,xGFƏʌ xGFƏʌƏʌ ƏʌƏʌxGFƏʌxGFƏʌƏʌƏʌƏʌƏʌƏʌxGFƏʌƏʌƏʌxGFƏʌƏʌƏʌxGFƏʌxƏʌpƏʌhxGFƏʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4xGFƏʌ(Əʌ Əʌ-OOR-6zOc="DL F Mdsh+@8@sMhtI#`ME d Z (( BM(rMCFM2FMprFM2F FFFhF*F&F:F$.`F"` `%<`+MTwMqS6MP|M`~ED= # `8F*F!@@ ;h+PMsh{*F\!h#@F% 0+:*Fd!h#@F% 0+*Zhh `Q`3CkB`Mtv*F0F!h#$% 3h+M7*F8F!h#$% ;h+M t*F F!h#% #h+M4s0h8 !9M3- .F&$ J  l 4 BM2#F$3`FF0 (;#*F!% HW 0+JM 0Oa LMC(`MyM;_  MsM2FF#_FF`[FFF"hp;Fsh+#F#pp#0/`'\FFhBρObu(5+@+&M,|" FFFF8F FF&(%* t$2*(3`BwF.A3={#p-%0=s+@0" hp/FF0Ch#0p/  Fx+?|Fh+RMTuMw+h:F(PhETMrh,= 9KE9M0*hhFhF OFzDAjjZ&'zezzV&zz:B;RE!D`Mrh*AeMttMlrMPqhMNMYrM0r"MLy hM\pxM<@ ! M2Z FF JJ*h:9h:F!P * _z gz2jJEZZjzEzzF&zgj#$jGjvJjFJ6jjܿ" @j"&j'zgzDFd!A zzB+@MHy "(F`vESDA" [h+Bk:hB+h:`hFcr(5+?d0s0{*?k"iOc!sd(%*MlshOcs$ FOn~@ B5S&0Hˉ D r_@ YM8OF\rFE@Ocs(%1D* #FOc O\OOA4zazIB Q#w'z%7 &Szzw'zz()@(z+ 7@8 8@ z( ' z ȿg @-)%OHObCD3r:zczOcs@z z'jczw'zzOb r+ Rh z ' Ocs$:Gz@zjzzwz*#)# ' &zz7zwzzؿhz ' OcjsaBzzwjwgz@Fzzj()) ))؁M6)3x+@2zOhx'zwj5@j Gj&j+@cjj}42x34*@Oc(s FOhbQ`cjvj jjjHzOcsCjjȿzOcsBcz7'zzzzHzOcsCzzȿz & D#(5Ocs$2$Ocsh$2$8MlrlNThBT(M8FV)@!4+@DOcs$*=( Oc!sR 8(8@ Dz(zjGz7gjj7NJgjzzM2Oc!sx*?o!LP!  ! 8@ Lp` ! nR@$#z@:@ 0Hzz8@ )zzz@V Ocs Sz #Fezg Hg  AFD;Oc"s$M63x+@( O1 z z0 ' @Oc(@΁s"(%M3x+@zzj(z&zz@@wz2jOczswz'j"6zSzOcs@z Fzzaz(% O1p'z z' zXg  zgzH (g 8zS( zjzwz&zz@wzzzz?O1 OfvM3x"(%!baB+?x!L@`! 8!LhP! *^+@zjZ(ze&jz@ƁwzOczs2Zwz'JSuZz@Z7gj d::j@6EjjJj@@ZOcs djjcjjܿgzcjOcsbzz@TM1MhOhxR 0O@' @oA:gz@z J ' + ˺oA$O@K |2xD*@OfoAvK O@Hb !z#lNz`B8Gxgzz(z444cFzzs(O$($4+F"B #+?Oc2xs!(*?TL`! O1wz z' '(FOcs4+@۲+@򦀰M3x+@.Ocs$"(%Oc"s$Oh!xLP!!L` !ۻGzzHwzOc!sLP!( !z 0g L|` !t]GzzHwz2x!(*?HL`![?fJjH6j`fzzHwz1Oc!sL`!6EM3x+@Oc"sd(%Oc!slLP!( !z 0g kL`!wzjpwzzcj'z% @OcG s Sz!,LP!L`!!LhP!'z2z!!L` !!LhP!&Oc!sLP!LH`!fjzHwz3333?L=Oc!sLP!f ! 8@ L``!U&MlrM0OQ(~ MCh( _"zgzt LE DjzzjjFzDjjFz?Sj0Z2jBzFzAz g L `!)M1O2!J{M`~)h h@B%   2 BD REqL0` !ɾM0h2B`[!# F`01B" OThhzzgzGzzRF:zzgzGz ABFF"2B,E h@M4sO1 z@zJzJ ' oB~6BKFB܀B_zhhzw'zɀz2BwzјB*Gz@zz@z𨀷z'jBkOLBzB0zZO _jzO bF#ԞB* FqD D!Fjjȿ0BтE2wz"zO zBZKF&*wzO2zMttIF h  hPO&zh hhZ juZfZZEjj?waDZ2jBuZfZZEjj_jX&(Fz EzB*Gz@z8> #<3O OjFMHK* 0 0 R/YKM0+@GpGM3M0qI@GpGM4#x##pMh@@+ИG瀳hzz&MB1@zhB4  )zz0Gz0G ' z ݰg pG pGzg Hg pGM3 jh+Bзzj wzgzzؿgzh۱zjzjvzhgzzؿgz+ѵ j z & ؿg pGz pG?8Fh FsJP!&(F!r#h3#`8JP!FJP ! F!YJP!@8O1- HTH ( O1g  8`( Ed"H1.!k  2# 8O"A FC FJP!!FJP!O0V-Cy_5$+B"o4,.9ѼB],+1 FF%F?,+ *#DBD!HFGBٽ_ F)0OF0I)Q)Y)a)i)q)y ))) ) ))))Ā)ˀ+m)14Jb F#!*F Fd#!Jb F#!0Ja(Fd"Ja(Fd"J a(Fd"J,a(Fd"J8a(Fd"JDa(Fd"JLa(Fd"JXa(Fd"Ja(Fd"Jda(Fd"Jpa(Fd"wJxa(Fd"mJa(Fd"xdJa(Fd"nZJa(Fd"dPJa(Fd"ZFJa(Fd"P<Ja(Fd"F2 FhFF!U3#'h7'`d0"*`k"hT#h3#`+h3D+`4<+#h "T#h3#`-OF-MFP`@TDdT 8 oAO@ oAO@8 F-  P #0# 0"pB S0T()# 3F #D 'F/+B(  .@ɀ/@& MM3x+Jp!o~o BFEF)FOO -X4O0!"FXF%T#!p "FXFV# "FXFS# \4"FXF A#`4"FXF Q#"FXFX# "T3q,xA*@0; +@򅀆F+F /A 0: * 3B""+!)F+mM3x+@  "F@P(&%M|s !Fh;F9@ F 3 /?/X40!"FXF#P%#pT#ap w"FXF V#o"FXF S#g\4"FXF A#^`4"FXF Q#Ue!O!P$* !8 F"2FBE!!؁T0+ ؋tJ`!kph-OMK MMJ0FFF OlFO9E٩O2Z(D M0+.+k;hOX1F9`X F84X1FDE9` F M"x8cxOX8h1F:;*z:0zzzs9`HFxx041F:;*z:zzzUDEF9` 0OX1F8OX:0z:;hzXzz29`F01F 4:*0zzzzEF9` [" + p03W3 (Kp00W0]"#pp qpG ^* " F !!F-O&F)#2FFo`IEaFRIBذE D6B  wF*MJR:  O F  OH* b*; F!%z=DQjBzvjjjvjj2DQj6zz1Dzw'zz0DػWи T2JO.J ZO$"J4:C:JsEC$:  aFuF5ZtJ)ْj=DZBPj$zdz%zEzvjjjvjj2DPj6zz0Dzw'zz1DE  E  Fb:j-OMI Ch F -FF@`F,M:" 0Yhh)Q`1Z`К`3Z`Bѵ@ρzgz z O1 F0 gz[BF(;8gEM s h"F hIhF)h*PkFZEn`R: *`o  FFFFjjuF4FFh )0F'Fzz0,z & IF zp&z6 zg'zz QFz'  \E  CF !F1BF" [hO +&h#F eh D`U`hfE3F`*FzzgzGz@𳀟 &F퓛%퓋O _픺 j gz TH Ez@   {''zzzg'zFzO }h0hPXF)F{XF)FGPP00D z z zgz@gHgE  ѵ@zjjzFz'&zgzzzS;z6z'&zgzzzB j >z ' ?0ZhhR:  zgz1M v_3h|h FFUhB F+ B*FM3x+?#o@E<;+DzzaBp3hh|%;Fq= ףp?HzG?I@'7B02hh[+Dzz)F0LhP!@zh )0 F3+C=$+OppAq3+GC3p+A33+G3.)Sp)+A3 3+G3=+;۲>+ +#/#)p?(A0 3(G0=(8>( + / p0pG=+;۲>+ +#/#=+;ܲ>+ +$/$ hzFD]wx'$(J5zgzzz `wy6y] "(*zgzz ``47`7-A FFFF F-Fx9F$?{"zM3&F(FgzEjZFE DjZ&zE%zezF&zGgʷB(    -O'-@M@F@ @C @EX3d5xF-xFO09FFF @A\1 xBO@ @A`1 xzoA' M>jZz3j{@@D&zez%zV&zzz(\3F <  AjZDz@Dj'zgz%zV&zzCcEMCh(XO1FCFBF^ @BF1F0YF"0FӚ@"!(F&+"!O1FOzz6gzGzDFgBz9'sD DzgD@(*I@F9FtzwzzzH9gFEM8@0*+@ՀMXsx*OS##O OE0!폪F폪FOY c9F@F9F}zzzx8zz 9'jwzjjʚ]e԰ ` @H` {zG'zJGzw'z;jzzGzHFIz  zzzgȿgzȿF0Bk2cB Gm@z@8zz܏zj'z @ @! #!HF^ELhP!L?p}?w?w?975GEˮ+a @BF0;F1F: @@;FqBF00DO63F @BFq0;F&3F&D#DD @Bzh2h4Fhgz0 @Chh3h z2z`wJ,p!ABJ(p!9: @;FZF!F0 @@;FZFAF0DFF#f @ZF01F;F;O3PF9Fl * 2@ { (Р ^+J4p!! ]F F4F5F F{@/FEёB8ٴyC\C\FXyC,J8p! , LB(FB!#C04@1#=!(F x@BѼ  O1  g @ O1  gz 0g 𵃰AA!(M0M1MrhhO6h%!^`q`  ^Ve`7`)``JFMGPF MHw4F M|wF MGF M 78F MGF M7F M7 F MDw!iKF!bK`D![K-!TK[!MK0@!FKpT!?KQ!8K N!1Kh i!*K N!#K$0E!Kl0X!K0/!K0=!K4@!!KX@s!K@O!KPQ!KpPG!KPt!K,`R!K`J!K`O!Kpk!LhP!Kp!L!Lt!L\[!LP!L ^!Lh @!L !L !{L 5!tL0!mL 0 !fL,0!!_LP0"!XLt0 !QL0!JL0-!CL0!qH OAB00Cp00 {qN#S#qTHX 0 LGG3r# g ##:`# * Y # #O# L00 #r B01qrC03rDRb#O.sOYڠO#O O# OHGO0B0 00tCrs 0sE#W#T  t@! HX < xLBB xxxY #ONB0002U/"C u07uLGXuG_+/* CzCz ' EHQ >z#OYO#ONO0B0C 0Upv3v &'zzz z@zp H O!w#{pK @Dp z@Dz#pz{q1 p@?: ?B@FzDL(#@(FN z@ @@zF(FLdr#@(F #(F@@(FL&'H@+FD  I i c_'z]Ldb#! W3h"p !p \! *W202 +W0bpd#"F%p;3h3E3`%% d#"F! ,3h3E3`\ ^+ pep!FLXR #!hY #ZF!8Fyx/#3`LdR#! w@++O LRLR# #  LR #!   LL#! 3hLR! 33`#d#"F1h8Fd#"F! 1h/c3h33`?[LR #! 2h ##rO \x[x  #" +W0 Bd#"F! d3h33`$!JXp!1 @ ?!FL`!v8?٫!L`!gͻL8!^!2 FLdp!QûLR #! 0/1F8F3h\Rx33`*O@o  !PFLR IFK#/|L\LRI#P! 2h oz7\HxxOq+:?+@z(@E0`1z:zO#gz82z9\22` d"?+[B)!F: )d#"F! LHb#! z3hEi\33` #!?-mB*LPbaZ!F d" "F d#!QLR#! G8LXb #! ;3hE%$d#"F! -3h3E3`\ ^+ pep!FLR #!  @r3h33`?ɩlxz/"UA!="Yp ' p  E#OP|#LBBO#C03UAYzDXb HRLAAOZ7#OOS#O O  6C LO 07 qLG0C0003qq rzb# AYzDXU sbF LCHPCOZ7OOQO O  6C LO 01 GA0C0201030 &HQ@ff?B= h#Uw?  d(LBBO#B02ҲC03۲U6pzwz 0' t#UD-#UHXLBBOY#C03ULBB6O#B02pC03p5h0/1F8F1Lxb #! @c@/#@U @@́@@@q/#?NLDr/%#! O@LXr !D0/1F8F0h"Fd#!=\00`% pFj"F d#!#JXr #!3h!F{z \?+@*d":zgzg 2z"F d#!Ldr #!2h!F 2\2`d"+:Q#\#zg 1zn"F d#!Lb #!1hOp"Fd#1\1`! 8"F d#!Lb #!3h(Fo  !33`J& &gLlr #!!'"Fd#@"F d#!rLb#! hYL #! \5hLR#/y]55`LR#! D1hL7#/}\11`LR#! ,~3h/"33`Lb #!_%5h!Fd" {]55`[:zg 4z"F d#!Lb#! zL0r#! L r"#! tLb!#! _%3hd"j!Fz\Ex #:zzG 6zTd#"F! Lr#! 3h33`6Lb #! _%3hd"z!F \:gzgzg 5z d#"F! {Lb#! q3h33`Lb#! Oua0hd#"F!8\- (F8d#"F! NLb#! D2h!Fz 2\2`d"+:zgzg 1zd#"F! "5hLb #! 55`3hd"z!F \+:_#zgzg 3zd#"F! Lb#! 3h33`r0"F-#Ulz  #g"U Y #OGO00Nxw01Cv03;wFLr#! 01F/8FA3h\33`A(Fo!Lr#)F/LpE0SxjLlR#! mLR#! a`LtR #! U{Lr#! IL<#! >3h !"pp!\  *W202 +W0bpd#%p"F/% 3h33` Lb#! =C>L>?Ld #! /%9F2h/3h33`8F1F9F/#2h/1hOpd#"F1}\1`! d#"F! Lb#! 3h33`LX #pL@ #!  #ZF!8Fyx/d#3`LL#! -OF OFO F 2`X``\FO 4/!(FHAF p\ CrTE  B5pDFF##B8#%DkF"! 4OqhFnB@p-OF-<- F: @;4;FTz@z@ӺMCh+)ϊ+zg4+@44+@/3:cgz@zz M@s' @ Rz 'Zcgz8z g 8 @ 2z 'C8 @ֆ z `'4x*3:gz@zz ' @򮆷 z `'cx) @򔆷 ~z `'Cx( @z sz ' 4oA8O@M8:cgz@zj ezdz '  CdT D# 4+@`)F8 Mr0 FY#0@:gz@z@\4JjJz:gzgz oAO@ 0$ Y#0@:gz@z8jz@z@41z:G ' oAO@ $*@#*gz@:cgzgz@zjzzkk5+5M3 x+MDsx+g@@HCzD$H$tIDV.&gOCOr= +##FhOqeLP! \!5+J8p!K!L !?L!8!{L!,! wL! !k+@ZL!F+K@!L!!I FTL!!j FGL!!J F:L !!K F-L!!i F L!!H FL!!h FL !! L!!L!! L!~4+@4+@L !MEk!L@!^L !W!k FL@!Jz@z@JM; 0+M3x++L !)M4sMGzO1 @zzzGzgz'j  <9hFFIB$3FVBFBMpuJPx%TFXFF\D !@F#@5Ep9hIAD ,-!J""#YAy 2FOzs2FF(FkL2#Ozq(Fa0Mh.Ozq(FOzrF)F0Fx M|sOzq(FhnF)F0F  44+/+΄Z+ ;+~+x!+:+M$sx xMDs x+B2LhP!3Z(F <-#@:cgz@zjZjzj 6z0g ' ë P%z T 'd# M84hhhhh+?M0 Y#0@:gz@z! jz@z@ς$z:@ ' g@zD$H+##۲ $Ӳ+@F ? x[MDsx+ +@MdsM{ h #0+? M C$ ehLL!(FOzr:t544.LP"(F#Ozq2FOzs!MOzs2FF(FLX"(F#OzqOzs!RDF2F82Ozs2FF(FL`"(F #Ozq2FOzs!Ozs2FF(FLl"(F#Ozq0Ozr1F Y#0MI :gz@zdze ' JOzs2FF(FLt"#Ozq(FOzs2F!Ozs2FF(FL|"#Ozq(FOzs2F! Ozs2FF(FtL" #Ozq(FjOzs2F! Ozs2FF(F\L" #Ozq(FROzs2F!Ozs2FF(FDL" #Ozq(F:I Ozr1F Ozs2FF(F+L"#Ozq(F!Ozs2F!ZOzs2FF(FL"#Ozq(F k Ozr1F Ozs2FF(FL"#Ozq(FOzs2F! )Ozs2FF(FL" #Ozq(Fi Ozr1F nOzs2FF(FL" #Ozq(Fh Ozr1F UOzs2FF(FL"#Ozq(FK Ozr1F h. L 0!DMpOasF8` ',%$T: K @I *,LP!^!xxhx"# LP !Ihy!kyc[ԂBBՂLhP!,L$ !',,D5BL( !Ĺ#L0*F# !} #"L0F*Fr#L0*F# !g#L0#*F ! 'Z#L0#*F!OL@9F#*FE #L @*F !; #L@9F*F1".׮#L(@*F # !# :8*?d킸Fh C@DBѸ x 5+?A 5+?<UM|rhBF4ZL@!f0#0FOqb0 2`B b!U2h0#:3BD%@ZR+8L@2!00hL@ !%BF@+6 B x+?L@!L@ !L0P!!0hL8P!!0h@m 0hL@SLPF!LU;FO O ' E    !(F9F0h3h7 O  *3hF 0LDP !+## {--LPP! -*)) /)C)'c))!PFEvc e-3+`  ""!(DG}E LP!=3h!X]LhP7!.ELhU"1"7E 3h] (*!(F"*?LhP! #L@*F# !qL4@!O!A@L0!!2L<@!!@&LD@ !!Lh@   !HF! Lt@!y!y @.Ŭ'L@!!z rB@7sL@*F3!L0 !iLP!z!LP!n!.LP !a#LP!Y]!J4p!N+!yLP@ !A!L<@!5@!L\@ !)XL|@!!.sLhZ OE?k*F!PF|EGF\rx,6B-R gYBxe10 e+B/#-5HLP !kyLTP!OZ03 c!c0_LP!q./B / "-%x+?aL@ !WLLP!OZ)F c03c0)LXP!OZ c!03c0zB'L\Po LdP!gL`P!_L@*F !LxP!MLtP!ELlP!=儰-OFd-9}ǭ d\#d(@.@*@ 4+T#F# .xt~Ǖ xdB 4&FG;F?(GFB###x4 O1 @6 O2F!&h@(GEѺ݄ ;0% 4 " %.F(O59F  #FF4FO F& z@X,@zz'zzDgB<^E*VE"OO1F BMD O2F!(x@#,^E@%(+0(>F AF(.F yOp pCF+@ +S,ɊĿh4B<# w+# n2 ; +? F B ; # #./Fϔ T%F|d ddd& ŗxd aKFFF +@-M8sx4+@ kEki``|44& F@FUC !PF0 3C 0EE+FLR#`! @FT4 +@΄ x+LMxsx+?O,DKFFF Fx+x+@LR#`! @F&F,% (F0!5Z@ 434-ѰE "!x~"!8x  K q"F!8xk" !8xd" !8x]{xF=x"!F]@T"F!xxN"F@!xH:Fxxu@h@ !O2F 1 F"!px*"E@!x$ xFpx3xO2!x@_@xFpx"!X@1Fx{@HxxC  p@O2!Cw@ Fo!x p@G@o!xx@+CEOx3L`!{xd#4 5.+@ + 4B4 53|4"RB|+ @ۀM O  8OS'F 8&"!R$7(CB< 0X@FE |4[B %4*Ƀ4+%F+wD,%D,U@\겑Bld.@򘃺a ' uk@>#dFU *$\y@TE  |4a%DkO ;P2F!XF?O(FO(F"!;ҸE4++\겑B%D[xBє %#@) A ! F 9}OpG$+## %Q+@|4Z$ٹ )*:$4LB#`! @F )*Orڮ!M3x+MCh+6z+gJ"Ȋ"푚#! F[C (>F%B(- @ @( ! 5!PF ! 5*! - LP)F ` @( !F k+3LP!@74"!F:gz@zzWzGzg ' L!oEC  pE2-|1#-#cE[S0 zzfz @ а` ( ! @ _ BE[S0-Bx3LhP!+ B@ ' 5 D|4+B"|dBxdL`!UL`!M=B8OrF!FFL # 4(F@ ; 0 O1 @ F09F" F9F FFO2!O2! F#o`@O2!p@ O2 F!#`@O2! `@E#p 4 F"%1F 8F 4 |+F1F8FRFCF1F8F .Oo0On0 n o ^ %; [W+O VFTFz]!PF6 !PF4FE  .,9B'5 O1 F ?D0h gzcJ]wzS@KUzB#"n0 o +@$ O1  D85 O0gzcJ]wzS@KUz 5$+?V|42QKFFF +?ת FxLR#`! @ObB# %1 )?~)ˀb) A F;b-<_0-?~- Dc% TJ8r#`! @/ %#?׬(FLR#`! @F  A DC% T "!(xkxO2x!Cò (F4v+4#4+ Zy|4Y"|*?r! !DD"D B;xdD|4o n o o0+Or F:` #4 +F(# #  AB|@ -G% $p(` E$$E $OLE $- $_@ h-h`h #F- h@&U5h-` - % hD#mThD`F `]0 , %D`Ek0=0 /-ٿ9x\E$7x?4.FBFx5p-;oo.ОEةBB#CUx9SF /0BpGpGF-O<$(Fgi @LH$ @BfiHeF%F gO{:O l g  K  0 &.- UEC#[BD !BSEDQKOE#F -AF- FF@aO1 *F!#F)xb)eаh,F oFAB2g/O.kT z?9Dlz8g((O1  0?Bz8gѸD#0))D<9Bс-#+p@O1 V#F*F!"+xb+!h#0`x0< -)` D hBOC0D`  0 +ٰ@ 0pG 0pGF#`9-d B]0_  "0_ 4BC`ِ -h[B` / F: x -L#[ - 3&FB\-,#` F#--$O`3$B`qO5x0 .f؟5z4jj_0 /$ؐzz3AJzGzzB'АzGzz/КB\- '.-3B\0 -jzfj_0 /J3Bzzfjzپ'-'' #|=DS-O.# FF#F#p zK:J(( jF#!O HOG0jF)F F +0#0#L")F F#O[jF#!HOY0jF)F F +0#0#gL")F F#^OYjF#!0jF)F F +0#0#FF!"F~Kb#)F F5uS+xMVMG\\ D;K@E\\сTP! FTP-OO F O0O>FEF `FF3F*F F kر\>* p",!: 3F*F9F FO ##` D%A##`O \,)D: *"3F*F 9F F+(л \*)2!<`F [S8D;9Bѱ\ h[ :)C+8O ;\!3;T#h#h3#`T#h3#` 9Eت SE~2OpE (SEqT8#h3#`)Z*"9xM^ML  P xQ@B PTup#h3#`+"FMCh"M`$0HMcHApv#F"LS[:o"?B4/M4 !h h@\pM4FMHF+F hp@8M4FMHF+F h8@ɿpM4FMHF+F hp@{M4 FMPF h]KjM4 FMPF h]KZM3 h FMTF FH8 FFpB(FOq8@JO088 FF^B(F!8@O088 FFNB(F@8@O08\B(FB(F+"Ÿ8McMdh%h;B#p8Mc5 FhS%%`8Mch2hMb``pGpFF F(F"F)hx.`p  )  {  :;: ¿:3: MlM`L@{g B:3: pGFF> ` ! )#O3@3*ݑB pG@@pGIBBRB@@pGB#BF pG pGD<h_u`'R'`d h/ ``UhD\E=vFUM0h;E ``VOC Lh h `FF#+`0FX#F:FF0`.`0F z O Pk`pG O1 N pG(knOľ.Mch "`pG!"F!F!@ F F𵇰 %O_ p6+F'pJpG$B@BOFB(pB(pAB(ApB(poB(`oB(`AoB(A`oB(`_B(P_B(PA_B(AP_B(POB(@OB(@AOB(A@OB(@?B(0?B(0A?B(A0?B(0/B( /B( A/B(A /B( B(B(AB(AB(B(B(AB(AB(FpG  pG pGO0)-@@pGO-CF MFF,}DD  $Y$0BF49F0FGBѽ$$pG@-    ͍͆͊̀DŽLJʉʌǀÃÈ΍ɂćɉɎƅƈˋ̏łŅňȋŎ„ψόϏ,manual notches at:got signal !lorarx: error abort SkytraxxBitBroker.euAirWhereWindlineBurnair.chSoftRFGXAircomAirtribunealfapilotFANET+FLARMXC TracerOGN Tracker4aviationVariousEspressif based base stationUnregistered Devices[Multicast]fw:[] too much junk in framebeacon encode error- > : .-out of memoryFNTalt:m -i -f u8|i16|f32-s [-]5..[-]12-a (0.02)-c 4..8Warning: only one bw = input samplerate!-b 0..9-l 2..255-g -r -w 2..4096-o -Z (0.01 0.9999)-S -o 0..1 (-1)-M -P -n -W (0 = off)-U or -L ip:port number-u ip:port number-J ip:port number-Y d|f iq-filename create-Y b -Y d|f|b iq-filename Decode lora out of IQ-File/Pipe (samplerate must be exact +/-0.00001) output data in udp, axudp or json, view aprs, pr, lorawan, fanet -A (*) enable frame chaining for ax25 longframes -a (*)follow frequency drift, 0 off (0.02), on sf<7 (0) -b kHz 0:7.8 1:10.4 2:15.6 3:20.8 4:31.25 5:41.7 6:62.5 7:125 8:250 9:500 (7) -C (*)use crc on implicit header -c (*)coding rate and enable implicit header (4..8) (else from header) -D (*)if dcd lost go on decoding until frame length limit (for external FEC or monitoring) -d (*)swith off collision detection (less cpu but loose stronger frames starting in weaker -E switch off useing crc to repair 1 chirp (crc checks 4 variants) (on) -F max. block energy FEC off (hamming code fec remains on) (on) -f u8|i16|f32 IQ data format -g add this to measured signal level (0.0) -H show -v data in ascii if printable else in [hex] -h this -i IQ-filename or pipe -J send demodulated data(base64) with metadata in json -j write demodulated data(base64) with metadata in json to file or (unbreakable) pipe -L (*)as -U but AXUDPv2 with metadata for igate may be repeated with same -b but different -s after -L -l (*)fixed datalen for implicit header else guess datalen from dcd -M pass through rx frequency to json metadata -M 433.775 -N if verbous add empty line after data line -n <[-]Hz> <[-]Hz> notchfilter baseband from-to Hz (may be repeatet) -O <0..1> (*)optimize on off else automatic on sf/bw (-1) -o shift input iq band +-Hz -P <+/-ppm> (*)tune datarate (chirp samplerate) or preset for auto (-a) in ppm (0) -Q verbous only for frames with crc and crc ok -q (*)invers chirps or swapped I/Q (prefer negative spread factor) -R switch off repairing multipath or if-filter phase distortion -r downsample input, give exact input samplerate in Hz (off) -S (*)modifiy squelch level critical for implicit header frame length guess (automatic) -s [-] (*)spread factor (5..12) (12) and start a new demodulator negativ value for invers chirps or swapped I/Q -t (*)send raw frame bytes in udp frame only if has crc and crc ok -U (*)send frame in AXUDP -u (*)send raw frame bytes in udp frame -V very verbous -v verbous +:no hamming or ok, -:error, h:corrected, ~:weakest chirp replaced, c:try until crc ok ^:bins with maximum power sum used until fitting hamming -W every n*firlen samples update notch filter 0=off, ok:50 (0) -w downsample fir length else automatic (8..4096) (0) -X (*)filter network-id (sync), 1xx stops decode on wrong id so fast ready for new frame if set -d 0 is wildcard, 20 will pass 2*, 03 for *3, 00 pass all (00) -Y d|f|b iq debug output in float32-iq dechirped or filtered -Z add pulse noise filter (noise blanker) (0.05 0.999)(*) may be repeated for more demodulators, to start next demodulator apply -s before other pramaetersexample1: aprs with autonotch for birdies: rtl_sdr -f 433.775m -s 1000000 - | ./lorarx -i /dev/stdin -f u8 -v -N -b 7 -s 12 -w 64 -r 1000000 -W 50example2: lorawan all modulations: rtl_sdr -f 869.525m -s 1000000 - | ./lorarx -i /dev/stdin -f u8 -v -N -b 7 -s 12 -s 11 -s 10 -s 9 -s 8 -s 7 -s -12 -s -11 -s -10 -s -9 -s -8 -s -7 -Q -w 64 -r 1000000example3: fanet: rtl_sdr -f 868.2m -s 1000000 - | ./lorarx -i /dev/stdin -f u8 -v -N -b 8 -s 7 -Q -w 128 -r 1000000example4: sdrtst IQ output with FIR 125kHz in sdrcfg.txt: q 433.775 0 0 0 192000+125000,32 sdrtst -t 127.0.0.1:1234 -c sdrcfg.txt -r 250000 -s /dev/stdout -k | lorarx -i /dev/stdin -f i16 -b 7 -v -s 12 -L 127.0.0.1:2300 -s 10 -L 127.0.0.1:2301example: decode payload in json with python3: -J 127.0.0.1:5100import json, base64, socketIP=("0.0.0.0",5100)sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)sock.bind(IP)while True: data, addr=sock.recvfrom(1500) obj = json.loads(data.decode()) print(obj) try: payload=base64.b64decode(obj["payload"]) print("payload=",payload) except: passcannot open udp socketenable FIR (-r) for notches (-n)no FIR (-w) set so no filtert output-o shift outside iq bandFIR length= ratio= offset=Hz notches:..bw= cr=from header sf= id=Off optimize= drpll= drc=ppm squelch= invertedwarning: sf<7 needs implizit header-X < use -h dB fec:cr:MHz Ext Header ACK none requested requested via forward unknown unicast broadcast Dst:Signature:no payload tracking:Online Tracking Other,Paraglider,Hangglider,Balloon,Glider,Powered Aircraft,Helicopter,UAVdeg/s QNE:Message:Message subheader:Service:Internet Gateway Temperature:C Wind:deg km/h Gusts:km/h Humidity:% Barometric pressure normailized hPa Support for Remote Configuration State of Charge Extended Header Thermal:m/s qual:HW-Info Ground Track:online Other,Walking,Vehicle,Bike,Boot,Need a ride,Landed well,Need technical support,Need medical help,Distress call,Distress call automaticallyRemote configuration:Acknowledge configuration Request Geofence Broadcast Reply Landmarks Text,Line,Arrow,Area,Area Filled,Circle,Circle Filled,3D Line,3D Area,3D CylinderInfo,Warning,Keep out,Touch down,No airspace warn zoneFANET:!Clb=Fanet:Clb:Forward geobased fwd ///g/g/O/g/'/X/n///[/>/b/s/e\o/'/a\!\!id: cr: len: dcd-lost crc:errno lev:(/)dB snr:dB nf:)dB txd: t: q:% fc: fec: afc: dre:MHz notch at:[]frame deleted, wrong sync word {"net":,"crc":,"invers":,"bw":,"sf":,"cr":,"preamb":,"duration":,"level":,"afc":,"dre":,"eye":,"nfloor":,"pknfloor":,"snr":,"fec":,"rxmhz":,"ver":"lorarx","payload":""} cannot write json-fileJoin-requestJoin-acceptUnconfirmed Data UpUnconfirmed Data DownConfirmed Data UpConfirmed Data DownRejoin-requestProprietary RFU: Major: AppEUI: DevEUI: DevNonce: NetID: DevAddr: DLSettings: RxDelay: CFList: ADR: ACK: FPending: ADRACKReq: ClassB: FOptsLen: FCnt: FOpts: FPort: Payload: MIC:ax25 part 2ax25 chain hash missmatchax25 part 1AX25: no ax.25 (no address end mark) no ax.25 (address field size not multiples of 7):fm to * ctl RRRNRREJIUIDMSABMDISCUAFRMRv1 pid Meshcom4: FCS:Ok MID: MAX-HOP= viaMQTT +Traceroute HW-ID= MOD= FW= viab~^+ n= f+1 f-1head crc error out of memoryopen iq file jump:wrong first syn nibble state=SYN 1 OK state=SYN state=NETID wrong second syn nibble state=REVERS1 state=REVERS2 jump/4:rev chirp timeout state=DATA dcd-lost-count= LJ ǀ ɂɉ Ɏˋ  łŅň Ŏ ͆͊ ͍ ÃÈ  ƈ   ψ Ϗ… /^xƍ4hР@#G8qĉ%K.\p 2dɒ$I&M7nܹrȐ A +V[mڵk֬Ye˖,XaÇ>}۷o޽z׮]tѢD!C 6lرcǏ