// This file was generated by the following script:
//
//   $ /home/brian/src/AceTimeSuite/compiler/src/acetimecompiler/tzcompiler.py
//     --input_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedb/tzfiles
//     --output_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedb
//     --tz_version 2025b
//     --action zonedb
//     --language arduino
//     --scope basic
//     --db_namespace zonedb
//     --zi_namespace basic::Info
//     --start_year 2000
//     --until_year 2200
//
// using the TZ Database files
//
//   africa
//   antarctica
//   asia
//   australasia
//   backward
//   etcetera
//   europe
//   northamerica
//   southamerica
//
// from https://github.com/eggert/tz/releases/tag/2025b
//
// Supported Zones: 446 (215 zones, 231 links)
// Unsupported Zones: 151 (125 zones, 26 links)
//
// Requested Years: [2000,2200]
// Accurate Years: [2000,32767]
//
// Original Years:  [1844,2087]
// Generated Years: [1950,2023]
// Lower/Upper Truncated: [True,False]
//
// Estimator Years: [1950,2025]
// Max Buffer Size: 6
//
// Records:
//   Infos: 446
//   Eras: 227
//   Policies: 63
//   Rules: 352
//
// Memory (8-bits):
//   Context: 16
//   Rules: 3168
//   Policies: 189
//   Eras: 2497
//   Zones: 2795
//   Links: 3003
//   Registry: 892
//   Formats: 175
//   Letters: 29
//   Fragments: 116
//   Names: 4142 (original: 6494)
//   TOTAL: 17022
//
// Memory (32-bits):
//   Context: 24
//   Rules: 4224
//   Policies: 504
//   Eras: 3632
//   Zones: 5160
//   Links: 5544
//   Registry: 1784
//   Formats: 175
//   Letters: 41
//   Fragments: 138
//   Names: 4142 (original: 6494)
//   TOTAL: 25368
//
// DO NOT EDIT

#include <zoneinfo/compat.h>
#include "zone_policies.h"
#include "zone_infos.h"

