6hSrSSKJr SSKrSSKrSSKrSSKJr SSKJ r J r J r J r J r Jr SSKJr SSKJr S rSqSqS rS rS r"S S5rSrSrSrSrSrSr \ RB"\ S\ 5 \ RB"\RS\5 \ RB"\RS\5 \ RB"\RS\5 \ RB"\ S\5 \ RB"\S\5 g)adiscover and advertise repositories on the local network The zeroconf extension will advertise :hg:`serve` instances over DNS-SD so that they can be discovered using the :hg:`paths` command without knowing the server's IP address. To allow other people to discover your repository using run :hg:`serve` in your repository:: $ cd test $ hg serve You can discover Zeroconf-enabled repositories by running :hg:`paths`:: $ hg paths zc-test = http://example.com:8000/test ) annotationsN)Zeroconf)dispatchencoding extensionshgpycompatui)rcutil)serversships-with-hg-corec[R"[R[R5nURS5 UR 5SnU$![ a Of=f[R "[R"55SSnSU;aSnURS5(dU$O,![R[R4a SnOf=f[R"[R[R5nURS5 UR 5SnU$![ a U$f=f)N)1.0.0.1rr:z 127.0.0.1127.)rr) socketAF_INET SOCK_DGRAMconnect getsocknameOSError gethostbyaddr gethostname startswithgaierrorherror)sipdumbips 9/usr/lib/python3/dist-packages/hgext/zeroconf/__init__.pygetipr"8s MM&..&*;*; < .! ]]_Q     %%f&8&8&:;A>qA &= F  ((M) OOV]] + MM&..&*;*; < .! ]]_Q    M s8AA A('A(,AB<<&C%$C%)AE EEc b[(dM[5nURS5(ag[R"U5q[ R "U5q[R"5RS5SnUS-nU<SU<3n[ R"S[R"US-5UUUSU-S .[ SSS 9n[RU5 [ R"S [R"US -5UUUSU-S .[ SSS 9n[RU5 g) Nr.rz.local-s_http._tcp.local.z._http._tcp.local./) descriptionspath)r port propertiesaddressweightpriority_hg._tcp.local.z._hg._tcp.local.) r r"rr inet_atonlocaliprrsplit ServiceInfor bytestrregisterService)namedescpathr(rhostnamehostsvcs r!publishr:Xs 6 W == ""2&""2&!!#))#.q1H h D %D    445 $(4$;? C 3    223 $(4$;? C 3cU"X5nURnURnURRSSS5R S5S-nUHupxURR 5n [ R"5(a0U R[RRUSS55 [RRU5n Xg-R S5nU RSS5n U (dU n [XX5 M U$![a UR5nUR =(d) [RRUR"5n URRSSS5R S5nURRSS5n U (dU n SSS5 O!,(df  O=f[W W WU5 U$f=f)Nswebsprefixr;r&s.hgshgrcr')r(reposr configstripcopyr use_repo_hgrc readconfigosr6joinbasenamer:AttributeError _obtainreporeponameroot) create_serverr apphttpdr(r=prefixrepor6ur4r5s r!zc_create_serverrPs " "E ::D, vy#6<277#3#3DII#>D77>>&)S9??ED77>>&.9D    dD$' L-(s* DG/5BG  G/ G G/.G/c&\rSrSrSrSrSrSrg)listenerc0UlgNfound)selfs r!__init__listener.__init__s  r;cd[U5UR;aUR[U5 ggrU)reprrWrXr typer4s r! removeServicelistener.removeServices' : # 4:& $r;cRURX#5UR[U5'grU)getServiceInforWr\r]s r! addServicelistener.addServices!'!6!6t!B 4:r;rVN)__name__ __module__ __qualname____firstlineno__rYr_rc__static_attributes__r;r!rRrRs'Cr;rRc #t# [5nURS5(ag[R"U5n[5n[R"USU5 [ R "S5 UR5 URR5HnURSURRS5nS[R"UR5<SUR<UR R#SS5<3nS U-[$R&"U54v M g7f) Nrr-r.zhttp://rr6/zc-)r"rrrRServiceBrowsertimesleepcloserWvaluesr4indexr inet_ntoar*r(r)getr r2)rr lvaluer4urls r! getzcpathsrzs B }}V   r "F A F$6:JJqM LLN!zz2EJJ,,T23   U]] + JJ     -  tmX--c222"sD6D8cUS:Xa2URS5(a[5HupgXc:XdM Us $ U"XU/UQ70UD6$Npathsrnrrz)origrXsectionkeyargskwargsr4r6s r!r>r>sI(s~~f55$,JD{ ' s 4T 4V 44r;cDU"X/UQ70UD6nUS:Xa U[5- nU$)Nr})rz)rrXrrrr=s r! configitemsrs/  0 0 0E(  Lr;cU"XU/UQ70UD6upgUS:Xa3URS5(a[5HupX:XdM X4s $ Xg4$r|r~) rrXrr4rroptsubzcnamezcurls r!configsuboptionsrsVD49$9&9HC(tv66(\MF~z!* 8Or;c[5H+up#X1:XdM UR[R5s $ U"U5$rU)rzencoder)rsourcer4r6s r! defaultdestrs6 l  >;;x001 1# <r;cU"XX45[(a[R5 $$![(a[R5 ff=frU)r rr)rr optionscmdcmdfuncs r!cleanupafterdispatchrs:B. 6 LLN 66 LLN s +"A  _runcommandr>rrrrJ)"__doc__ __future__rrCrrpr mercurialrrrr r r uimodmercurial.configurationr mercurial.hgwebr servermod testedwithr/r"r:rPrRrzr>rrrr wrapfunctionrjr;r!rs&# +/ #   @& RD C C3&5 -1EF (F3 -= "46FG M;7  ?4DEr;