anchor.diff:          for (var i = 0; i < header2.tzh_typecnt; i++) {
             final tt_gmtoff = bdata.getInt32(offset);
             final tt_isdst = bdata.getInt8(offset + 4);
  -          final tt_abbrind = bdata.getUint8(offset + 1);
  +          final tt_abbrind = bdata.getUint8(offset + 5);
             offset += 6;
   
             zones.add(
  
positive.code:         }
  
          // function to read from abbrev buffer
          final abbrs = [];
          final abbrsCache = new HashMap<int, int>();
          int readAbbrev(offset) {
            var result = abbrsCache[offset];
            if (result == null) {
              final start = abbrsOffset + offset;
              final end = abbrsOffset + header.tzh_charcnt;
              for (var i = start; i < end; i++) {
                final c = bdata.getUint8(i);
                if (c == 0) {
                  result = abbrs.length;
                  final abbr =
                      ASCII.decode(new Uint8List.view(bdata.buffer, start, i - start));
                  abbrsCache[offset] = result;
                  abbrs.add(abbr);
                  break;
                }
              }
            }
            return result;
          }
  
negative.code:         final transitionZoneOffset =
              transitionAtOffset +
              header2.tzh_timecnt * 9;
          final abbrsOffset = transitionZoneOffset + header2.tzh_typecnt * 6;
          final leapOffset = abbrsOffset + header2.tzh_charcnt;
          final stdOrWctOffset = leapOffset + header2.tzh_leapcnt * 12;
          final utcOrGmtOffset = stdOrWctOffset + header2.tzh_ttisstdcnt;
          final lastTransitionOffset = utcOrGmtOffset + header2.tzh_ttisgmtcnt;
  