namespace ace_time {
namespace zonedb {

//---------------------------------------------------------------------------
// ZoneContext
//---------------------------------------------------------------------------

static const char kVersionString[] ACE_TIME_PROGMEM = "2025b";
const __FlashStringHelper* const kTzDatabaseVersion =
    (const __FlashStringHelper*) kVersionString;

static const char kFragment1[] ACE_TIME_PROGMEM = "Africa/";
static const char kFragment2[] ACE_TIME_PROGMEM = "America/";
static const char kFragment3[] ACE_TIME_PROGMEM = "Antarctica/";
static const char kFragment4[] ACE_TIME_PROGMEM = "Asia/";
static const char kFragment5[] ACE_TIME_PROGMEM = "Atlantic/";
static const char kFragment6[] ACE_TIME_PROGMEM = "Australia/";
static const char kFragment7[] ACE_TIME_PROGMEM = "Canada/";
static const char kFragment8[] ACE_TIME_PROGMEM = "Etc/";
static const char kFragment9[] ACE_TIME_PROGMEM = "Europe/";
static const char kFragment10[] ACE_TIME_PROGMEM = "Indian/";
static const char kFragment11[] ACE_TIME_PROGMEM = "Pacific/";

const char* const kFragments[] ACE_TIME_PROGMEM = {
  nullptr, // '\x00' cannot exist
  kFragment1, // '\x01' "Africa/"
  kFragment2, // '\x02' "America/"
  kFragment3, // '\x03' "Antarctica/"
  kFragment4, // '\x04' "Asia/"
  kFragment5, // '\x05' "Atlantic/"
  kFragment6, // '\x06' "Australia/"
  kFragment7, // '\x07' "Canada/"
  kFragment8, // '\x08' "Etc/"
  kFragment9, // '\x09' "Europe/"
  kFragment10, // '\x0a' "Indian/"
  kFragment11, // '\x0b' "Pacific/"

};

static const char kLetter0[] ACE_TIME_PROGMEM = "";
static const char kLetter1[] ACE_TIME_PROGMEM = "CAT";
static const char kLetter2[] ACE_TIME_PROGMEM = "CST";
static const char kLetter3[] ACE_TIME_PROGMEM = "D";
static const char kLetter4[] ACE_TIME_PROGMEM = "S";
static const char kLetter5[] ACE_TIME_PROGMEM = "WAT";

const char* const kLetters[] ACE_TIME_PROGMEM = {
  kLetter0, // ""
  kLetter1, // "CAT"
  kLetter2, // "CST"
  kLetter3, // "D"
  kLetter4, // "S"
  kLetter5, // "WAT"

};

const basic::Info::ZoneContext kZoneContext ACE_TIME_PROGMEM = {
  2000 /*startYear*/,
  2200 /*untilYear*/,
  2000 /*startYearAccurate*/,
  32767 /*untilYearAccurate*/,
  2100 /*baseYear*/,
  6 /*maxTransitions*/,
  kVersionString /*tzVersion*/,
  12 /*numFragments*/,
  6 /*numLetters*/,
  kFragments /*fragments*/,
  kLetters /*letters*/,
};

//---------------------------------------------------------------------------
// Zones: 215
// Eras: 227
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
// Zone name: Africa/Abidjan
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Abidjan[] ACE_TIME_PROGMEM = {
  //              0:00    -    GMT
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Abidjan[] ACE_TIME_PROGMEM = "\x01" "Abidjan";

const basic::Info::ZoneInfo kZoneAfrica_Abidjan ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Abidjan /*name*/,
  0xc21305a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Algiers
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Algiers[] ACE_TIME_PROGMEM = {
  //             1:00    -    CET
  {
    nullptr /*zonePolicy*/,
    "CET" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Algiers[] ACE_TIME_PROGMEM = "\x01" "Algiers";

const basic::Info::ZoneInfo kZoneAfrica_Algiers ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Algiers /*name*/,
  0xd94515c1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Algiers /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Bissau
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Bissau[] ACE_TIME_PROGMEM = {
  //              0:00    -    GMT
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Bissau[] ACE_TIME_PROGMEM = "\x01" "Bissau";

const basic::Info::ZoneInfo kZoneAfrica_Bissau ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Bissau /*name*/,
  0x75564141 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Bissau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Ceuta
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Ceuta[] ACE_TIME_PROGMEM = {
  //              1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Ceuta[] ACE_TIME_PROGMEM = "\x01" "Ceuta";

const basic::Info::ZoneInfo kZoneAfrica_Ceuta ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Ceuta /*name*/,
  0x77fb46ec /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Ceuta /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Johannesburg
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Johannesburg[] ACE_TIME_PROGMEM = {
  //             2:00    SA    SAST
  {
    &kZonePolicySA /*zonePolicy*/,
    "SAST" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Johannesburg[] ACE_TIME_PROGMEM = "\x01" "Johannesburg";

const basic::Info::ZoneInfo kZoneAfrica_Johannesburg ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Johannesburg /*name*/,
  0xd5d157a0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Johannesburg /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Lagos
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Lagos[] ACE_TIME_PROGMEM = {
  //             1:00    -    WAT
  {
    nullptr /*zonePolicy*/,
    "WAT" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Lagos[] ACE_TIME_PROGMEM = "\x01" "Lagos";

const basic::Info::ZoneInfo kZoneAfrica_Lagos ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Lagos /*name*/,
  0x789bb5d0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Maputo
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Maputo[] ACE_TIME_PROGMEM = {
  //             2:00    -    CAT
  {
    nullptr /*zonePolicy*/,
    "CAT" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Maputo[] ACE_TIME_PROGMEM = "\x01" "Maputo";

const basic::Info::ZoneInfo kZoneAfrica_Maputo ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Maputo /*name*/,
  0x8e6ca1f0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Monrovia
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Monrovia[] ACE_TIME_PROGMEM = {
  //              0:00    -    GMT
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Monrovia[] ACE_TIME_PROGMEM = "\x01" "Monrovia";

const basic::Info::ZoneInfo kZoneAfrica_Monrovia ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Monrovia /*name*/,
  0x0ce90385 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Monrovia /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Nairobi
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = {
  //             3:00    -    EAT
  {
    nullptr /*zonePolicy*/,
    "EAT" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Nairobi[] ACE_TIME_PROGMEM = "\x01" "Nairobi";

const basic::Info::ZoneInfo kZoneAfrica_Nairobi ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Nairobi /*name*/,
  0xa87ab57e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Ndjamena
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Ndjamena[] ACE_TIME_PROGMEM = {
  //             1:00    -    WAT
  {
    nullptr /*zonePolicy*/,
    "WAT" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Ndjamena[] ACE_TIME_PROGMEM = "\x01" "Ndjamena";

const basic::Info::ZoneInfo kZoneAfrica_Ndjamena ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Ndjamena /*name*/,
  0x9fe09898 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Ndjamena /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Tunis
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Tunis[] ACE_TIME_PROGMEM = {
  //             1:00    Tunisia    CE%sT
  {
    &kZonePolicyTunisia /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Tunis[] ACE_TIME_PROGMEM = "\x01" "Tunis";

const basic::Info::ZoneInfo kZoneAfrica_Tunis ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Tunis /*name*/,
  0x79378e6d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Tunis /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Windhoek
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAfrica_Windhoek[] ACE_TIME_PROGMEM = {
  //             2:00    Namibia    %s
  {
    &kZonePolicyNamibia /*zonePolicy*/,
    "%" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Windhoek[] ACE_TIME_PROGMEM = "\x01" "Windhoek";

const basic::Info::ZoneInfo kZoneAfrica_Windhoek ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Windhoek /*name*/,
  0x789c9bd3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Windhoek /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Adak
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Adak[] ACE_TIME_PROGMEM = {
  //             -10:00    US    H%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "H%T" /*format*/,
    -40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Adak[] ACE_TIME_PROGMEM = "\x02" "Adak";

const basic::Info::ZoneInfo kZoneAmerica_Adak ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Adak /*name*/,
  0x97fe49d7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Adak /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Anchorage
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Anchorage[] ACE_TIME_PROGMEM = {
  //              -9:00    US    AK%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Anchorage[] ACE_TIME_PROGMEM = "\x02" "Anchorage";

const basic::Info::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Anchorage /*name*/,
  0x5a79260e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Anchorage /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Barbados
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Barbados[] ACE_TIME_PROGMEM = {
  //             -4:00    Barb    A%sT
  {
    &kZonePolicyBarb /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Barbados[] ACE_TIME_PROGMEM = "\x02" "Barbados";

const basic::Info::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Barbados /*name*/,
  0xcbbc3b04 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Barbados /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Belem
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Belem[] ACE_TIME_PROGMEM = "\x02" "Belem";

const basic::Info::ZoneInfo kZoneAmerica_Belem ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Belem /*name*/,
  0x97da580b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Belem /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Belize
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Belize[] ACE_TIME_PROGMEM = {
  //             -6:00    Belize    %s
  {
    &kZonePolicyBelize /*zonePolicy*/,
    "%" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Belize[] ACE_TIME_PROGMEM = "\x02" "Belize";

const basic::Info::ZoneInfo kZoneAmerica_Belize ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Belize /*name*/,
  0x93256c81 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Belize /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Bogota
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = {
  //             -5:00    CO    %z
  {
    &kZonePolicyCO /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Bogota[] ACE_TIME_PROGMEM = "\x02" "Bogota";

const basic::Info::ZoneInfo kZoneAmerica_Bogota ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Bogota /*name*/,
  0x93d7bc62 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Bogota /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Boise
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Boise[] ACE_TIME_PROGMEM = {
  //             -7:00    US    M%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Boise[] ACE_TIME_PROGMEM = "\x02" "Boise";

const basic::Info::ZoneInfo kZoneAmerica_Boise ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Boise /*name*/,
  0x97dfc8d8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Boise /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Campo_Grande
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = {
  //             -4:00    Brazil    %z
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Campo_Grande[] ACE_TIME_PROGMEM = "\x02" "Campo_Grande";

const basic::Info::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Campo_Grande /*name*/,
  0xfec3e7a6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Campo_Grande /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Cayenne
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Cayenne[] ACE_TIME_PROGMEM = "\x02" "Cayenne";

const basic::Info::ZoneInfo kZoneAmerica_Cayenne ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Cayenne /*name*/,
  0x3c617269 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Cayenne /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Chicago
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Chicago[] ACE_TIME_PROGMEM = {
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Chicago[] ACE_TIME_PROGMEM = "\x02" "Chicago";

const basic::Info::ZoneInfo kZoneAmerica_Chicago ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Chicago /*name*/,
  0x4b92b5d4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Chicago /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Costa_Rica
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Costa_Rica[] ACE_TIME_PROGMEM = {
  //             -6:00    CR    C%sT
  {
    &kZonePolicyCR /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Costa_Rica[] ACE_TIME_PROGMEM = "\x02" "Costa_Rica";

const basic::Info::ZoneInfo kZoneAmerica_Costa_Rica ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Costa_Rica /*name*/,
  0x63ff66be /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Costa_Rica /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Danmarkshavn
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = {
  //             0:00    -    GMT
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = "\x02" "Danmarkshavn";

const basic::Info::ZoneInfo kZoneAmerica_Danmarkshavn ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Danmarkshavn /*name*/,
  0xf554d204 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Danmarkshavn /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Dawson_Creek
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = {
  //             -7:00    -    MST
  {
    nullptr /*zonePolicy*/,
    "MST" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = "\x02" "Dawson_Creek";

const basic::Info::ZoneInfo kZoneAmerica_Dawson_Creek ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Dawson_Creek /*name*/,
  0x6cf24e5b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Dawson_Creek /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Denver
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Denver[] ACE_TIME_PROGMEM = {
  //             -7:00    US    M%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Denver[] ACE_TIME_PROGMEM = "\x02" "Denver";

const basic::Info::ZoneInfo kZoneAmerica_Denver ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Denver /*name*/,
  0x97d10b2a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Denver /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Detroit
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Detroit[] ACE_TIME_PROGMEM = {
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Detroit[] ACE_TIME_PROGMEM = "\x02" "Detroit";

const basic::Info::ZoneInfo kZoneAmerica_Detroit ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Detroit /*name*/,
  0x925cfbc1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Detroit /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Edmonton
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Edmonton[] ACE_TIME_PROGMEM = {
  //             -7:00    Canada    M%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Edmonton[] ACE_TIME_PROGMEM = "\x02" "Edmonton";

const basic::Info::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Edmonton /*name*/,
  0x6cb9484a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Edmonton /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/El_Salvador
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_El_Salvador[] ACE_TIME_PROGMEM = {
  //             -6:00    Salv    C%sT
  {
    &kZonePolicySalv /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_El_Salvador[] ACE_TIME_PROGMEM = "\x02" "El_Salvador";

const basic::Info::ZoneInfo kZoneAmerica_El_Salvador ACE_TIME_PROGMEM = {
  kZoneNameAmerica_El_Salvador /*name*/,
  0x752ad652 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_El_Salvador /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Glace_Bay
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Glace_Bay[] ACE_TIME_PROGMEM = {
  //             -4:00    Canada    A%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Glace_Bay[] ACE_TIME_PROGMEM = "\x02" "Glace_Bay";

const basic::Info::ZoneInfo kZoneAmerica_Glace_Bay ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Glace_Bay /*name*/,
  0x9681f8dd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Glace_Bay /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Guatemala
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Guatemala[] ACE_TIME_PROGMEM = {
  //             -6:00    Guat    C%sT
  {
    &kZonePolicyGuat /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Guatemala[] ACE_TIME_PROGMEM = "\x02" "Guatemala";

const basic::Info::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Guatemala /*name*/,
  0x0c8259f7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Guatemala /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Guayaquil
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = {
  //             -5:00    Ecuador    %z
  {
    &kZonePolicyEcuador /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Guayaquil[] ACE_TIME_PROGMEM = "\x02" "Guayaquil";

const basic::Info::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Guayaquil /*name*/,
  0x17e64958 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Guayaquil /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Guyana
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = {
  //             -4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Guyana[] ACE_TIME_PROGMEM = "\x02" "Guyana";

const basic::Info::ZoneInfo kZoneAmerica_Guyana ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Guyana /*name*/,
  0x9ff7bd0b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Guyana /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Halifax
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Halifax[] ACE_TIME_PROGMEM = {
  //             -4:00    Canada    A%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Halifax[] ACE_TIME_PROGMEM = "\x02" "Halifax";

const basic::Info::ZoneInfo kZoneAmerica_Halifax ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Halifax /*name*/,
  0xbc5b7183 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Halifax /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Havana
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Havana[] ACE_TIME_PROGMEM = {
  //             -5:00    Cuba    C%sT
  {
    &kZonePolicyCuba /*zonePolicy*/,
    "C%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Havana[] ACE_TIME_PROGMEM = "\x02" "Havana";

const basic::Info::ZoneInfo kZoneAmerica_Havana ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Havana /*name*/,
  0xa0e15675 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Havana /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Hermosillo
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = {
  //             -7:00    Mexico    M%sT    1999
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -7:00    -    MST
  {
    nullptr /*zonePolicy*/,
    "MST" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Hermosillo[] ACE_TIME_PROGMEM = "\x02" "Hermosillo";

const basic::Info::ZoneInfo kZoneAmerica_Hermosillo ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Hermosillo /*name*/,
  0x065d21c4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Hermosillo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Indiana/Indianapolis
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST    2006
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "Indiana/Indianapolis";

const basic::Info::ZoneInfo kZoneAmerica_Indiana_Indianapolis ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indiana_Indianapolis /*name*/,
  0x28a669a4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Indiana/Marengo
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST    2006
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = "\x02" "Indiana/Marengo";

const basic::Info::ZoneInfo kZoneAmerica_Indiana_Marengo ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indiana_Marengo /*name*/,
  0x2feeee72 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Marengo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Indiana/Vevay
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST    2006
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = "\x02" "Indiana/Vevay";

const basic::Info::ZoneInfo kZoneAmerica_Indiana_Vevay ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indiana_Vevay /*name*/,
  0x10aca054 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Vevay /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Inuvik
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Inuvik[] ACE_TIME_PROGMEM = {
  //             -7:00    Canada    M%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Inuvik[] ACE_TIME_PROGMEM = "\x02" "Inuvik";

const basic::Info::ZoneInfo kZoneAmerica_Inuvik ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Inuvik /*name*/,
  0xa42189fc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Inuvik /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Jamaica
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Jamaica[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Jamaica[] ACE_TIME_PROGMEM = "\x02" "Jamaica";

const basic::Info::ZoneInfo kZoneAmerica_Jamaica ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Jamaica /*name*/,
  0x565dad6c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Jamaica /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Juneau
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Juneau[] ACE_TIME_PROGMEM = {
  //              -9:00    US    AK%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Juneau[] ACE_TIME_PROGMEM = "\x02" "Juneau";

const basic::Info::ZoneInfo kZoneAmerica_Juneau ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Juneau /*name*/,
  0xa6f13e2e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Juneau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Kentucky/Louisville
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = {
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = "\x02" "Kentucky/Louisville";

const basic::Info::ZoneInfo kZoneAmerica_Kentucky_Louisville ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Kentucky_Louisville /*name*/,
  0x1a21024b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/La_Paz
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = {
  //             -4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_La_Paz[] ACE_TIME_PROGMEM = "\x02" "La_Paz";

const basic::Info::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = {
  kZoneNameAmerica_La_Paz /*name*/,
  0xaa29125d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_La_Paz /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Lima
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = {
  //             -5:00    Peru    %z
  {
    &kZonePolicyPeru /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Lima[] ACE_TIME_PROGMEM = "\x02" "Lima";

const basic::Info::ZoneInfo kZoneAmerica_Lima ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Lima /*name*/,
  0x980468c9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Lima /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Los_Angeles
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Los_Angeles[] ACE_TIME_PROGMEM = {
  //             -8:00    US    P%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "P%T" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Los_Angeles[] ACE_TIME_PROGMEM = "\x02" "Los_Angeles";

const basic::Info::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Los_Angeles /*name*/,
  0xb7f7e8f2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Los_Angeles /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Managua
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Managua[] ACE_TIME_PROGMEM = {
  //             -6:00    Nic    C%sT
  {
    &kZonePolicyNic /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Managua[] ACE_TIME_PROGMEM = "\x02" "Managua";

const basic::Info::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Managua /*name*/,
  0x3d5e7600 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Managua /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Manaus
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = {
  //             -4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Manaus[] ACE_TIME_PROGMEM = "\x02" "Manaus";

const basic::Info::ZoneInfo kZoneAmerica_Manaus ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Manaus /*name*/,
  0xac86bf8b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Manaus /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Martinique
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Martinique[] ACE_TIME_PROGMEM = {
  //             -4:00    -    AST
  {
    nullptr /*zonePolicy*/,
    "AST" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Martinique[] ACE_TIME_PROGMEM = "\x02" "Martinique";

const basic::Info::ZoneInfo kZoneAmerica_Martinique ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Martinique /*name*/,
  0x551e84c5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Martinique /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Matamoros
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Matamoros[] ACE_TIME_PROGMEM = {
  //             -6:00    Mexico    C%sT    2010
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Matamoros[] ACE_TIME_PROGMEM = "\x02" "Matamoros";

const basic::Info::ZoneInfo kZoneAmerica_Matamoros ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Matamoros /*name*/,
  0xdd1b0259 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Matamoros /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Mazatlan
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = {
  //             -7:00    Mexico    M%sT
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Mazatlan[] ACE_TIME_PROGMEM = "\x02" "Mazatlan";

const basic::Info::ZoneInfo kZoneAmerica_Mazatlan ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Mazatlan /*name*/,
  0x0532189e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Mazatlan /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Menominee
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Menominee[] ACE_TIME_PROGMEM = {
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Menominee[] ACE_TIME_PROGMEM = "\x02" "Menominee";

const basic::Info::ZoneInfo kZoneAmerica_Menominee ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Menominee /*name*/,
  0xe0e9c583 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Menominee /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Merida
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = {
  //             -6:00    Mexico    C%sT
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Merida[] ACE_TIME_PROGMEM = "\x02" "Merida";

const basic::Info::ZoneInfo kZoneAmerica_Merida ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Merida /*name*/,
  0xacd172d8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Merida /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Miquelon
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = {
  //             -3:00    Canada    %z
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Miquelon[] ACE_TIME_PROGMEM = "\x02" "Miquelon";

const basic::Info::ZoneInfo kZoneAmerica_Miquelon ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Miquelon /*name*/,
  0x59674330 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Miquelon /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Moncton
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Moncton[] ACE_TIME_PROGMEM = {
  //             -4:00    Moncton    A%sT    2007
  {
    &kZonePolicyMoncton /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -93 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Canada    A%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Moncton[] ACE_TIME_PROGMEM = "\x02" "Moncton";

const basic::Info::ZoneInfo kZoneAmerica_Moncton ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Moncton /*name*/,
  0x5e07fe24 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Moncton /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Monterrey
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = {
  //             -6:00    Mexico    C%sT
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Monterrey[] ACE_TIME_PROGMEM = "\x02" "Monterrey";

const basic::Info::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Monterrey /*name*/,
  0x269a1deb /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Monterrey /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Montevideo
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = {
  //             -3:00    Uruguay    %z
  {
    &kZonePolicyUruguay /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Montevideo[] ACE_TIME_PROGMEM = "\x02" "Montevideo";

const basic::Info::ZoneInfo kZoneAmerica_Montevideo ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Montevideo /*name*/,
  0xfa214780 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Montevideo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/New_York
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_New_York[] ACE_TIME_PROGMEM = {
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_New_York[] ACE_TIME_PROGMEM = "\x02" "New_York";

const basic::Info::ZoneInfo kZoneAmerica_New_York ACE_TIME_PROGMEM = {
  kZoneNameAmerica_New_York /*name*/,
  0x1e2a7654 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_New_York /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Nome
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Nome[] ACE_TIME_PROGMEM = {
  //              -9:00    US    AK%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Nome[] ACE_TIME_PROGMEM = "\x02" "Nome";

const basic::Info::ZoneInfo kZoneAmerica_Nome ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Nome /*name*/,
  0x98059b15 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Nome /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/North_Dakota/Center
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = {
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/Center";

const basic::Info::ZoneInfo kZoneAmerica_North_Dakota_Center ACE_TIME_PROGMEM = {
  kZoneNameAmerica_North_Dakota_Center /*name*/,
  0x9da42814 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_North_Dakota_Center /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Panama
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Panama[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Panama[] ACE_TIME_PROGMEM = "\x02" "Panama";

const basic::Info::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Panama /*name*/,
  0xb3863854 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Panama /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Paramaribo
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Paramaribo[] ACE_TIME_PROGMEM = "\x02" "Paramaribo";

const basic::Info::ZoneInfo kZoneAmerica_Paramaribo ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Paramaribo /*name*/,
  0xb319e4c4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Paramaribo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Phoenix
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Phoenix[] ACE_TIME_PROGMEM = {
  //             -7:00    -    MST
  {
    nullptr /*zonePolicy*/,
    "MST" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Phoenix[] ACE_TIME_PROGMEM = "\x02" "Phoenix";

const basic::Info::ZoneInfo kZoneAmerica_Phoenix ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Phoenix /*name*/,
  0x34b5af01 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Phoenix /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Port-au-Prince
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = {
  //             -5:00    Haiti    E%sT
  {
    &kZonePolicyHaiti /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = "\x02" "Port-au-Prince";

const basic::Info::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Port_au_Prince /*name*/,
  0x8e4a7bdc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Port_au_Prince /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Porto_Velho
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = {
  //             -4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Porto_Velho[] ACE_TIME_PROGMEM = "\x02" "Porto_Velho";

const basic::Info::ZoneInfo kZoneAmerica_Porto_Velho ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Porto_Velho /*name*/,
  0x6b1aac77 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Porto_Velho /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Puerto_Rico
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = {
  //             -4:00    -    AST
  {
    nullptr /*zonePolicy*/,
    "AST" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = "\x02" "Puerto_Rico";

const basic::Info::ZoneInfo kZoneAmerica_Puerto_Rico ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Puerto_Rico /*name*/,
  0x6752ca31 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Regina
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Regina[] ACE_TIME_PROGMEM = {
  //             -6:00    -    CST
  {
    nullptr /*zonePolicy*/,
    "CST" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Regina[] ACE_TIME_PROGMEM = "\x02" "Regina";

const basic::Info::ZoneInfo kZoneAmerica_Regina ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Regina /*name*/,
  0xb875371c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Regina /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Santiago
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = {
  //             -4:00    Chile    %z
  {
    &kZonePolicyChile /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Santiago[] ACE_TIME_PROGMEM = "\x02" "Santiago";

const basic::Info::ZoneInfo kZoneAmerica_Santiago ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Santiago /*name*/,
  0x7410c9bc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Santiago /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Sao_Paulo
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = {
  //             -3:00    Brazil    %z
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = "\x02" "Sao_Paulo";

const basic::Info::ZoneInfo kZoneAmerica_Sao_Paulo ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Sao_Paulo /*name*/,
  0x1063bfc9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Sao_Paulo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Sitka
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Sitka[] ACE_TIME_PROGMEM = {
  //              -9:00    US    AK%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Sitka[] ACE_TIME_PROGMEM = "\x02" "Sitka";

const basic::Info::ZoneInfo kZoneAmerica_Sitka ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Sitka /*name*/,
  0x99104ce2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Sitka /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Swift_Current
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Swift_Current[] ACE_TIME_PROGMEM = {
  //             -6:00    -    CST
  {
    nullptr /*zonePolicy*/,
    "CST" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Swift_Current[] ACE_TIME_PROGMEM = "\x02" "Swift_Current";

const basic::Info::ZoneInfo kZoneAmerica_Swift_Current ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Swift_Current /*name*/,
  0xdef98e55 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Swift_Current /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Tegucigalpa
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = {
  //             -6:00    Hond    C%sT
  {
    &kZonePolicyHond /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = "\x02" "Tegucigalpa";

const basic::Info::ZoneInfo kZoneAmerica_Tegucigalpa ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Tegucigalpa /*name*/,
  0xbfd6fd4c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Tegucigalpa /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Thule
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Thule[] ACE_TIME_PROGMEM = {
  //             -4:00    Thule    A%sT
  {
    &kZonePolicyThule /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Thule[] ACE_TIME_PROGMEM = "\x02" "Thule";

const basic::Info::ZoneInfo kZoneAmerica_Thule ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Thule /*name*/,
  0x9921dd68 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Thule /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Toronto
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Toronto[] ACE_TIME_PROGMEM = {
  //             -5:00    Canada    E%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Toronto[] ACE_TIME_PROGMEM = "\x02" "Toronto";

const basic::Info::ZoneInfo kZoneAmerica_Toronto ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Toronto /*name*/,
  0x792e851b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Vancouver
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Vancouver[] ACE_TIME_PROGMEM = {
  //             -8:00    Canada    P%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "P%T" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Vancouver[] ACE_TIME_PROGMEM = "\x02" "Vancouver";

const basic::Info::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Vancouver /*name*/,
  0x2c6f6b1f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Vancouver /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Winnipeg
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Winnipeg[] ACE_TIME_PROGMEM = {
  //             -6:00    Winn    C%sT    2006
  {
    &kZonePolicyWinn /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    Canada    C%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Winnipeg[] ACE_TIME_PROGMEM = "\x02" "Winnipeg";

const basic::Info::ZoneInfo kZoneAmerica_Winnipeg ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Winnipeg /*name*/,
  0x8c7dafc7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Winnipeg /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Yakutat
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAmerica_Yakutat[] ACE_TIME_PROGMEM = {
  //              -9:00    US    AK%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Yakutat[] ACE_TIME_PROGMEM = "\x02" "Yakutat";

const basic::Info::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Yakutat /*name*/,
  0xd8ee31e9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Yakutat /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Antarctica/Rothera
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAntarctica_Rothera[] ACE_TIME_PROGMEM = "\x03" "Rothera";

const basic::Info::ZoneInfo kZoneAntarctica_Rothera ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_Rothera /*name*/,
  0x0e86d203 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAntarctica_Rothera /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Ashgabat
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = {
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Ashgabat[] ACE_TIME_PROGMEM = "\x04" "Ashgabat";

const basic::Info::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ashgabat /*name*/,
  0xba87598d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ashgabat /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Baghdad
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = {
  //             3:00    Iraq    %z
  {
    &kZonePolicyIraq /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Baghdad[] ACE_TIME_PROGMEM = "\x04" "Baghdad";

const basic::Info::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = {
  kZoneNameAsia_Baghdad /*name*/,
  0x9ceffbed /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Baghdad /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Baku
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = {
  //             4:00    Azer    %z
  {
    &kZonePolicyAzer /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Baku[] ACE_TIME_PROGMEM = "\x04" "Baku";

const basic::Info::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = {
  kZoneNameAsia_Baku /*name*/,
  0x1fa788b5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Baku /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Bangkok
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = {
  //             7:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Bangkok[] ACE_TIME_PROGMEM = "\x04" "Bangkok";

const basic::Info::ZoneInfo kZoneAsia_Bangkok ACE_TIME_PROGMEM = {
  kZoneNameAsia_Bangkok /*name*/,
  0x9d6e3aaf /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Bangkok /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Beirut
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Beirut[] ACE_TIME_PROGMEM = {
  //             2:00    Lebanon    EE%sT
  {
    &kZonePolicyLebanon /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Beirut[] ACE_TIME_PROGMEM = "\x04" "Beirut";

const basic::Info::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = {
  kZoneNameAsia_Beirut /*name*/,
  0xa7f3d5fd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Beirut /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Dhaka
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = {
  //             6:00    -    %z    2009
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -91 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             6:00    Dhaka    %z
  {
    &kZonePolicyDhaka /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Dhaka[] ACE_TIME_PROGMEM = "\x04" "Dhaka";

const basic::Info::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = {
  kZoneNameAsia_Dhaka /*name*/,
  0x14c07b8b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Dhaka /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Dubai
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = {
  //             4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Dubai[] ACE_TIME_PROGMEM = "\x04" "Dubai";

const basic::Info::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = {
  kZoneNameAsia_Dubai /*name*/,
  0x14c79f77 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Dubai /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Dushanbe
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = {
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Dushanbe[] ACE_TIME_PROGMEM = "\x04" "Dushanbe";

const basic::Info::ZoneInfo kZoneAsia_Dushanbe ACE_TIME_PROGMEM = {
  kZoneNameAsia_Dushanbe /*name*/,
  0x32fc5c3c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Dushanbe /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Ho_Chi_Minh
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = {
  //             7:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = "\x04" "Ho_Chi_Minh";

const basic::Info::ZoneInfo kZoneAsia_Ho_Chi_Minh ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ho_Chi_Minh /*name*/,
  0x20f2d127 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Hong_Kong
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Hong_Kong[] ACE_TIME_PROGMEM = {
  //             8:00    HK    HK%sT
  {
    &kZonePolicyHK /*zonePolicy*/,
    "HK%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Hong_Kong[] ACE_TIME_PROGMEM = "\x04" "Hong_Kong";

const basic::Info::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = {
  kZoneNameAsia_Hong_Kong /*name*/,
  0x577f28ac /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Hong_Kong /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Hovd
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = {
  //             7:00    Mongol    %z
  {
    &kZonePolicyMongol /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Hovd[] ACE_TIME_PROGMEM = "\x04" "Hovd";

const basic::Info::ZoneInfo kZoneAsia_Hovd ACE_TIME_PROGMEM = {
  kZoneNameAsia_Hovd /*name*/,
  0x1fab0fe3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Hovd /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Jakarta
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = {
  //             7:00    -    WIB
  {
    nullptr /*zonePolicy*/,
    "WIB" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Jakarta[] ACE_TIME_PROGMEM = "\x04" "Jakarta";

const basic::Info::ZoneInfo kZoneAsia_Jakarta ACE_TIME_PROGMEM = {
  kZoneNameAsia_Jakarta /*name*/,
  0x0506ab50 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Jakarta /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Jayapura
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = {
  //             9:00    -    WIT
  {
    nullptr /*zonePolicy*/,
    "WIT" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Jayapura[] ACE_TIME_PROGMEM = "\x04" "Jayapura";

const basic::Info::ZoneInfo kZoneAsia_Jayapura ACE_TIME_PROGMEM = {
  kZoneNameAsia_Jayapura /*name*/,
  0xc6833c2f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Jayapura /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Jerusalem
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Jerusalem[] ACE_TIME_PROGMEM = {
  //             2:00    Zion    I%sT
  {
    &kZonePolicyZion /*zonePolicy*/,
    "I%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Jerusalem[] ACE_TIME_PROGMEM = "\x04" "Jerusalem";

const basic::Info::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = {
  kZoneNameAsia_Jerusalem /*name*/,
  0x5becd23a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Jerusalem /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Kabul
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = {
  //             4:30    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    18 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Kabul[] ACE_TIME_PROGMEM = "\x04" "Kabul";

const basic::Info::ZoneInfo kZoneAsia_Kabul ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kabul /*name*/,
  0x153b5601 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kabul /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Karachi
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = {
  //             5:00 Pakistan    PK%sT
  {
    &kZonePolicyPakistan /*zonePolicy*/,
    "PK%T" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Karachi[] ACE_TIME_PROGMEM = "\x04" "Karachi";

const basic::Info::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = {
  kZoneNameAsia_Karachi /*name*/,
  0x527f5245 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Karachi /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Kathmandu
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = {
  //             5:45    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    23 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Kathmandu[] ACE_TIME_PROGMEM = "\x04" "Kathmandu";

const basic::Info::ZoneInfo kZoneAsia_Kathmandu ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kathmandu /*name*/,
  0x9a96ce6f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kathmandu /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Kolkata
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = {
  //             5:30    -    IST
  {
    nullptr /*zonePolicy*/,
    "IST" /*format*/,
    22 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Kolkata[] ACE_TIME_PROGMEM = "\x04" "Kolkata";

const basic::Info::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kolkata /*name*/,
  0x72c06cd9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kolkata /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Kuching
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = {
  //             8:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Kuching[] ACE_TIME_PROGMEM = "\x04" "Kuching";

const basic::Info::ZoneInfo kZoneAsia_Kuching ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kuching /*name*/,
  0x801b003b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kuching /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Macau
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Macau[] ACE_TIME_PROGMEM = {
  //             8:00    Macau    C%sT
  {
    &kZonePolicyMacau /*zonePolicy*/,
    "C%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Macau[] ACE_TIME_PROGMEM = "\x04" "Macau";

const basic::Info::ZoneInfo kZoneAsia_Macau ACE_TIME_PROGMEM = {
  kZoneNameAsia_Macau /*name*/,
  0x155f88b9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Macau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Makassar
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = {
  //             8:00    -    WITA
  {
    nullptr /*zonePolicy*/,
    "WITA" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Makassar[] ACE_TIME_PROGMEM = "\x04" "Makassar";

const basic::Info::ZoneInfo kZoneAsia_Makassar ACE_TIME_PROGMEM = {
  kZoneNameAsia_Makassar /*name*/,
  0x6aa21c85 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Makassar /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Manila
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Manila[] ACE_TIME_PROGMEM = {
  //             8:00    Phil    P%sT
  {
    &kZonePolicyPhil /*zonePolicy*/,
    "P%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Manila[] ACE_TIME_PROGMEM = "\x04" "Manila";

const basic::Info::ZoneInfo kZoneAsia_Manila ACE_TIME_PROGMEM = {
  kZoneNameAsia_Manila /*name*/,
  0xc156c944 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Manila /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Nicosia
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Nicosia[] ACE_TIME_PROGMEM = {
  //             2:00    EUAsia    EE%sT
  {
    &kZonePolicyEUAsia /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Nicosia[] ACE_TIME_PROGMEM = "\x04" "Nicosia";

const basic::Info::ZoneInfo kZoneAsia_Nicosia ACE_TIME_PROGMEM = {
  kZoneNameAsia_Nicosia /*name*/,
  0x4b0fcf78 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Nicosia /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Pontianak
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = {
  //             7:00    -    WIB
  {
    nullptr /*zonePolicy*/,
    "WIB" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Pontianak[] ACE_TIME_PROGMEM = "\x04" "Pontianak";

const basic::Info::ZoneInfo kZoneAsia_Pontianak ACE_TIME_PROGMEM = {
  kZoneNameAsia_Pontianak /*name*/,
  0x1a76c057 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Pontianak /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Qatar
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = {
  //             3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Qatar[] ACE_TIME_PROGMEM = "\x04" "Qatar";

const basic::Info::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = {
  kZoneNameAsia_Qatar /*name*/,
  0x15a8330b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Qatar /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Riyadh
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = {
  //             3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Riyadh[] ACE_TIME_PROGMEM = "\x04" "Riyadh";

const basic::Info::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = {
  kZoneNameAsia_Riyadh /*name*/,
  0xcd973d93 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Riyadh /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Samarkand
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = {
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Samarkand[] ACE_TIME_PROGMEM = "\x04" "Samarkand";

const basic::Info::ZoneInfo kZoneAsia_Samarkand ACE_TIME_PROGMEM = {
  kZoneNameAsia_Samarkand /*name*/,
  0x13ae5104 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Samarkand /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Seoul
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Seoul[] ACE_TIME_PROGMEM = {
  //             9:00    ROK    K%sT
  {
    &kZonePolicyROK /*zonePolicy*/,
    "K%T" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Seoul[] ACE_TIME_PROGMEM = "\x04" "Seoul";

const basic::Info::ZoneInfo kZoneAsia_Seoul ACE_TIME_PROGMEM = {
  kZoneNameAsia_Seoul /*name*/,
  0x15ce82da /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Seoul /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Shanghai
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Shanghai[] ACE_TIME_PROGMEM = {
  //             8:00    PRC    C%sT
  {
    &kZonePolicyPRC /*zonePolicy*/,
    "C%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Shanghai[] ACE_TIME_PROGMEM = "\x04" "Shanghai";

const basic::Info::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = {
  kZoneNameAsia_Shanghai /*name*/,
  0xf895a7f5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Shanghai /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Singapore
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = {
  //             8:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Singapore[] ACE_TIME_PROGMEM = "\x04" "Singapore";

const basic::Info::ZoneInfo kZoneAsia_Singapore ACE_TIME_PROGMEM = {
  kZoneNameAsia_Singapore /*name*/,
  0xcf8581fa /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Singapore /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Taipei
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Taipei[] ACE_TIME_PROGMEM = {
  //             8:00    Taiwan    C%sT
  {
    &kZonePolicyTaiwan /*zonePolicy*/,
    "C%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Taipei[] ACE_TIME_PROGMEM = "\x04" "Taipei";

const basic::Info::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = {
  kZoneNameAsia_Taipei /*name*/,
  0xd1a844ae /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Taipei /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Tashkent
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = {
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Tashkent[] ACE_TIME_PROGMEM = "\x04" "Tashkent";

const basic::Info::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = {
  kZoneNameAsia_Tashkent /*name*/,
  0xf3924254 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Tashkent /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Tehran
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = {
  //             3:30    Iran    %z
  {
    &kZonePolicyIran /*zonePolicy*/,
    "" /*format*/,
    14 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Tehran[] ACE_TIME_PROGMEM = "\x04" "Tehran";

const basic::Info::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = {
  kZoneNameAsia_Tehran /*name*/,
  0xd1f02254 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Tehran /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Thimphu
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = {
  //             6:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Thimphu[] ACE_TIME_PROGMEM = "\x04" "Thimphu";

const basic::Info::ZoneInfo kZoneAsia_Thimphu ACE_TIME_PROGMEM = {
  kZoneNameAsia_Thimphu /*name*/,
  0x170380d1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Thimphu /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Tokyo
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Tokyo[] ACE_TIME_PROGMEM = {
  //             9:00    Japan    J%sT
  {
    &kZonePolicyJapan /*zonePolicy*/,
    "J%T" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Tokyo[] ACE_TIME_PROGMEM = "\x04" "Tokyo";

const basic::Info::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = {
  kZoneNameAsia_Tokyo /*name*/,
  0x15e606a8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Tokyo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Ulaanbaatar
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = {
  //             8:00    Mongol    %z
  {
    &kZonePolicyMongol /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = "\x04" "Ulaanbaatar";

const basic::Info::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ulaanbaatar /*name*/,
  0x30f0cc4e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ulaanbaatar /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Urumqi
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = {
  //             6:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Urumqi[] ACE_TIME_PROGMEM = "\x04" "Urumqi";

const basic::Info::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = {
  kZoneNameAsia_Urumqi /*name*/,
  0xd5379735 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Urumqi /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Yangon
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = {
  //             6:30    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    26 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Yangon[] ACE_TIME_PROGMEM = "\x04" "Yangon";

const basic::Info::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = {
  kZoneNameAsia_Yangon /*name*/,
  0xdd54a8be /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Yangon /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Yerevan
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = {
  //             4:00 RussiaAsia    %z    2011
  {
    &kZonePolicyRussiaAsia /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             4:00    Armenia    %z
  {
    &kZonePolicyArmenia /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Yerevan[] ACE_TIME_PROGMEM = "\x04" "Yerevan";

const basic::Info::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = {
  kZoneNameAsia_Yerevan /*name*/,
  0x9185c8cc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Yerevan /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Azores
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = {
  //             -1:00    EU    %z
  {
    &kZonePolicyEU /*zonePolicy*/,
    "" /*format*/,
    -4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Azores[] ACE_TIME_PROGMEM = "\x05" "Azores";

const basic::Info::ZoneInfo kZoneAtlantic_Azores ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Azores /*name*/,
  0xf93ed918 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Azores /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Bermuda
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAtlantic_Bermuda[] ACE_TIME_PROGMEM = {
  //             -4:00    US    A%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Bermuda[] ACE_TIME_PROGMEM = "\x05" "Bermuda";

const basic::Info::ZoneInfo kZoneAtlantic_Bermuda ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Bermuda /*name*/,
  0x3d4bb1c4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Bermuda /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Canary
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAtlantic_Canary[] ACE_TIME_PROGMEM = {
  //              0:00    EU    WE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "WE%T" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Canary[] ACE_TIME_PROGMEM = "\x05" "Canary";

const basic::Info::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Canary /*name*/,
  0xfc23f2c2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Canary /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Cape_Verde
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = {
  //             -1:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = "\x05" "Cape_Verde";

const basic::Info::ZoneInfo kZoneAtlantic_Cape_Verde ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Cape_Verde /*name*/,
  0x5c5e1772 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Cape_Verde /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Faroe
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAtlantic_Faroe[] ACE_TIME_PROGMEM = {
  //              0:00    EU    WE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "WE%T" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Faroe[] ACE_TIME_PROGMEM = "\x05" "Faroe";

const basic::Info::ZoneInfo kZoneAtlantic_Faroe ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Faroe /*name*/,
  0xe110a971 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Faroe /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Madeira
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = {
  //              0:00    EU    WE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "WE%T" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Madeira[] ACE_TIME_PROGMEM = "\x05" "Madeira";

const basic::Info::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Madeira /*name*/,
  0x81b5c037 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Madeira /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/South_Georgia
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = {
  //             -2:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_South_Georgia[] ACE_TIME_PROGMEM = "\x05" "South_Georgia";

const basic::Info::ZoneInfo kZoneAtlantic_South_Georgia ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_South_Georgia /*name*/,
  0x33013174 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_South_Georgia /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Adelaide
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAustralia_Adelaide[] ACE_TIME_PROGMEM = {
  //             9:30    AS    AC%sT
  {
    &kZonePolicyAS /*zonePolicy*/,
    "AC%T" /*format*/,
    38 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Adelaide[] ACE_TIME_PROGMEM = "\x06" "Adelaide";

const basic::Info::ZoneInfo kZoneAustralia_Adelaide ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Adelaide /*name*/,
  0x2428e8a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Adelaide /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Brisbane
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAustralia_Brisbane[] ACE_TIME_PROGMEM = {
  //             10:00    AQ    AE%sT
  {
    &kZonePolicyAQ /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Brisbane[] ACE_TIME_PROGMEM = "\x06" "Brisbane";

const basic::Info::ZoneInfo kZoneAustralia_Brisbane ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Brisbane /*name*/,
  0x4fedc9c0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Brisbane /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Broken_Hill
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAustralia_Broken_Hill[] ACE_TIME_PROGMEM = {
  //             9:30    AN    AC%sT    2000
  {
    &kZonePolicyAN /*zonePolicy*/,
    "AC%T" /*format*/,
    38 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             9:30    AS    AC%sT
  {
    &kZonePolicyAS /*zonePolicy*/,
    "AC%T" /*format*/,
    38 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Broken_Hill[] ACE_TIME_PROGMEM = "\x06" "Broken_Hill";

const basic::Info::ZoneInfo kZoneAustralia_Broken_Hill ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Broken_Hill /*name*/,
  0xb06eada3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAustralia_Broken_Hill /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Darwin
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAustralia_Darwin[] ACE_TIME_PROGMEM = {
  //              9:30    Aus    AC%sT
  {
    &kZonePolicyAus /*zonePolicy*/,
    "AC%T" /*format*/,
    38 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Darwin[] ACE_TIME_PROGMEM = "\x06" "Darwin";

const basic::Info::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Darwin /*name*/,
  0x2876bdff /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Darwin /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Eucla
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = {
  //              8:45    AW    %z
  {
    &kZonePolicyAW /*zonePolicy*/,
    "" /*format*/,
    35 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Eucla[] ACE_TIME_PROGMEM = "\x06" "Eucla";

const basic::Info::ZoneInfo kZoneAustralia_Eucla ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Eucla /*name*/,
  0x8cf99e44 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Eucla /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Hobart
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAustralia_Hobart[] ACE_TIME_PROGMEM = {
  //             10:00    AT    AE%sT
  {
    &kZonePolicyAT /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Hobart[] ACE_TIME_PROGMEM = "\x06" "Hobart";

const basic::Info::ZoneInfo kZoneAustralia_Hobart ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Hobart /*name*/,
  0x32bf951a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Hobart /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Lindeman
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAustralia_Lindeman[] ACE_TIME_PROGMEM = {
  //             10:00    Holiday    AE%sT
  {
    &kZonePolicyHoliday /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Lindeman[] ACE_TIME_PROGMEM = "\x06" "Lindeman";

const basic::Info::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Lindeman /*name*/,
  0xe05029e2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Lindeman /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Lord_Howe
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = {
  //             10:30    LH    %z
  {
    &kZonePolicyLH /*zonePolicy*/,
    "" /*format*/,
    42 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Lord_Howe[] ACE_TIME_PROGMEM = "\x06" "Lord_Howe";

const basic::Info::ZoneInfo kZoneAustralia_Lord_Howe ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Lord_Howe /*name*/,
  0xa748b67d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Lord_Howe /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Melbourne
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAustralia_Melbourne[] ACE_TIME_PROGMEM = {
  //             10:00    AV    AE%sT
  {
    &kZonePolicyAV /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Melbourne[] ACE_TIME_PROGMEM = "\x06" "Melbourne";

const basic::Info::ZoneInfo kZoneAustralia_Melbourne ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Melbourne /*name*/,
  0x0fe559a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Melbourne /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Perth
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAustralia_Perth[] ACE_TIME_PROGMEM = {
  //              8:00    AW    AW%sT
  {
    &kZonePolicyAW /*zonePolicy*/,
    "AW%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Perth[] ACE_TIME_PROGMEM = "\x06" "Perth";

const basic::Info::ZoneInfo kZoneAustralia_Perth ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Perth /*name*/,
  0x8db8269d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Perth /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Sydney
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraAustralia_Sydney[] ACE_TIME_PROGMEM = {
  //             10:00    AN    AE%sT
  {
    &kZonePolicyAN /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Sydney[] ACE_TIME_PROGMEM = "\x06" "Sydney";

const basic::Info::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Sydney /*name*/,
  0x4d1e9776 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Sydney /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT[] ACE_TIME_PROGMEM = {
  // 0 - GMT
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT[] ACE_TIME_PROGMEM = "\x08" "GMT";

const basic::Info::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT /*name*/,
  0xd8e2de58 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+1
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = {
  // -1 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = "\x08" "GMT+1";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_1 /*name*/,
  0x9d13da14 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_1 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+10
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = {
  // -10 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = "\x08" "GMT+10";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_10 /*name*/,
  0x3f8f1cc4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_10 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+11
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = {
  // -11 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = "\x08" "GMT+11";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_11 /*name*/,
  0x3f8f1cc5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_11 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+12
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = {
  // -12 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = "\x08" "GMT+12";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_12 /*name*/,
  0x3f8f1cc6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_12 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+2
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = {
  // -2 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = "\x08" "GMT+2";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_2 /*name*/,
  0x9d13da15 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_2 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+3
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = {
  // -3 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = "\x08" "GMT+3";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_3 /*name*/,
  0x9d13da16 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_3 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+4
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = {
  // -4 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = "\x08" "GMT+4";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_4 /*name*/,
  0x9d13da17 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_4 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+5
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = {
  // -5 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = "\x08" "GMT+5";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_5 /*name*/,
  0x9d13da18 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_5 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+6
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = {
  // -6 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = "\x08" "GMT+6";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_6 /*name*/,
  0x9d13da19 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_6 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+7
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = {
  // -7 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = "\x08" "GMT+7";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_7 /*name*/,
  0x9d13da1a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_7 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+8
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = {
  // -8 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = "\x08" "GMT+8";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_8 /*name*/,
  0x9d13da1b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_8 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+9
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = {
  // -9 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = "\x08" "GMT+9";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_9 /*name*/,
  0x9d13da1c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_9 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-1
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = {
  // 1 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_1[] ACE_TIME_PROGMEM = "\x08" "GMT-1";

const basic::Info::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_1 /*name*/,
  0x9d13da56 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_1 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-10
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = {
  // 10 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_10[] ACE_TIME_PROGMEM = "\x08" "GMT-10";

const basic::Info::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_10 /*name*/,
  0x3f8f2546 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_10 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-11
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = {
  // 11 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_11[] ACE_TIME_PROGMEM = "\x08" "GMT-11";

const basic::Info::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_11 /*name*/,
  0x3f8f2547 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_11 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-12
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = {
  // 12 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_12[] ACE_TIME_PROGMEM = "\x08" "GMT-12";

const basic::Info::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_12 /*name*/,
  0x3f8f2548 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_12 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-13
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = {
  // 13 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    52 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_13[] ACE_TIME_PROGMEM = "\x08" "GMT-13";

const basic::Info::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_13 /*name*/,
  0x3f8f2549 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_13 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-14
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = {
  // 14 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    56 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_14[] ACE_TIME_PROGMEM = "\x08" "GMT-14";

const basic::Info::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_14 /*name*/,
  0x3f8f254a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_14 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-2
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = {
  // 2 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_2[] ACE_TIME_PROGMEM = "\x08" "GMT-2";

const basic::Info::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_2 /*name*/,
  0x9d13da57 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_2 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-3
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = {
  // 3 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_3[] ACE_TIME_PROGMEM = "\x08" "GMT-3";

const basic::Info::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_3 /*name*/,
  0x9d13da58 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_3 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-4
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = {
  // 4 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_4[] ACE_TIME_PROGMEM = "\x08" "GMT-4";

const basic::Info::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_4 /*name*/,
  0x9d13da59 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_4 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-5
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = {
  // 5 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_5[] ACE_TIME_PROGMEM = "\x08" "GMT-5";

const basic::Info::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_5 /*name*/,
  0x9d13da5a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_5 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-6
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = {
  // 6 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_6[] ACE_TIME_PROGMEM = "\x08" "GMT-6";

const basic::Info::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_6 /*name*/,
  0x9d13da5b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_6 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-7
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = {
  // 7 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_7[] ACE_TIME_PROGMEM = "\x08" "GMT-7";

const basic::Info::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_7 /*name*/,
  0x9d13da5c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_7 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-8
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = {
  // 8 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_8[] ACE_TIME_PROGMEM = "\x08" "GMT-8";

const basic::Info::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_8 /*name*/,
  0x9d13da5d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_8 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-9
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = {
  // 9 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_9[] ACE_TIME_PROGMEM = "\x08" "GMT-9";

const basic::Info::ZoneInfo kZoneEtc_GMT_9 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_9 /*name*/,
  0x9d13da5e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_9 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/UTC
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEtc_UTC[] ACE_TIME_PROGMEM = {
  // 0 - UTC
  {
    nullptr /*zonePolicy*/,
    "UTC" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_UTC[] ACE_TIME_PROGMEM = "\x08" "UTC";

const basic::Info::ZoneInfo kZoneEtc_UTC ACE_TIME_PROGMEM = {
  kZoneNameEtc_UTC /*name*/,
  0xd8e31abc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Andorra
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Andorra[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Andorra[] ACE_TIME_PROGMEM = "\x09" "Andorra";

const basic::Info::ZoneInfo kZoneEurope_Andorra ACE_TIME_PROGMEM = {
  kZoneNameEurope_Andorra /*name*/,
  0x97f6764b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Andorra /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Athens
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Athens[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Athens[] ACE_TIME_PROGMEM = "\x09" "Athens";

const basic::Info::ZoneInfo kZoneEurope_Athens ACE_TIME_PROGMEM = {
  kZoneNameEurope_Athens /*name*/,
  0x4318fa27 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Athens /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Belgrade
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Belgrade[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Belgrade[] ACE_TIME_PROGMEM = "\x09" "Belgrade";

const basic::Info::ZoneInfo kZoneEurope_Belgrade ACE_TIME_PROGMEM = {
  kZoneNameEurope_Belgrade /*name*/,
  0xe0532b3a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Berlin
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Berlin[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Berlin[] ACE_TIME_PROGMEM = "\x09" "Berlin";

const basic::Info::ZoneInfo kZoneEurope_Berlin ACE_TIME_PROGMEM = {
  kZoneNameEurope_Berlin /*name*/,
  0x44644c20 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Brussels
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Brussels[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Brussels[] ACE_TIME_PROGMEM = "\x09" "Brussels";

const basic::Info::ZoneInfo kZoneEurope_Brussels ACE_TIME_PROGMEM = {
  kZoneNameEurope_Brussels /*name*/,
  0xdee07337 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Brussels /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Bucharest
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Bucharest[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Bucharest[] ACE_TIME_PROGMEM = "\x09" "Bucharest";

const basic::Info::ZoneInfo kZoneEurope_Bucharest ACE_TIME_PROGMEM = {
  kZoneNameEurope_Bucharest /*name*/,
  0xfb349ec5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Bucharest /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Budapest
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Budapest[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Budapest[] ACE_TIME_PROGMEM = "\x09" "Budapest";

const basic::Info::ZoneInfo kZoneEurope_Budapest ACE_TIME_PROGMEM = {
  kZoneNameEurope_Budapest /*name*/,
  0x9ce0197c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Budapest /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Chisinau
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Chisinau[] ACE_TIME_PROGMEM = {
  //             2:00    Moldova    EE%sT
  {
    &kZonePolicyMoldova /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Chisinau[] ACE_TIME_PROGMEM = "\x09" "Chisinau";

const basic::Info::ZoneInfo kZoneEurope_Chisinau ACE_TIME_PROGMEM = {
  kZoneNameEurope_Chisinau /*name*/,
  0xad58aa18 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Chisinau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Dublin
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Dublin[] ACE_TIME_PROGMEM = {
  //              1:00    Eire    IST/GMT
  {
    &kZonePolicyEire /*zonePolicy*/,
    "IST/GMT" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Dublin[] ACE_TIME_PROGMEM = "\x09" "Dublin";

const basic::Info::ZoneInfo kZoneEurope_Dublin ACE_TIME_PROGMEM = {
  kZoneNameEurope_Dublin /*name*/,
  0x4a275f62 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Dublin /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Gibraltar
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Gibraltar[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Gibraltar[] ACE_TIME_PROGMEM = "\x09" "Gibraltar";

const basic::Info::ZoneInfo kZoneEurope_Gibraltar ACE_TIME_PROGMEM = {
  kZoneNameEurope_Gibraltar /*name*/,
  0xf8e325fc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Gibraltar /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Helsinki
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Helsinki[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Helsinki[] ACE_TIME_PROGMEM = "\x09" "Helsinki";

const basic::Info::ZoneInfo kZoneEurope_Helsinki ACE_TIME_PROGMEM = {
  kZoneNameEurope_Helsinki /*name*/,
  0x6ab2975b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Helsinki /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Kyiv
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Kyiv[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Kyiv[] ACE_TIME_PROGMEM = "\x09" "Kyiv";

const basic::Info::ZoneInfo kZoneEurope_Kyiv ACE_TIME_PROGMEM = {
  kZoneNameEurope_Kyiv /*name*/,
  0xa2c1e347 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Kyiv /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Lisbon
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = {
  //              0:00    EU    WE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "WE%T" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Lisbon[] ACE_TIME_PROGMEM = "\x09" "Lisbon";

const basic::Info::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = {
  kZoneNameEurope_Lisbon /*name*/,
  0x5c00a70b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Lisbon /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/London
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_London[] ACE_TIME_PROGMEM = {
  //              0:00    EU    GMT/BST
  {
    &kZonePolicyEU /*zonePolicy*/,
    "GMT/BST" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_London[] ACE_TIME_PROGMEM = "\x09" "London";

const basic::Info::ZoneInfo kZoneEurope_London ACE_TIME_PROGMEM = {
  kZoneNameEurope_London /*name*/,
  0x5c6a84ae /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Madrid
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Madrid[] ACE_TIME_PROGMEM = {
  //              1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Madrid[] ACE_TIME_PROGMEM = "\x09" "Madrid";

const basic::Info::ZoneInfo kZoneEurope_Madrid ACE_TIME_PROGMEM = {
  kZoneNameEurope_Madrid /*name*/,
  0x5dbd1535 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Madrid /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Malta
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Malta[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Malta[] ACE_TIME_PROGMEM = "\x09" "Malta";

const basic::Info::ZoneInfo kZoneEurope_Malta ACE_TIME_PROGMEM = {
  kZoneNameEurope_Malta /*name*/,
  0xfb1560f3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Malta /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Paris
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Paris[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Paris[] ACE_TIME_PROGMEM = "\x09" "Paris";

const basic::Info::ZoneInfo kZoneEurope_Paris ACE_TIME_PROGMEM = {
  kZoneNameEurope_Paris /*name*/,
  0xfb4bc2a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Paris /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Prague
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Prague[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Prague[] ACE_TIME_PROGMEM = "\x09" "Prague";

const basic::Info::ZoneInfo kZoneEurope_Prague ACE_TIME_PROGMEM = {
  kZoneNameEurope_Prague /*name*/,
  0x65ee5d48 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Prague /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Rome
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Rome[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Rome[] ACE_TIME_PROGMEM = "\x09" "Rome";

const basic::Info::ZoneInfo kZoneEurope_Rome ACE_TIME_PROGMEM = {
  kZoneNameEurope_Rome /*name*/,
  0xa2c58fd7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Rome /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Sofia
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Sofia[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Sofia[] ACE_TIME_PROGMEM = "\x09" "Sofia";

const basic::Info::ZoneInfo kZoneEurope_Sofia ACE_TIME_PROGMEM = {
  kZoneNameEurope_Sofia /*name*/,
  0xfb898656 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Sofia /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Tirane
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Tirane[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Tirane[] ACE_TIME_PROGMEM = "\x09" "Tirane";

const basic::Info::ZoneInfo kZoneEurope_Tirane ACE_TIME_PROGMEM = {
  kZoneNameEurope_Tirane /*name*/,
  0x6ea95b47 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Tirane /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Vienna
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Vienna[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Vienna[] ACE_TIME_PROGMEM = "\x09" "Vienna";

const basic::Info::ZoneInfo kZoneEurope_Vienna ACE_TIME_PROGMEM = {
  kZoneNameEurope_Vienna /*name*/,
  0x734cc2e5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Vienna /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Warsaw
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Warsaw[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Warsaw[] ACE_TIME_PROGMEM = "\x09" "Warsaw";

const basic::Info::ZoneInfo kZoneEurope_Warsaw ACE_TIME_PROGMEM = {
  kZoneNameEurope_Warsaw /*name*/,
  0x75185c19 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Warsaw /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Zurich
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraEurope_Zurich[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Zurich[] ACE_TIME_PROGMEM = "\x09" "Zurich";

const basic::Info::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = {
  kZoneNameEurope_Zurich /*name*/,
  0x7d8195b9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Zurich /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Indian/Chagos
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = {
  //             6:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameIndian_Chagos[] ACE_TIME_PROGMEM = "\x0a" "Chagos";

const basic::Info::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = {
  kZoneNameIndian_Chagos /*name*/,
  0x456f7c3c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraIndian_Chagos /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Indian/Maldives
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = {
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameIndian_Maldives[] ACE_TIME_PROGMEM = "\x0a" "Maldives";

const basic::Info::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = {
  kZoneNameIndian_Maldives /*name*/,
  0x9869681c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraIndian_Maldives /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Indian/Mauritius
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = {
  //             4:00 Mauritius    %z
  {
    &kZonePolicyMauritius /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameIndian_Mauritius[] ACE_TIME_PROGMEM = "\x0a" "Mauritius";

const basic::Info::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = {
  kZoneNameIndian_Mauritius /*name*/,
  0x7b09c02a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraIndian_Mauritius /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Auckland
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Auckland[] ACE_TIME_PROGMEM = {
  //             12:00    NZ    NZ%sT
  {
    &kZonePolicyNZ /*zonePolicy*/,
    "NZ%T" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Auckland[] ACE_TIME_PROGMEM = "\x0b" "Auckland";

const basic::Info::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = {
  kZoneNamePacific_Auckland /*name*/,
  0x25062f86 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Auckland /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Chatham
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = {
  //             12:45    Chatham    %z
  {
    &kZonePolicyChatham /*zonePolicy*/,
    "" /*format*/,
    51 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Chatham[] ACE_TIME_PROGMEM = "\x0b" "Chatham";

const basic::Info::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = {
  kZoneNamePacific_Chatham /*name*/,
  0x2f0de999 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Chatham /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Easter
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = {
  //             -6:00    Chile    %z
  {
    &kZonePolicyChile /*zonePolicy*/,
    "" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Easter[] ACE_TIME_PROGMEM = "\x0b" "Easter";

const basic::Info::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = {
  kZoneNamePacific_Easter /*name*/,
  0xcf54f7e7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Easter /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Efate
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = {
  //             11:00    Vanuatu    %z
  {
    &kZonePolicyVanuatu /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Efate[] ACE_TIME_PROGMEM = "\x0b" "Efate";

const basic::Info::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = {
  kZoneNamePacific_Efate /*name*/,
  0x8a2bce28 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Efate /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Fiji
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = {
  //             12:00    Fiji    %z
  {
    &kZonePolicyFiji /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Fiji[] ACE_TIME_PROGMEM = "\x0b" "Fiji";

const basic::Info::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = {
  kZoneNamePacific_Fiji /*name*/,
  0x23383ba5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Fiji /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Galapagos
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = {
  //             -6:00    Ecuador    %z
  {
    &kZonePolicyEcuador /*zonePolicy*/,
    "" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Galapagos[] ACE_TIME_PROGMEM = "\x0b" "Galapagos";

const basic::Info::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = {
  kZoneNamePacific_Galapagos /*name*/,
  0xa952f752 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Galapagos /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Gambier
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = {
  //              -9:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Gambier[] ACE_TIME_PROGMEM = "\x0b" "Gambier";

const basic::Info::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = {
  kZoneNamePacific_Gambier /*name*/,
  0x53720c3a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Gambier /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Guadalcanal
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = {
  //             11:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Guadalcanal[] ACE_TIME_PROGMEM = "\x0b" "Guadalcanal";

const basic::Info::ZoneInfo kZonePacific_Guadalcanal ACE_TIME_PROGMEM = {
  kZoneNamePacific_Guadalcanal /*name*/,
  0xf4dd25f0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Guadalcanal /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Honolulu
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Honolulu[] ACE_TIME_PROGMEM = {
  //             -10:00    -    HST
  {
    nullptr /*zonePolicy*/,
    "HST" /*format*/,
    -40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Honolulu[] ACE_TIME_PROGMEM = "\x0b" "Honolulu";

const basic::Info::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = {
  kZoneNamePacific_Honolulu /*name*/,
  0xe6e70af9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Honolulu /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Kanton
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Kanton[] ACE_TIME_PROGMEM = {
  //              13:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    52 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Kanton[] ACE_TIME_PROGMEM = "\x0b" "Kanton";

const basic::Info::ZoneInfo kZonePacific_Kanton ACE_TIME_PROGMEM = {
  kZoneNamePacific_Kanton /*name*/,
  0xdd512f0e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Kanton /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Kiritimati
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = {
  //              14:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    56 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Kiritimati[] ACE_TIME_PROGMEM = "\x0b" "Kiritimati";

const basic::Info::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = {
  kZoneNamePacific_Kiritimati /*name*/,
  0x8305073a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Kiritimati /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Kosrae
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = {
  //              12:00    -    %z    1999
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              11:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Kosrae[] ACE_TIME_PROGMEM = "\x0b" "Kosrae";

const basic::Info::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = {
  kZoneNamePacific_Kosrae /*name*/,
  0xde5139a8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraPacific_Kosrae /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Kwajalein
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = {
  //              12:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Kwajalein[] ACE_TIME_PROGMEM = "\x0b" "Kwajalein";

const basic::Info::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = {
  kZoneNamePacific_Kwajalein /*name*/,
  0x8e216759 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Kwajalein /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Marquesas
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = {
  //              -9:30    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -38 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Marquesas[] ACE_TIME_PROGMEM = "\x0b" "Marquesas";

const basic::Info::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = {
  kZoneNamePacific_Marquesas /*name*/,
  0x57ca7135 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Marquesas /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Nauru
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = {
  //             12:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Nauru[] ACE_TIME_PROGMEM = "\x0b" "Nauru";

const basic::Info::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = {
  kZoneNamePacific_Nauru /*name*/,
  0x8acc41ae /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Nauru /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Niue
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = {
  //             -11:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Niue[] ACE_TIME_PROGMEM = "\x0b" "Niue";

const basic::Info::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = {
  kZoneNamePacific_Niue /*name*/,
  0x233ca014 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Niue /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Noumea
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = {
  //             11:00    NC    %z
  {
    &kZonePolicyNC /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Noumea[] ACE_TIME_PROGMEM = "\x0b" "Noumea";

const basic::Info::ZoneInfo kZonePacific_Noumea ACE_TIME_PROGMEM = {
  kZoneNamePacific_Noumea /*name*/,
  0xe551b788 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Noumea /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Pago_Pago
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Pago_Pago[] ACE_TIME_PROGMEM = {
  //             -11:00    -    SST
  {
    nullptr /*zonePolicy*/,
    "SST" /*format*/,
    -44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Pago_Pago[] ACE_TIME_PROGMEM = "\x0b" "Pago_Pago";

const basic::Info::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = {
  kZoneNamePacific_Pago_Pago /*name*/,
  0x603aebd0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Pago_Pago /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Palau
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = {
  //               9:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Palau[] ACE_TIME_PROGMEM = "\x0b" "Palau";

const basic::Info::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = {
  kZoneNamePacific_Palau /*name*/,
  0x8af04a36 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Palau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Pitcairn
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = {
  //             -8:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Pitcairn[] ACE_TIME_PROGMEM = "\x0b" "Pitcairn";

const basic::Info::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = {
  kZoneNamePacific_Pitcairn /*name*/,
  0x8837d8bd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Pitcairn /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Port_Moresby
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = {
  //             10:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Port_Moresby[] ACE_TIME_PROGMEM = "\x0b" "Port_Moresby";

const basic::Info::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = {
  kZoneNamePacific_Port_Moresby /*name*/,
  0xa7ba7f68 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Port_Moresby /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Rarotonga
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = {
  //             -10:00    Cook    %z
  {
    &kZonePolicyCook /*zonePolicy*/,
    "" /*format*/,
    -40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Rarotonga[] ACE_TIME_PROGMEM = "\x0b" "Rarotonga";

const basic::Info::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = {
  kZoneNamePacific_Rarotonga /*name*/,
  0x9981a3b0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Rarotonga /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Tahiti
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = {
  //             -10:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Tahiti[] ACE_TIME_PROGMEM = "\x0b" "Tahiti";

const basic::Info::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = {
  kZoneNamePacific_Tahiti /*name*/,
  0xf24c2446 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tahiti /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Tarawa
// Eras: 1
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = {
  //              12:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Tarawa[] ACE_TIME_PROGMEM = "\x0b" "Tarawa";

const basic::Info::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = {
  kZoneNamePacific_Tarawa /*name*/,
  0xf2517e63 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tarawa /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Tongatapu
// Eras: 2
//---------------------------------------------------------------------------

static const basic::Info::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = {
  //             13:00    -    %z    1999
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    52 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             13:00    Tonga    %z
  {
    &kZonePolicyTonga /*zonePolicy*/,
    "" /*format*/,
    52 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Tongatapu[] ACE_TIME_PROGMEM = "\x0b" "Tongatapu";

const basic::Info::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = {
  kZoneNamePacific_Tongatapu /*name*/,
  0x262ca836 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraPacific_Tongatapu /*eras*/,
  nullptr /*targetInfo*/,
};



//---------------------------------------------------------------------------
// Links: 231
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
// Link name: Africa/Accra -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Accra[] ACE_TIME_PROGMEM = "\x01" "Accra";

const basic::Info::ZoneInfo kZoneAfrica_Accra ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Accra /*name*/,
  0x77d5b054 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Addis_Ababa -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Addis_Ababa[] ACE_TIME_PROGMEM = "\x01" "Addis_Ababa";

const basic::Info::ZoneInfo kZoneAfrica_Addis_Ababa ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Addis_Ababa /*name*/,
  0x05ae1e65 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Asmara -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Asmara[] ACE_TIME_PROGMEM = "\x01" "Asmara";

const basic::Info::ZoneInfo kZoneAfrica_Asmara ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Asmara /*name*/,
  0x73b278ef /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Asmera -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Asmera[] ACE_TIME_PROGMEM = "\x01" "Asmera";

const basic::Info::ZoneInfo kZoneAfrica_Asmera ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Asmera /*name*/,
  0x73b289f3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Bamako -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Bamako[] ACE_TIME_PROGMEM = "\x01" "Bamako";

const basic::Info::ZoneInfo kZoneAfrica_Bamako ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Bamako /*name*/,
  0x74c1e7a5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Bangui -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Bangui[] ACE_TIME_PROGMEM = "\x01" "Bangui";

const basic::Info::ZoneInfo kZoneAfrica_Bangui ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Bangui /*name*/,
  0x74c28ed0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Banjul -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Banjul[] ACE_TIME_PROGMEM = "\x01" "Banjul";

const basic::Info::ZoneInfo kZoneAfrica_Banjul ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Banjul /*name*/,
  0x74c29b96 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Blantyre -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Blantyre[] ACE_TIME_PROGMEM = "\x01" "Blantyre";

const basic::Info::ZoneInfo kZoneAfrica_Blantyre ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Blantyre /*name*/,
  0xe08d813b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Brazzaville -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Brazzaville[] ACE_TIME_PROGMEM = "\x01" "Brazzaville";

const basic::Info::ZoneInfo kZoneAfrica_Brazzaville ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Brazzaville /*name*/,
  0x39cda760 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Bujumbura -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Bujumbura[] ACE_TIME_PROGMEM = "\x01" "Bujumbura";

const basic::Info::ZoneInfo kZoneAfrica_Bujumbura ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Bujumbura /*name*/,
  0x05232a47 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Conakry -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Conakry[] ACE_TIME_PROGMEM = "\x01" "Conakry";

const basic::Info::ZoneInfo kZoneAfrica_Conakry ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Conakry /*name*/,
  0x7ab36b31 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Dakar -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Dakar[] ACE_TIME_PROGMEM = "\x01" "Dakar";

const basic::Info::ZoneInfo kZoneAfrica_Dakar ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Dakar /*name*/,
  0x780b00fd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Dar_es_Salaam -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Dar_es_Salaam[] ACE_TIME_PROGMEM = "\x01" "Dar_es_Salaam";

const basic::Info::ZoneInfo kZoneAfrica_Dar_es_Salaam ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Dar_es_Salaam /*name*/,
  0xa04c47b6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Djibouti -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Djibouti[] ACE_TIME_PROGMEM = "\x01" "Djibouti";

const basic::Info::ZoneInfo kZoneAfrica_Djibouti ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Djibouti /*name*/,
  0x30ea01d4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Douala -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Douala[] ACE_TIME_PROGMEM = "\x01" "Douala";

const basic::Info::ZoneInfo kZoneAfrica_Douala ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Douala /*name*/,
  0x7a6df310 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Freetown -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Freetown[] ACE_TIME_PROGMEM = "\x01" "Freetown";

const basic::Info::ZoneInfo kZoneAfrica_Freetown ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Freetown /*name*/,
  0x6823dd64 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Gaborone -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Gaborone[] ACE_TIME_PROGMEM = "\x01" "Gaborone";

const basic::Info::ZoneInfo kZoneAfrica_Gaborone ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Gaborone /*name*/,
  0x317c0aa7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Harare -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Harare[] ACE_TIME_PROGMEM = "\x01" "Harare";

const basic::Info::ZoneInfo kZoneAfrica_Harare ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Harare /*name*/,
  0x82c39a2d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Kampala -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Kampala[] ACE_TIME_PROGMEM = "\x01" "Kampala";

const basic::Info::ZoneInfo kZoneAfrica_Kampala ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Kampala /*name*/,
  0xc1d30e31 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Kigali -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Kigali[] ACE_TIME_PROGMEM = "\x01" "Kigali";

const basic::Info::ZoneInfo kZoneAfrica_Kigali ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Kigali /*name*/,
  0x8a4dcf2b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Kinshasa -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Kinshasa[] ACE_TIME_PROGMEM = "\x01" "Kinshasa";

const basic::Info::ZoneInfo kZoneAfrica_Kinshasa ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Kinshasa /*name*/,
  0x6695d70c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Libreville -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Libreville[] ACE_TIME_PROGMEM = "\x01" "Libreville";

const basic::Info::ZoneInfo kZoneAfrica_Libreville ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Libreville /*name*/,
  0x01d96de4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Lome -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Lome[] ACE_TIME_PROGMEM = "\x01" "Lome";

const basic::Info::ZoneInfo kZoneAfrica_Lome ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Lome /*name*/,
  0xd51c3a07 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Luanda -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Luanda[] ACE_TIME_PROGMEM = "\x01" "Luanda";

const basic::Info::ZoneInfo kZoneAfrica_Luanda ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Luanda /*name*/,
  0x8d7909cf /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Lubumbashi -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Lubumbashi[] ACE_TIME_PROGMEM = "\x01" "Lubumbashi";

const basic::Info::ZoneInfo kZoneAfrica_Lubumbashi ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Lubumbashi /*name*/,
  0x6fd88566 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Lusaka -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Lusaka[] ACE_TIME_PROGMEM = "\x01" "Lusaka";

const basic::Info::ZoneInfo kZoneAfrica_Lusaka ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Lusaka /*name*/,
  0x8d82b23b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Malabo -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Malabo[] ACE_TIME_PROGMEM = "\x01" "Malabo";

const basic::Info::ZoneInfo kZoneAfrica_Malabo ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Malabo /*name*/,
  0x8e6a1906 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Maseru -> Africa/Johannesburg
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Maseru[] ACE_TIME_PROGMEM = "\x01" "Maseru";

const basic::Info::ZoneInfo kZoneAfrica_Maseru ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Maseru /*name*/,
  0x8e6e02c7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Johannesburg /*eras*/,
  &kZoneAfrica_Johannesburg /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Mbabane -> Africa/Johannesburg
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Mbabane[] ACE_TIME_PROGMEM = "\x01" "Mbabane";

const basic::Info::ZoneInfo kZoneAfrica_Mbabane ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Mbabane /*name*/,
  0x5d3bdd40 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Johannesburg /*eras*/,
  &kZoneAfrica_Johannesburg /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Mogadishu -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Mogadishu[] ACE_TIME_PROGMEM = "\x01" "Mogadishu";

const basic::Info::ZoneInfo kZoneAfrica_Mogadishu ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Mogadishu /*name*/,
  0x66bc159b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Niamey -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Niamey[] ACE_TIME_PROGMEM = "\x01" "Niamey";

const basic::Info::ZoneInfo kZoneAfrica_Niamey ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Niamey /*name*/,
  0x914a30fd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Nouakchott -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Nouakchott[] ACE_TIME_PROGMEM = "\x01" "Nouakchott";

const basic::Info::ZoneInfo kZoneAfrica_Nouakchott ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Nouakchott /*name*/,
  0x3dc49dba /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Ouagadougou -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Ouagadougou[] ACE_TIME_PROGMEM = "\x01" "Ouagadougou";

const basic::Info::ZoneInfo kZoneAfrica_Ouagadougou ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Ouagadougou /*name*/,
  0x04d7219a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Porto-Novo -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Porto_Novo[] ACE_TIME_PROGMEM = "\x01" "Porto-Novo";

const basic::Info::ZoneInfo kZoneAfrica_Porto_Novo ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Porto_Novo /*name*/,
  0x3d1bf95d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Timbuktu -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Timbuktu[] ACE_TIME_PROGMEM = "\x01" "Timbuktu";

const basic::Info::ZoneInfo kZoneAfrica_Timbuktu ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Timbuktu /*name*/,
  0xb164d56f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Anguilla -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Anguilla[] ACE_TIME_PROGMEM = "\x02" "Anguilla";

const basic::Info::ZoneInfo kZoneAmerica_Anguilla ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Anguilla /*name*/,
  0xafe31333 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Antigua -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Antigua[] ACE_TIME_PROGMEM = "\x02" "Antigua";

const basic::Info::ZoneInfo kZoneAmerica_Antigua ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Antigua /*name*/,
  0xc067a32f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Aruba -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Aruba[] ACE_TIME_PROGMEM = "\x02" "Aruba";

const basic::Info::ZoneInfo kZoneAmerica_Aruba ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Aruba /*name*/,
  0x97cf8651 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Atikokan -> America/Panama
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Atikokan[] ACE_TIME_PROGMEM = "\x02" "Atikokan";

const basic::Info::ZoneInfo kZoneAmerica_Atikokan ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Atikokan /*name*/,
  0x81b92098 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Panama /*eras*/,
  &kZoneAmerica_Panama /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Atka -> America/Adak
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Atka[] ACE_TIME_PROGMEM = "\x02" "Atka";

const basic::Info::ZoneInfo kZoneAmerica_Atka ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Atka /*name*/,
  0x97fe8f27 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Adak /*eras*/,
  &kZoneAmerica_Adak /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Blanc-Sablon -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = "\x02" "Blanc-Sablon";

const basic::Info::ZoneInfo kZoneAmerica_Blanc_Sablon ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Blanc_Sablon /*name*/,
  0x6e299892 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Cayman -> America/Panama
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Cayman[] ACE_TIME_PROGMEM = "\x02" "Cayman";

const basic::Info::ZoneInfo kZoneAmerica_Cayman ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Cayman /*name*/,
  0x953961df /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Panama /*eras*/,
  &kZoneAmerica_Panama /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Coral_Harbour -> America/Panama
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Coral_Harbour[] ACE_TIME_PROGMEM = "\x02" "Coral_Harbour";

const basic::Info::ZoneInfo kZoneAmerica_Coral_Harbour ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Coral_Harbour /*name*/,
  0xabcb7569 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Panama /*eras*/,
  &kZoneAmerica_Panama /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Creston -> America/Phoenix
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Creston[] ACE_TIME_PROGMEM = "\x02" "Creston";

const basic::Info::ZoneInfo kZoneAmerica_Creston ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Creston /*name*/,
  0x62a70204 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Phoenix /*eras*/,
  &kZoneAmerica_Phoenix /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Curacao -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Curacao[] ACE_TIME_PROGMEM = "\x02" "Curacao";

const basic::Info::ZoneInfo kZoneAmerica_Curacao ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Curacao /*name*/,
  0x6a879184 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Dominica -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Dominica[] ACE_TIME_PROGMEM = "\x02" "Dominica";

const basic::Info::ZoneInfo kZoneAmerica_Dominica ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Dominica /*name*/,
  0xcecb4c4a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Fort_Wayne -> America/Indiana/Indianapolis
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Fort_Wayne[] ACE_TIME_PROGMEM = "\x02" "Fort_Wayne";

const basic::Info::ZoneInfo kZoneAmerica_Fort_Wayne ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Fort_Wayne /*name*/,
  0x7eaaaf24 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Grenada -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Grenada[] ACE_TIME_PROGMEM = "\x02" "Grenada";

const basic::Info::ZoneInfo kZoneAmerica_Grenada ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Grenada /*name*/,
  0x968ce4d8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Guadeloupe -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Guadeloupe[] ACE_TIME_PROGMEM = "\x02" "Guadeloupe";

const basic::Info::ZoneInfo kZoneAmerica_Guadeloupe ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Guadeloupe /*name*/,
  0xcd1f8a31 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Indianapolis -> America/Indiana/Indianapolis
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "Indianapolis";

const basic::Info::ZoneInfo kZoneAmerica_Indianapolis ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indianapolis /*name*/,
  0x6a009ae1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Kralendijk -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Kralendijk[] ACE_TIME_PROGMEM = "\x02" "Kralendijk";

const basic::Info::ZoneInfo kZoneAmerica_Kralendijk ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Kralendijk /*name*/,
  0xe7c456c5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Louisville -> America/Kentucky/Louisville
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Louisville[] ACE_TIME_PROGMEM = "\x02" "Louisville";

const basic::Info::ZoneInfo kZoneAmerica_Louisville ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Louisville /*name*/,
  0x3dcb47ee /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
  &kZoneAmerica_Kentucky_Louisville /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Lower_Princes -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Lower_Princes[] ACE_TIME_PROGMEM = "\x02" "Lower_Princes";

const basic::Info::ZoneInfo kZoneAmerica_Lower_Princes ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Lower_Princes /*name*/,
  0x6ae45b62 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Marigot -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Marigot[] ACE_TIME_PROGMEM = "\x02" "Marigot";

const basic::Info::ZoneInfo kZoneAmerica_Marigot ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Marigot /*name*/,
  0x3dab3a59 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Montreal -> America/Toronto
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Montreal[] ACE_TIME_PROGMEM = "\x02" "Montreal";

const basic::Info::ZoneInfo kZoneAmerica_Montreal ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Montreal /*name*/,
  0x203a1ea8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  &kZoneAmerica_Toronto /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Montserrat -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Montserrat[] ACE_TIME_PROGMEM = "\x02" "Montserrat";

const basic::Info::ZoneInfo kZoneAmerica_Montserrat ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Montserrat /*name*/,
  0x199b0a35 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Nassau -> America/Toronto
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Nassau[] ACE_TIME_PROGMEM = "\x02" "Nassau";

const basic::Info::ZoneInfo kZoneAmerica_Nassau ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Nassau /*name*/,
  0xaedef011 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  &kZoneAmerica_Toronto /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Nipigon -> America/Toronto
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Nipigon[] ACE_TIME_PROGMEM = "\x02" "Nipigon";

const basic::Info::ZoneInfo kZoneAmerica_Nipigon ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Nipigon /*name*/,
  0x9d2a8b1a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  &kZoneAmerica_Toronto /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Port_of_Spain -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = "\x02" "Port_of_Spain";

const basic::Info::ZoneInfo kZoneAmerica_Port_of_Spain ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Port_of_Spain /*name*/,
  0xd8b28d59 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Rainy_River -> America/Winnipeg
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Rainy_River[] ACE_TIME_PROGMEM = "\x02" "Rainy_River";

const basic::Info::ZoneInfo kZoneAmerica_Rainy_River ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Rainy_River /*name*/,
  0x9cd58a10 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Winnipeg /*eras*/,
  &kZoneAmerica_Winnipeg /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Shiprock -> America/Denver
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Shiprock[] ACE_TIME_PROGMEM = "\x02" "Shiprock";

const basic::Info::ZoneInfo kZoneAmerica_Shiprock ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Shiprock /*name*/,
  0x82fb7049 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Denver /*eras*/,
  &kZoneAmerica_Denver /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/St_Barthelemy -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_St_Barthelemy[] ACE_TIME_PROGMEM = "\x02" "St_Barthelemy";

const basic::Info::ZoneInfo kZoneAmerica_St_Barthelemy ACE_TIME_PROGMEM = {
  kZoneNameAmerica_St_Barthelemy /*name*/,
  0x054e6a79 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/St_Kitts -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_St_Kitts[] ACE_TIME_PROGMEM = "\x02" "St_Kitts";

const basic::Info::ZoneInfo kZoneAmerica_St_Kitts ACE_TIME_PROGMEM = {
  kZoneNameAmerica_St_Kitts /*name*/,
  0x04c0507b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/St_Lucia -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_St_Lucia[] ACE_TIME_PROGMEM = "\x02" "St_Lucia";

const basic::Info::ZoneInfo kZoneAmerica_St_Lucia ACE_TIME_PROGMEM = {
  kZoneNameAmerica_St_Lucia /*name*/,
  0x04d8b3ba /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/St_Thomas -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_St_Thomas[] ACE_TIME_PROGMEM = "\x02" "St_Thomas";

const basic::Info::ZoneInfo kZoneAmerica_St_Thomas ACE_TIME_PROGMEM = {
  kZoneNameAmerica_St_Thomas /*name*/,
  0xb1b3d778 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/St_Vincent -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_St_Vincent[] ACE_TIME_PROGMEM = "\x02" "St_Vincent";

const basic::Info::ZoneInfo kZoneAmerica_St_Vincent ACE_TIME_PROGMEM = {
  kZoneNameAmerica_St_Vincent /*name*/,
  0x8460e523 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Thunder_Bay -> America/Toronto
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = "\x02" "Thunder_Bay";

const basic::Info::ZoneInfo kZoneAmerica_Thunder_Bay ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Thunder_Bay /*name*/,
  0xf962e71b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  &kZoneAmerica_Toronto /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Tortola -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Tortola[] ACE_TIME_PROGMEM = "\x02" "Tortola";

const basic::Info::ZoneInfo kZoneAmerica_Tortola ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Tortola /*name*/,
  0x7931462b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Virgin -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Virgin[] ACE_TIME_PROGMEM = "\x02" "Virgin";

const basic::Info::ZoneInfo kZoneAmerica_Virgin ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Virgin /*name*/,
  0xc2183ab5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Yellowknife -> America/Edmonton
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "\x02" "Yellowknife";

const basic::Info::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Yellowknife /*name*/,
  0x0f76c76f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Edmonton /*eras*/,
  &kZoneAmerica_Edmonton /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Antarctica/DumontDUrville -> Pacific/Port_Moresby
//---------------------------------------------------------------------------

static const char kZoneNameAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = "\x03" "DumontDUrville";

const basic::Info::ZoneInfo kZoneAntarctica_DumontDUrville ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_DumontDUrville /*name*/,
  0x5a3c656c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Port_Moresby /*eras*/,
  &kZonePacific_Port_Moresby /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Antarctica/McMurdo -> Pacific/Auckland
//---------------------------------------------------------------------------

static const char kZoneNameAntarctica_McMurdo[] ACE_TIME_PROGMEM = "\x03" "McMurdo";

const basic::Info::ZoneInfo kZoneAntarctica_McMurdo ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_McMurdo /*name*/,
  0x6eeb5585 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Auckland /*eras*/,
  &kZonePacific_Auckland /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Antarctica/South_Pole -> Pacific/Auckland
//---------------------------------------------------------------------------

static const char kZoneNameAntarctica_South_Pole[] ACE_TIME_PROGMEM = "\x03" "South_Pole";

const basic::Info::ZoneInfo kZoneAntarctica_South_Pole ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_South_Pole /*name*/,
  0xcd96b290 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Auckland /*eras*/,
  &kZonePacific_Auckland /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Antarctica/Syowa -> Asia/Riyadh
//---------------------------------------------------------------------------

static const char kZoneNameAntarctica_Syowa[] ACE_TIME_PROGMEM = "\x03" "Syowa";

const basic::Info::ZoneInfo kZoneAntarctica_Syowa ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_Syowa /*name*/,
  0xe330c7e1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Riyadh /*eras*/,
  &kZoneAsia_Riyadh /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Arctic/Longyearbyen -> Europe/Berlin
//---------------------------------------------------------------------------

static const char kZoneNameArctic_Longyearbyen[] ACE_TIME_PROGMEM = "Arctic/Longyearbyen";

const basic::Info::ZoneInfo kZoneArctic_Longyearbyen ACE_TIME_PROGMEM = {
  kZoneNameArctic_Longyearbyen /*name*/,
  0xd23e7859 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  &kZoneEurope_Berlin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Aden -> Asia/Riyadh
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Aden[] ACE_TIME_PROGMEM = "\x04" "Aden";

const basic::Info::ZoneInfo kZoneAsia_Aden ACE_TIME_PROGMEM = {
  kZoneNameAsia_Aden /*name*/,
  0x1fa7084a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Riyadh /*eras*/,
  &kZoneAsia_Riyadh /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Ashkhabad -> Asia/Ashgabat
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Ashkhabad[] ACE_TIME_PROGMEM = "\x04" "Ashkhabad";

const basic::Info::ZoneInfo kZoneAsia_Ashkhabad ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ashkhabad /*name*/,
  0x15454f09 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ashgabat /*eras*/,
  &kZoneAsia_Ashgabat /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Bahrain -> Asia/Qatar
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Bahrain[] ACE_TIME_PROGMEM = "\x04" "Bahrain";

const basic::Info::ZoneInfo kZoneAsia_Bahrain ACE_TIME_PROGMEM = {
  kZoneNameAsia_Bahrain /*name*/,
  0x9d078487 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Qatar /*eras*/,
  &kZoneAsia_Qatar /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Brunei -> Asia/Kuching
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Brunei[] ACE_TIME_PROGMEM = "\x04" "Brunei";

const basic::Info::ZoneInfo kZoneAsia_Brunei ACE_TIME_PROGMEM = {
  kZoneNameAsia_Brunei /*name*/,
  0xa8e595f7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kuching /*eras*/,
  &kZoneAsia_Kuching /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Calcutta -> Asia/Kolkata
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Calcutta[] ACE_TIME_PROGMEM = "\x04" "Calcutta";

const basic::Info::ZoneInfo kZoneAsia_Calcutta ACE_TIME_PROGMEM = {
  kZoneNameAsia_Calcutta /*name*/,
  0x328a44c3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kolkata /*eras*/,
  &kZoneAsia_Kolkata /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Choibalsan -> Asia/Ulaanbaatar
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "\x04" "Choibalsan";

const basic::Info::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = {
  kZoneNameAsia_Choibalsan /*name*/,
  0x928aa4a6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ulaanbaatar /*eras*/,
  &kZoneAsia_Ulaanbaatar /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Chongqing -> Asia/Shanghai
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Chongqing[] ACE_TIME_PROGMEM = "\x04" "Chongqing";

const basic::Info::ZoneInfo kZoneAsia_Chongqing ACE_TIME_PROGMEM = {
  kZoneNameAsia_Chongqing /*name*/,
  0xf937fb90 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Shanghai /*eras*/,
  &kZoneAsia_Shanghai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Chungking -> Asia/Shanghai
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Chungking[] ACE_TIME_PROGMEM = "\x04" "Chungking";

const basic::Info::ZoneInfo kZoneAsia_Chungking ACE_TIME_PROGMEM = {
  kZoneNameAsia_Chungking /*name*/,
  0xc7121dd0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Shanghai /*eras*/,
  &kZoneAsia_Shanghai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Dacca -> Asia/Dhaka
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Dacca[] ACE_TIME_PROGMEM = "\x04" "Dacca";

const basic::Info::ZoneInfo kZoneAsia_Dacca ACE_TIME_PROGMEM = {
  kZoneNameAsia_Dacca /*name*/,
  0x14bcac5e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Dhaka /*eras*/,
  &kZoneAsia_Dhaka /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Harbin -> Asia/Shanghai
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Harbin[] ACE_TIME_PROGMEM = "\x04" "Harbin";

const basic::Info::ZoneInfo kZoneAsia_Harbin ACE_TIME_PROGMEM = {
  kZoneNameAsia_Harbin /*name*/,
  0xb5af1186 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Shanghai /*eras*/,
  &kZoneAsia_Shanghai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Kashgar -> Asia/Urumqi
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Kashgar[] ACE_TIME_PROGMEM = "\x04" "Kashgar";

const basic::Info::ZoneInfo kZoneAsia_Kashgar ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kashgar /*name*/,
  0x52955193 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Urumqi /*eras*/,
  &kZoneAsia_Urumqi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Katmandu -> Asia/Kathmandu
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Katmandu[] ACE_TIME_PROGMEM = "\x04" "Katmandu";

const basic::Info::ZoneInfo kZoneAsia_Katmandu ACE_TIME_PROGMEM = {
  kZoneNameAsia_Katmandu /*name*/,
  0xa7ec12c7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kathmandu /*eras*/,
  &kZoneAsia_Kathmandu /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Kuala_Lumpur -> Asia/Singapore
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = "\x04" "Kuala_Lumpur";

const basic::Info::ZoneInfo kZoneAsia_Kuala_Lumpur ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kuala_Lumpur /*name*/,
  0x014763c4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Singapore /*eras*/,
  &kZoneAsia_Singapore /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Kuwait -> Asia/Riyadh
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Kuwait[] ACE_TIME_PROGMEM = "\x04" "Kuwait";

const basic::Info::ZoneInfo kZoneAsia_Kuwait ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kuwait /*name*/,
  0xbe1b2f27 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Riyadh /*eras*/,
  &kZoneAsia_Riyadh /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Macao -> Asia/Macau
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Macao[] ACE_TIME_PROGMEM = "\x04" "Macao";

const basic::Info::ZoneInfo kZoneAsia_Macao ACE_TIME_PROGMEM = {
  kZoneNameAsia_Macao /*name*/,
  0x155f88b3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Macau /*eras*/,
  &kZoneAsia_Macau /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Muscat -> Asia/Dubai
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Muscat[] ACE_TIME_PROGMEM = "\x04" "Muscat";

const basic::Info::ZoneInfo kZoneAsia_Muscat ACE_TIME_PROGMEM = {
  kZoneNameAsia_Muscat /*name*/,
  0xc2c3565f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Dubai /*eras*/,
  &kZoneAsia_Dubai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Phnom_Penh -> Asia/Bangkok
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Phnom_Penh[] ACE_TIME_PROGMEM = "\x04" "Phnom_Penh";

const basic::Info::ZoneInfo kZoneAsia_Phnom_Penh ACE_TIME_PROGMEM = {
  kZoneNameAsia_Phnom_Penh /*name*/,
  0xc224945e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Bangkok /*eras*/,
  &kZoneAsia_Bangkok /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Rangoon -> Asia/Yangon
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Rangoon[] ACE_TIME_PROGMEM = "\x04" "Rangoon";

const basic::Info::ZoneInfo kZoneAsia_Rangoon ACE_TIME_PROGMEM = {
  kZoneNameAsia_Rangoon /*name*/,
  0x6d1217c6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Yangon /*eras*/,
  &kZoneAsia_Yangon /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Saigon -> Asia/Ho_Chi_Minh
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Saigon[] ACE_TIME_PROGMEM = "\x04" "Saigon";

const basic::Info::ZoneInfo kZoneAsia_Saigon ACE_TIME_PROGMEM = {
  kZoneNameAsia_Saigon /*name*/,
  0xcf52f713 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
  &kZoneAsia_Ho_Chi_Minh /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Tel_Aviv -> Asia/Jerusalem
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Tel_Aviv[] ACE_TIME_PROGMEM = "\x04" "Tel_Aviv";

const basic::Info::ZoneInfo kZoneAsia_Tel_Aviv ACE_TIME_PROGMEM = {
  kZoneNameAsia_Tel_Aviv /*name*/,
  0x166d7c2c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Jerusalem /*eras*/,
  &kZoneAsia_Jerusalem /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Thimbu -> Asia/Thimphu
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Thimbu[] ACE_TIME_PROGMEM = "\x04" "Thimbu";

const basic::Info::ZoneInfo kZoneAsia_Thimbu ACE_TIME_PROGMEM = {
  kZoneNameAsia_Thimbu /*name*/,
  0xd226e31b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Thimphu /*eras*/,
  &kZoneAsia_Thimphu /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Ujung_Pandang -> Asia/Makassar
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Ujung_Pandang[] ACE_TIME_PROGMEM = "\x04" "Ujung_Pandang";

const basic::Info::ZoneInfo kZoneAsia_Ujung_Pandang ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ujung_Pandang /*name*/,
  0x5d001eb3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Makassar /*eras*/,
  &kZoneAsia_Makassar /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Ulan_Bator -> Asia/Ulaanbaatar
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Ulan_Bator[] ACE_TIME_PROGMEM = "\x04" "Ulan_Bator";

const basic::Info::ZoneInfo kZoneAsia_Ulan_Bator ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ulan_Bator /*name*/,
  0x394db4d9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ulaanbaatar /*eras*/,
  &kZoneAsia_Ulaanbaatar /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Vientiane -> Asia/Bangkok
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Vientiane[] ACE_TIME_PROGMEM = "\x04" "Vientiane";

const basic::Info::ZoneInfo kZoneAsia_Vientiane ACE_TIME_PROGMEM = {
  kZoneNameAsia_Vientiane /*name*/,
  0x89d68d75 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Bangkok /*eras*/,
  &kZoneAsia_Bangkok /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Atlantic/Faeroe -> Atlantic/Faroe
//---------------------------------------------------------------------------

static const char kZoneNameAtlantic_Faeroe[] ACE_TIME_PROGMEM = "\x05" "Faeroe";

const basic::Info::ZoneInfo kZoneAtlantic_Faeroe ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Faeroe /*name*/,
  0x031ec516 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Faroe /*eras*/,
  &kZoneAtlantic_Faroe /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Atlantic/Jan_Mayen -> Europe/Berlin
//---------------------------------------------------------------------------

static const char kZoneNameAtlantic_Jan_Mayen[] ACE_TIME_PROGMEM = "\x05" "Jan_Mayen";

const basic::Info::ZoneInfo kZoneAtlantic_Jan_Mayen ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Jan_Mayen /*name*/,
  0x5a7535b6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  &kZoneEurope_Berlin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Atlantic/Reykjavik -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAtlantic_Reykjavik[] ACE_TIME_PROGMEM = "\x05" "Reykjavik";

const basic::Info::ZoneInfo kZoneAtlantic_Reykjavik ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Reykjavik /*name*/,
  0x1c2b4f74 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Atlantic/St_Helena -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAtlantic_St_Helena[] ACE_TIME_PROGMEM = "\x05" "St_Helena";

const basic::Info::ZoneInfo kZoneAtlantic_St_Helena ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_St_Helena /*name*/,
  0x451fc5f7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/ACT -> Australia/Sydney
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_ACT[] ACE_TIME_PROGMEM = "\x06" "ACT";

const basic::Info::ZoneInfo kZoneAustralia_ACT ACE_TIME_PROGMEM = {
  kZoneNameAustralia_ACT /*name*/,
  0x8a970eb2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Sydney /*eras*/,
  &kZoneAustralia_Sydney /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Canberra -> Australia/Sydney
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Canberra[] ACE_TIME_PROGMEM = "\x06" "Canberra";

const basic::Info::ZoneInfo kZoneAustralia_Canberra ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Canberra /*name*/,
  0x2a09ae58 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Sydney /*eras*/,
  &kZoneAustralia_Sydney /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Currie -> Australia/Hobart
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Currie[] ACE_TIME_PROGMEM = "\x06" "Currie";

const basic::Info::ZoneInfo kZoneAustralia_Currie ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Currie /*name*/,
  0x278b6a24 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Hobart /*eras*/,
  &kZoneAustralia_Hobart /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/LHI -> Australia/Lord_Howe
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_LHI[] ACE_TIME_PROGMEM = "\x06" "LHI";

const basic::Info::ZoneInfo kZoneAustralia_LHI ACE_TIME_PROGMEM = {
  kZoneNameAustralia_LHI /*name*/,
  0x8a973e17 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Lord_Howe /*eras*/,
  &kZoneAustralia_Lord_Howe /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/NSW -> Australia/Sydney
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_NSW[] ACE_TIME_PROGMEM = "\x06" "NSW";

const basic::Info::ZoneInfo kZoneAustralia_NSW ACE_TIME_PROGMEM = {
  kZoneNameAustralia_NSW /*name*/,
  0x8a974812 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Sydney /*eras*/,
  &kZoneAustralia_Sydney /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/North -> Australia/Darwin
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_North[] ACE_TIME_PROGMEM = "\x06" "North";

const basic::Info::ZoneInfo kZoneAustralia_North ACE_TIME_PROGMEM = {
  kZoneNameAustralia_North /*name*/,
  0x8d997165 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Darwin /*eras*/,
  &kZoneAustralia_Darwin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Queensland -> Australia/Brisbane
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Queensland[] ACE_TIME_PROGMEM = "\x06" "Queensland";

const basic::Info::ZoneInfo kZoneAustralia_Queensland ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Queensland /*name*/,
  0xd326ed0a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Brisbane /*eras*/,
  &kZoneAustralia_Brisbane /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/South -> Australia/Adelaide
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_South[] ACE_TIME_PROGMEM = "\x06" "South";

const basic::Info::ZoneInfo kZoneAustralia_South ACE_TIME_PROGMEM = {
  kZoneNameAustralia_South /*name*/,
  0x8df3f8ad /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Adelaide /*eras*/,
  &kZoneAustralia_Adelaide /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Tasmania -> Australia/Hobart
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Tasmania[] ACE_TIME_PROGMEM = "\x06" "Tasmania";

const basic::Info::ZoneInfo kZoneAustralia_Tasmania ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Tasmania /*name*/,
  0xe6d76648 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Hobart /*eras*/,
  &kZoneAustralia_Hobart /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Victoria -> Australia/Melbourne
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Victoria[] ACE_TIME_PROGMEM = "\x06" "Victoria";

const basic::Info::ZoneInfo kZoneAustralia_Victoria ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Victoria /*name*/,
  0x0260d5db /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Melbourne /*eras*/,
  &kZoneAustralia_Melbourne /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/West -> Australia/Perth
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_West[] ACE_TIME_PROGMEM = "\x06" "West";

const basic::Info::ZoneInfo kZoneAustralia_West ACE_TIME_PROGMEM = {
  kZoneNameAustralia_West /*name*/,
  0xdd858a5d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Perth /*eras*/,
  &kZoneAustralia_Perth /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Yancowinna -> Australia/Broken_Hill
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Yancowinna[] ACE_TIME_PROGMEM = "\x06" "Yancowinna";

const basic::Info::ZoneInfo kZoneAustralia_Yancowinna ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Yancowinna /*name*/,
  0x90bac131 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAustralia_Broken_Hill /*eras*/,
  &kZoneAustralia_Broken_Hill /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Brazil/East -> America/Sao_Paulo
//---------------------------------------------------------------------------

static const char kZoneNameBrazil_East[] ACE_TIME_PROGMEM = "Brazil/East";

const basic::Info::ZoneInfo kZoneBrazil_East ACE_TIME_PROGMEM = {
  kZoneNameBrazil_East /*name*/,
  0x669578c5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Sao_Paulo /*eras*/,
  &kZoneAmerica_Sao_Paulo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Brazil/West -> America/Manaus
//---------------------------------------------------------------------------

static const char kZoneNameBrazil_West[] ACE_TIME_PROGMEM = "Brazil/West";

const basic::Info::ZoneInfo kZoneBrazil_West ACE_TIME_PROGMEM = {
  kZoneNameBrazil_West /*name*/,
  0x669f689b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Manaus /*eras*/,
  &kZoneAmerica_Manaus /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: CET -> Europe/Brussels
//---------------------------------------------------------------------------

static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET";

const basic::Info::ZoneInfo kZoneCET ACE_TIME_PROGMEM = {
  kZoneNameCET /*name*/,
  0x0b87d921 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Brussels /*eras*/,
  &kZoneEurope_Brussels /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: CST6CDT -> America/Chicago
//---------------------------------------------------------------------------

static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT";

const basic::Info::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = {
  kZoneNameCST6CDT /*name*/,
  0xf0e87d00 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Chicago /*eras*/,
  &kZoneAmerica_Chicago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Atlantic -> America/Halifax
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Atlantic[] ACE_TIME_PROGMEM = "\x07" "Atlantic";

const basic::Info::ZoneInfo kZoneCanada_Atlantic ACE_TIME_PROGMEM = {
  kZoneNameCanada_Atlantic /*name*/,
  0x536b119c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Halifax /*eras*/,
  &kZoneAmerica_Halifax /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Central -> America/Winnipeg
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Central[] ACE_TIME_PROGMEM = "\x07" "Central";

const basic::Info::ZoneInfo kZoneCanada_Central ACE_TIME_PROGMEM = {
  kZoneNameCanada_Central /*name*/,
  0x626710f5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Winnipeg /*eras*/,
  &kZoneAmerica_Winnipeg /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Eastern -> America/Toronto
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Eastern[] ACE_TIME_PROGMEM = "\x07" "Eastern";

const basic::Info::ZoneInfo kZoneCanada_Eastern ACE_TIME_PROGMEM = {
  kZoneNameCanada_Eastern /*name*/,
  0xf3612d5e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  &kZoneAmerica_Toronto /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Mountain -> America/Edmonton
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Mountain[] ACE_TIME_PROGMEM = "\x07" "Mountain";

const basic::Info::ZoneInfo kZoneCanada_Mountain ACE_TIME_PROGMEM = {
  kZoneNameCanada_Mountain /*name*/,
  0xfb8a8217 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Edmonton /*eras*/,
  &kZoneAmerica_Edmonton /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Pacific -> America/Vancouver
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Pacific[] ACE_TIME_PROGMEM = "\x07" "Pacific";

const basic::Info::ZoneInfo kZoneCanada_Pacific ACE_TIME_PROGMEM = {
  kZoneNameCanada_Pacific /*name*/,
  0x40fa3c7b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Vancouver /*eras*/,
  &kZoneAmerica_Vancouver /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Saskatchewan -> America/Regina
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Saskatchewan[] ACE_TIME_PROGMEM = "\x07" "Saskatchewan";

const basic::Info::ZoneInfo kZoneCanada_Saskatchewan ACE_TIME_PROGMEM = {
  kZoneNameCanada_Saskatchewan /*name*/,
  0x77311f49 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Regina /*eras*/,
  &kZoneAmerica_Regina /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Chile/Continental -> America/Santiago
//---------------------------------------------------------------------------

static const char kZoneNameChile_Continental[] ACE_TIME_PROGMEM = "Chile/Continental";

const basic::Info::ZoneInfo kZoneChile_Continental ACE_TIME_PROGMEM = {
  kZoneNameChile_Continental /*name*/,
  0x7e2bdb18 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Santiago /*eras*/,
  &kZoneAmerica_Santiago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Chile/EasterIsland -> Pacific/Easter
//---------------------------------------------------------------------------

static const char kZoneNameChile_EasterIsland[] ACE_TIME_PROGMEM = "Chile/EasterIsland";

const basic::Info::ZoneInfo kZoneChile_EasterIsland ACE_TIME_PROGMEM = {
  kZoneNameChile_EasterIsland /*name*/,
  0xb0982af8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Easter /*eras*/,
  &kZonePacific_Easter /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Cuba -> America/Havana
//---------------------------------------------------------------------------

static const char kZoneNameCuba[] ACE_TIME_PROGMEM = "Cuba";

const basic::Info::ZoneInfo kZoneCuba ACE_TIME_PROGMEM = {
  kZoneNameCuba /*name*/,
  0x7c83cba0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Havana /*eras*/,
  &kZoneAmerica_Havana /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: EET -> Europe/Athens
//---------------------------------------------------------------------------

static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET";

const basic::Info::ZoneInfo kZoneEET ACE_TIME_PROGMEM = {
  kZoneNameEET /*name*/,
  0x0b87e1a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Athens /*eras*/,
  &kZoneEurope_Athens /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: EST -> America/Panama
//---------------------------------------------------------------------------

static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST";

const basic::Info::ZoneInfo kZoneEST ACE_TIME_PROGMEM = {
  kZoneNameEST /*name*/,
  0x0b87e371 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Panama /*eras*/,
  &kZoneAmerica_Panama /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: EST5EDT -> America/New_York
//---------------------------------------------------------------------------

static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT";

const basic::Info::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = {
  kZoneNameEST5EDT /*name*/,
  0x8adc72a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_New_York /*eras*/,
  &kZoneAmerica_New_York /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Eire -> Europe/Dublin
//---------------------------------------------------------------------------

static const char kZoneNameEire[] ACE_TIME_PROGMEM = "Eire";

const basic::Info::ZoneInfo kZoneEire ACE_TIME_PROGMEM = {
  kZoneNameEire /*name*/,
  0x7c84b36a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Dublin /*eras*/,
  &kZoneEurope_Dublin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/GMT+0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameEtc_GMT_PLUS_0[] ACE_TIME_PROGMEM = "\x08" "GMT+0";

const basic::Info::ZoneInfo kZoneEtc_GMT_PLUS_0 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_0 /*name*/,
  0x9d13da13 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/GMT-0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameEtc_GMT_0[] ACE_TIME_PROGMEM = "\x08" "GMT-0";

const basic::Info::ZoneInfo kZoneEtc_GMT_0 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_0 /*name*/,
  0x9d13da55 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/GMT0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameEtc_GMT0[] ACE_TIME_PROGMEM = "\x08" "GMT0";

const basic::Info::ZoneInfo kZoneEtc_GMT0 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT0 /*name*/,
  0xf53ea988 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/Greenwich -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameEtc_Greenwich[] ACE_TIME_PROGMEM = "\x08" "Greenwich";

const basic::Info::ZoneInfo kZoneEtc_Greenwich ACE_TIME_PROGMEM = {
  kZoneNameEtc_Greenwich /*name*/,
  0x26daa98c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/UCT -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameEtc_UCT[] ACE_TIME_PROGMEM = "\x08" "UCT";

const basic::Info::ZoneInfo kZoneEtc_UCT ACE_TIME_PROGMEM = {
  kZoneNameEtc_UCT /*name*/,
  0xd8e3189c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/Universal -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameEtc_Universal[] ACE_TIME_PROGMEM = "\x08" "Universal";

const basic::Info::ZoneInfo kZoneEtc_Universal ACE_TIME_PROGMEM = {
  kZoneNameEtc_Universal /*name*/,
  0x2f8cb9a9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/Zulu -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameEtc_Zulu[] ACE_TIME_PROGMEM = "\x08" "Zulu";

const basic::Info::ZoneInfo kZoneEtc_Zulu ACE_TIME_PROGMEM = {
  kZoneNameEtc_Zulu /*name*/,
  0xf549c240 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Amsterdam -> Europe/Brussels
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Amsterdam[] ACE_TIME_PROGMEM = "\x09" "Amsterdam";

const basic::Info::ZoneInfo kZoneEurope_Amsterdam ACE_TIME_PROGMEM = {
  kZoneNameEurope_Amsterdam /*name*/,
  0x109395c2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Brussels /*eras*/,
  &kZoneEurope_Brussels /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Belfast -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Belfast[] ACE_TIME_PROGMEM = "\x09" "Belfast";

const basic::Info::ZoneInfo kZoneEurope_Belfast ACE_TIME_PROGMEM = {
  kZoneNameEurope_Belfast /*name*/,
  0xd07dd1e5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Bratislava -> Europe/Prague
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Bratislava[] ACE_TIME_PROGMEM = "\x09" "Bratislava";

const basic::Info::ZoneInfo kZoneEurope_Bratislava ACE_TIME_PROGMEM = {
  kZoneNameEurope_Bratislava /*name*/,
  0xda493bed /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Prague /*eras*/,
  &kZoneEurope_Prague /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Busingen -> Europe/Zurich
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Busingen[] ACE_TIME_PROGMEM = "\x09" "Busingen";

const basic::Info::ZoneInfo kZoneEurope_Busingen ACE_TIME_PROGMEM = {
  kZoneNameEurope_Busingen /*name*/,
  0xc06d2cdf /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Zurich /*eras*/,
  &kZoneEurope_Zurich /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Copenhagen -> Europe/Berlin
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Copenhagen[] ACE_TIME_PROGMEM = "\x09" "Copenhagen";

const basic::Info::ZoneInfo kZoneEurope_Copenhagen ACE_TIME_PROGMEM = {
  kZoneNameEurope_Copenhagen /*name*/,
  0xe0ed30bc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  &kZoneEurope_Berlin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Guernsey -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Guernsey[] ACE_TIME_PROGMEM = "\x09" "Guernsey";

const basic::Info::ZoneInfo kZoneEurope_Guernsey ACE_TIME_PROGMEM = {
  kZoneNameEurope_Guernsey /*name*/,
  0x3db12c16 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Isle_of_Man -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Isle_of_Man[] ACE_TIME_PROGMEM = "\x09" "Isle_of_Man";

const basic::Info::ZoneInfo kZoneEurope_Isle_of_Man ACE_TIME_PROGMEM = {
  kZoneNameEurope_Isle_of_Man /*name*/,
  0xeaf84580 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Jersey -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Jersey[] ACE_TIME_PROGMEM = "\x09" "Jersey";

const basic::Info::ZoneInfo kZoneEurope_Jersey ACE_TIME_PROGMEM = {
  kZoneNameEurope_Jersey /*name*/,
  0x570dae76 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Kiev -> Europe/Kyiv
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Kiev[] ACE_TIME_PROGMEM = "\x09" "Kiev";

const basic::Info::ZoneInfo kZoneEurope_Kiev ACE_TIME_PROGMEM = {
  kZoneNameEurope_Kiev /*name*/,
  0xa2c19eb3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Kyiv /*eras*/,
  &kZoneEurope_Kyiv /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Ljubljana -> Europe/Belgrade
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Ljubljana[] ACE_TIME_PROGMEM = "\x09" "Ljubljana";

const basic::Info::ZoneInfo kZoneEurope_Ljubljana ACE_TIME_PROGMEM = {
  kZoneNameEurope_Ljubljana /*name*/,
  0xbd98cdb7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  &kZoneEurope_Belgrade /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Luxembourg -> Europe/Brussels
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Luxembourg[] ACE_TIME_PROGMEM = "\x09" "Luxembourg";

const basic::Info::ZoneInfo kZoneEurope_Luxembourg ACE_TIME_PROGMEM = {
  kZoneNameEurope_Luxembourg /*name*/,
  0x1f8bc6ce /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Brussels /*eras*/,
  &kZoneEurope_Brussels /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Mariehamn -> Europe/Helsinki
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Mariehamn[] ACE_TIME_PROGMEM = "\x09" "Mariehamn";

const basic::Info::ZoneInfo kZoneEurope_Mariehamn ACE_TIME_PROGMEM = {
  kZoneNameEurope_Mariehamn /*name*/,
  0x0caa6496 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Helsinki /*eras*/,
  &kZoneEurope_Helsinki /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Monaco -> Europe/Paris
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Monaco[] ACE_TIME_PROGMEM = "\x09" "Monaco";

const basic::Info::ZoneInfo kZoneEurope_Monaco ACE_TIME_PROGMEM = {
  kZoneNameEurope_Monaco /*name*/,
  0x5ebf9f01 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Paris /*eras*/,
  &kZoneEurope_Paris /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Nicosia -> Asia/Nicosia
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Nicosia[] ACE_TIME_PROGMEM = "\x09" "Nicosia";

const basic::Info::ZoneInfo kZoneEurope_Nicosia ACE_TIME_PROGMEM = {
  kZoneNameEurope_Nicosia /*name*/,
  0x74efab8a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Nicosia /*eras*/,
  &kZoneAsia_Nicosia /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Oslo -> Europe/Berlin
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Oslo[] ACE_TIME_PROGMEM = "\x09" "Oslo";

const basic::Info::ZoneInfo kZoneEurope_Oslo ACE_TIME_PROGMEM = {
  kZoneNameEurope_Oslo /*name*/,
  0xa2c3fba1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  &kZoneEurope_Berlin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Podgorica -> Europe/Belgrade
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Podgorica[] ACE_TIME_PROGMEM = "\x09" "Podgorica";

const basic::Info::ZoneInfo kZoneEurope_Podgorica ACE_TIME_PROGMEM = {
  kZoneNameEurope_Podgorica /*name*/,
  0x1c1a499c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  &kZoneEurope_Belgrade /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/San_Marino -> Europe/Rome
//---------------------------------------------------------------------------

static const char kZoneNameEurope_San_Marino[] ACE_TIME_PROGMEM = "\x09" "San_Marino";

const basic::Info::ZoneInfo kZoneEurope_San_Marino ACE_TIME_PROGMEM = {
  kZoneNameEurope_San_Marino /*name*/,
  0xcef7724b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Rome /*eras*/,
  &kZoneEurope_Rome /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Sarajevo -> Europe/Belgrade
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Sarajevo[] ACE_TIME_PROGMEM = "\x09" "Sarajevo";

const basic::Info::ZoneInfo kZoneEurope_Sarajevo ACE_TIME_PROGMEM = {
  kZoneNameEurope_Sarajevo /*name*/,
  0x6a576c3f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  &kZoneEurope_Belgrade /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Skopje -> Europe/Belgrade
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Skopje[] ACE_TIME_PROGMEM = "\x09" "Skopje";

const basic::Info::ZoneInfo kZoneEurope_Skopje ACE_TIME_PROGMEM = {
  kZoneNameEurope_Skopje /*name*/,
  0x6c76fdd0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  &kZoneEurope_Belgrade /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Stockholm -> Europe/Berlin
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Stockholm[] ACE_TIME_PROGMEM = "\x09" "Stockholm";

const basic::Info::ZoneInfo kZoneEurope_Stockholm ACE_TIME_PROGMEM = {
  kZoneNameEurope_Stockholm /*name*/,
  0x5bf6fbb8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  &kZoneEurope_Berlin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Tiraspol -> Europe/Chisinau
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Tiraspol[] ACE_TIME_PROGMEM = "\x09" "Tiraspol";

const basic::Info::ZoneInfo kZoneEurope_Tiraspol ACE_TIME_PROGMEM = {
  kZoneNameEurope_Tiraspol /*name*/,
  0xbe704472 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Chisinau /*eras*/,
  &kZoneEurope_Chisinau /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Uzhgorod -> Europe/Kyiv
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Uzhgorod[] ACE_TIME_PROGMEM = "\x09" "Uzhgorod";

const basic::Info::ZoneInfo kZoneEurope_Uzhgorod ACE_TIME_PROGMEM = {
  kZoneNameEurope_Uzhgorod /*name*/,
  0xb066f5d6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Kyiv /*eras*/,
  &kZoneEurope_Kyiv /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Vaduz -> Europe/Zurich
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Vaduz[] ACE_TIME_PROGMEM = "\x09" "Vaduz";

const basic::Info::ZoneInfo kZoneEurope_Vaduz ACE_TIME_PROGMEM = {
  kZoneNameEurope_Vaduz /*name*/,
  0xfbb81bae /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Zurich /*eras*/,
  &kZoneEurope_Zurich /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Vatican -> Europe/Rome
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Vatican[] ACE_TIME_PROGMEM = "\x09" "Vatican";

const basic::Info::ZoneInfo kZoneEurope_Vatican ACE_TIME_PROGMEM = {
  kZoneNameEurope_Vatican /*name*/,
  0xcb485dca /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Rome /*eras*/,
  &kZoneEurope_Rome /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Zagreb -> Europe/Belgrade
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Zagreb[] ACE_TIME_PROGMEM = "\x09" "Zagreb";

const basic::Info::ZoneInfo kZoneEurope_Zagreb ACE_TIME_PROGMEM = {
  kZoneNameEurope_Zagreb /*name*/,
  0x7c11c9ff /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  &kZoneEurope_Belgrade /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Zaporozhye -> Europe/Kyiv
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Zaporozhye[] ACE_TIME_PROGMEM = "\x09" "Zaporozhye";

const basic::Info::ZoneInfo kZoneEurope_Zaporozhye ACE_TIME_PROGMEM = {
  kZoneNameEurope_Zaporozhye /*name*/,
  0xeab9767f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Kyiv /*eras*/,
  &kZoneEurope_Kyiv /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GB -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameGB[] ACE_TIME_PROGMEM = "GB";

const basic::Info::ZoneInfo kZoneGB ACE_TIME_PROGMEM = {
  kZoneNameGB /*name*/,
  0x005973ae /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GB-Eire -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameGB_Eire[] ACE_TIME_PROGMEM = "GB-Eire";

const basic::Info::ZoneInfo kZoneGB_Eire ACE_TIME_PROGMEM = {
  kZoneNameGB_Eire /*name*/,
  0xfa70e300 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GMT -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameGMT[] ACE_TIME_PROGMEM = "GMT";

const basic::Info::ZoneInfo kZoneGMT ACE_TIME_PROGMEM = {
  kZoneNameGMT /*name*/,
  0x0b87eb2d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GMT+0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameGMT_PLUS_0[] ACE_TIME_PROGMEM = "GMT+0";

const basic::Info::ZoneInfo kZoneGMT_PLUS_0 ACE_TIME_PROGMEM = {
  kZoneNameGMT_PLUS_0 /*name*/,
  0x0d2f7028 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GMT-0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameGMT_0[] ACE_TIME_PROGMEM = "GMT-0";

const basic::Info::ZoneInfo kZoneGMT_0 ACE_TIME_PROGMEM = {
  kZoneNameGMT_0 /*name*/,
  0x0d2f706a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GMT0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameGMT0[] ACE_TIME_PROGMEM = "GMT0";

const basic::Info::ZoneInfo kZoneGMT0 ACE_TIME_PROGMEM = {
  kZoneNameGMT0 /*name*/,
  0x7c8550fd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Greenwich -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameGreenwich[] ACE_TIME_PROGMEM = "Greenwich";

const basic::Info::ZoneInfo kZoneGreenwich ACE_TIME_PROGMEM = {
  kZoneNameGreenwich /*name*/,
  0xc84d4221 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: HST -> Pacific/Honolulu
//---------------------------------------------------------------------------

static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST";

const basic::Info::ZoneInfo kZoneHST ACE_TIME_PROGMEM = {
  kZoneNameHST /*name*/,
  0x0b87f034 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Honolulu /*eras*/,
  &kZonePacific_Honolulu /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Hongkong -> Asia/Hong_Kong
//---------------------------------------------------------------------------

static const char kZoneNameHongkong[] ACE_TIME_PROGMEM = "Hongkong";

const basic::Info::ZoneInfo kZoneHongkong ACE_TIME_PROGMEM = {
  kZoneNameHongkong /*name*/,
  0x56d36560 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Hong_Kong /*eras*/,
  &kZoneAsia_Hong_Kong /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Iceland -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameIceland[] ACE_TIME_PROGMEM = "Iceland";

const basic::Info::ZoneInfo kZoneIceland ACE_TIME_PROGMEM = {
  kZoneNameIceland /*name*/,
  0xe56a35b5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Antananarivo -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Antananarivo[] ACE_TIME_PROGMEM = "\x0a" "Antananarivo";

const basic::Info::ZoneInfo kZoneIndian_Antananarivo ACE_TIME_PROGMEM = {
  kZoneNameIndian_Antananarivo /*name*/,
  0x9ebf5289 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Christmas -> Asia/Bangkok
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Christmas[] ACE_TIME_PROGMEM = "\x0a" "Christmas";

const basic::Info::ZoneInfo kZoneIndian_Christmas ACE_TIME_PROGMEM = {
  kZoneNameIndian_Christmas /*name*/,
  0x68c207d5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Bangkok /*eras*/,
  &kZoneAsia_Bangkok /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Cocos -> Asia/Yangon
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Cocos[] ACE_TIME_PROGMEM = "\x0a" "Cocos";

const basic::Info::ZoneInfo kZoneIndian_Cocos ACE_TIME_PROGMEM = {
  kZoneNameIndian_Cocos /*name*/,
  0x021e86de /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Yangon /*eras*/,
  &kZoneAsia_Yangon /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Comoro -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Comoro[] ACE_TIME_PROGMEM = "\x0a" "Comoro";

const basic::Info::ZoneInfo kZoneIndian_Comoro ACE_TIME_PROGMEM = {
  kZoneNameIndian_Comoro /*name*/,
  0x45f4deb6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Kerguelen -> Indian/Maldives
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Kerguelen[] ACE_TIME_PROGMEM = "\x0a" "Kerguelen";

const basic::Info::ZoneInfo kZoneIndian_Kerguelen ACE_TIME_PROGMEM = {
  kZoneNameIndian_Kerguelen /*name*/,
  0x4351b389 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraIndian_Maldives /*eras*/,
  &kZoneIndian_Maldives /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Mahe -> Asia/Dubai
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Mahe[] ACE_TIME_PROGMEM = "\x0a" "Mahe";

const basic::Info::ZoneInfo kZoneIndian_Mahe ACE_TIME_PROGMEM = {
  kZoneNameIndian_Mahe /*name*/,
  0x45e725e2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Dubai /*eras*/,
  &kZoneAsia_Dubai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Mayotte -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Mayotte[] ACE_TIME_PROGMEM = "\x0a" "Mayotte";

const basic::Info::ZoneInfo kZoneIndian_Mayotte ACE_TIME_PROGMEM = {
  kZoneNameIndian_Mayotte /*name*/,
  0xe6880bca /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Reunion -> Asia/Dubai
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Reunion[] ACE_TIME_PROGMEM = "\x0a" "Reunion";

const basic::Info::ZoneInfo kZoneIndian_Reunion ACE_TIME_PROGMEM = {
  kZoneNameIndian_Reunion /*name*/,
  0x7076c047 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Dubai /*eras*/,
  &kZoneAsia_Dubai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Iran -> Asia/Tehran
//---------------------------------------------------------------------------

static const char kZoneNameIran[] ACE_TIME_PROGMEM = "Iran";

const basic::Info::ZoneInfo kZoneIran ACE_TIME_PROGMEM = {
  kZoneNameIran /*name*/,
  0x7c87090f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Tehran /*eras*/,
  &kZoneAsia_Tehran /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Israel -> Asia/Jerusalem
//---------------------------------------------------------------------------

static const char kZoneNameIsrael[] ACE_TIME_PROGMEM = "Israel";

const basic::Info::ZoneInfo kZoneIsrael ACE_TIME_PROGMEM = {
  kZoneNameIsrael /*name*/,
  0xba88c9e5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Jerusalem /*eras*/,
  &kZoneAsia_Jerusalem /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Jamaica -> America/Jamaica
//---------------------------------------------------------------------------

static const char kZoneNameJamaica[] ACE_TIME_PROGMEM = "Jamaica";

const basic::Info::ZoneInfo kZoneJamaica ACE_TIME_PROGMEM = {
  kZoneNameJamaica /*name*/,
  0x2e44fdab /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Jamaica /*eras*/,
  &kZoneAmerica_Jamaica /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Japan -> Asia/Tokyo
//---------------------------------------------------------------------------

static const char kZoneNameJapan[] ACE_TIME_PROGMEM = "Japan";

const basic::Info::ZoneInfo kZoneJapan ACE_TIME_PROGMEM = {
  kZoneNameJapan /*name*/,
  0x0d712f8f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Tokyo /*eras*/,
  &kZoneAsia_Tokyo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Kwajalein -> Pacific/Kwajalein
//---------------------------------------------------------------------------

static const char kZoneNameKwajalein[] ACE_TIME_PROGMEM = "Kwajalein";

const basic::Info::ZoneInfo kZoneKwajalein ACE_TIME_PROGMEM = {
  kZoneNameKwajalein /*name*/,
  0x0e57afbb /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Kwajalein /*eras*/,
  &kZonePacific_Kwajalein /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: MET -> Europe/Brussels
//---------------------------------------------------------------------------

static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET";

const basic::Info::ZoneInfo kZoneMET ACE_TIME_PROGMEM = {
  kZoneNameMET /*name*/,
  0x0b8803ab /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Brussels /*eras*/,
  &kZoneEurope_Brussels /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: MST -> America/Phoenix
//---------------------------------------------------------------------------

static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST";

const basic::Info::ZoneInfo kZoneMST ACE_TIME_PROGMEM = {
  kZoneNameMST /*name*/,
  0x0b880579 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Phoenix /*eras*/,
  &kZoneAmerica_Phoenix /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: MST7MDT -> America/Denver
//---------------------------------------------------------------------------

static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT";

const basic::Info::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = {
  kZoneNameMST7MDT /*name*/,
  0xf2af9375 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Denver /*eras*/,
  &kZoneAmerica_Denver /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Mexico/BajaSur -> America/Mazatlan
//---------------------------------------------------------------------------

static const char kZoneNameMexico_BajaSur[] ACE_TIME_PROGMEM = "Mexico/BajaSur";

const basic::Info::ZoneInfo kZoneMexico_BajaSur ACE_TIME_PROGMEM = {
  kZoneNameMexico_BajaSur /*name*/,
  0x08ee3641 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Mazatlan /*eras*/,
  &kZoneAmerica_Mazatlan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: NZ -> Pacific/Auckland
//---------------------------------------------------------------------------

static const char kZoneNameNZ[] ACE_TIME_PROGMEM = "NZ";

const basic::Info::ZoneInfo kZoneNZ ACE_TIME_PROGMEM = {
  kZoneNameNZ /*name*/,
  0x005974ad /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Auckland /*eras*/,
  &kZonePacific_Auckland /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: NZ-CHAT -> Pacific/Chatham
//---------------------------------------------------------------------------

static const char kZoneNameNZ_CHAT[] ACE_TIME_PROGMEM = "NZ-CHAT";

const basic::Info::ZoneInfo kZoneNZ_CHAT ACE_TIME_PROGMEM = {
  kZoneNameNZ_CHAT /*name*/,
  0x4d42afda /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Chatham /*eras*/,
  &kZonePacific_Chatham /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Navajo -> America/Denver
//---------------------------------------------------------------------------

static const char kZoneNameNavajo[] ACE_TIME_PROGMEM = "Navajo";

const basic::Info::ZoneInfo kZoneNavajo ACE_TIME_PROGMEM = {
  kZoneNameNavajo /*name*/,
  0xc4ef0e24 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Denver /*eras*/,
  &kZoneAmerica_Denver /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: PRC -> Asia/Shanghai
//---------------------------------------------------------------------------

static const char kZoneNamePRC[] ACE_TIME_PROGMEM = "PRC";

const basic::Info::ZoneInfo kZonePRC ACE_TIME_PROGMEM = {
  kZoneNamePRC /*name*/,
  0x0b88120a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Shanghai /*eras*/,
  &kZoneAsia_Shanghai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: PST8PDT -> America/Los_Angeles
//---------------------------------------------------------------------------

static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT";

const basic::Info::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = {
  kZoneNamePST8PDT /*name*/,
  0xd99ee2dc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Los_Angeles /*eras*/,
  &kZoneAmerica_Los_Angeles /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Chuuk -> Pacific/Port_Moresby
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Chuuk[] ACE_TIME_PROGMEM = "\x0b" "Chuuk";

const basic::Info::ZoneInfo kZonePacific_Chuuk ACE_TIME_PROGMEM = {
  kZoneNamePacific_Chuuk /*name*/,
  0x8a090b23 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Port_Moresby /*eras*/,
  &kZonePacific_Port_Moresby /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Enderbury -> Pacific/Kanton
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Enderbury[] ACE_TIME_PROGMEM = "\x0b" "Enderbury";

const basic::Info::ZoneInfo kZonePacific_Enderbury ACE_TIME_PROGMEM = {
  kZoneNamePacific_Enderbury /*name*/,
  0x61599a93 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Kanton /*eras*/,
  &kZonePacific_Kanton /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Funafuti -> Pacific/Tarawa
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Funafuti[] ACE_TIME_PROGMEM = "\x0b" "Funafuti";

const basic::Info::ZoneInfo kZonePacific_Funafuti ACE_TIME_PROGMEM = {
  kZoneNamePacific_Funafuti /*name*/,
  0xdb402d65 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tarawa /*eras*/,
  &kZonePacific_Tarawa /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Johnston -> Pacific/Honolulu
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Johnston[] ACE_TIME_PROGMEM = "\x0b" "Johnston";

const basic::Info::ZoneInfo kZonePacific_Johnston ACE_TIME_PROGMEM = {
  kZoneNamePacific_Johnston /*name*/,
  0xb15d7b36 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Honolulu /*eras*/,
  &kZonePacific_Honolulu /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Majuro -> Pacific/Tarawa
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Majuro[] ACE_TIME_PROGMEM = "\x0b" "Majuro";

const basic::Info::ZoneInfo kZonePacific_Majuro ACE_TIME_PROGMEM = {
  kZoneNamePacific_Majuro /*name*/,
  0xe1f95371 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tarawa /*eras*/,
  &kZonePacific_Tarawa /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Midway -> Pacific/Pago_Pago
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Midway[] ACE_TIME_PROGMEM = "\x0b" "Midway";

const basic::Info::ZoneInfo kZonePacific_Midway ACE_TIME_PROGMEM = {
  kZoneNamePacific_Midway /*name*/,
  0xe286d38e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Pago_Pago /*eras*/,
  &kZonePacific_Pago_Pago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Pohnpei -> Pacific/Guadalcanal
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Pohnpei[] ACE_TIME_PROGMEM = "\x0b" "Pohnpei";

const basic::Info::ZoneInfo kZonePacific_Pohnpei ACE_TIME_PROGMEM = {
  kZoneNamePacific_Pohnpei /*name*/,
  0x28929f96 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Guadalcanal /*eras*/,
  &kZonePacific_Guadalcanal /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Ponape -> Pacific/Guadalcanal
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Ponape[] ACE_TIME_PROGMEM = "\x0b" "Ponape";

const basic::Info::ZoneInfo kZonePacific_Ponape ACE_TIME_PROGMEM = {
  kZoneNamePacific_Ponape /*name*/,
  0xe9f80086 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Guadalcanal /*eras*/,
  &kZonePacific_Guadalcanal /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Samoa -> Pacific/Pago_Pago
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Samoa[] ACE_TIME_PROGMEM = "\x0b" "Samoa";

const basic::Info::ZoneInfo kZonePacific_Samoa ACE_TIME_PROGMEM = {
  kZoneNamePacific_Samoa /*name*/,
  0x8b2699b4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Pago_Pago /*eras*/,
  &kZonePacific_Pago_Pago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Truk -> Pacific/Port_Moresby
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Truk[] ACE_TIME_PROGMEM = "\x0b" "Truk";

const basic::Info::ZoneInfo kZonePacific_Truk ACE_TIME_PROGMEM = {
  kZoneNamePacific_Truk /*name*/,
  0x234010a9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Port_Moresby /*eras*/,
  &kZonePacific_Port_Moresby /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Wake -> Pacific/Tarawa
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Wake[] ACE_TIME_PROGMEM = "\x0b" "Wake";

const basic::Info::ZoneInfo kZonePacific_Wake ACE_TIME_PROGMEM = {
  kZoneNamePacific_Wake /*name*/,
  0x23416c2b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tarawa /*eras*/,
  &kZonePacific_Tarawa /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Wallis -> Pacific/Tarawa
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Wallis[] ACE_TIME_PROGMEM = "\x0b" "Wallis";

const basic::Info::ZoneInfo kZonePacific_Wallis ACE_TIME_PROGMEM = {
  kZoneNamePacific_Wallis /*name*/,
  0xf94ddb0f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tarawa /*eras*/,
  &kZonePacific_Tarawa /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Yap -> Pacific/Port_Moresby
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Yap[] ACE_TIME_PROGMEM = "\x0b" "Yap";

const basic::Info::ZoneInfo kZonePacific_Yap ACE_TIME_PROGMEM = {
  kZoneNamePacific_Yap /*name*/,
  0xbb40138d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Port_Moresby /*eras*/,
  &kZonePacific_Port_Moresby /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Poland -> Europe/Warsaw
//---------------------------------------------------------------------------

static const char kZoneNamePoland[] ACE_TIME_PROGMEM = "Poland";

const basic::Info::ZoneInfo kZonePoland ACE_TIME_PROGMEM = {
  kZoneNamePoland /*name*/,
  0xca913b23 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Warsaw /*eras*/,
  &kZoneEurope_Warsaw /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Portugal -> Europe/Lisbon
//---------------------------------------------------------------------------

static const char kZoneNamePortugal[] ACE_TIME_PROGMEM = "Portugal";

const basic::Info::ZoneInfo kZonePortugal ACE_TIME_PROGMEM = {
  kZoneNamePortugal /*name*/,
  0xc3274593 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Lisbon /*eras*/,
  &kZoneEurope_Lisbon /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: ROC -> Asia/Taipei
//---------------------------------------------------------------------------

static const char kZoneNameROC[] ACE_TIME_PROGMEM = "ROC";

const basic::Info::ZoneInfo kZoneROC ACE_TIME_PROGMEM = {
  kZoneNameROC /*name*/,
  0x0b881a29 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Taipei /*eras*/,
  &kZoneAsia_Taipei /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: ROK -> Asia/Seoul
//---------------------------------------------------------------------------

static const char kZoneNameROK[] ACE_TIME_PROGMEM = "ROK";

const basic::Info::ZoneInfo kZoneROK ACE_TIME_PROGMEM = {
  kZoneNameROK /*name*/,
  0x0b881a31 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Seoul /*eras*/,
  &kZoneAsia_Seoul /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Singapore -> Asia/Singapore
//---------------------------------------------------------------------------

static const char kZoneNameSingapore[] ACE_TIME_PROGMEM = "Singapore";

const basic::Info::ZoneInfo kZoneSingapore ACE_TIME_PROGMEM = {
  kZoneNameSingapore /*name*/,
  0xa8598c8d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Singapore /*eras*/,
  &kZoneAsia_Singapore /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: UCT -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameUCT[] ACE_TIME_PROGMEM = "UCT";

const basic::Info::ZoneInfo kZoneUCT ACE_TIME_PROGMEM = {
  kZoneNameUCT /*name*/,
  0x0b882571 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Alaska -> America/Anchorage
//---------------------------------------------------------------------------

static const char kZoneNameUS_Alaska[] ACE_TIME_PROGMEM = "US/Alaska";

const basic::Info::ZoneInfo kZoneUS_Alaska ACE_TIME_PROGMEM = {
  kZoneNameUS_Alaska /*name*/,
  0xfa300bc9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Anchorage /*eras*/,
  &kZoneAmerica_Anchorage /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Aleutian -> America/Adak
//---------------------------------------------------------------------------

static const char kZoneNameUS_Aleutian[] ACE_TIME_PROGMEM = "US/Aleutian";

const basic::Info::ZoneInfo kZoneUS_Aleutian ACE_TIME_PROGMEM = {
  kZoneNameUS_Aleutian /*name*/,
  0x4fe013ef /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Adak /*eras*/,
  &kZoneAmerica_Adak /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Arizona -> America/Phoenix
//---------------------------------------------------------------------------

static const char kZoneNameUS_Arizona[] ACE_TIME_PROGMEM = "US/Arizona";

const basic::Info::ZoneInfo kZoneUS_Arizona ACE_TIME_PROGMEM = {
  kZoneNameUS_Arizona /*name*/,
  0x4ec52670 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Phoenix /*eras*/,
  &kZoneAmerica_Phoenix /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Central -> America/Chicago
//---------------------------------------------------------------------------

static const char kZoneNameUS_Central[] ACE_TIME_PROGMEM = "US/Central";

const basic::Info::ZoneInfo kZoneUS_Central ACE_TIME_PROGMEM = {
  kZoneNameUS_Central /*name*/,
  0xcabdcb25 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Chicago /*eras*/,
  &kZoneAmerica_Chicago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/East-Indiana -> America/Indiana/Indianapolis
//---------------------------------------------------------------------------

static const char kZoneNameUS_East_Indiana[] ACE_TIME_PROGMEM = "US/East-Indiana";

const basic::Info::ZoneInfo kZoneUS_East_Indiana ACE_TIME_PROGMEM = {
  kZoneNameUS_East_Indiana /*name*/,
  0x6dcf558a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Eastern -> America/New_York
//---------------------------------------------------------------------------

static const char kZoneNameUS_Eastern[] ACE_TIME_PROGMEM = "US/Eastern";

const basic::Info::ZoneInfo kZoneUS_Eastern ACE_TIME_PROGMEM = {
  kZoneNameUS_Eastern /*name*/,
  0x5bb7e78e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_New_York /*eras*/,
  &kZoneAmerica_New_York /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Hawaii -> Pacific/Honolulu
//---------------------------------------------------------------------------

static const char kZoneNameUS_Hawaii[] ACE_TIME_PROGMEM = "US/Hawaii";

const basic::Info::ZoneInfo kZoneUS_Hawaii ACE_TIME_PROGMEM = {
  kZoneNameUS_Hawaii /*name*/,
  0x09c8de2f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Honolulu /*eras*/,
  &kZonePacific_Honolulu /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Michigan -> America/Detroit
//---------------------------------------------------------------------------

static const char kZoneNameUS_Michigan[] ACE_TIME_PROGMEM = "US/Michigan";

const basic::Info::ZoneInfo kZoneUS_Michigan ACE_TIME_PROGMEM = {
  kZoneNameUS_Michigan /*name*/,
  0x766bb7bc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Detroit /*eras*/,
  &kZoneAmerica_Detroit /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Mountain -> America/Denver
//---------------------------------------------------------------------------

static const char kZoneNameUS_Mountain[] ACE_TIME_PROGMEM = "US/Mountain";

const basic::Info::ZoneInfo kZoneUS_Mountain ACE_TIME_PROGMEM = {
  kZoneNameUS_Mountain /*name*/,
  0x6eb88247 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Denver /*eras*/,
  &kZoneAmerica_Denver /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Pacific -> America/Los_Angeles
//---------------------------------------------------------------------------

static const char kZoneNameUS_Pacific[] ACE_TIME_PROGMEM = "US/Pacific";

const basic::Info::ZoneInfo kZoneUS_Pacific ACE_TIME_PROGMEM = {
  kZoneNameUS_Pacific /*name*/,
  0xa950f6ab /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Los_Angeles /*eras*/,
  &kZoneAmerica_Los_Angeles /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Samoa -> Pacific/Pago_Pago
//---------------------------------------------------------------------------

static const char kZoneNameUS_Samoa[] ACE_TIME_PROGMEM = "US/Samoa";

const basic::Info::ZoneInfo kZoneUS_Samoa ACE_TIME_PROGMEM = {
  kZoneNameUS_Samoa /*name*/,
  0x566821cd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Pago_Pago /*eras*/,
  &kZonePacific_Pago_Pago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: UTC -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameUTC[] ACE_TIME_PROGMEM = "UTC";

const basic::Info::ZoneInfo kZoneUTC ACE_TIME_PROGMEM = {
  kZoneNameUTC /*name*/,
  0x0b882791 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Universal -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameUniversal[] ACE_TIME_PROGMEM = "Universal";

const basic::Info::ZoneInfo kZoneUniversal ACE_TIME_PROGMEM = {
  kZoneNameUniversal /*name*/,
  0xd0ff523e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: WET -> Europe/Lisbon
//---------------------------------------------------------------------------

static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET";

const basic::Info::ZoneInfo kZoneWET ACE_TIME_PROGMEM = {
  kZoneNameWET /*name*/,
  0x0b882e35 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Lisbon /*eras*/,
  &kZoneEurope_Lisbon /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Zulu -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameZulu[] ACE_TIME_PROGMEM = "Zulu";

const basic::Info::ZoneInfo kZoneZulu ACE_TIME_PROGMEM = {
  kZoneNameZulu /*name*/,
  0x7c9069b5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};


}
}
