ELF>P@@)(1ff.fHH5H=1H=H=Hff.AUATUSHHH@HkHHH#@HUHLc LHt<Q{ HH@>LHt<C HXOH2)HHH+LcHLHLcHz@pLmHKLH/LeMALHutI,$HHHHC HHH5[]A\A]LLHH=LLH=`HH=HH=HH=cHH=6HH=HH=LLHH=HH=|LLHH=2HHHH=GHH=%DAWIAVAUATIUHSHLl$0Ll$ *HI}8MIEAIEII]`MM HIEHAdžHAdž7MHCIAI}(HkHHIE0LCIHD$(IAHHHLDHLT$LL$LLD$HkLD$LL$LT$xIAHcLHKL9wAAVHsHt{HIKLf@AL]HKH}HH$HSL<HI9H}LHHHsЅ~H}HHHHCMWHnHH}HHH}HCHH^L{HH)LH)HLEMdAZLHL8|A4$H=HuIHt$IAH{HH1LLD$LD$HHcHHKL9AsHsHHILfI9fHLH=D$HL$HL$D$=fDHHAHKH}HH>HSL<HI9H}LHH HSЅ~H}HHHHCHH H}HHH}HCHHLCHH)LH)HLEMAI|$pHHH8E|$pAAHH HDHEIHD$IA.H{HL1LD$HLD$HHHKL9AHsHIILH=HD$HL$HD$HL$H}HHHKqI9!HLH=D$HL$HL$D$fDH}HH,HSL<H/I9/H}HHH}L{HHHCMHH}HH{LCLH)LH)MLEMAIL$lIHHHȃ8|AL$lLL1HLD$LD$HcL9H}HH}HsHHIH=D$D$MAIL$lIHHHȃ8o AL$lH11LHHH}HsHHHSL<HI9H}HHL{H}HHHHCM A LHL8| A<$RH}HH HH{H!HsHHHEHHPH)HsH1IIH}HH HsHLfHLH=I9HLHD$H=HL$HL$HD$@I9zLH=D$D$^H11HH2 H}HsHH HCL$HI9H}HH LcHHH1 HCL9l$ U AdžAdžHĘ[]A\A]A^A_fHHHEIHD$IA$ HEH{HH L{HHH)LH)HLE1LI vqA$tHsHLf HLH=H}HH H{H11HHC H}HsHH/ HCL$HI9H}HH LcHHH HC W@t$H}HHHSH}HHo HKH}HH HCH}HH HKII9yLH=eI9LH=HsH@Me A[ M|$I0 LH}HH HL{H- HCMHH}HH~ LKLH)HLH)MLEM A IL$6IQ HHHȃ8|t HDED$6M A HLL1IL$LL$LL$HcL9H}HH HsHtHI@ L{H}HH HHC@H}HHY HKH3 HH{H HCH:HQHUHH H)HCHIH1I$H}HHW HsHtL~H, L{H}HH HCMAM|$8ILH}HH HL{Hm HCMH\H}HHpLKLH)HLH)MLEM/A%IL$jIaHHHȃ8|5 ED$jMAHLL1IL$HC(HLk0HLHH[0H\SH{AHTKL-MAIEIHHI]HHHtL+HLCLkHLHHHCHtHI9IDŽ$ADŽ$IDŽ$HD[]A\A]A^A_fDD-AAtHaXLHt<6{ 1H5D $D $1O6H=HHHHA1H1HH5D $D $fD1HH5H=LLLD&H=HH[H H"H=A+D-AAuAH=HHH H%H=HLHt<{ HwLHt<C H5HAQAFHH=LHH=HHEfoHE6EA$A$ LLHH=LHH=HH=LHH=LHH=XHH=6LLHH=HH=LHH=D $D $HH=D $D $HHH=D $D $THHLH=DL$ H$DL$ H$LH=D $D $HH=D $D $HH=`LHH=D $D $HH=uLHH=LAWIAVAUATUHSH Lt$ H|$Ht$L4$NHMIAMf`IFIHIFALJALJALJHt4@HHH8|EMLT$LT$HHHHH؃8|/Ml$ LLHypHHHڃ@8| @H;D$H;D$LHI\$HEHHH@8un;Ht2@-HHH@8|@uUEL94$uYILJALJHĈ[]A\A]A^A_HHHHHHHI6EIALJL`HT$LT$HLEHH=HD$HD$rHH=LT$LT$1H=HD$HD$HH=HD$HD$HH=LT$LT$UDAWAVAAUIATUSHD H$HD$0HD$HEHD$0H=HIHxL IHAHXALJALJALJALJALJALJALJ,ALJ<ALJ@EMALH2ImAMAI]IHHIEHD$AyMA I]IHHI$@IEHHI$@A:MAIMIHHH{IEHHI$HAMvAlIM IrHHH{IE HHI$PAMAMu(ILHIE(1HD$I$@HHp IDŽ$@H{HHG IDŽ$HH{HH IDŽ$P1H{HHI$I$XHHt$8HHF_HH8@Ƅ@gWH|$81 M$`HI}HIHAIUsHHD8A@@A 8@Ƅ@ I$dIDŽ$dID$HyHH)pHLHt< H11ADŽ$`HD$pHH|$8HEH|$iI$HT$1HHD$I}lHHH8|? AD$HD$Ht<# A$D$THH\$E1H)L|$xHD$@I$IHD$(H)ILLl$XHD$PMfDH~8HHHFkHH8@Ƅ@  A$HD$(H3HH8@Ƅ@z j fofofoCKS[D$ADŽ$HfA$ID$AƄ$fLcl$E1ADŽ$fE$AƄ$I HD$@L<(I  HT$L HHz H}MI IFHD$ HEHD$hHD$PHHD$`H  HT$HT$  HEH HUHL$HHHDHL$Ht  Ir I  HT$L HH* HuH|$(A$t<Ht$XmH~HHHF7HHH@8@Ƅ@ 8 A$HD$(H3HH8@Ƅ@  fofofodtsCYfH\$0H9\$HuILJfALJALJ,ILJ<AHĨ[]A\A]A^A_uH=HH H H1H=>H=HH HHHH5H1H=HH3 H HH=@hH=HHH H H="fLl$XHt$8IH|$pL|$xLH\$= DILH HHH=1HD$Ht< H|$H|$pE1E1H H5ADŽ$HHHT$8H|$p1LLHHH HD$Ht<gADŽ$HHT$81HHǀHHD$ǂǂHǂLHǂǂǂf ƂƀHD$8H1H|$pǃH\$H5HǀHǀǀLHǀǀǀf ƀƃt<]A$@-IL|$xLl$H\$@H|$H|$` HT$ HdHl$HH|HH=I,HHH=HHDHHxHHH5H1DLl$D-IL|$H\$L|$xAAH|$H|$ ^LH>Hl$HH<+HHH=I,@HHHHH5H18D5AAH=HHZL5MLH=LH|$HLH=DH H5D-@H=HHH HH=D5AAH=HHL5MLH=LH=QHHLPHH=<Ht$H=-LH=BH|$(HEHD$`RHuH==Ht$H=7HH|$hH|$LH=D$ D$ rHLpHH=D$ D$ THt$H=D$ D$ DH|$(4foH6EALJ@AAA A04 HHDD$0HD$0;pH|$8`LH=b4H|$(4HHLH=_HLHL$H=HL$LHLH=HLHL$H=HL$mLH=HLH=0LH=HLH=MHLLLH=SLHH|$1H|$HH=HD$HHH=Ht$H=^HH=HD$`HD$hjHt$hH=THt$H=2DUSHHHHuCH-HH1H5HHuH=H[]HH=ff.AUATUHSHHHHIHLk HLHt<{ LHHcL9tluWH=HHu~HHHMHH[H5]1A\A]fH[]A\A]LLHH=:HH=ff.fATH1UHSHHH=HÅx1H[]A\@-@u>H=HHH-HH5H1=H[]A\fDD%AA`HtwusHHHƒ8|ur8H=HHu\HHHHH1H5HH=HD$HD$oHff.AVAUATUH-SH@ HHH]H@L-L9tIL5HHHHuqL#HtXuSHLL9uH=u[]A\A]A^DH==[]A\A]A^HH=HHLgHH=&HHH=ff.fAWAVAUATUHSHH(D-I*JL%HBI4HLKLH=D$D$LH=HL$HL$L1H=L\$L\$HLHD$H=HD$LL@AWAVAUATUSHHhLt$ Lt$HMIAM@IFIHIFADŽ$ADŽ$HHk HHHHk HH{HHt<{M1ɺLÅX=HH=HPI4HLHI<HHH8YLH5AƄIH^@HMHtL@HH @HE@HqHHt}@u_H@}H=HH]HHLHH5H1LD$LD$D=IuJHHBH4HrHJ *'' *[2]' 'result_format''const char *''char *[2][2]' 'int''char *''char''int''const struct osmo_mslookup_result''struct llist_head''struct osmo_fd''struct socket_client''_Bool'1.8.0osmo-mslookup-client version %s Copyright (C) 2019 by sysmocom - s.f.m.c. GmbH Copyright (C) 2019 by Neels Hofmeyr This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Standalone mslookup client for Distributed GSM Receiving mslookup results means listening for responses on a socket. Often, integration (e.g. FreeSwitch dialplan.py) makes it hard to select() on a socket to read responses, because that interferes with the main program (e.g. FreeSwitch's dialplan.py seems to be integrated with an own select() main loop that interferes with osmo_select_main(), or an smpp.py uses smpplib.client.listen() as main loop, etc.). This program provides a trivial solution, by outsourcing the mslookup main loop to a separate process. Communication is done via cmdline arg and stdout pipe or a (blocking) unix domain socket, results are returned in CSV or JSON format. This can be done one-shot, i.e. exit as soon as the response has been determined, or in daemon form, i.e. continuously listen for requests and return responses. About running a local daemon: it is unintuitive to connect to a socket to solve a problem of reading from a socket -- it seems like just more of the same problem. The reasons why the daemon is in fact useful are: - The osmo-mslookup-client daemon will return only those results matching requests issued on that socket connection. - A program can simply blockingly recv() from the osmo-mslookup-client socket instead of needing to run osmo_select_main() so that libosmo-mslookup is able to asynchronously receive responses from remote servers. - Only one long-lived multicast socket needs to be opened instead of a new socket for each request. Output is in CSV or json, see --format. The default is tab-separated CSV with these columns: query result last age v4_ip v4_port v6_ip v6_port One-shot operation example: $ osmo-mslookup-client 1000-@sip.voice.12345.msisdn -f json {"query": "sip.voice.12345.msisdn", "result": "result", "last": true, "age": 5, "v4": ["1.2.3.7", "23"]} $ Daemon operation example: $ osmo-mslookup-client -s /tmp/mslookup -d (and a client program then connects to /tmp/mslookup, find an implementation example below) Integrating with calling programs can be done by: - call osmo-mslookup-client with the query string as argument. It will open a multicast DNS socket, send out a query and wait for the matching response. It will print the result on stdout and exit. This method launches a new process for every mslookup query, and creates a short-lived multicast listener for each invocation. This is fine for low activity, but does not scale well. - invoke osmo-mslookup-client --socket /tmp/mslookup -d. Individual queries can be sent by connecting to that unix domain socket, blockingly reading the response when it arrives and disconnecting. This way only one process keeps one multicast listener open. Callers can connect to this socket without spawning processes. This is recommended for scale. Python example clients for {CSV,JSON}x{cmdline,socket} can be found here: http://git.osmocom.org/osmo-hlr/tree/contrib/dgsm/osmo-mslookup-pipe.py http://git.osmocom.org/osmo-hlr/tree/contrib/dgsm/osmo-mslookup-socket.py Options: [[delay-][timeout]@]service.number.id A service query string with optional individual timeout. The same format is also used on a daemon socket, if any. The timeout consists of the min-delay and the timeout numbers, corresponding to the --min-delay and --timeout options, in milliseconds. These options apply if a query string lacks own numbers. Examples: gsup.hlr.1234567.imsi Use cmdline timeout settings 5000@gsup.hlr.1234567.imsi Return N results for 5 seconds 1000-5000@sip.voice.123.msisdn Same, but silent for first second 10000-@smpp.sms.567.msisdn Return 1 result after 10 seconds --format -f csv (default) Format result lines in CSV format. --no-csv-headers -H If the format is 'csv', by default, the first output line prints the CSV headers used for CSV output format. This option disables these CSV headers. --format -f json Format result lines in json instead of semicolon separated, like: {"query": "sip.voice.12345.msisdn", "result": "ok", "v4": ["10.9.8.7", "5060"]} --daemon -d Keep running after a request has been serviced --mdns-ip -m 239.192.23.42 -m ff08::23:42 --mdns-port -M 4266 Set multicast IP address / port to send mDNS requests and listen for mDNS reponses --mdns-domain-suffix -D mdns.osmocom.org Append this suffix to each mDNS query's domain to avoid colliding with the top-level domains administrated by IANA. --min-delay -t 1000 (in milliseconds) Set minimum delay to wait before returning any results. When this timeout has elapsed, the best current result is returned, if any is available. Responses arriving after the min-delay has elapsed which have a younger age than previous results are returned immediately. Note: When a response with age of zero comes in, the result is returned immediately and the request is discarded: non-daemon mode exits, daemon mode ignores later results. --timeout -T 1000 (in milliseconds) Set timeout after which to stop listening for responses. If this is smaller than -t, the value from -t will be used for -T as well. Note: When a response with age of zero comes in, the result is returned immediately and the request is discarded: non-daemon mode exits, daemon mode ignores later results. --socket -s /path/to/unix-domain-socket Listen to requests from and write responses to a UNIX domain socket. --send -S Do not query, but send an mslookup result. This is useful only for testing. Examples: --send foo.123.msisdn 300 23.42.17.11 1234 --send foo.123.msisdn 300 2323:4242:1717:1111::42 1234 --send foo.123.msisdn 300 23.42.17.11 1234 2323:4242:1717:1111::42 1234 --quiet -q Do not print errors to stderr, do not log to stderr. --help -h This helposmo-mslookup-client.c:427lastnot-last%s ERROR %s %u %s %u truefalse{"query": "%s", "result": "ERROR", "result": "%s", "last": %s, "age": %u, "v4": ["%s", "%u"], "v6": ["%s", "%u"]}Failed to accept a new connection struct socket_clientosmo-mslookup-client.ccAssert failed %s %s:%d Failed to register new connection fd osmo-mslookup-client.c:527query result last age v4_ip v4_port v6_ip v6_port%s: write() returned %d instead of %zu 2342NULL][--send needs a query string like foo.123456.imsi Invalid query string '%s', need a query string like foo.123456.imsi --send needs an age invalid age invalid port: %s invalid IP addr: %s Sending mDNS to %s%s%s:%u: %s unable to open mDNS socket unable to encode mDNS response unable to send mDNS message osmo-mslookup-client.c:330%s Could not create unix socket: %s: %s Could not register listen fd: %d osmo-mslookup-client.c:630ERROR: timeouts part too long in query string ERROR: invalid min-delay number: %s ERROR: invalid timeout number: %s ERROR: query string is too long: '%s' struct queryqERROR: cannot parse query string: '%s' osmo-mslookup-client.c:699ERROR: cannot send query: '%s' osmo-mslookup-client.c:707 ERROR: failed to read line from socket ERROR: Only one query per client connect is allowed; received '%s' and '%s' on the same connection query: %s osmo-mslookup-clientf:Hdm:M:D:t:T:s:SqhVInvalid mDNS IP address: %s Invalid cmdline_opts.mdns_addr.port: %s Invalid cmdline_opts.min_delay: %s Invalid cmdline_opts.timeout: %s Error in command line options. Exiting. --send option cannot have any listening related args.In daemon mode, --timeout must not be zero. jsoncsvInvalid format: %s Failed to start mDNS client osmo-mslookup-client.c:892/home/osmocom-build/jenkins/workspace/osmo-gsm-tester_build-osmo-hlr/inst-osmo-hlr/include/osmocom/core/linuxlist.hformatno-csv-headersdaemonmdns-ipmdns-portmdns-domain-suffixtimeoutmin-delaysocketsendquiethelpversionsocket_acceptsocket_client_respond_resultdo_sendmdns.osmocom.org1 32 32 2 sb 1 32 8 6 endptr 1 32 1024 5 rxbuf *.Lubsan_data511*.Lubsan_data510*.Lubsan_data509*.Lubsan_data507*.Lubsan_data506*.Lubsan_data505*.Lubsan_data504*.Lubsan_data503*.Lubsan_data502*.Lubsan_data501*.Lubsan_data500*.Lubsan_data499*.Lubsan_data498*.Lubsan_data497*.Lubsan_data496*.Lubsan_data495*.Lubsan_data494*.Lubsan_data493*.Lubsan_data492*.Lubsan_data491*.Lubsan_data490*.Lubsan_type19*.Lubsan_data489*.Lubsan_data488*.Lubsan_data487*.Lubsan_data486*.Lubsan_data484*.Lubsan_data483*.Lubsan_data482*.Lubsan_data481*.Lubsan_data480*.Lubsan_data478*.Lubsan_data477*.Lubsan_data476*.Lubsan_data475*.Lubsan_data474*.Lubsan_data473*.Lubsan_data472*.Lubsan_data471*.Lubsan_data470*.Lubsan_data469*.Lubsan_data468*.Lubsan_data467*.Lubsan_data466*.Lubsan_data465*.Lubsan_data464*.Lubsan_data463*.Lubsan_data462*.Lubsan_data461*.Lubsan_data460*.Lubsan_data459*.Lubsan_data458*.Lubsan_data457*.Lubsan_data456*.Lubsan_data455*.Lubsan_data454*.Lubsan_data453*.Lubsan_data452*.Lubsan_data451*.Lubsan_data450*.Lubsan_data449*.Lubsan_data448*.Lubsan_data447*.Lubsan_data446*.Lubsan_data445*.Lubsan_data444*.Lubsan_data443*.Lubsan_data442*.Lubsan_data441*.Lubsan_data440*.Lubsan_data439*.Lubsan_data438*.Lubsan_data437*.Lubsan_type18*.Lubsan_data436*.Lubsan_data435*.Lubsan_data434*.Lubsan_data433*.Lubsan_data432*.Lubsan_data431*.Lubsan_data430*.Lubsan_data429*.Lubsan_data428*.Lubsan_data427*.Lubsan_type17*.Lubsan_data426*.Lubsan_type16*.Lubsan_type15*.Lubsan_data425*.Lubsan_data424*.Lubsan_data423*.Lubsan_data422*.Lubsan_data418*.Lubsan_data415*.Lubsan_data414*.Lubsan_data413*.Lubsan_data412*.Lubsan_data411*.Lubsan_data410*.Lubsan_data409*.Lubsan_data408*.Lubsan_data407*.Lubsan_data406*.Lubsan_data405*.Lubsan_data404*.Lubsan_data403*.Lubsan_data402*.Lubsan_data401*.Lubsan_data400*.Lubsan_type14*.Lubsan_data399*.Lubsan_type13*.Lubsan_type12*.Lubsan_data398*.Lubsan_data397*.Lubsan_data396*.Lubsan_data395*.Lubsan_data394*.Lubsan_data393*.Lubsan_data392*.Lubsan_data391*.Lubsan_data390*.Lubsan_data389*.Lubsan_data388*.Lubsan_type11*.Lubsan_data387*.Lubsan_data386*.Lubsan_type10*.Lubsan_data385*.Lubsan_data384*.Lubsan_data383*.Lubsan_type9*.Lubsan_data382*.Lubsan_data380*.Lubsan_data379*.Lubsan_data378*.Lubsan_data377*.Lubsan_data376*.Lubsan_data374*.Lubsan_data373*.Lubsan_data372*.Lubsan_data371*.Lubsan_data370*.Lubsan_data369*.Lubsan_data368*.Lubsan_data367*.Lubsan_data366*.Lubsan_data365*.Lubsan_data364*.Lubsan_data363*.Lubsan_data362*.Lubsan_data361*.Lubsan_data360*.Lubsan_data359*.Lubsan_data358*.Lubsan_data357*.Lubsan_data356*.Lubsan_data355*.Lubsan_data354*.Lubsan_data353*.Lubsan_data348*.Lubsan_data347*.Lubsan_data343*.Lubsan_data342*.Lubsan_data341*.Lubsan_data340*.Lubsan_data339*.Lubsan_data332*.Lubsan_data331*.Lubsan_data330*.Lubsan_data329*.Lubsan_data328*.Lubsan_data327*.Lubsan_data326*.Lubsan_data319*.Lubsan_data318*.Lubsan_data317*.Lubsan_data316*.Lubsan_data315*.Lubsan_data314*.Lubsan_data313*.Lubsan_data306*.Lubsan_data305*.Lubsan_data304*.Lubsan_data297*.Lubsan_data296*.Lubsan_data295*.Lubsan_data288*.Lubsan_data287*.Lubsan_data280*.Lubsan_data279*.Lubsan_data273*.Lubsan_data272*.Lubsan_data256*.Lubsan_data255*.Lubsan_data254*.Lubsan_data253*.Lubsan_data252*.Lubsan_data251*.Lubsan_data250*.Lubsan_data249*.Lubsan_data248*.Lubsan_data242*.Lubsan_data241*.Lubsan_data240*.Lubsan_data238*.Lubsan_data237*.Lubsan_data236*.Lubsan_data235*.Lubsan_data234*.Lubsan_data233*.Lubsan_data232*.Lubsan_data231*.Lubsan_data230*.Lubsan_data224*.Lubsan_data223*.Lubsan_data222*.Lubsan_data220*.Lubsan_data219*.Lubsan_data218*.Lubsan_data217*.Lubsan_data216*.Lubsan_data215*.Lubsan_data214*.Lubsan_data207*.Lubsan_data206*.Lubsan_data205*.Lubsan_data198*.Lubsan_data197*.Lubsan_data196*.Lubsan_type8*.Lubsan_data189*.Lubsan_data188*.Lubsan_data181*.Lubsan_data180*.Lubsan_data174*.Lubsan_data173*.Lubsan_data172*.Lubsan_data171*.Lubsan_data170*.Lubsan_data169*.Lubsan_data168*.Lubsan_type6*.Lubsan_data167*.Lubsan_data166*.Lubsan_data165*.Lubsan_data164*.Lubsan_type5*.Lubsan_data163*.Lubsan_data162*.Lubsan_type4*.Lubsan_data161*.Lubsan_data160*.Lubsan_data158*.Lubsan_data157*.Lubsan_data155*.Lubsan_data154*.Lubsan_data153*.Lubsan_data152*.Lubsan_data150*.Lubsan_data149*.Lubsan_data148*.Lubsan_data147*.Lubsan_data145*.Lubsan_data144*.Lubsan_data143*.Lubsan_data142*.Lubsan_data140*.Lubsan_data138*.Lubsan_data137*.Lubsan_data135*.Lubsan_data134*.Lubsan_data132*.Lubsan_data131*.Lubsan_data129*.Lubsan_data128*.Lubsan_data126*.Lubsan_data123*.Lubsan_data122*.Lubsan_data120*.Lubsan_data118*.Lubsan_data115*.Lubsan_data114*.Lubsan_data112*.Lubsan_data111*.Lubsan_data109*.Lubsan_data108*.Lubsan_data107*.Lubsan_data105*.Lubsan_data104*.Lubsan_data102*.Lubsan_data101*.Lubsan_data99*.Lubsan_data97*.Lubsan_data96*.Lubsan_data95*.Lubsan_data94*.Lubsan_data93*.Lubsan_data92*.Lubsan_data91*.Lubsan_data89*.Lubsan_data88*.Lubsan_data86*.Lubsan_data85*.Lubsan_data83*.Lubsan_data82*.Lubsan_data81*.Lubsan_data79*.Lubsan_data78*.Lubsan_data76*.Lubsan_data75*.Lubsan_data73*.Lubsan_data72*.Lubsan_data70*.Lubsan_data67*.Lubsan_data66*.Lubsan_data64*.Lubsan_data63*.Lubsan_data62*.Lubsan_data60*.Lubsan_data59*.Lubsan_data57*.Lubsan_data55*.Lubsan_data54*.Lubsan_data53*.Lubsan_data51*.Lubsan_data45*.Lubsan_data44*.Lubsan_data43*.Lubsan_data42*.Lubsan_data40*.Lubsan_data39*.Lubsan_data37*.Lubsan_data31*.Lubsan_data20*.Lubsan_type3long_options__func__formattersglobalscmdline_opts*.LC19*.LC58*.LC112*.LC16*.LC30*.LC105*.LC11*.LC115*.LC42*.LC83*.LC106*.LC20*.LC21*.LC113*.LC75*.LC90*.LC73*.LC62*.LC88*.LC4*.LC12*.LC77*.LC94*.LC101*.LC95*.LC52*.LC74*.LC24*.LC10*.LC89*.LC8*.LC111*.LC43*.LC92*.LC97*.LC65*.LC49*.LC45*.LC109*.LC61*.LC82*.LC55*.LC44*.LC56*.LC25*.LC7*.LC53*.LC91*.LC99*.LC93*.LC41*.LC96*.LC9*.LC48*.LC71*.LC0*.LC103*.LC114*.LC14*.LC102*.LC23*.LC69*.LC80*.LC29*.LC2*.LC47*.LC72*.LC3*.LC32*.LC110*.LC70*.LC51*.LC81*.LC104*.LC28*.LC17*.LC36*.LC35*.LC87*.LC86*.LC18*.LC76*.LC22*.LC68*.LC108*.LC46*.LC107*.LC54*.LC1*.LC6*.LC34*.LC13*.LC98*.LC31*.LC50*.LC33AH=LD$LD$AH=LD$LD$AH=H=H $H $H=H $H $H=DL$ H$H$DL$ H=H=DL$ H$H$DL$ AH=D $D $H=H=HL$HL$H=HT$HT$AH=AH=H=H=HL$HL$@H=H=H=HL$HL$H=H=HL$HL$H=HT$HT$AH=@H=H=H=H=H|$H=HT$H=HD$HD$H=HD$HD$H=H=H=HD$HD$@H=AH=H=H=HD$HD$H=D$D$H=HD$HD$@H=H=H=AH=H=HL$HL$@H=H=H=H=1@HH=1AH=AH=@H=L\$L\$AH=H=L\$L\$H=HD$LD$LD$HD$H=H=HD$LD$LD$HD$H=H=AH=H=L$L$H=AH=L$L$H=L$L$AH=L$L$H=H=H $H $AH=H=H=EAH=H=AH=ALH=H=H=H=H=H=H=H=H=H=2 32 4 3 len 96 110 7 un_addr 5 32 4 2 rc 96 32 7 ip_strs 160 52 4 addr 256 96 1 q 384 116 1 r 4 32 4 2 rc 96 16 1 h 160 16 8 timeouts 224 16 9 min_delay 4 32 4 12 option_index 96 4 3 _rc 160 4 3 _rc 224 4 3 _rc AWAAVAUIATUSHXLd$0Ld$w HL11ID$HHHI$AHM$ ID$HDžDžDžDž DžDžDžDžDž 1HH H= H= H=} H=S H=1 H= H=1I\$ HHH$I$HD$HHD$HHƀAdžMIH LDHD0HHcHMFH$MIAƂ L1LT$(HLD$ LT$(LD$ At< A~ IAƀ"H$N HHHHƀH$ H5H=uH=uD-A AXHH H=L5HHb L-MLLH51AE1HƃH=H=H5L9d$Q Dž fHXD[]A\A]A^A_H$ HH{H5H=1E1H=7HD$ƀH$j HL$H1HD$t<Y A~KHD$ƀH$HHM@H$MIAƂHLLT$(LD$ LT$(LD$ fAt<h A@D-AAufHH H=L5HHL-MLH5L1L$L$IAAƀD-AAuLH=HHH H(H=AA HƃAA\<Etq=uDH=HH\HHHٺ,H=AfH=HHH8|D9=:D5AA<H5HaH=H=HHHLH5HH=Ht H=HHH8|EA)HcIcIHMtHM9H,$1ML=I9r[MALHI?LcM9JL|HyI9vLHH=<EuH=euDH=HHeHHHٺ5H=H=HHH8|Hc HHMtHx$M9r$D)؉XLAM9vLLH=H $H $=H=M9?LLH=(H,$HL-L5f1D;AAu=tL9-uE10QH=HHnHHHٺAH=sHHwH=PH5H=JD-AA\HHH=L5HHL-MLH5L1L$L$D-AAu^HHH=L5HHL-MLH5L1HD$AHƀH=A[H=L-HHgHHLH5H1A{foI$6EDž H=H=H= HLEsH=H=H=H=H=H=H=H=H=LH|$H=IcHH=5IcHH=LH=\LH=#LH=H=H=LH=H=H=HH=H#l'?l?#     Q Q P O O   D; dddeeeeddw v v ut ssdddeeeeddX QQTRRQQN N N ::::'  '''&&&0###!(!(!%  / Q Q P O O          }}ggttqqoooooooonnmmkkkkkkkkjjh ggggfffeeecc``w v v  qcc[2VVMIIHC==<;66t X TRR00''BB==77''##    2  ffHdmMDTtsSqhV239.192.23.42* V@@@ @@@@@ @@ @@ @ @ @@ @@@ @ @@ @ @@ @@ @ @@ @ @ @@ @ @@ @ @@ @ @@@ @ @ @@ @@ @ @ @ @ @ @@ @@ @ @ @@ @ @ @ @@ @@ @ @ @@ @ @ @ @@ @ @ @@ @@ @@@ @ @ @ @ @@ @@ @ @@ @ @@ @ @@ @ @@ @@ @@ @@ @@ @@ @@ @@ @ @ @ @ @ @ @ @ @ @ @@ @ @@ @ @ @ @ @@ @@ @@ @@ @@ @@ @ @@ @ @@ @@@@@ @@ @@ @@@ @@ @@ @ @@@@ @@@ @@@ @@@@@@ @@@@@@@ @@ @ @@ @@ @@@@@ @@ @ @@ @@ @ @@@@ @@@ @@@ @(`@@@@ @ @ @@ @@ @@ @ @@ @@@ @@@(`@@(`@@(`@@@(`@@@(`@(`@(`@(`@(`@(`(`@(`@(`@(`@(`@(`(`@(`@(`@(`@@@(`(`(`@(`@(`@(`(`(`@(`@(`@(`@(`@(`@(`@(`@(`@(`@@(`@(`@@@ @@@@@p`@@@@@@@@@ @ @@ @@@$`@"`@@@@-`t@@(`@@)`@@@)`@@ @@ @&`d@@@@ @@"`@6`@@ @@'`@@@@@@%`@@XE @@@#`@(`@#`@(`2`@@@ @ @/`@2`@ @!`@@@@@@&`H=ю 5yyy%'int)y y 1 3 6  7  8  9  : ( ; 0 < 8 = @ @ H A P B X D` Fh Hp It J x M N O Q Y [ \ ] ^ _ ) ` b  + 5  5     RG <  L G  } $ 2  7  ; 2 4L 7 8val9 *   7 nl 8  l|5k,-02 5! X8 `:y`<y`>y`@y`By`Dy`G<d hp<  v   z || .  0 0 (w$cat* y y06        L L L     yGy 8ctx 5   vtyw!yz!y!y&"JoutL MLO "R' ST"W@ vtyX "[X rb\ "_ ` aLbL  "e rawf #I $P$U $Y' $]@ $cX $g ! 5< yL' p yLLp <B  5|  |  R 5@   0] !fd# &ycb)w  + -y(q q y ] y  %&  8   5 '0 ( 0 ( @ ( P @ 5P 5` 5 {   ` { { 4 6 7  ) _ ` 4. af0ip2  4 2& 5-  N   .Z & 3 4 str5L `  buflen )pos  ) y"   ("'.7(/7(07G5 ,h - y7?" `D GidIGD LX 5@ tP0rcR!h U  X 8agec l f p AGaalrg 0 ' ?  O  U50 5, 7 8 9 :  ; c <, =   >2( '!%Z*dst!& *trx!'_ Z !! ! 8 !)&l1h!+, l2h!,,(l3h!-,0l4h!.,8cb!02@ !2 hlen!3 j !5,p !6,x !7, !8B !5B5Q+5 8"x " ai"20y,`#     8  < L@ LH LP  X  Y  Z- J.5/9 "pNctxOPyQ Ra@SHTXUxh0V` [)Lr!51  2@rofd 9@CDFGH 53 !44}5rc6x75c8val9 90 ! 7u8_rc:`;U1;T ;R}:;U};T ;Q~<<<:1;U}:Y;U ;T}=;U 7c8_rc:`;U0;T ;R}:;U};T ;Q~:;U}<<<:>;U =;U ;T}7Q8_rc:`;U0;T ;R}:;U};T ;Q~<:;U}<<:5;U ;T}=;U >0:ċ;U ;T =ы;U :܋;U;T};Q ;R ;Xs:;U :0;U :[;U};T ;Q~<`:;U ;T1;Q(<<<<<<<: ;U :4;U ;T}:S;U :r;U =;U ;T}>!l{?4!?'!@AA!<M!: ;U ;Tv;Q:@;U ;T~;Q1:!e;U ;T=;UBHs ?Y:,;U0;T0;Q :9;T0:E;T2:R;T1:_5;T1:lL;T1:yc;T0:z;T1:;T0<<7<:;T :;U ;T1;Q,;Rs:Ō&;U <Ҍ:ތX;T ;R <q7:;U ;T1;Q5;Rs:s;Us;T~: ;U ;T};Q~:^L;U : (;U ;T};Q~:?;U0:n;U ;T1;QL;Rs<:Ō;U <`:;Us;T ;Q}<<<<<<<<<<:;U ;T $ &;Qs:;U ;T $ &<<<<<:;U ;Ts:8;U :W;U :;U ;T~:;U~;T:;U ;Ts:;U : ;U ;Ts:. ;U :V ;U ;Ts:u ;U : ;U ;Ts: ;U ;Ts: ;U ;Ts=;U !5 CM!D}D1)8iEzW-4z"L5q|W-F}L5at~8h&x7&8rc97F F 7#9 7B2 S"? 3:";Uv;T@;Q};R}}:`";U0;T ;Qv;R}:";U|;T ;Qv: #;U ;T};Q}:##;U}:;#;U|<:g#;U =;U ;T|B2#? 3B2 $? 3=3;U};T0:4$;U};T@;Qv:%R$;U};T-:|$;U ;T1;Q.:`$;U0;T ;Q};R}:$;U|:$;U}:%;Uv;T : 2%;U ;T};Q}<1:!c%;U ;T0<<:%;U :%;U ;Tv:%;U ;Tv=;U B2 V&? 3=3;Uv;T0B2 &? 3=3;Uv;T0>!(??G̅^???م:<.';Uv: Y';U ;T};Qv:!~';U ;T}:<';U}:!';U ;T}:<';U|: ';U ;Tv;Q|=!;U ;TvB2 o(? 3=3;Uv;T0:%(;Uv;T@:G(;Uv:T(;T;Q :a(;U;Tv;Q:m);U};T:9);U|;T ;Qv:^);U};T :);U|;T ;Qv:y);Q|:);U|;T ;Qv:);U};T <<<:X*;U ;T ;Q ;R <<:!*;U ;T}: *;U ;T};Q:!*;U ;T}:!*;U ;T}: ,+;U ;T};Q}:!Q+;U ;T}:!v+;U ;T}:+;U|: +;U ;T};Q|:!+;U ;T}:!,;U ;T}<<<:I,;U :q,;U ;T|:,;U :,;U :,;U :%,;U0;T@: -;U :2-;U ;T|=;U ;T|rHk24k6a4l 4m&l4n'r5qpW->2p/?2@A2I2,.A2I2y.A2:^.;Us=!;U;Ts:.;Uv:.;Uv: .;U ;Ts;Qv:!.;U ;Ts:!/;U ;Ts:!C/;U ;Ts:!h/;U ;Ts: /;U ;Ts;Qv:!/;U ;Ts=!;U ;Ts>fu1?sJ0??:<O0;U}:!t0;U ;T|:<0;U|:!0;U ;Tv= ;U ;Tv;Q}:!0;U ;Ts:!#1;U ;Ts:!H1;U ;Ts:`1;Us: 1;U ;Ts;Q|=;U|:31;Uv;T~K1;T <1:!2;U ;Ts:!42;U ;Ts:!Y2;U ;T~: 2;U ;Ts;Qv=;U ;TvLaW-2Da(8qcW-M29d2N9d2 C\3D\LHK74K!LOrKOr5cM75nM7P3FQ273FQ2:3;U~=!;U ;T~7T4FQ2:24;U}=!;U ;T}Q4;U ;T ;Qs;Rv:^L4;U :4;Us:0G4;U~;T :H4;U~:!5;U ;T}: H5;U ;T~;Q:!m5;U ;T~:15;U:!5;U ;Tv:!5;U ;T~<: 6;U ;T|:!,6;U ;T|w":Q6;U ;T}<1:!6;U ;Tv:6;U ;Ts:6;U :6;U ;T=;U 8C7q78c978n97MN79:2Ma79:2N9:2R [94 L5ofd"q 5rc#:7;U5;T0;Qv;R2: 8;U :78;Uv;T ;Qs<ˍ<؍<:8;T ;Qv<:!8;U ;TX<<:8;U :9;U :69;U ;Tv=;U ;T|3WAOofd#q 45y5c79D8len c5rcSgA 7 ;5len )5rc:G:;T ;Q1::;Us;T ;Q ;X1::;U:!:;U ;Ts<::;U =;U ;Ts><??G̅^???م:<;;U}: ;;U ;Ts;Q}:!;;U ;Ts:<;;Us:!$<;U ;Ts<<: ]<;U ;T};Qw=!;U ;T}:<;T}~;Q}~:T<;T @;Q :<;Us<:+=;U ;T ;Q ;R :C=;U<:h=;U}:=;U:=;U ;T1;Q":=;U ;T1;Q%<ˍ:>;Us;T :!+>;U ;Ts: V>;U ;Ts;Q:<n>;U}: >;U ;Ts;Q: >;U ;Ts;Q}:!>;U ;Ts:!?;U ;Ts: 9?;U ;Ts;Q}:!^?;U ;Ts:<v?;U}: ?;U ;Ts;Q}:!?;U ;Ts:!?;U ;Ts:!@;U ;Ts:!5@;U ;Ts<<:g@;U:!@;U ;Ts:@;U:@;U ;T}:@;U : A;U :2A;U ;Ts=;U ;T} gA5 WAT AUofd&q D8y8rcV 0GOofd+q 5c75rc99FF5at6: xB;T;Q ;R0:B;U;T :%B;U;T@:B;Us;T ;RvQC;U ;T ;R0:0G4C;Uv;T :aMC;Q :M!eC;U:ċC;U ;T<؍:HC;Uv<<1<#: D;U ;Tv1;Qv:7D;U ;T1;Q';Rs: bD;U ;Ts;Qv:!D;U ;Ts:!D;U ;Ts:D;Uv:!D;U ;Tv:E;U ;Tv: 5E;U ;T:!_E;U ;Tv": E;U ;Tv;Qv<:!E;U ;Tv<:!E;U ;Tv<:!$F;U ;Tv:IF;U ;T:!sF;U ;Tsv": F;U ;Ts<:F;U ;Ts:F;U ;Ts:G;U =;U HHOc974HL5len )5rcSH :GG;Uv:G;Tv;Q|K H;T ;Q :!H;U}: LH;U ;Ts;Q}:!qH;U ;Ts<:H;U :H;U ;Ts=;U  H5 HW ^LOc775ofdq >fK?sJ;J??:<I;U|:!I;U ;T|:<I;U}: J;U ;Tv;Q}=!;U ;Tv:!`J;U ;Ts:!J;U ;Ts:!J;U ;Ts:J;U|: J;U ;Ts;Q|=;Us:.K;Uv<ˍKMK;UU;T :eK;U|:}K;U|:!K;U ;Tv:!K;U ;Ts: K;U ;Tv:!L;U ;Tv: #}M?5:FM;Uv;T~;Q : N;U ;T~;Q:<:N;U~<<<<:{N;U~= ;U 7PF)F># O?5=;U~:F0O;T~;Q :FTO;T0;Q : O;U ;T;Q|<:<O;Uv:O;Uv<<<: O;U ;Q|=;U~7QF)F>#{P?5<BP?<S:FP;T;Q : Q;U ;T~;Q:'Q;U|:AQ;U~:!fQ;U ;T|<<<<: Q;U :Q;U~<<<7SF)F>#JR?5<:FqR;T~;Q : R;U ;Q: R;U ;T~;Q<:!R;U ;T|<1:S;U~<<<<<:]S;U~<=;U ;T7UF)FB#8S?5:F$T;U;T~;Q : IT;U ;Q:FsT;U;T0;Q : T;U ;Q<<:!T;U ;T|: U;U ;T|;Q~<<:6U;Uv<<<<<:!U;U ;T|= ;U ;T|;Q~7XF)FB#;V?5<_:FLV;T;Q ;R|:FvV;T0;Q ;R|:<V;Uv: V;U ;Q<<:V;Uv:! W;U ;T|<:!#Z?5:F[;T|;Q :FF[;U0;T0;Q :<^[;Uv: [;U ;Q|:F[;T0;Q :[;Uv:[;Uv<<<<= ;U ;Q|:8\;U:P\;U:h\;Uv<<<<:<\;U} <:\;Uv<:\;Uv<: ];Uv:!];Uv<:!S];U ;T|:k];U|:];Uv:];Uv<:];Uv:];Uv:];Uv:!^;U ;T|: @^;U ;T|;Q: k^;U ;T|;Q:!^;U ;T|:^;Uv<<:^;Uv:^;Uv<:_;Uv<=;UvE]sObuf]4]&)4]:LOr]hr8sb_ 7`F`)F`>#``?5:F3`;Uv;T~;Q : ``;U ;T~;Q:<z`;U~<<<<:`;U~= ;U 7PbFc)Fc>#cIa?5=;U~:Fna;T;Q : a;U ;T|t;Q|:Fa;T0;Q : a;U ;Q|:a;Uv<<:b;Uv<<<=;U~7dFe)Fe>#eb?5<Beb?<S:F c;T;Q : Mc;U ;T~;Q:ec;U|:!c;U ;T|:c;U~<<<<<<:c;U~: d;U <7eFf)Ff>#fd?5<:Fd;T~;Q : d;U ;Q: e;U ;T~;Q<:(e;U~:!Me;U ;T|<1<<<<<:e;U~<=;U ;T7gFg)FgB#8g5f?5:Fbf;U;T~;Q : f;U ;Q:Ff;U;T0;Q : f;U ;Q<:!g;U ;T|: 5g;U ;T|;Q~<<:gg;Uv<<<<<<: g;U ;T|;Q~=!;U ;T|7bjFk)FkB#;kRh?5<_:Fh;U;T~;Q ;R|:Fh;U;T0;Q ;R|:<h;Uv: h;U ;Q<:!1i;U ;T|<_<:ci;Uv: i;U ;T|;Q~:!i;U ;T|<: i;U <:!j;U ;T|: @j;U ;T|;Q~=!;U ;T|7kFm)Fm>#mj?5:Fj;T;Q :Fk;T0;Q :<k;Uv: Dk;U ;Q<:ik;Uv: k;U ;Q<<<79nFo)FoB#;ol?5:FQl;U;T~;Q ;R|<:Fl;U;T0;Q ;R|<:<l;Uv: l;U ;Q|:!l;U ;T|:!m;U ;T|: 5m;U ;T|;Q~: Tm;U : m;U ;T|;Q~:!m;U ;T|<<_<_:m;Uv:! n;U ;T|<<=;Uv7oFq)Fq>#qn?5:Fn;T|;Q :Fn;T0;Q :<n;Uv: o;U ;Q|<:@o;Uv<:eo;Uv<= ;U ;Q|7pFt)Ft>#to?5:Fp;T|;Q : @p;U ;T|{;Q|:Fdp;T0;Q : p;U ;Q|<<:p;Uv<:p;Uv<<:q;U:q;U<<:<Cq;U} <<:hq;Uv<:!q;U ;T|:q;U|:q;Uv<<:q;Uv:r;Uv:,r;Uv:Dr;Uv:!ir;U ;T|: r;U ;T|;Q:!r;U ;T|:r;Uv:r;Uv: s;U ;T|;Q<:9s;Uv<:^s;Uv<:s;Uv:s;Uv:s;Uv=;UvYZZ}[L[L\8q8r5i8rc5ctxS F6I5msg;6G7|y9 F :`4u;U1;T ;Rz:Nu;Uz:su;Us;T :u;Us;T :u;U ;T}:u;Uv:!u;U ;Tv: !v;U ;Tz:Fv;U ;T}:`v;Uz:!v;U ;Tv: v;U ;Tz:v;Uv:v;U{:v;Uz:w;U ;T}:!Bw;U ;Tv: iw;U ;Tz:jw;Uz;T4:uw;T4:uw;T4:jw;Uz;T4<<<: %x;U ;Ts:!Jx;U ;Tv:qx;U ;Tz<: x;U ;Ts:!x;U ;T{:x;U ;Tz:y;U :8y;U ;T}:Wy;U =;U ;Tv:,y;U0;T0;Q :my;Uz;Tv:`y;U0;T ;Qz;Rz:z;U ;T1;Q1:Jz;Us;T ;Qv:sz;U ;T1;QD:z;U ;T1;Q<:z;U{;Tz;Q}:ċz;U ;Q : {;Uz:H{;U{;T ;R ;X0;Y0:u{;U{;T0;Qz;R}:{;Uv:{;Uv:{;U{;T :{;U ;T1;QO;R~:|;U}<::|;Uz<<<<:<l|;Us:!|;U ;T}:|;U ;T1;QK:|;U ;T1;QL;R~<<:u};Tp:u.};Uz;T`<<:!`};U ;T}:x};Us:<};Us:!};U ;T}: };U ;T};Qz<<<:!!~;U ;T}: N~;U ;T};Qz:!s~;U ;T}: ~;U ;T};Qs:!~;U ;T}: ~;U ;T};Qs:;Us:;U}: I;U ;T};Q~:a;U~<<:;Uz<<<<:;Uz<<:;U :;;U :c;U ;T~:;U :;U :ɀ;U ;Tv:;U ;Ts:;U :/;U :N;U :v;U ;T~:;U ;Ts:Ɓ;U ;Ts=;U ;TsL55 5 Qe]`^fd&q U_7yT`;`Z'Z=aargQLarc[bval\<؍:;T};Q::13;Us:K;Us:c;Us:{;Uv:;Uv:;U}:!Ѓ;U ;Ts:!;U ;Ts:!;U ;T0:!>;U ;Tv=!;U ;Tvc8 5J::ċĄ;U ;T =ы;U dы;U e+ f@L#gval@YhT)BUsbDB ffh82ih1itht4htNi\̅h\1h\JiKhK3hLhMigx)1j7CчA%7A077bA@77AS7:;Uv=!;U ;Tv7Ab7:;Us=!;U~;Ts>77S@k%7k07:.D;U <ˍ:Hk;Uv:Ȏ;U :!;U ;Ts=!;U ;Tvj2? 3d3;UU;T0j2a?2A27`A27A2<=!;U};TH:;Us:ψ;Us: ;U ;TH;Qs:!!;U ;TH:!G;U ;TH:!m;U ;TH:!;U ;TH:!;U ;TH:!߉;U ;TH= ;U ;TH;QsjlA?~A?AlAmlA ?A?~AnkAdA;UUj!?'!?4!AA!<M!: !;U};T~;Qs:9;Us:!^;U ;Ts=;U ;Tv $ &;Q1o F ppppo L pqB qNqKppppo#qoooooooq`oq#o]q^q$ %qKopqpq%ppo%o#YqqiqX pq& q% pq'qGo a q(% o%o nq) q)o%OpqHq o b q8 pppqrq"q*"q" q"!q+qF% U: ; 9 I$ >  : ;  : ; I8  $ >  I &I  : ; 9  : ; 9 I8 : ; 9 <I!I/ 4: ; 9 I?<!: ;9 I4: ;9 I?< : ; 9 I8 & : ;9  : ;9 I8  : ;9 I 8  I8  : ;9 I8 > I: ; 9 ( 'II' <!> I: ;9 " : ;9 # : ;9 $ : ;9 I%(&(' : ; 9 ( : ; 9 I)7I* : ; 9 I+!I, : ; 9 -4: ; 9 I.!I//4: ; 9 I?04: ;9 I14: ;9 I?2 : ;9 3.?: ;9 'IU@B4: ;9 IB54: ;9 IB6 : ;9 7 U84: ;9 I94: ;9 I:1;B<1=1>1RBUX YW ?1B@ UA41BB1RBX YW C.?: ;9 ' D: ;9 IE.?: ;9 'U@BF4: ;9 IBG1RBUX Y W H.?: ;9 'U@BI 1UJ1RBUX Y W KB1L.?: ;9 'I M N O: ;9 IBP QR.?: ;9 'IU@BS4I4T.: ;9 'I U: ;9 IV.: ;9 'IU@BW.: ;9 '@BXB1Y.?: ; 9 'IU@BZ: ; 9 IB[4: ; 9 IB\4: ; 9 I].?: ; 9 'I@B^: ; 9 I_: ; 9 I`.?: ; 9 'I@Ba: ; 9 IBb4: ; 9 IBc.: ; 9 '@BdB1e.: ; 9 ' f.: ; 9 'I g: ; 9 Ih: ; 9 Ii.: ; 9 ' j.1@Bk41l41 m1RBX YW n o.?<n: ;9 p.?<n: ; q.?<n: ; 9 U_U_U_U_U_U_U__U_T]T]T]T]T]T]T]T]T]T]T]T]T]T]T]T]T]T]T]T]T]]T]T]T]T]T]10]P101P1]111PPP_]]]^VVV0SsSS^sS]UVUVUVUVUVUUVUP]]]P]P]]]]]]]]V}V}}VVV}}}}}V0}}P}1}1}1P}}1}1}1}1}1P}1}1P}P}}}}}}#[[}}}}VV P ]]V|x|xV P ]]VUUUUUT]T]T]T]T]T]T]]QQQQQR^R^R^R^^SUSST]]T]SSSSSSSSSSSSVVV\\\USUSUUSTVTVTVV^]R^]^^^]P]P]]^^]]PPUQVUVUVUVUUVUV U  PPSPSSSPSUSpUSUSpUSUUTTTTTPSS`PSSSSPS`SSSS``SP]]]P]]]]]]]P]1111PP Ps  SSS]] Ps  SSSUSUSUSUSUUVVVVVPSSPSSSSP____P_______P_XXvPPv1US}`US}`}`STVTVTVVTVP\X\\P\\PPUSUUSVsuU#VsVsVsVSSSSVVV\\\UUUUQQXUVUVUVUUVUUTTT~TTQQQ~QQR\R\R\R\R\R\R\R\R\R\RR\R\R\R\R\R\R\R\R\R\R\R\R\R\R\R\\T~~~~~~~PPP~PPPPP~s@X~0XX~X~X~0X~CCCCCCCCCCs@s@s@s@__________PPP~PQPPP~PPQs@s@s@s@|XX~P~PP~PPPPPs@s@s@X~X00X~X~00P~PP~PPPs@s@_0_0__0PPP~PPP~Ps@s@YY~0Y~Y~0Y~Y~0Y0\P\PP~P\P\\\Ps@s@\00\11111111s@s@s@s@s@UVUVUUVUVUUTTT~TTQQQ~QQR\R\R\R\R\R\R\R\H\H\H\R\R\R\R\R\R\R\R\R\R\R\R\R\H\R\H\H\R\\T~~~~~~~PPP~PPPPP~s@_0_<<<<<<s@s@s@s@s@___________PPP~PQPPPPP~Qs@s@s@|XX~P~PP~PPPPPs@s@s@X~X00X~X~0P~PP~PPPs@s@Y000Y~PPP~PPP~Ps@s@PT_0_222222s@s@Y0Y~000PPP~P~PPPs@s@PT\0\222222s@s@T\0\55555555s@s@U^U^U^UU^U^U^U^U^UUT]T]T]T]T]T]T]TTVVVVVVVVVVVVVVPz0zzzzzPzzzzzzzzzzzzPzPz]z]zzzz]z]zz]]P{P{{{{{{{{P{PVVPVVVVVVPVPPPPPPPzPU~UU~UT~TT~TQQQ~QRVRVPP~VSVVSVS\SS\SVVSS\\UUU\U\U\PPPPHPHPHPHPHPPHPPHUUTTTUUU^UU^T\TT\0VPVP0VL y?, /home/osmocom-build/jenkins/workspace/osmo-gsm-tester_build-osmo-hlr/inst-osmo-hlr/include/osmocom/core../../include/osmocom/mslookup/usr/lib/gcc/x86_64-linux-gnu/8/include/usr/include/x86_64-linux-gnu/bits/usr/include/x86_64-linux-gnu/bits/types/usr/include/usr/include/x86_64-linux-gnu/sys/usr/include/netinetosmo-mslookup-client.clinuxlist.hutils.hmslookup.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hunistd.hgetopt_core.hgetopt_ext.hstruct_timeval.hsockaddr.hun.hlogging.happlication.hstdint-uintn.htime.hsignal.hselect.hsocket_type.hsocket.hin.htime.htimer.hsockaddr_str.htalloc.hmslookup_client.hnetdb.hmsgb.hmdns_sock.htalloc.hmslookup_client_mdns.hstring.hpanic.hsocket.herrno.hsocket.hmdns.hstdlib.h ~ q tJK t~J.؃.4 4}  fr& .& < I W U  }<< <}<;<< }<< ւf2uIgI;IFIK B> Bf>J?Xf f   2  J J8.}6 ;  f f  X<y  JJfu8..54   (< )  t  <K..P %XY<- t J     6 =vt<X % Jf r..  b J  jk<t8><Bt>f t< b J  &JtK(, ov*I/;g6X.r  f f J  'x( 6vtt<XX  J  J  *I/;g6X.i  f f J  , v<-tAtXx6vtt<XXf  J  J %=Xtz.X.v<$XXtfX.mXYW)XXd f$X X tTXS 8XlpXVU**/*KIYeWtr YWf mW wX+ vt".t..fZO v yt< >BYt.f.+t.tX . X2 Yuffw<<<><< ?<  X< r ut  @Ǻ.  .yZf F|  r= .J" t H t,oX;X<<><;:X ><><XY, t "gJ)l.;.7t?sbHtAJ yXD.  I.{.mt .& u J%K t$"CuG?t?&XX6fXF&/TXf*X;h<< {;;<y< 'DpuX.  X[XXXXX ~,C8 7/l. <= <X.&t_ tLK -Y #U0#]X 4-!X =WY YXX v`ftXhIYf;y<<v  Bn+& -] ( unX <4 vX 0V1q h,wX#/#WXfYJJ# tJ #fXt2 ~[eJJuaX7zfXXpz<8%<Xw wX+) "J[XJ0 Lu(/mJJ fJ~x(`x%7fJ<6u%[J,\&))JL;2<7w<ss<r<X /HroEZZVvY@X%<f=+3 Xuf.+ KK<B^Ye<YY/~'X]u#X yy<YmX//]usX$TA"fJfmu,X<fDfX* t u tYX'?f~f JXYX#/<f<+XJD$<)WX2#fJtyvgzl~8fk)  .AX<k^Xf66YfX~8 -XX o$\X g=YX'Sf$f'-XjXsXX#~X<Yz YXzX$socklen_tllist_addosmo_panicsize_tsa_familyLOG_FLT_BSC_SUBSCRlog_target_destroyquietprint_timestampresult_cblog_filename_posresult_formattail_IO_codecvtLOG_FLT_GB_NSVCosmo_mslookup_resultlog_target_typelchan_IO_save_endin6addr_loopbackosmo_stderr_targetsock_pathgsmtap_instlog_infollist_emptyai_flags__func__SOCK_RAW_sys_siglistosmo_mslookup_result_code_name__builtin___ubsan_handle_add_overflowstrtollstart_query_strosmo_mslookup_result_name_c__asan_report_load1__asan_report_load2osmo_gettimeofday_override_time_IO_write_base__asan_report_load8ai_next_talloc_free_lockLOG_CTX_L1_SAPILOG_TGT_TYPE_VTYtype__builtin___asan_handle_no_return_IO_save_baseminvalmdns_domain_suffixformatter_tai_canonname_data_chainendptrdata_lenpriv_cur_columnsys_nerrdo_sendosmo_mdns_sock_send__uint8_tfilter_fnresultLOG_CTX_VLR_SUBSCRlog_set_print_filename_pos__environsockqueries_LOG_CTX_COUNTlong intSOCK_RDMraw_outputstrchrtimeoutshas_argFORMAT_JSONsocket_client_close_IO_markerprint_ext_timestampmainputsformattersprint_filename2__builtin___ubsan_handle_sub_overflowlog_set_print_extended_timestampheadLOG_FILENAME_BASENAMEsd_journalprint_versiongsm_lchansigned charuint8_t_IO_FILE__timezoneOSMO_MSLOOKUP_RC_NONE_IO_wide_dataLOG_CTX_GB_NSVCLOG_TGT_TYPE_STRRBLOG_FILENAME_PATHosmo_ctxSOCK_SEQPACKET__ubsan_handle_nonnull_argchars_neededosmo_talloc_contextsunsigned char_freeres_listtgt_gsmtapwhatg_bufosmo_sockaddr_str_from_strsocket_closeosmo_fd_unregister__tzname_Bool__ubsan_handle_load_invalid_value__builtin___ubsan_handle_out_of_boundsvalue__socket_typeOSMO_MSLOOKUP_ID_MSISDNprint_filenameosmo_init_logging2log_info_catcharSOCK_STREAMoutput_IO_lock_t__uint16_t__asan_handle_no_returnprint_levelLOG_CTX_GB_BVCparse_inttimevalLOG_FLT_ALL__errno_locationuse_colortimezoneprint_tidprogram_exitflags__ubsan_handle_sub_overflow_IO_read_ptrtgt_rbfp_offsetstrcmp__socklen_tstdinosmo_mdns_result_encode__llist_addnum_cat_usersys_errlistosmo_mdns_sockLOG_TGT_TYPE_GSMTAPosmo_strlcpy_markersin6addr_anyprint_filename_pos__ubsan_handle_out_of_bounds__va_list_tagmaxvalcmdline_optsmslookup_result_cbosmo_strbufprintfosmo_mslookup_idtv_usec__builtin___asan_report_store_nOSMO_MSLOOKUP_ID_NONESOCK_NONBLOCKlog_set_print_filename2_offsetlog_set_use_colorhost_v4long_optionshost_v6__ubsan_handle_add_overflowhostnameoptindenabledLOG_FLT_VLR_SUBSCR__builtin_fwritelog_filter__asan_report_store1long unsigned intformat_flags2talloc_named_constlog_set_print_level_IO_read_baseLOG_FLT_GB_BVCquery_with_timeoutoption_unused2ai_familyai_socktypeformat_strsun_pathwriteFORMAT_CSV_old_offset/home/osmocom-build/jenkins/workspace/osmo-gsm-tester_build-osmo-hlr/osmo-hlr/src/mslookupquery_by_handlesnprintfrxbuftz_minuteswestsenddescription__uint32_t__u6_addr8long long intrespond_resultGNU C11 8.3.0 -mtune=generic -march=x86-64 -g -O2 -std=gnu11 -fsanitize=address -fsanitize=undefined -fsanitize=address -fsanitize=undefinedfnameprint_fnosmo_mslookup_client_add_mdnsprefetchmsisdnlog_set_print_category_hexosmo_mdns_sock_init_IO_write_endfacilityformatter_csvprint_help__asan_report_load4LOG_TGT_TYPE_STDERR__builtin_putsgp_offsetdomain_strsocket_initrespond_errstrerrorsys_siglisttimeout__builtin___ubsan_handle_load_invalid_valueaddrosmo_fd_is_registeredai_addrlen_IO_buf_baseunsigned int_sb_remainbuflenosmo_log_infoquery_strs_lentgt_vtytzname__pad5socket_acceptosmo-mslookup-client.c__suseconds_tosmo_select_main_ctx_newloglevelsocket_ofd__builtin___asan_report_load_nosmo_mslookup_client_freeoverflow_arg_area_flags__builtin___ubsan_handle_type_mismatch_v1filter_datapriv_nrlist__asan_report_store8ip_strs_modeLOG_CTX_GB_NSEOSMO_MSLOOKUP_ID_IMSIlog_set_print_category__asan_report_store_n_codecvtin6_addrosmo_mslookup_client_requestosmo_mslookup_clientosmo_mslookup_id_type_namesrecv__ubsan_handle_type_mismatch_v1osmo_mslookup_client_newqueryLOG_TGT_TYPE_SYSLOG__mptrai_addrrequests_handledlong doublellist_delFILEhandleentrygetopt_longmslookup_clientosmo_mslookup_id_typeSOCK_DGRAMoptoptsockaddr_unselectlong long unsigned intsun_familysa_family_tsocket_read_cbreg_save_areasocket_client_respond_resultlog_filename_typeresult_timeout_millisecondslog_ctx_indexage_struint16_t__off_tsocket_clientvalue_stringtgt_fileserviceflagosmo_mslookup_queryosmo_mslookup_query_handlingsa_datacsv_headers_freeres_buflog_print_filterslog_contextosmo_wqueuemsgbprint_category_hexopterrquery_strlog_save_filterssockaddr__time_taddrinfoosmo_sock_unix_initLOG_CTX_BSC_SUBSCRosmo_fdwqueue_IO_backup_base_shortbufOSMO_MSLOOKUP_RC_NOT_FOUNDLOG_FLT_GB_NSEsocket_clientsargcglobalsocket_cbcolor__off64_tosmo_sockaddr_strlog_filter_indexargvmin_wait_millisecondsun_addrlog_finiexit_cleanup_sockoption_index_IO_buf_endosmo_fd_registerosmo_mslookup_result_code_names__asan_report_store4globalsSOCK_CLOEXECnamesave_fnfprintfportstart_query_strssocket_pathstrtokSOCK_PACKETstderrshort intnum_catwhenpriorityLOG_FILENAME_NONEget_value_string__builtin___ubsan_handle_nonnull_argident__builtin___asan_report_store1_vtable_offsetSOCK_DCCP__builtin___asan_report_store4__builtin___asan_report_store8__asan_report_load_ncb_doing_nothingosmo_str_startswithexit_cleanupacceptosmo_sockaddr_str_is_nonzeroosmo_mslookup_cb_ttgt_syslog_sb_l__builtin___ubsan_handle_pointer_overflowformatter_json__daylightresponsestrlen_LOG_FLT_COUNTrespond_str_stdoutLOG_FILENAME_POS_LINE_END_IO_read_end__ubsan_handle_pointer_overflowimsiosmo_mslookup_query_init_from_domain_str__u6_addr16LOG_FILENAME_POS_HEADER_ENDosmo_print_nLOG_FLT_L1_SAPIgsm_bts_trxuint32_t_filenotz_dsttimeOSMO_MSLOOKUP_RC_RESULT_wide_dataoptargfilter_mapdaemonosmo_gettimeofday_overrideshort unsigned intstdoutLOG_TGT_TYPE_SYSTEMDmdns_addr_IO_write_ptrllist_headdashmin_delay__builtin___asan_report_load1__builtin___asan_report_load2__builtin___asan_report_load4_osmo_strbuf_remain__builtin___asan_report_load8osmo_mslookup_result_codedaylightlog_category__u6_addr32__llist_delosmo_mdns_sock_cleanupnextlog_targetdatacategoriesclosefflushclientrequest_handleprevtv_secai_protocolquery_strsLOG_TGT_TYPE_FILEprint_categoryfwrite_talloc_zerolast__in6_uGCC: (Debian 8.3.0-6) 8.3.0zRx 05Dl8HBBA A(G0 (K ABBE L&BEB B(D0D8G9 8A0A(B BBBC $zRx ,LBEB B(D0D8GQ 8A0A(B BBBA LtMBBB B(A0A8J@ 8D0A(B BBBG $zRx ,L;BEB B(A0D8G 8A0A(B BBBA LPKBBE E(A0A8GF 8A0A(B BBBI $zRx ,(tAAR0E AAE zRx 0 L8#BBA D(G@ (P HDBN D (A ABBA zRx @$J@BKI D0C  CABE c  CABG zRx 0$VL4CBBB A(H0 (A BBBF X (A LBBA H|BBB B(A0D8G`4 8A0A(B BBBA zRx `(gdBBE E(A0A8D@7 8A0A(B BBBK r 8K0A(B BBBE zRx @(8aBBD A(D@( (A ABBA L BBB B(A0D8G0 8A0A(B BBBB $zRx ,6LUBBB B(A0A8J 2 8C0A(B BBBF $zRx  ,rL$KGI D(C0_(A BBBHA0Lt?BEB E(A0A8G 8D0A(B BBBA $zRx ,#DZ5#P7L  Wpb@xl W`y3>`4 4JVHg/J6bqUqr  Tl  @#!#$   h  ")@?DCWdy P&FOo 7M'k8?G_jq?; CK6JbvpWtW#  Y3<ZCI \|%  V_ el_pddaf ).5J`x[w ?|<NUa{ 0 J V w osmo-mslookup-client.cprint_helpsocket_client_closeformatter_csv.cold.3formatter_json.cold.4socket_cbcmdline_opts__func__.7620socket_accept.cold.5__func__.7493do_send.cold.6respond_str_stdout.cold.7__func__.7594socket_client_respond_result.cold.8socket_init.cold.9respond_result.cold.10mslookup_result_cb.cold.11start_query_str.cold.12socket_read_cbsocket_read_cb.cold.13long_options.7710main.cold.14_GLOBAL__sub_D_00099_0_parse_int_GLOBAL__sub_I_00099_1_parse_int.LC5.LC27.LC37.LC39.LC40.LC67.LC79.LC85cb_doing_nothing_GLOBAL_OFFSET_TABLE_putsosmo_fd_unregister_talloc_free__asan_report_store4__asan_report_load4__ubsan_handle_type_mismatch_v1__asan_report_store8__ubsan_handle_pointer_overflow__asan_report_load8__asan_stack_malloc_1formatter_csv__asan_option_detect_stack_use_after_returnsnprintfosmo_mslookup_result_code_namesget_value_stringosmo_sockaddr_str_is_nonzero__asan_report_load2__asan_report_load1__ubsan_handle_load_invalid_valueformatter_json__asan_stack_malloc_2socket_accept_talloc_zeroosmo_fd_registerstderrfprintf__asan_handle_no_returnosmo_panicfwrite__ubsan_handle_nonnull_arg__errno_locationstrtoll__asan_stack_malloc_4do_sendtalloc_named_constosmo_mslookup_query_init_from_domain_strosmo_sockaddr_str_from_strosmo_mslookup_result_name_cosmo_mdns_sock_initosmo_mdns_result_encodeosmo_mdns_sock_sendosmo_mdns_sock_cleanup__ubsan_handle_out_of_bounds__asan_report_load_n__asan_report_store_nrespond_str_stdoutfflushsocket_client_respond_resultstrlensocket_initosmo_sock_unix_initstrerrorsocket_closeosmo_fd_is_registeredg_bufstrcmpmslookup_result_cbrespond_errquery_by_handle__asan_stack_malloc_3start_query_strstrchrosmo_print_nosmo_strlcpyosmo_mslookup_client_request__asan_stack_malloc_5__asan_stack_free_5recvstrtok__asan_report_store1start_query_strs__ubsan_handle_add_overflowmainosmo_stderr_targetosmo_init_logging2log_set_print_filename2log_set_print_filename_poslog_set_print_levellog_set_print_categorylog_set_print_category_hexlog_set_print_extended_timestamplog_set_use_coloroptarggetopt_longosmo_mslookup_client_freelog_finioptindosmo_str_startswithosmo_mslookup_client_newosmo_mslookup_client_add_mdnsosmo_select_main_ctxlog_target_destroy__ubsan_handle_sub_overflow__odr_asan.formatters__asan_unregister_globals__asan_init__asan_version_mismatch_check_v8__asan_register_globals<%;,1<8=>@A$ 9)B6C@ <8EBT <9YBh |9mB| 7B 7B 9D <:BC |8D 8BE  8DE) |:.D= :BBlH0MhIJK$3I |7D\CRI <5D  <6 D0 \: I  <4 D \ I& 0 Iw  |-| D  |5 D  |4 D  I!I[ 6`DI -D 6D6LM$;I1>ILI\AI9CclICAEIVII#C? 1HDc <.hDIACW <1\Ds .|DFCCCCEC) |6.B;E@EEEO 3TBaAfEnEvE{EE 5BNE 4B 4DEEE EEA E%E-E2E:EBEGELCTEYC^CcChEpEuEzC 3B |0D 0BECECCEEEEEE  <7D1E;EB 5PDk |3pDzE |/BE .B H=P=?p= "u=B= "=D=Q=2=C= <"=D= !=D> !>B >C*> | />BA> F>DU> Z>Bg>Ct> D> |!>B> |>D> >B>C> >B>C? <?D,? |5?BH? Q?Bd? |"i?Bv?A? <?B?E? ?B?E?E?A? < ?B?@?H@3@^A_ BNBAB@$B@,B@bBEqBFB |BBB BBB <BBB BBC  CB:CHaC4G\4GbGcG]J J]KdL WL WLWLWL!L[LWMW!M<"+MXCM W\MWwMWM"M[M WMWMWM"M[0Ne6N W?N WON!YN W`N#gN;N@N WN9N WNfN WNgNhOiO$8P?cP WP PWQWQ<#"QX9Q WQWQWQ|#QXQ WRW+RWHR<$MR[ZR@_R@iRAnRCsRC{RCR RBR!R\!R WRWRWS#S[S W/SWJSWgS|$lS[{S SjSES SBS |SDS <SjSAT TBT TD*TE4TE>TAHT QTjpT |yTBT <TDTkT2TlTCU`$Ul3Ul8UCBU |GUBVUleUkmUEuUCU |UBU <UDUEUCU UBU UDU UB V <VD!V |&VB8V =VDJVERVE_V <dVDqVEyVE~VEVEV@VEVEVEVEVAVEVEVEV |VDV VBW WjWEW !WDBW <GWBXW |]WjgWEuWnWnW$WXWnWEWnWE XqXXVgX W|XWXWX4X< XAX XDY <YBYE;YsAY WPYRWY W]Y WhY $WmYUY WYWYWY%YXY WY>Y WZ^IZtPZWgZWZ<%ZXZEZ ZBZAZEZ TW [ TW,[ u[ Wz[v[ W[=[ W[>[ W[ [B[E[B[ <[B[E\ | \B7\ dWP\x\y\y\m\ TW\ TW]z]y]p_^ Wy^ <^B^E^ |^B^ ^D^ <^B^N^ ^B_ | _B_E"_ '_B1_E8_x?_ D_DY_ <b_Bu_ |z_j_N_ _B_ DW_ DW?` <#awxb%bAbAb |bDb bBb bBb bBbEbB c cB#c (cD7c <d CdBUd <ZdDd DWd DWe < eAeAe | eDe eBf fB,f 6fBHfEXfBlf vfBf | fBf < fBf fDgHg5Og Wg W,h{Ihhhhh]iqi WjwCj VJj'TjTjjcj WjWkW*k<(4kX>kwEk(Mk?ckW~kWk\'kXk WkWkWk<&k[lw6l Y\h =mO <@O ?\ =OO |>O >O ;O  <\ <#O/ <;4\C |<HOW \=\Ok >pO| <\:4#O<h`<<;,<m;; 4R'MBQWSlUQ}SSRRMMML#Q8QMPaLMuLLWXpXXYpZ/YDZXT^s]]]iaonjk'k8kI kjRh}iivnnnHns2uWthuyY   8MI^ v{fE   o L ` 2 (95 M auBH27P*_b V0:NXls T+0/s}] W W W W W#d. W3L? WZrWyW\+X  >>>>??@????@@P@@@@ AAAA B0B`BB C0C`CCCD`DpDDEE@EEEE@FFFF@GPGGGG HHHHHII@IIJ`JpJJKK@KKKK@LLMM@MMMM@NPNNNN OOOO P0P`PPPQ`QpQQRR@RRRRR SSSS T0T`TpTTTT0U0 U 1@U`1`U1U1U 2U`2U2V2 V 3@V`3`V3VGVPHW HWPW HWXW XW`W XWW4 X0X@XPX`XpXXX X2XX @XCY Y 8YT@Y`Y xYeYY YvYY @YZ Z 8Z@Z`Z xZZZ ZZZ @Z[ [ 8[@[`[ x[[[ [[[ @[\ \ 8\ @\`\ x\1\\ \B\\ @\S] ] 8]d@]`] x]u]] ]]]]^ ^ @8^@^`^ x^^^ ^^^ ^_ _ @8_@_`_ x___ _ __ _` ` @8`/@``` x`@`` `Q`` `ba a @8as@a`a xaaa aaa ab b @ 8b@b`b xbbb bbb bc c @ 8c@c`c xc cc ccc c.d d @ 8d?@d`d xdPdd dadd dre e @ 8e@e`e xeee eee ef f @ 8f@f`f xfff fff fg g @8g @g`g xggg g-gg g>h h @8hO@h`h xh`hh hqhh hi i @8i@i`i xiii iii ij j @8j@j`j xjjj jjj@j k k 8k@k`k @xk+kk k<kk kMl l 8l^@l`l @xloll lll lm m 8m@m`m @xmmmmmm mn n8n@n`nxnnn nnn no o @8o'@o`o xo8oo oIoo oZp p @8pk@p`p xp|pp ppp pq q @8q@q`q xqqq qqq qr r @8r@r`r xrrr rrr r&s s @8s7@s`s xsHss sYss@sjt t 8tz@t`txtttttt @tu u 8u@u`u xuuu uuu @uv v 8v@v`v xvvv v"vv @v3w w 8wD@w`w xwUwwwfww wvx x @8x@x`x@xxxx xxx xy y 8y@y`yxyyy @yyy yz z 8z @z`z xz zz @z. zz z? { { 8{P @{`{ x{a {{ @ {r {{ { | | 8| @|`| !x| || @!| || !| } } !8} @}`} "x} }} @"} }} "} ~ ~ "8~ @~`~ #x~- ~~ @#~> ~~ #~O   #8` @` $xq  @$  $   $8 @` %x  @%  %   %8 @` &x  @&  &   &8, @` 'x=  @'N  '_   '8p @` (x  @(  (   (8 @` )x  @)  )   )8 @` *x  @*  *+   *8< @` +xM  @+^  +o   +8 @` ,x  @,  ,   ,8 @` -x  @-  -   -8 @` .x  @.*  .;   .8L @` /x]  @/n  /   /8 @` 0x  @0  0   08 @` 1x  @1  1  18@` 2x) @2: 2K  28\@` 3xm @3~ 3  38@` 4x @4 4  48@` 5x @5 5  58(@` 6x9 @6J 6[ 8l@` 6x{ 7 @7  78@` 7x 8 @8  88@` 8x 9 @9%  86@` 9xE 9V :g  @:8x@``x : : 8@` ;x @; ;  ;8@` <x  < </  =8@@` `=xQ =b =s  >8@` >x > ?  @?8@` ?x ? @@  @8 @` @x A. A?  A8P@` Bxa `Br B  C8@` `Cx C D  `D8@` Dx E @E   E8@` Ex- @F> FO  F8`@` @Gxq G G  H8@` Hx H I  @I8@` Ix J `J  J8"@` Kx2 @KB KR  K8b@` @Lxr L M  @M8@` Mx M @N  N8@` Nx O O  O8"@` Px2 `PB PR  Q8b@` `Qxr Q R  @R8@` Rx R S  S8@` Sx T `T  T8"@`x2 TAЬ X3N 0X  48N@P @X``4xN PXxWЭ `Xح Wb pX  W8j@P X` xw%~ 3 `8@`x`1` 48@` x*1 `8@`x`3( ,8@`(x%`+ 8@`x )- 08@`-x$#+@(2 `89@` x@+GN 28T@` !x\,c`.j &8q@`#xx!`2 @%8@`*x$`! $8@`x`$ `,8@`.x -   .8@`x"`' 8@`0x3   08@` x!&(`)/ @86@`x=@"C'J  8Q@`xW2^'f #8m@`)xt 1{ 8@`@ x + *8@`x( @&8@` 2x!1 @$8@`@x  8@`.x@# @8@ X !@ ( -  -  -  +% ,* -8 - = -I - U -a -m -| - - -c - -@ -A - -] - -b - -Z -  - - -, -9 -F -DS -< ` -&m -z -  -  - - - - -C - - -  -  - -# -0 -^= -E J -VW -$d -q -~ -  - -s  -D - - - -  - -v% -:1 -X -d -q - -/ -  -/ - -l  - - - -s  -. - -- -9 -E -R -_ - } - -P -6 - - -8 -S -\ -f - -'& -7 -K -Y -g - u - -8 -X - - -Y - -. - - - -(# -J? -KM -[ -i -# } -  -s -8 -  - - -  -Q  -8 -  -C -# -) -/ -[5 -d; -A -H --Z -6` -f -J l -0r - x -~ - - - -  - -@= -P -tV -\ -b - h -)n -"t -}{ - -a -< - -v - -* -  - -  -X - c -q - - - - - - - - - - - - - - -j -] -X -&  - -* -SC -P -~ -n - - -O - -W - -. - - -Q -& - -h  -$ -a -_n -O -L - -] -= - -H - - -' -4 -A -O -Na -xn -h - - -r - - -|  - -q+ -S H -U -i -P{ - -  - - - - -  - -_  -t # -J6 -h -y - -C -' -l -c -= -|  -  - -  - - -I[ -f -s - - - - - - -" -R -_ -y - -  - -A - - -2  - -  - -  -L  -V$ -1 WK -Xyy - -A -b - - -  - W -" --0x9 -jH -Pd -6s - -P -6 - -I -# +p - )" ) -> ) ) )R )8 -p'0 +C )hG )bY -f -|s -g  T +w$+  2 G AZ k Av +0. ,:5  5 @? P @d +z `,!DIU # @@6 G ?Ve` +m}@ + T' W7' W1L`+\i~, -) x `B  " ?5 J AT 3i @?s L B +p ) ) ) ) +p ) )y F  , AV f   )8  )6 * >6\Mwd{._--'4@I WYZf { - A  y   @) @X U.o |  . J `.      ! . ; H2Ugj @~   ; ]/ >9 qN =X m =   >  >  ;  %  </  'D  <W  8l  @;v  L  <  `  `=  t  ?    =! - (! - 5! - N! -V! +`a! -6m! )w q! )[ ! ) ! ) ! - ! ) ! ) ! ) ! ){ ! +! -! -! )! )! -2 " )" ) " +p" -#"n-"nJ" )!N" )T"h"h"n"&"q" @ #q$#q<#qI# ^# Fh# y# @G#k#k# )H# )F#k#k# )o# )m# l$h5$hS$kh$@&}$m$m$m$`n$'%o% 3%uq@%qU% d%qq%q~% % G% &% G% % F% % @F &i&i4& )8& )=&j[&8ke&8k& )& )&Bk&l& +& )& )& )C& )?&l& +& )& )y' )' )' )F' )B']p/'opD' @Z'po' 'p'p' 'p'p' 'p( @&('o0('oM( )~Q( )|V(1op(Mh(i(Xj('(j(j)8k*)@(:)QkU)(_)kz)`')El)'o)()@o) ))Jo)Oo *Uo*vo.*;*(H*Y*of*o{* *p* *p* @ */p* +Kp+ -+pB+ R+pg+ w+q+%q+ +Aq+ @+^q+ ,mq,q,q+, @, DJ, _, Er, 7, @E, H, D, Y, H, e, |- E -  - E3- D- `D^- -f- +q- -}- )- )- -- )A- )#- -- )- )}- -T- )- )- )- )-_- +- )@- )6. + . ) . ). +#. )'. )1. +0>. )SB. )MG.b_.cz.b.b.b. .b. .b/ /b4/ D/cY/ i/,c~/ /@c/ @/Tc/ /a/ +p/ )/ )0a0 +"0 )&0 )/0 )@30 ):80cP0ce0 u0c0d0 0d0 0hc0 0c1 $1c91 @ I1ca1cv1 @1c1'a1b1&1rc1c2 23d%2 52GdJ2 Z2^do2 @2 2 H2 - 2 -2 -2 -2 - 3 -63 - !3 +,3 -683 )<3 )K3 )CO3 )5^3 )b3 )q3 )u3 )z3\3 -3 )<3 )83 +03 -3 )v3 )r3_3+_3 3 +`4 -4 )4 )4^34^D4 U4\f4y4\4y4]4]4y4^4^ 5 @5^15 I5^^5 @n5^5^5 5_5 55_5H_5 6f_6 @-6~_B6 R6__6_t6 6 W6 H6 m6 I6 6 I6 7 @I7 -A7 -T7 -c7 -r7 - ~7 +7 -7 )7 )7 )M7 )E7 )7 )7?Y7qY8 W 8Y(8%88YE8ZR8MZ_8Zt8@%8Z8Z8 8Z8Z8 8 J8 9 J9 .$9 `J79 CH9 K\9 - h9 +@9 )9 )9 -}9 )9 )9 )X 9 )2 9 -Y9 )!9 )!9 -F939 +: )# : )#: )#: ){##:T;8:H:;c:@ p:3:z?:?: @:?: : @R: : R;9; +p-; )#1; )#:; )P$>; )J$G;9Q; +]; )$a; )$j; )$n; )$w; )n%{; )h%;$>;>; ;>; ;><>< %<>2<?G< @^<9?o< <8<8<@<9<;<;===,=<D= <Q=<i=<=z<==<=@===T==>y=> #,>=A> "W>=o>=> @">>> !>>> ">3>> ?J>$? :?^>O? !_?k>w?}>? @!?>? !?U?? ?m?@ "@?&@ 6@?C@?P@?h@?}@ @ @?@ N@ S@ c@ S@ |A S A A T3A DA RmA -A -}A -A +@A )%A )%A )&A )&A )1'A )!'A -7 B -Y B )'B )'B -6'B )*)+B )$);B ){)?B )u)DB -LBxuUBryBVsB`)BosB7tB*BtByCt+Cy5CtNCtfCt{C*C=uCuCuCuCuCuC @DvD)8DFvMD cDZvxD DvD DvDvD DvD Ev&E 6E wKE `E3wuE EJwE^wE @EmwEwE EwFwF %Fw:F @JFw_F tF&xF F5xF F CF 1F CF L G BG g&G `C1G -9G +NG ))RG ))WG -cG )*gG )*xG )n+|G )^+G ),G ),G -FG 4GXG\XGXG@ H 4 HX"HX7H MH YbH @rHYH H @KH H KH H KH -HP I )Z,$I )P,5I ),9I ),BILI +0]I )-aI )-jIbtI +I )<.I )6.I ).I ).I:III @8IIJ 8J+J 88R )>=Rh2KR#hRrR#R *R(R *R2R2R +R2S3Sd3*S37S3DSE4^S5kS 4|S `TS + S - S )?S )>S -S ) @S )?S$S$S )@S )@Sn%T%T%:T )JT)&jTtT$)T )Tp/T2T2T @*T2T *U2Un3U{37U3DU;4QUJ4^U5sU #U6U @#U +U - U )AU )@U -U )AU )AU,U, V )rBV )nBV,"V,=V MV0gV wV.1V1V 'V4V4V4V4V ( W5W5-W #=W(6RW @(jWK6W (We6W 'W6W6W @$W 7W%7W $X + X - ,X )B0X )B5X -AX )4DEX )DNX-XX-uX )AEyX )=EXo.X.X`X/X`Xw1Y &Y4'Y5d -Jd )TNd )TWdlad +rd )Uvd )U{ddVd dd @5d d 5eIer)e>e 5Ne[e]heyuee?ee e Te +e - e )Ue )Ue -e )Ve )Vf f ,f )W0f )W6f> Yf`cf xf @4f f`f f 4f`ff 5 gg 46gCg$Pg1hg6ugggggXg -gqg @-g +g - h )Wh )W h -h )uXh )cX"h,hIh )8YMh )4YSh`h?hhhh=hLh 1i~ i)"i @32i6?iLidiyi 3ii 2iii 1iij 2jI)j @2AjlRj 2cj +plj - xj )|Y|j )rYj -j )Yj )Yjj +j )Zj )ZjBjjpjk k`5k @1EkRkjkk 1kkkk +0k - k )Zk )Zk -k )y[k )g[k k l )<\l )8\lBlRlrllEll .ll /ll / mm @/6mKm .UmMjm 0mfm @0mxmmmm7m / nn%n:n + Cn - On )\Sn )v\Xn -dn )\hn )\qn{n +p n )]n )]nZnnnn'nl o @.o)oAo{Nofosoo .o +o - o )]o )]o -o )7^o )'^o o +o )^o )^o4 p p +p -Ap [p epzp -ppjpp)pFpPp:qq,qDqQq?iqDvqXq 4qeqzqqqq>rX-rtErZr 3jrr 0rr 0rr5rtr 3s"ss:s}Gs_s#lsssss -$s +`s -s )K_s )%_s ->s )`t )`t -6t )pbt )Tbt -Q&t )c*t )c/t -[t )e_t )ae|t )0gt )gt -Ft`4t -t )cht )Kht -_tOt )]it )Wit -jt,Ot +t -f t -u )i u )iuJ5u KOu&Qju@#tuQu#uSu uSuSu uSv "vS7v @GvSav Tvv v!Tv v.Tv8TvBTvUTw w}T3w CwTXw @jwTwTwZUwiUwVwVwVxVx &xV;x Kx W`x rxWx%Wx xKWx @xaWx x <y Ny k&y N9y Ny OXy Liy O}yGy`4yGyGyL z! z/M;z@"KzM`z"tzNz#z4NzkNz#z WzN {N({ W5{9I{Nv{N{O{q9 ):qHPxRPxk )yqo )wqx )q| )qPxUx`xΊ )qҊ )qۊ )brߊ )Xr )r )rxx"x:yO _yp  - - -5 -2 - - - -: -f -ŋ -ɋ -ҋ -(֋ - ݋ -V -V - - -s -s -6 - -Q - -|  -" -& -- - 1 - : -> -F -- J -- S -nW -n` -( d -( m -)q -)z -Z ~ -Z -n -n -M -M -k -k -a -a -Q -Qƌ -Kʌ -Kӌ -׌ -ߌ -, -, - - -C -C - -H - - - -& -* -2 -6 -= -A -H -L -U -=Y -=b -6f -6n -vr -vz -h~ -h - - - - - - -k -A -l -l -č -̍ -Ѝ -ٍ -Bݍ -B - - - - -l -l - - -' -'$ - ( -/ -3 -; -? -G -. K -. T -sX -s` -d -k -%o -Lv -@z - - - -u -u - - -, -, - - - -Ɏ -k ͎ -k "*/5/=HP5^5fqyH H ~ ~   U U       (0?; lC N V d l // CC-5@H5V5^xixq??SSeejj H #H +! 6! >& L& T _ g u }L L ] ]   7 7 ? ?       ! , 4 B J U ] h pD{DUU   ::'?5?=?H lP }[ }c q y   Q Q             R/Zfnz0055! ! & & U U    * 2?> lF hp${ e sH   %08H C K V^    H        8  @  w f  g  g h h k k k k l l l l Eo Eo Oo Oo o. o6 oA oI qW  _  Mm  Mu  n  n   [j lj lj Vk l sm n Eo Oo To# To+ vo6 o> oI oQ hq\ qd qo qw q q q          <  M     g ih& ih. i; iC iN kV lc smk nx Eo Oo o o o o mq q q q q q        +  M"  n-  n5  A  I  V  ^   Mh ih ih i k l sm n o ooomq%q6q>qOqWqh p   + e n    hhhki'l/l:enBnOqWqdqlqy    dikikitiuqqqq!n)nHkPkokw lij8kBklcm HWcmnmUpp& HWClKnmVUp^pl>m>mnmUptptpplcm HWcm nmUpp) HWFlNnmYUpap~'o1o___cccccd  A_I_T_\`g`o`}`aabbcc c cYcYcmcmccccc& d1 d9$dG$dOcdZ b ___cccccd  __$_,`7`?`M`Ub`bhbvb~cccccd  `}b}bbYccd  @_H_S_[`fbncyc c cYc_```bYc_ E`bb*c2YcSE`[`f`n`ybbanbYcmcc$da;bc cc$d@aH;bSc[cfcn$d \E\E\O^O^s^s^___ H \ \ C \KE\VE\^j^ij^qs^s^o_o_r_r__ H \"]"]o]o]x]$x],p^7s^?^J^R0_]_e_p Hx \S]S]f]x]^s^^^^^ _ \ <\D"]O_W0_v\~"]__S]f]s^^^^ Y!5Y,5Y4>Y?>YGYRYZYhYpY{YYYZZZZZZZ       3" 3* HM YU[Y` Wi[YqpY|pYZ W  H WsYyYYYYYYY"Z*Z5Z=ZH P [ c -n -v 37778888;; <  <<#<+'<6'<><K<Sj=aj=i=t=|? > 777====?  >  X 8` 8k 8s :~ : h; h; ; ; ; ; ;  < < < _= = ^?!^? !l?!l? !?+!?3!?@!?H!?S!?[!?f! >n! Sy! l! ! ! ! ! ! ! !8!8"8"9";#";."<6"<A"<I"0<T"0<\"<g"_=o"j=z"="=">">"^?"r?"?"?" S" l" " " " #;#;,#r?4#?A# I# V# ^# #T;#q;# # #9#:# XW#:#:#:#:$> $$>$ XW$>&$B?1$ XWP$9X$:c$>k$$>v$>~$B?$9$v:$>$B?$9$:$ XW$:%: %:%: %>(%$>3% XW<%>D%B?O% XWn%9v%:%>%$>%>%B?%q% r% r%r%r%u&u&u&u"&v0&v8&_vC&_vK&}vY&}va&vl&vt&5x& & l&r&*u&3u&v&_v&v&v&5x& ' l1'r9'rD'rL'sW't_'tj'3ur'*YF*YS* [* h* p* *W* X* X*X*X*X*X*X*X*X+X +Y+ + (+ 0+ ;+ C+ n+Xv+&X+&X+X+X+X+X+X+X+X+X+Y+Y+Y+ + ,\X",tX-, 5, Z,Pb,pm,pu,,, , ,,,K,~,<,<, -- - '-7-?-2J-2R-N_-Ng-vr-vz------- ---2-b.v... <.bD.O.2W.Nb.j..b..2.N...pW.W.W.W /W/W/W&/W4/W000020202020*20*2070 0 >)111<1D12R12Z12e12m1*2z1*2171 1 >"2*252=2"'H2"'P2(^2(f2I)q2I)y2)2)2D*2D*2*2*2H+2H+2+2+2.2.2)/3)/ 38/38/3U/+3U/33/>3/F3W0T3W0\3T1g3T1o31}31313131313131323232323?23?23G2 4G24Q24Q2&4V244V2<43G43O4 3]4 3e43p43x4343434343434343434343434353 5"45"4564*56425J4=5J4E5b4S5b4[54f54n54|5454545454555555555656565656 6666 66(6<736<7;6b7I6b7Q67\6 d6 >666666? 6!6!6L26Q26[26c2 7373 73(74Y7a7l7t7? 7!7!7!7"7L27P27[27b2737373737374848"4-858l8)t8)8)8)8*8D*81818383838386868686 969696&96396;96G96O96Z96b969)9)9,*9*9t+9+919193939393 :Z4:b4:6':63:6;:6G:6O:6s:9){:):):*:J4:Z4:6:6: :!:";@";*;*$;L1,;T17;3?;13J;W3R;_3];3e;3p;3x;3;3;3;4;4;g!;!;";R";!$<K$ <K$<Z$!<*)<*4<*<<*G<W3O<^3Z<3b<3m<3u<3<3<3<3<3<3<3<4<4< < <)/=8/=u2=z2%=63-=;3L=!T=+!v="~=#=2=2=2=2=#=#=#=#=Z$>$>(>(#>(+>)8>+@>$+K> 3S>3^>_3f>c3q>;4y>D4>5>5>">">U/>`/>c2>m2? %?%%?n%-?%:?%B?%M?%U?)&a?`/i?p/u?2}?2?2?2?64?:4?:4?;4?5?5?6?6 @n%@% @%(@%5@)&=@s&H@)P@#)[@#)c@-)p@i3x@m3@s3@z3@64@:4@$@ %@V2@[2AJ, A,AW0 A0,A44A5?A5GA 6SA 6[AU6fA6nA6yA6A47A,A-A0A1A1A1A1A1A4B4B4B4#BU6+Bd66Bd6>Bn6KB6SB6rB,zBJ,B~6B6B'B(B&.B9.B.B/Cp/C/C4#C4.C46C4CCW5KCj5VCj5^Cu5kC5sC5C6C6C6C6C6C6C6C6C47C<7CD7CW7Cb7C74D'HIHQH_HgHrHzHHHvH H HPHHHHI II I(Iv6I >I IPIII/ I/ J J J !J )J 7J ?J JJ RJi`JihJsJ{J$J$JJJJJJJ'J'JJJK KPKPK,K4K?KGK'TK'\KUgKUoKn|KnKKKEKEKeKeKKKKKKKLLL%L0L8LFLNL$YL$aL)oL)wL>L>LFLFLKLKLPLPLLLLLLMMM&M.M/O7OhOlpO{OOOOOOOOO7O>O6O=OO P  PPP-sU{UUlUU8UHUzUU V V> V 'V /V :V BV NVHVV`bVjVuV}VVVVVVAVvV> V V W W WC !W )W 4W XkFXvuX?}X}XX X'XKXKXUXXXXXXXYYY8Y@YMYUY#|Y8Y=Y=YAYAYqY\YpYYYBZ ZpZ ZE(Ze4Z ^F^K^P^ ^/ _l_tK_ CS_YC^_YCf_Eq_Ey_E_E_]F_]F_mR_mR_R_R_U_U_U_U_U_U`7U`7U`PU(`PU0`iU>`iUF`VVQ`VVY`uVg`uVo`}Vz`}V`V`V`V`V`kW` ` ` CaYCaYCaF%aF-amR;amRCaRNaRVaTdaTlaUwaUa Ua UaUaUa(Ua(UaPUaPUaiUaiUa}Va}VaVbV bVbV bkW.b 6b pb DxbEbEb\HbLb)LbLbNbVRbRbTbUbUbPUbiUbUcVcNVcVV#c}V.cV6cVAc Ic +Tc \c gc Qoc chDcDcDcEcEcEcEcLHdL d)LdL dL-dL5dMBdVRJdRWdR_dRjdRrdRdTdUdUdPUdiUdUd/VdFVdVVd}VdVdVdVeVe e 'e /e q@xFqCxQqCxYqUxyqPxqUxqPxqTxqTxqUxq`xqxqxrx rxrx"rx*rx5rx=r ybr`xjrxurx}rxrxrxrxrxrxr yr`xrxrxrx sxsxsx$sx/sx7sxBsxJsxVsx^s y '  0508@2HbPvX`h b2NPv  P ( 08#@HPX5p8x@FJggYc0 (H0@#D (0F8K@]HbPgXt`yh~px?bb0@c0    H(0@8P@DHIPjX`Xh]ptxy5?  l@Pz }  ( 08@PH`PX`h$p)x>bgAv   {  e(j08@$H)P>XF`KhX # , /  (# (@ HP X`h:>@CI`@P`0Xy~6 (08@HvP X px@P`Hh .5808@HPX0`phHphx~ 6#A  0 X p ( 0 8 @ vH P X p x F M P  7    > F J N  !  " *2 22 G2 Q2 13( ;30 38 "4P hX p` vh zp x   !  " " $ `$ * * 0/ @/ L1 X1 u2 z2 3 13 d3 i3 n3( s30 38 3@ 3H 3P 3X 3` 4h 4   0/ @/ u2 z2 " $ `$ $ ( ) * $+ X/ `/ c2 u2 z2( 20 28 3@ _3H d3P 3X 3` 3h 3p ;4x E4 5 5    > " " X/ `/ c2 u2 $ & ) 0) $+ P+ `/( p/0 28 2@ i3H n3P s3X 3` 64h ;4p E4x J4 5 5 6 6 "' ' ( ( P+ x+ @/ X/ 1 111?2G2 Q2(c20383@3H3P"4X64p+'xS'Z'`'4(=(P+x+'(O-S-U-X--0/p/W001@1 X1(10484@5Hz5P5X5`6h6p6x6477  0)*x++--1133J4b4z55 6(60686@6H6`9)h)p)x)J4Z4+%-W001@1L11144455666 6(47@7H?P >X p9x:::>$>>B?9:::>$>>B?;; r?(?0 8 @ H ` ChkWp x \HaHgHgIkIIIIIL`PQuSTTTPUiU }V(V0V8fW@ +H FP [X p` h 'p <x QpWW  WY   YZ  H Z(Z0Z8ZPZXZ`Zh [p[x\)[0[8[][[[[[[[ \_ H 0\8\@_H0_`(]hS]p^x^_cd  ___`bYc____0<`8H`@`H`PbXcpaxnbYcmcc$da;bccc$ddddd e( e0de8e@DfHff`fhqp x Vhiiik lxmnoomqqqqqq    ( 0 8 +@ H P X phxkihnnqqqq    lnmUpplnm Up(p@qH5xP X lpx? l 5,2  ( 0 8 @ H-P2XU`h?p lx   Q  7    !:U  0=8@(H,P2X?` h7 p2x:)? l l    eux-(  (08@H P X pxH  y  ? S7?2W`Z_0 pdF d$q%@x%`xG& ( 4LPP d x7 >?T C pW( <W  Y$ 8Z \ H _ pddft q @x(`xx l!@.symtab.strtab.shstrtab.rela.text.data.bss.rela.rodata.rodata.str1.1.rela.text.unlikely.rodata.str1.8.rela.text.startup.rela.data.rel.local.rela.text.exit.rela.fini_array.00099.rela.init_array.00099.rodata.cst16.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.note.GNU-stack.rela.eh_frame @ y@8o&&`y  ,}6}4 1@&>2`R}M@&a2ucp@8& `` @& @0&ة@&@Ћ&Վ@&8?ys@g&>P@M`&,'@HNH&?n,:@8P&K0gWV0_t(o@H&$x'9 . Л~