úÎ|6      !"#$%&'()*+,-./012345NoneNone0C ^This does not do an endOfInput check because it is reused in the range parser implementation.`This is sort of a misnomer. It takes Word32 to make dotDecimalParser probably perform better.6ôI think that this function can be improved. Right now, it always allocates enough space for a fifteen-character text rendering of an IP address. I think that it should be possible to do more of the math upfront and allocate less space. 7 689:;<=>?@A   7 689:;<=>?@ANoneNone'This should be rewritten to not create Text as an intermediate step.This should also be rewrittenNone0C&$This does not do an endOfInput check !"#$%&'()*+,  !"#$%&'() !,+*"#$%&'()  !"#$%&'()*+,None-./01-./01-/.01-./01None25This is a bad implementation that should be rewritten35This is a bad implementation that should be rewritten2345234523452345B         !"#$%&'()*+,-./012345678ip_LgXJP3RmPu75xiMiUCU0Ib Net.InternalNet.IPv4 Net.IPv4.TextNet.IPv4.ByteString.Char8Net.Mac Net.Mac.TextNet.Mac.ByteString.Char8attoparsecParseJSON rightToMaybe IPv4Range ipv4RangeBaseipv4RangeLengthIPv4getIPv4fromDotDecimalText'fromDotDecimalTextrangeFromDotDecimalText'dotDecimalRangeParserdotDecimalParser fromOctets fromOctets'toOctetstoDotDecimalTexttoDotDecimalBuilderrangeToDotDecimalTextrangeToDotDecimalBuilderencode decodeEitherdecodebuilderparserMacmacAmacBtoTextfromText fromText' toTextBuilder textParserbytestringParser $fFromJSONMac $fToJSONMac $fHashableMactoTextPreAllocatedrangeFromDotDecimalText putAndCountzeroi2w twoDigits threeDigits$fFromJSONIPv4Range$fToJSONIPv4Range$fFromJSONIPv4 $fToJSONIPv4$fHashableIPv4Range