o i¾nhÖã@s~dZddlmZddlmZddlmZdd„Zeddƒed d ƒed d ƒgd ¢Ze eee ddƒƒƒZ dd„Z dd„Z dS)z&A basic implementation of RFC 1924 ;-)é)ÚAddrFormatError)Ú IPAddress)Ú_zipcCs dd„tt|ƒt|ƒdƒDƒS)z2Returns all characters between low and high chars.cSsg|]}t|ƒ‘qS©)Úchr)Ú.0Úirrú=/usr/local/lib/python3.10/dist-packages/netaddr/ip/rfc1924.pyÚ ózchr_range..é)ÚrangeÚord)ÚlowÚhighrrr Ú chr_ranges rÚ0Ú9ÚAÚZÚaÚz)ú!ú#ú$ú%ú&ú(ú)Ú*ú+ú-ú;ú<ú=ú>ú?ú@ú^Ú_ú`Ú{ú|Ú}ú~éVcCsjt|ƒ}t|ƒ}g}|dkr| |d¡|d}|dksd dd„t|ƒDƒ¡}dt|ƒd}||S)z*Convert a regular IPv6 address to base 85.réUÚcSsg|]}t|‘qSr)ÚBASE_85)rÚwrrr r (r z"ipv6_to_base85..ér)rÚintÚappendÚjoinÚreversedÚlen)ÚaddrÚipÚint_valÚ remainderÚencodedÚleading_zeroesrrr Úipv6_to_base85sþr@cCsft|ƒ}t|ƒdkrtd|fƒ‚d}tt|ƒƒD]\}}t|}||d|7}qt|dƒ}t|ƒS)zC Convert a base 85 IPv6 address to its hexadecimal format. r4z Invalid base 85 IPv6 address: %rrr0é)Úlistr9rÚ enumerater8Ú BASE_85_DICTrÚstr)r:ÚtokensÚresultrÚnumr;rrr Úbase85_to_ipv6-s  rIN)Ú__doc__Ú netaddr.corerÚ netaddr.iprÚnetaddr.compatrrr2Údictr rDr@rIrrrr Ús   ÿþÿ