You are here

event.install in Event 5.2

Same filename and directory in other branches
  1. 8 event.install
  2. 5 event.install

File

event.install
View source
<?php

/**
 * We need mysql >= 4.1.1
 */
function event_requirements($phase) {

  // Ensure translations don't break at install time
  $t = get_t();
  global $db_type;
  if ($db_type == 'mysql' || $db_type == 'mysqli') {
    $version = db_version();
    $requirements['mysql_event'] = array(
      'title' => $t('MySQL database for event module'),
      'value' => $phase == 'runtime' ? l($version, 'admin/logs/status/sql') : $version,
    );
    if (version_compare($version, '4.1.1') < 0) {
      $requirements['mysql_event']['severity'] = REQUIREMENT_ERROR;
      $requirements['mysql_event']['description'] = $t('Your MySQL Server is too old. Event module 5.2 requires at least MySQL %version. The 5.1 version is compatible with MySQL 3.', array(
        '%version' => '4.1.1',
      ));
    }
  }
  return $requirements;
}
function event_install() {
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      db_query("CREATE TABLE {event} (\n                nid int(10) unsigned NOT NULL default '0',\n                event_start datetime NOT NULL,\n                event_end datetime NOT NULL,\n                timezone int NOT NULL default '0',\n                start_in_dst int NOT NULL default '0',\n                end_in_dst int NOT NULL default '0',\n                has_time int NOT NULL default '1',\n                has_end_date int NOT NULL default '1',\n                PRIMARY KEY (nid),\n                KEY event_start (event_start),\n                KEY event_end (event_end),\n                KEY timezone (timezone)\n                ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
      db_query("CREATE TABLE {event_timezones} (\n                timezone int NOT NULL default '0',\n                name varchar(255) NOT NULL default '',\n                offset TIME NOT NULL default '0',\n                offset_dst TIME NOT NULL default '0',\n                dst_region int NOT NULL default '0',\n                is_dst int NOT NULL default '0',\n                PRIMARY KEY (timezone)\n                ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
      db_query("ALTER TABLE {users} ADD timezone_id int NOT NULL default '0'");
      $zones = event_install_timezones();
      foreach ($zones as $zone => $value) {
        db_query("INSERT INTO {event_timezones} (timezone, name, offset, offset_dst, dst_region) VALUES (%d, '%s', '%s', '%s', %d)", $zone, $value['timezone'], $value['offset'], $value['offset_dst'], $value['dst_region']);
      }
      variable_del('event_range_prev');
      variable_del('event_range_next');
      break;
    case 'pgsql':
      db_query("CREATE TABLE {event} (\n                nid integer NOT NULL default '0',\n                event_start timestamp NOT NULL,\n                event_end timestamp NOT NULL,\n                timezone integer NOT NULL default '0',\n                start_in_dst integer NOT NULL default '0',\n                end_in_dst integer NOT NULL default '0',\n                has_time integer NOT NULL default '1',\n                has_end_date integer NOT NULL default '1',\n                PRIMARY KEY (nid)\n                ) ");
      db_query("CREATE TABLE {event_timezones} (\n                timezone integer NOT NULL default '0',\n                name varchar(255) NOT NULL default '',\n                \"offset\" interval NOT NULL default '0 seconds',\n                offset_dst interval NOT NULL default '0 seconds',\n                dst_region integer NOT NULL default '0',\n                is_dst integer NOT NULL default '0',\n                PRIMARY KEY (timezone)\n                ) ");
      db_query('CREATE INDEX {event}_event_start_idx ON {event} (event_start)');
      db_query('CREATE INDEX {event}_event_end_idx ON {event} (event_end)');
      db_query('CREATE INDEX {event}_timezone_idx ON {event} (timezone)');
      db_query("ALTER TABLE {users} ADD timezone_id int NOT NULL default '0'");
      $zones = event_install_timezones();
      foreach ($zones as $zone => $value) {
        db_query("INSERT INTO {event_timezones} (timezone, name, \"offset\", offset_dst, dst_region) VALUES (%d, '%s', '%s', '%s', %d)", $zone, $value['timezone'], $value['offset'], $value['offset_dst'], $value['dst_region']);
      }
      break;
  }

  // Create default event type
  $type = array(
    'type' => 'event',
    'name' => t('Event'),
    'module' => 'node',
    'description' => t('Events have a start date and an optional end date as well as a teaser and a body. They can be extended by other modules, too.'),
    'custom' => TRUE,
    'modified' => TRUE,
    'locked' => FALSE,
  );
  $type = (object) _node_type_set_defaults($type);
  node_type_save($type);
  variable_set('event_nodeapi_event', 'all');

  // Notify of changes
  drupal_set_message(t('Event module was successfully installed with default options. To customize event and/or location settings for events, please view the <a href="!settings">event content type settings page</a>. Make sure to <a href="!url">select the default timezone</a> for your website before creating events.', array(
    '!settings' => url('admin/content/types/event'),
    '!url' => url('admin/settings/date-time'),
  )));
  drupal_set_message('A content type "event" was created.');
}

/**
 * Implementation of hook_uninstall().
 */
function event_uninstall() {
  db_query('DROP TABLE {event}');
  db_query('DROP TABLE {event_timezones}');
  db_query('ALTER TABLE {users} DROP timezone_id');
  variable_del('event_timezone_input');
  variable_del('event_timezone_display');
  variable_del('event_ampm');
  variable_del('event_upcoming_limit');
  variable_del('event_overview');
  variable_del('event_table_duration');
  variable_del('event_taxonomy_control');
  variable_del('event_type_control');
  variable_del('event_range_prev');
  variable_del('event_range_next');
  foreach (node_get_types() as $type => $info) {
    variable_del('event_nodeapi_' . $type);
  }
  drupal_set_message(t('Event module successfully uninstalled'));
}

/**
 * Update 4.7 or 5.1 to 5.2
 */
function event_update_3() {
  $ret = array();
  variable_del('event_range_prev');
  variable_del('event_range_next');
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("RENAME TABLE {event} TO {event_backup}");
      $ret[] = update_sql("CREATE TABLE {event_timezones} (\n                timezone int NOT NULL default '0',\n                name varchar(255) NOT NULL default '',\n                offset TIME NOT NULL default '0',\n                offset_dst TIME NOT NULL default '0',\n                dst_region int NOT NULL default '0',\n                PRIMARY KEY (timezone)\n                ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
      $zones = event_install_timezones();
      foreach ($zones as $zone => $value) {
        db_query("INSERT INTO {event_timezones} (timezone, name, offset, offset_dst, dst_region) VALUES (%d, '%s', '%s', '%s', %d)", $zone, $value['timezone'], $value['offset'], $value['offset_dst'], $value['dst_region']);
      }
      $ret[] = update_sql("CREATE TABLE {event} (\n                nid int(10) unsigned NOT NULL default '0',\n                event_start datetime NOT NULL,\n                event_end datetime NOT NULL,\n                timezone int NOT NULL default '0',\n                start_in_dst int NOT NULL default '0',\n                end_in_dst int NOT NULL default '0'\n                ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
      $ret[] = update_sql("SET time_zone = '+00:00'");
      $sql = "INSERT INTO {event} (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF(%cond_start, FROM_UNIXTIME(e.event_start) + INTERVAL ez.offset_dst HOUR_SECOND, FROM_UNIXTIME(e.event_start) + INTERVAL ez.offset HOUR_SECOND) AS event_start, IF(%cond_end, FROM_UNIXTIME(e.event_end) + INTERVAL ez.offset_dst HOUR_SECOND, FROM_UNIXTIME(e.event_end) + INTERVAL ez.offset HOUR_SECOND) AS event_end, e.timezone, IF(%cond_start, 1, 0), IF(%cond_end, 1, 0) FROM {event_backup} e INNER JOIN {event_timezones} ez ON e.timezone = ez.timezone WHERE ez.dst_region = %d";

      // Loop over the 21 supported DST regions.
      for ($i = 0; $i <= 20; $i++) {
        if ($i == 0) {
          $ret[] = update_sql("INSERT INTO {event} (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, FROM_UNIXTIME(e.event_start) + INTERVAL ez.offset HOUR_SECOND AS event_start, FROM_UNIXTIME(e.event_end) + INTERVAL ez.offset HOUR_SECOND AS event_end, e.timezone, 0, 0 FROM {event_backup} e INNER JOIN {event_timezones} ez ON e.timezone = ez.timezone WHERE ez.dst_region = 0");
        }
        else {
          $start = str_replace('%date', 'e.event_start', _event_install_get_dst_dates($i));
          $end = str_replace('%date', 'e.event_end', _event_install_get_dst_dates($i));
          $ret[] = update_sql(str_replace(array(
            '%cond_start',
            '%cond_end',
            '%d',
          ), array(
            $start,
            $end,
            $i,
          ), $sql));
        }
      }
      $ret[] = update_sql('ALTER TABLE {event} ADD PRIMARY KEY nid (nid)');
      $ret[] = update_sql('ALTER TABLE {event} ADD KEY timezone (timezone)');
      $ret[] = update_sql("ALTER TABLE {users} ADD timezone_id int NOT NULL default '0'");
      break;
    case 'pgsql':
      $ret[] = update_sql("ALTER TABLE {event} RENAME TO {event_backup}");
      $ret[] = update_sql("CREATE TABLE {event_timezones} (\n                timezone integer NOT NULL default '0',\n                name varchar(255) NOT NULL default '',\n                \"offset\" interval NOT NULL default '0 seconds',\n                offset_dst interval NOT NULL default '0 seconds',\n                dst_region integer NOT NULL default '0',\n                PRIMARY KEY (timezone)\n                ) ");
      $zones = event_install_timezones();
      foreach ($zones as $zone => $value) {
        db_query("INSERT INTO {event_timezones} (timezone, name, \"offset\", offset_dst, dst_region) VALUES (%d, '%s', '%s', '%s', %d)", $zone, $value['timezone'], $value['offset'], $value['offset_dst'], $value['dst_region']);
      }
      db_query("CREATE TABLE {event} (\n                nid integer NOT NULL default '0',\n                event_start timestamp NOT NULL,\n                event_end timestamp NOT NULL,\n                timezone integer NOT NULL default '0',\n                start_in_dst integer NOT NULL default '0',\n                end_in_dst integer NOT NULL default '0'\n                ) ");

      // needs work?
      $sql = "INSERT INTO {event} (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, IF(%cond_start, TIMESTAMP 'epoch' + event_start * INTERVAL '1 second' + ez.offset_dst, TIMESTAMP 'epoch' + event_start * INTERVAL '1 second' + ez.offset) AS event_start, IF(%cond_end, TIMESTAMP 'epoch' + event_end * INTERVAL '1 second' + ez.offset_dst, TIMESTAMP 'epoch' + event_end * INTERVAL '1 second' + ez.offset) AS event_end, e.timezone, IF(%cond_start, 1, 0), IF(%cond_end, 1, 0) FROM {event_backup} e INNER JOIN {event_timezones} ez ON e.timezone = ez.timezone WHERE ez.dst_region = %d";

      // Loop over the 21 supported DST regions.
      for ($i = 0; $i <= 20; $i++) {
        if ($i == 0) {

          // needs work?
          $ret[] = update_sql("INSERT INTO {event} (nid, event_start, event_end, timezone, start_in_dst, end_in_dst) SELECT e.nid, TIMESTAMP 'epoch' + event_start * INTERVAL '1 second' + ez.offset AS event_start, TIMESTAMP 'epoch' + event_end * INTERVAL '1 second' + ez.offset AS event_end, e.timezone, 0, 0 FROM {event_backup} e INNER JOIN {event_timezones} ez ON e.timezone = ez.timezone WHERE ez.dst_region = 0");
        }
        else {
          $start = str_replace('%date', 'e.event_start', _event_install_get_dst_dates($i));
          $end = str_replace('%date', 'e.event_end', _event_install_get_dst_dates($i));
          $ret[] = update_sql(str_replace(array(
            '%cond_start',
            '%cond_end',
            '%d',
          ), array(
            $start,
            $end,
            $i,
          ), $sql));
        }
      }
      $ret[] = update_sql('ALTER TABLE {event} ADD PRIMARY KEY (nid)');
      $ret[] = update_sql('CREATE INDEX {event}_timezone_idx ON {event} (timezone)');
      $ret[] = update_sql("ALTER TABLE {users} ADD timezone_id integer NOT NULL default '0'");
      break;
  }
  return $ret;
}

/**
 * Replace basicevent module if installed
 */
function event_update_4() {
  $is_existing = db_num_rows(db_query("SELECT * FROM {node_type} WHERE type = '%s'", 'event'));
  if ($is_existing != 1) {

    // Create default event type
    $type = array(
      'type' => 'event',
      'name' => t('Event'),
      'module' => 'node',
      'description' => t('Events have a start date and an optional end date as well as a teaser and a body. They can be extended by other modules, too.'),
      'custom' => TRUE,
      'modified' => TRUE,
      'locked' => FALSE,
    );
    $type = (object) _node_type_set_defaults($type);
    node_type_save($type);
    variable_set('event_nodeapi_event', 'all');
    drupal_set_message('A content type "event" was created.');
  }
  $basicevent = db_num_rows(db_query("SELECT * FROM {system} WHERE name = '%s' AND status = 1", 'basicevent'));
  if ($basicevent) {
    db_query("UPDATE {system} SET status = 0 WHERE name = '%s'", 'basicevent');
    drupal_set_message(t('The basicevent module is no longer supported, it was disabled during the upgrade process.'));
  }
  $basicevent = db_num_rows(db_query("SELECT * FROM {node_type} WHERE module = '%s'", 'basicevent'));
  if ($basicevent) {
    db_query("UPDATE {node_type} SET module = 'node' WHERE module = '%s'", 'basicevent');
  }
  return array();
}

/**
 * Set DST
 */
function event_update_5() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'pgsql':
      db_add_column($ret, 'event_timezones', 'is_dst', 'integer', array(
        'default' => 0,
        'not null' => TRUE,
      ));
      break;
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("ALTER TABLE {event_timezones} ADD is_dst int NOT NULL default 0");
      break;
  }
  $time = _event_user_time();

  // Loop over the 21 supported DST regions.
  for ($i = 0; $i <= 20; $i++) {
    $is_dst = event_is_dst($i, $time);
    $ret[] = update_sql("UPDATE {event_timezones} SET is_dst = {$is_dst} WHERE dst_region = {$i}");
  }
  return $ret;
}

/**
 * Add keys
 */
function event_update_6() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'pgsql':
      $ret[] = update_sql('CREATE INDEX {event}_event_start_idx ON {event} (event_start)');
      $ret[] = update_sql('CREATE INDEX {event}_event_end_idx ON {event} (event_end)');
      break;
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("ALTER TABLE {event} ADD KEY event_start (event_start)");
      $ret[] = update_sql("ALTER TABLE {event} ADD KEY event_end (event_end)");
      break;
  }
  return $ret;
}

/**
 * Add all_day/end_date columns
 */
function event_update_7() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'pgsql':
      db_add_column($ret, 'event', 'has_time', 'integer', array(
        'default' => 1,
        'not null' => TRUE,
      ));
      db_add_column($ret, 'event', 'has_end_date', 'integer', array(
        'default' => 1,
        'not null' => TRUE,
      ));
      break;
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("ALTER TABLE {event} ADD has_time int NOT NULL default 1");
      $ret[] = update_sql("ALTER TABLE {event} ADD has_end_date int NOT NULL default 1");
      break;
  }
  return $ret;
}

/**
 * Update all_day/end_date columns
 */
function event_update_8() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'pgsql':
      $ret[] = update_sql('UPDATE {event} SET has_end_date = 0 WHERE event_start = event_end');

      // TODO: Check
      $ret[] = update_sql("UPDATE {event} SET has_time = 0 WHERE EXTRACT(HOUR_SECOND FROM event_start) = 0 AND EXTRACT(HOUR_SECOND FROM event_end) = 235900");
      break;
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql('UPDATE {event} SET has_end_date = 0 WHERE event_start = event_end');
      $ret[] = update_sql("UPDATE {event} SET has_time = 0 WHERE EXTRACT(HOUR_SECOND FROM event_start) = 0 AND EXTRACT(HOUR_SECOND FROM event_end) = 235900");
      break;
  }
  return $ret;
}

/**
 * Timezones table used only during installation.
 */
function event_install_timezones() {
  return array(
    1 => array(
      'timezone' => 'Africa/Addis Ababa',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    2 => array(
      'timezone' => 'Africa/Algiers',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    3 => array(
      'timezone' => 'Africa/Asmera',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    4 => array(
      'timezone' => 'Africa/Bangui',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    5 => array(
      'timezone' => 'Africa/Blantyre',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    6 => array(
      'timezone' => 'Africa/Brazzaville',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    7 => array(
      'timezone' => 'Africa/Bujumbura',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    8 => array(
      'timezone' => 'Africa/Cairo',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '1',
    ),
    9 => array(
      'timezone' => 'Africa/Ceuta',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '1',
    ),
    10 => array(
      'timezone' => 'Africa/Dar es Salaam',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    11 => array(
      'timezone' => 'Africa/Djibouti',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    12 => array(
      'timezone' => 'Africa/Douala',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    13 => array(
      'timezone' => 'Africa/Gaborone',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    14 => array(
      'timezone' => 'Africa/Harare',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    15 => array(
      'timezone' => 'Africa/Johannesburg',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    16 => array(
      'timezone' => 'Africa/Kampala',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    17 => array(
      'timezone' => 'Africa/Khartoum',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    18 => array(
      'timezone' => 'Africa/Kigali',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    19 => array(
      'timezone' => 'Africa/Kinshasa',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    20 => array(
      'timezone' => 'Africa/Lagos',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    21 => array(
      'timezone' => 'Africa/Libreville',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    22 => array(
      'timezone' => 'Africa/Luanda',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    23 => array(
      'timezone' => 'Africa/Lubumbashi',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    24 => array(
      'timezone' => 'Africa/Lusaka',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    25 => array(
      'timezone' => 'Africa/Malabo',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    26 => array(
      'timezone' => 'Africa/Maputo',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    27 => array(
      'timezone' => 'Africa/Maseru',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    28 => array(
      'timezone' => 'Africa/Mbabane',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    29 => array(
      'timezone' => 'Africa/Mogadishu',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    30 => array(
      'timezone' => 'Africa/Nairobi',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    31 => array(
      'timezone' => 'Africa/Ndjamena',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    32 => array(
      'timezone' => 'Africa/Niamey',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    33 => array(
      'timezone' => 'Africa/Porto-Novo',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    34 => array(
      'timezone' => 'Africa/Tripoli',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    35 => array(
      'timezone' => 'Africa/Tunis',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    36 => array(
      'timezone' => 'Africa/Windhoek',
      'offset' => '2:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '2',
    ),
    37 => array(
      'timezone' => 'America/Adak',
      'offset' => '-10:00:00',
      'offset_dst' => '-9:00:00',
      'dst_region' => '15',
    ),
    38 => array(
      'timezone' => 'America/Anchorage',
      'offset' => '-9:00:00',
      'offset_dst' => '-8:00:00',
      'dst_region' => '15',
    ),
    39 => array(
      'timezone' => 'America/Anguilla',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    40 => array(
      'timezone' => 'America/Antigua',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    41 => array(
      'timezone' => 'America/Araguaina',
      'offset' => '-2:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '17',
    ),
    42 => array(
      'timezone' => 'America/Aruba',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    43 => array(
      'timezone' => 'America/Asuncion',
      'offset' => '-3:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '20',
    ),
    44 => array(
      'timezone' => 'America/Atka',
      'offset' => '-10:00:00',
      'offset_dst' => '-9:00:00',
      'dst_region' => '15',
    ),
    45 => array(
      'timezone' => 'America/Barbados',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    46 => array(
      'timezone' => 'America/Belem',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    47 => array(
      'timezone' => 'America/Belize',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    48 => array(
      'timezone' => 'America/Boa Vista',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    49 => array(
      'timezone' => 'America/Bogota',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    50 => array(
      'timezone' => 'America/Boise',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    51 => array(
      'timezone' => 'America/Buenos Aires',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    52 => array(
      'timezone' => 'America/Cambridge Bay',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    53 => array(
      'timezone' => 'America/Cancun',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    54 => array(
      'timezone' => 'America/Caracas',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    55 => array(
      'timezone' => 'America/Catamarca',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    56 => array(
      'timezone' => 'America/Cayenne',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    57 => array(
      'timezone' => 'America/Cayman',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    58 => array(
      'timezone' => 'America/Chicago',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    59 => array(
      'timezone' => 'America/Chihuahua',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    60 => array(
      'timezone' => 'America/Cordoba',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    61 => array(
      'timezone' => 'America/Costa Rica',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    62 => array(
      'timezone' => 'America/Cuiaba',
      'offset' => '-3:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '17',
    ),
    63 => array(
      'timezone' => 'America/Curacao',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    64 => array(
      'timezone' => 'America/Dawson',
      'offset' => '-8:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '15',
    ),
    65 => array(
      'timezone' => 'America/Dawson Creek',
      'offset' => '-7:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '0',
    ),
    66 => array(
      'timezone' => 'America/Denver',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    67 => array(
      'timezone' => 'America/Detroit',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    68 => array(
      'timezone' => 'America/Dominica',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    69 => array(
      'timezone' => 'America/Edmonton',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    70 => array(
      'timezone' => 'America/Eirunepe',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    71 => array(
      'timezone' => 'America/El Salvador',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    72 => array(
      'timezone' => 'America/Ensenada',
      'offset' => '-8:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '15',
    ),
    73 => array(
      'timezone' => 'America/Fort Wayne',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    74 => array(
      'timezone' => 'America/Fortaleza',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    75 => array(
      'timezone' => 'America/Glace Bay',
      'offset' => '-4:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '15',
    ),
    76 => array(
      'timezone' => 'America/Godthab',
      'offset' => '-3:00:00',
      'offset_dst' => '-2:00:00',
      'dst_region' => '15',
    ),
    77 => array(
      'timezone' => 'America/Goose Bay',
      'offset' => '-4:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '15',
    ),
    78 => array(
      'timezone' => 'America/Grand Turk',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '16',
    ),
    79 => array(
      'timezone' => 'America/Grenada',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    80 => array(
      'timezone' => 'America/Guadeloupe',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    81 => array(
      'timezone' => 'America/Guatemala',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    82 => array(
      'timezone' => 'America/Guayaquil',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    83 => array(
      'timezone' => 'America/Guyana',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    84 => array(
      'timezone' => 'America/Halifax',
      'offset' => '-4:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '15',
    ),
    85 => array(
      'timezone' => 'America/Havana',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '16',
    ),
    86 => array(
      'timezone' => 'America/Hermosillo',
      'offset' => '-7:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '0',
    ),
    87 => array(
      'timezone' => 'America/Indiana/Indianapolis',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    88 => array(
      'timezone' => 'America/Indiana/Knox',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    89 => array(
      'timezone' => 'America/Indiana/Marengo',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    90 => array(
      'timezone' => 'America/Indiana/Vevay',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    91 => array(
      'timezone' => 'America/Indianapolis',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    92 => array(
      'timezone' => 'America/Inuvik',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    93 => array(
      'timezone' => 'America/Iqaluit',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    94 => array(
      'timezone' => 'America/Jamaica',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    95 => array(
      'timezone' => 'America/Jujuy',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    96 => array(
      'timezone' => 'America/Juneau',
      'offset' => '-9:00:00',
      'offset_dst' => '-8:00:00',
      'dst_region' => '15',
    ),
    97 => array(
      'timezone' => 'America/Kentucky/Louisville',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    98 => array(
      'timezone' => 'America/Kentucky/Monticello',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    99 => array(
      'timezone' => 'America/Knox IN',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    100 => array(
      'timezone' => 'America/La Paz',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    101 => array(
      'timezone' => 'America/Lima',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    102 => array(
      'timezone' => 'America/Los Angeles',
      'offset' => '-8:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '15',
    ),
    103 => array(
      'timezone' => 'America/Louisville',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    104 => array(
      'timezone' => 'America/Maceio',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    105 => array(
      'timezone' => 'America/Managua',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    106 => array(
      'timezone' => 'America/Manaus',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    107 => array(
      'timezone' => 'America/Martinique',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    108 => array(
      'timezone' => 'America/Mazatlan',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    109 => array(
      'timezone' => 'America/Mendoza',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    110 => array(
      'timezone' => 'America/Menominee',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    111 => array(
      'timezone' => 'America/Merida',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    112 => array(
      'timezone' => 'America/Mexico City',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    113 => array(
      'timezone' => 'America/Miquelon',
      'offset' => '-3:00:00',
      'offset_dst' => '-2:00:00',
      'dst_region' => '15',
    ),
    114 => array(
      'timezone' => 'America/Monterrey',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    115 => array(
      'timezone' => 'America/Montevideo',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    116 => array(
      'timezone' => 'America/Montreal',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    117 => array(
      'timezone' => 'America/Montserrat',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    118 => array(
      'timezone' => 'America/Nassau',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    119 => array(
      'timezone' => 'America/New York',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    120 => array(
      'timezone' => 'America/Nipigon',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    121 => array(
      'timezone' => 'America/Nome',
      'offset' => '-9:00:00',
      'offset_dst' => '-8:00:00',
      'dst_region' => '15',
    ),
    122 => array(
      'timezone' => 'America/Noronha',
      'offset' => '-2:00:00',
      'offset_dst' => '-2:00:00',
      'dst_region' => '0',
    ),
    123 => array(
      'timezone' => 'America/Panama',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    124 => array(
      'timezone' => 'America/Pangnirtung',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    125 => array(
      'timezone' => 'America/Paramaribo',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    126 => array(
      'timezone' => 'America/Phoenix',
      'offset' => '-7:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '0',
    ),
    127 => array(
      'timezone' => 'America/Port-au-Prince',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    128 => array(
      'timezone' => 'America/Port of Spain',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    129 => array(
      'timezone' => 'America/Porto Acre',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    130 => array(
      'timezone' => 'America/Porto Velho',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    131 => array(
      'timezone' => 'America/Puerto Rico',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    132 => array(
      'timezone' => 'America/Rainy River',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    133 => array(
      'timezone' => 'America/Rankin Inlet',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    134 => array(
      'timezone' => 'America/Recife',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    135 => array(
      'timezone' => 'America/Regina',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    136 => array(
      'timezone' => 'America/Rio Branco',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    137 => array(
      'timezone' => 'America/Rosario',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    138 => array(
      'timezone' => 'America/Santiago',
      'offset' => '-3:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    139 => array(
      'timezone' => 'America/Santo Domingo',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    140 => array(
      'timezone' => 'America/Sao Paulo',
      'offset' => '-2:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '15',
    ),
    141 => array(
      'timezone' => 'America/Scoresbysund',
      'offset' => '-1:00:00',
      'offset_dst' => '00:00:00',
      'dst_region' => '15',
    ),
    142 => array(
      'timezone' => 'America/Shiprock',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    143 => array(
      'timezone' => 'America/St Johns',
      'offset' => '-3:30:00',
      'offset_dst' => '-2:30:00',
      'dst_region' => '15',
    ),
    144 => array(
      'timezone' => 'America/St Kitts',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    145 => array(
      'timezone' => 'America/St Lucia',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    146 => array(
      'timezone' => 'America/St Thomas',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    147 => array(
      'timezone' => 'America/St Vincent',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    148 => array(
      'timezone' => 'America/Swift Current',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    149 => array(
      'timezone' => 'America/Tegucigalpa',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    150 => array(
      'timezone' => 'America/Thule',
      'offset' => '-4:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '15',
    ),
    151 => array(
      'timezone' => 'America/Thunder Bay',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    152 => array(
      'timezone' => 'America/Tijuana',
      'offset' => '-8:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '15',
    ),
    153 => array(
      'timezone' => 'America/Tortola',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    154 => array(
      'timezone' => 'America/Vancouver',
      'offset' => '-8:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '15',
    ),
    155 => array(
      'timezone' => 'America/Virgin',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    156 => array(
      'timezone' => 'America/Whitehorse',
      'offset' => '-8:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '15',
    ),
    157 => array(
      'timezone' => 'America/Winnipeg',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    158 => array(
      'timezone' => 'America/Yakutat',
      'offset' => '-9:00:00',
      'offset_dst' => '-8:00:00',
      'dst_region' => '15',
    ),
    159 => array(
      'timezone' => 'America/Yellowknife',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    160 => array(
      'timezone' => 'Antarctica/Casey',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    161 => array(
      'timezone' => 'Antarctica/Davis',
      'offset' => '7:00:00',
      'offset_dst' => '7:00:00',
      'dst_region' => '0',
    ),
    162 => array(
      'timezone' => 'Antarctica/DumontDUrville',
      'offset' => '10:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '0',
    ),
    163 => array(
      'timezone' => 'Antarctica/Mawson',
      'offset' => '6:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '0',
    ),
    164 => array(
      'timezone' => 'Antarctica/McMurdo',
      'offset' => '13:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '11',
    ),
    165 => array(
      'timezone' => 'Antarctica/Palmer',
      'offset' => '-3:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '18',
    ),
    166 => array(
      'timezone' => 'Antarctica/South Pole',
      'offset' => '13:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '11',
    ),
    167 => array(
      'timezone' => 'Antarctica/Syowa',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    168 => array(
      'timezone' => 'Antarctica/Vostok',
      'offset' => '6:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '0',
    ),
    169 => array(
      'timezone' => 'Arctic/Longyearbyen',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '14',
    ),
    170 => array(
      'timezone' => 'Asia/Aden',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    171 => array(
      'timezone' => 'Asia/Almaty',
      'offset' => '6:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '0',
    ),
    172 => array(
      'timezone' => 'Asia/Amman',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '8',
    ),
    173 => array(
      'timezone' => 'Asia/Anadyr',
      'offset' => '12:00:00',
      'offset_dst' => '13:00:00',
      'dst_region' => '3',
    ),
    174 => array(
      'timezone' => 'Asia/Aqtau',
      'offset' => '4:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '3',
    ),
    175 => array(
      'timezone' => 'Asia/Aqtobe',
      'offset' => '5:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '3',
    ),
    176 => array(
      'timezone' => 'Asia/Ashgabat',
      'offset' => '5:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '0',
    ),
    177 => array(
      'timezone' => 'Asia/Ashkhabad',
      'offset' => '5:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '0',
    ),
    178 => array(
      'timezone' => 'Asia/Baghdad',
      'offset' => '3:00:00',
      'offset_dst' => '4:00:00',
      'dst_region' => '4',
    ),
    179 => array(
      'timezone' => 'Asia/Bahrain',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    180 => array(
      'timezone' => 'Asia/Baku',
      'offset' => '4:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '3',
    ),
    181 => array(
      'timezone' => 'Asia/Bangkok',
      'offset' => '7:00:00',
      'offset_dst' => '7:00:00',
      'dst_region' => '0',
    ),
    182 => array(
      'timezone' => 'Asia/Beirut',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '6',
    ),
    183 => array(
      'timezone' => 'Asia/Bishkek',
      'offset' => '5:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '6',
    ),
    184 => array(
      'timezone' => 'Asia/Brunei',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    185 => array(
      'timezone' => 'Asia/Calcutta',
      'offset' => '5:30:00',
      'offset_dst' => '5:30:30',
      'dst_region' => '0',
    ),
    186 => array(
      'timezone' => 'Asia/Chungking',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    187 => array(
      'timezone' => 'Asia/Colombo',
      'offset' => '6:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '0',
    ),
    188 => array(
      'timezone' => 'Asia/Dacca',
      'offset' => '6:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '0',
    ),
    189 => array(
      'timezone' => 'Asia/Damascus',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '4',
    ),
    190 => array(
      'timezone' => 'Asia/Dhaka',
      'offset' => '6:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '0',
    ),
    191 => array(
      'timezone' => 'Asia/Dili',
      'offset' => '9:00:00',
      'offset_dst' => '9:00:00',
      'dst_region' => '0',
    ),
    192 => array(
      'timezone' => 'Asia/Dubai',
      'offset' => '4:00:00',
      'offset_dst' => '4:00:00',
      'dst_region' => '0',
    ),
    193 => array(
      'timezone' => 'Asia/Dushanbe',
      'offset' => '5:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '0',
    ),
    194 => array(
      'timezone' => 'Asia/Gaza',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '7',
    ),
    195 => array(
      'timezone' => 'Asia/Harbin',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    196 => array(
      'timezone' => 'Asia/Hong Kong',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    197 => array(
      'timezone' => 'Asia/Hovd',
      'offset' => '7:00:00',
      'offset_dst' => '7:00:00',
      'dst_region' => '0',
    ),
    198 => array(
      'timezone' => 'Asia/Irkutsk',
      'offset' => '8:00:00',
      'offset_dst' => '9:00:00',
      'dst_region' => '3',
    ),
    199 => array(
      'timezone' => 'Asia/Istanbul',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '3',
    ),
    200 => array(
      'timezone' => 'Asia/Jakarta',
      'offset' => '7:00:00',
      'offset_dst' => '7:00:00',
      'dst_region' => '0',
    ),
    201 => array(
      'timezone' => 'Asia/Jayapura',
      'offset' => '9:00:00',
      'offset_dst' => '9:00:00',
      'dst_region' => '0',
    ),
    202 => array(
      'timezone' => 'Asia/Jerusalem',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '5',
    ),
    203 => array(
      'timezone' => 'Asia/Kabul',
      'offset' => '4:30:00',
      'offset_dst' => '4:30:00',
      'dst_region' => '0',
    ),
    204 => array(
      'timezone' => 'Asia/Kamchatka',
      'offset' => '12:00:00',
      'offset_dst' => '13:00:00',
      'dst_region' => '3',
    ),
    205 => array(
      'timezone' => 'Asia/Karachi',
      'offset' => '5:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '0',
    ),
    206 => array(
      'timezone' => 'Asia/Kashgar',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    207 => array(
      'timezone' => 'Asia/Katmandu',
      'offset' => '5:45:00',
      'offset_dst' => '5:45:00',
      'dst_region' => '0',
    ),
    208 => array(
      'timezone' => 'Asia/Krasnoyarsk',
      'offset' => '7:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '3',
    ),
    209 => array(
      'timezone' => 'Asia/Kuala Lumpur',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    210 => array(
      'timezone' => 'Asia/Kuching',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    211 => array(
      'timezone' => 'Asia/Kuwait',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    212 => array(
      'timezone' => 'Asia/Macao',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    213 => array(
      'timezone' => 'Asia/Magadan',
      'offset' => '11:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '3',
    ),
    214 => array(
      'timezone' => 'Asia/Manila',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    215 => array(
      'timezone' => 'Asia/Muscat',
      'offset' => '4:00:00',
      'offset_dst' => '4:00:00',
      'dst_region' => '0',
    ),
    216 => array(
      'timezone' => 'Asia/Nicosia',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '3',
    ),
    217 => array(
      'timezone' => 'Asia/Novosibirsk',
      'offset' => '6:00:00',
      'offset_dst' => '7:00:00',
      'dst_region' => '3',
    ),
    218 => array(
      'timezone' => 'Asia/Omsk',
      'offset' => '6:00:00',
      'offset_dst' => '7:00:00',
      'dst_region' => '3',
    ),
    219 => array(
      'timezone' => 'Asia/Phnom Penh',
      'offset' => '7:00:00',
      'offset_dst' => '7:00:00',
      'dst_region' => '0',
    ),
    220 => array(
      'timezone' => 'Asia/Pyongyang',
      'offset' => '9:00:00',
      'offset_dst' => '9:00:00',
      'dst_region' => '0',
    ),
    221 => array(
      'timezone' => 'Asia/Qatar',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    222 => array(
      'timezone' => 'Asia/Rangoon',
      'offset' => '6:30:00',
      'offset_dst' => '6:30:00',
      'dst_region' => '0',
    ),
    223 => array(
      'timezone' => 'Asia/Riyadh',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    224 => array(
      'timezone' => 'Asia/Riyadh87',
      'offset' => '3:07:04',
      'offset_dst' => '3:07:04',
      'dst_region' => '0',
    ),
    225 => array(
      'timezone' => 'Asia/Riyadh88',
      'offset' => '3:07:04',
      'offset_dst' => '3:07:04',
      'dst_region' => '0',
    ),
    226 => array(
      'timezone' => 'Asia/Riyadh89',
      'offset' => '3:07:04',
      'offset_dst' => '3:07:04',
      'dst_region' => '0',
    ),
    227 => array(
      'timezone' => 'Asia/Saigon',
      'offset' => '7:00:00',
      'offset_dst' => '7:00:00',
      'dst_region' => '0',
    ),
    228 => array(
      'timezone' => 'Asia/Samarkand',
      'offset' => '5:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '0',
    ),
    229 => array(
      'timezone' => 'Asia/Seoul',
      'offset' => '9:00:00',
      'offset_dst' => '9:00:00',
      'dst_region' => '0',
    ),
    230 => array(
      'timezone' => 'Asia/Shanghai',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    231 => array(
      'timezone' => 'Asia/Singapore',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    232 => array(
      'timezone' => 'Asia/Taipei',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    233 => array(
      'timezone' => 'Asia/Tashkent',
      'offset' => '5:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '0',
    ),
    234 => array(
      'timezone' => 'Asia/Tbilisi',
      'offset' => '4:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '3',
    ),
    235 => array(
      'timezone' => 'Asia/Tehran',
      'offset' => '3:30:00',
      'offset_dst' => '4:30:00',
      'dst_region' => '8',
    ),
    236 => array(
      'timezone' => 'Asia/Tel Aviv',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '5',
    ),
    237 => array(
      'timezone' => 'Asia/Thimbu',
      'offset' => '6:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '0',
    ),
    238 => array(
      'timezone' => 'Asia/Thimphu',
      'offset' => '6:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '0',
    ),
    239 => array(
      'timezone' => 'Asia/Tokyo',
      'offset' => '9:00:00',
      'offset_dst' => '9:00:00',
      'dst_region' => '0',
    ),
    240 => array(
      'timezone' => 'Asia/Ujung Pandang',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    241 => array(
      'timezone' => 'Asia/Ulaanbaatar',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    242 => array(
      'timezone' => 'Asia/Ulan Bator',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    243 => array(
      'timezone' => 'Asia/Urumqi',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    244 => array(
      'timezone' => 'Asia/Vientiane',
      'offset' => '7:00:00',
      'offset_dst' => '7:00:00',
      'dst_region' => '0',
    ),
    245 => array(
      'timezone' => 'Asia/Vladivostok',
      'offset' => '10:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '3',
    ),
    246 => array(
      'timezone' => 'Asia/Yakutsk',
      'offset' => '9:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '3',
    ),
    247 => array(
      'timezone' => 'Asia/Yekaterinburg',
      'offset' => '5:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '3',
    ),
    248 => array(
      'timezone' => 'Asia/Yerevan',
      'offset' => '4:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '3',
    ),
    249 => array(
      'timezone' => 'Atlantic/Azores',
      'offset' => '-1:00:00',
      'offset_dst' => '00:00:00',
      'dst_region' => '13',
    ),
    250 => array(
      'timezone' => 'Atlantic/Bermuda',
      'offset' => '-4:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '15',
    ),
    251 => array(
      'timezone' => 'Atlantic/Canary',
      'offset' => '00:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '15',
    ),
    252 => array(
      'timezone' => 'Atlantic/Cape Verde',
      'offset' => '-1:00:00',
      'offset_dst' => '-1:00:00',
      'dst_region' => '0',
    ),
    253 => array(
      'timezone' => 'Atlantic/Faeroe',
      'offset' => '00:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '13',
    ),
    254 => array(
      'timezone' => 'Atlantic/Jan Mayen',
      'offset' => '-1:00:00',
      'offset_dst' => '-1:00:00',
      'dst_region' => '0',
    ),
    255 => array(
      'timezone' => 'Atlantic/Madeira',
      'offset' => '00:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '13',
    ),
    256 => array(
      'timezone' => 'Atlantic/South Georgia',
      'offset' => '-2:00:00',
      'offset_dst' => '-2:00:00',
      'dst_region' => '0',
    ),
    257 => array(
      'timezone' => 'Atlantic/Stanley',
      'offset' => '-3:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '19',
    ),
    258 => array(
      'timezone' => 'Australia/ACT',
      'offset' => '10:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '9',
    ),
    259 => array(
      'timezone' => 'Australia/Adelaide',
      'offset' => '10:30:00',
      'offset_dst' => '9:30:00',
      'dst_region' => '9',
    ),
    260 => array(
      'timezone' => 'Australia/Brisbane',
      'offset' => '10:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '0',
    ),
    261 => array(
      'timezone' => 'Australia/Broken Hill',
      'offset' => '10:30:00',
      'offset_dst' => '9:30:00',
      'dst_region' => '9',
    ),
    262 => array(
      'timezone' => 'Australia/Canberra',
      'offset' => '11:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '9',
    ),
    263 => array(
      'timezone' => 'Australia/Darwin',
      'offset' => '9:30:00',
      'offset_dst' => '9:30:00',
      'dst_region' => '0',
    ),
    264 => array(
      'timezone' => 'Australia/Hobart',
      'offset' => '11:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '10',
    ),
    265 => array(
      'timezone' => 'Australia/LHI',
      'offset' => '11:00:00',
      'offset_dst' => '10:30:00',
      'dst_region' => '9',
    ),
    266 => array(
      'timezone' => 'Australia/Lindeman',
      'offset' => '10:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '0',
    ),
    267 => array(
      'timezone' => 'Australia/Lord Howe',
      'offset' => '11:00:00',
      'offset_dst' => '10:30:00',
      'dst_region' => '9',
    ),
    268 => array(
      'timezone' => 'Australia/Melbourne',
      'offset' => '10:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '10',
    ),
    269 => array(
      'timezone' => 'Australia/NSW',
      'offset' => '10:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '9',
    ),
    270 => array(
      'timezone' => 'Australia/North',
      'offset' => '9:30:00',
      'offset_dst' => '9:30:00',
      'dst_region' => '0',
    ),
    271 => array(
      'timezone' => 'Australia/Perth',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    272 => array(
      'timezone' => 'Australia/Queensland',
      'offset' => '10:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '0',
    ),
    273 => array(
      'timezone' => 'Australia/South',
      'offset' => '10:30:00',
      'offset_dst' => '9:30:00',
      'dst_region' => '9',
    ),
    274 => array(
      'timezone' => 'Australia/Sydney',
      'offset' => '10:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '10',
    ),
    275 => array(
      'timezone' => 'Australia/Tasmania',
      'offset' => '10:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '9',
    ),
    276 => array(
      'timezone' => 'Australia/Victoria',
      'offset' => '10:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '9',
    ),
    277 => array(
      'timezone' => 'Australia/West',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    278 => array(
      'timezone' => 'Australia/Yancowinna',
      'offset' => '10:30:00',
      'offset_dst' => '9:30:00',
      'dst_region' => '10',
    ),
    279 => array(
      'timezone' => 'Brazil/Acre',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    280 => array(
      'timezone' => 'Brazil/DeNoronha',
      'offset' => '-2:00:00',
      'offset_dst' => '-2:00:00',
      'dst_region' => '0',
    ),
    281 => array(
      'timezone' => 'Brazil/East',
      'offset' => '-2:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '17',
    ),
    282 => array(
      'timezone' => 'Brazil/West',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    285 => array(
      'timezone' => 'Canada/Atlantic',
      'offset' => '-4:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '15',
    ),
    286 => array(
      'timezone' => 'Canada/Central',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    287 => array(
      'timezone' => 'Canada/Central-Saskatchewan',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    288 => array(
      'timezone' => 'Canada/Eastern',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    289 => array(
      'timezone' => 'Canada/Mountain',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    290 => array(
      'timezone' => 'Canada/Newfoundland',
      'offset' => '-3:30:00',
      'offset_dst' => '-2:30:00',
      'dst_region' => '15',
    ),
    291 => array(
      'timezone' => 'Canada/Pacific',
      'offset' => '-8:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '15',
    ),
    292 => array(
      'timezone' => 'Canada/Saskatchewan',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    293 => array(
      'timezone' => 'Canada/Yukon',
      'offset' => '-8:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '15',
    ),
    294 => array(
      'timezone' => 'Chile/Continental',
      'offset' => '-3:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '18',
    ),
    295 => array(
      'timezone' => 'Chile/EasterIsland',
      'offset' => '-5:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '18',
    ),
    296 => array(
      'timezone' => 'Cuba',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '16',
    ),
    298 => array(
      'timezone' => 'EST',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    300 => array(
      'timezone' => 'Egypt',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '1',
    ),
    301 => array(
      'timezone' => 'Eire',
      'offset' => '00:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '13',
    ),
    302 => array(
      'timezone' => 'Etc/GMT-1',
      'offset' => '-1:00:00',
      'offset_dst' => '-1:00:00',
      'dst_region' => '0',
    ),
    303 => array(
      'timezone' => 'Etc/GMT-10',
      'offset' => '-10:00:00',
      'offset_dst' => '-10:00:00',
      'dst_region' => '0',
    ),
    304 => array(
      'timezone' => 'Etc/GMT-11',
      'offset' => '-11:00:00',
      'offset_dst' => '-11:00:00',
      'dst_region' => '0',
    ),
    305 => array(
      'timezone' => 'Etc/GMT-12',
      'offset' => '-12:00:00',
      'offset_dst' => '-12:00:00',
      'dst_region' => '0',
    ),
    306 => array(
      'timezone' => 'Etc/GMT-2',
      'offset' => '-2:00:00',
      'offset_dst' => '-2:00:00',
      'dst_region' => '0',
    ),
    307 => array(
      'timezone' => 'Etc/GMT-3',
      'offset' => '-3:00:00',
      'offset_dst' => '-3:00:00',
      'dst_region' => '0',
    ),
    308 => array(
      'timezone' => 'Etc/GMT-4',
      'offset' => '-4:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '0',
    ),
    309 => array(
      'timezone' => 'Etc/GMT-5',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    310 => array(
      'timezone' => 'Etc/GMT-6',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    311 => array(
      'timezone' => 'Etc/GMT-7',
      'offset' => '-7:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '0',
    ),
    312 => array(
      'timezone' => 'Etc/GMT-8',
      'offset' => '-8:00:00',
      'offset_dst' => '-8:00:00',
      'dst_region' => '0',
    ),
    313 => array(
      'timezone' => 'Etc/GMT-9',
      'offset' => '-9:00:00',
      'offset_dst' => '-9:00:00',
      'dst_region' => '0',
    ),
    487 => array(
      'timezone' => 'Etc/GMT',
      'offset' => '00:00:00',
      'offset_dst' => '00:00:00',
      'dst_region' => '0',
    ),
    314 => array(
      'timezone' => 'Etc/GMT+1',
      'offset' => '1:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '0',
    ),
    315 => array(
      'timezone' => 'Etc/GMT+10',
      'offset' => '10:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '0',
    ),
    316 => array(
      'timezone' => 'Etc/GMT+11',
      'offset' => '11:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '0',
    ),
    317 => array(
      'timezone' => 'Etc/GMT+12',
      'offset' => '12:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '0',
    ),
    318 => array(
      'timezone' => 'Etc/GMT+13',
      'offset' => '13:00:00',
      'offset_dst' => '13:00:00',
      'dst_region' => '0',
    ),
    319 => array(
      'timezone' => 'Etc/GMT+14',
      'offset' => '14:00:00',
      'offset_dst' => '14:00:00',
      'dst_region' => '0',
    ),
    320 => array(
      'timezone' => 'Etc/GMT+2',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    321 => array(
      'timezone' => 'Etc/GMT+3',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    322 => array(
      'timezone' => 'Etc/GMT+4',
      'offset' => '4:00:00',
      'offset_dst' => '4:00:00',
      'dst_region' => '0',
    ),
    323 => array(
      'timezone' => 'Etc/GMT+5',
      'offset' => '5:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '0',
    ),
    324 => array(
      'timezone' => 'Etc/GMT+6',
      'offset' => '6:00:00',
      'offset_dst' => '6:00:00',
      'dst_region' => '0',
    ),
    325 => array(
      'timezone' => 'Etc/GMT+7',
      'offset' => '7:00:00',
      'offset_dst' => '7:00:00',
      'dst_region' => '0',
    ),
    326 => array(
      'timezone' => 'Etc/GMT+8',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    327 => array(
      'timezone' => 'Etc/GMT+9',
      'offset' => '9:00:00',
      'offset_dst' => '9:00:00',
      'dst_region' => '0',
    ),
    328 => array(
      'timezone' => 'Europe/Amsterdam',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    329 => array(
      'timezone' => 'Europe/Andorra',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    330 => array(
      'timezone' => 'Europe/Athens',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    331 => array(
      'timezone' => 'Europe/Belfast',
      'offset' => '00:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '13',
    ),
    332 => array(
      'timezone' => 'Europe/Belgrade',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    333 => array(
      'timezone' => 'Europe/Berlin',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    334 => array(
      'timezone' => 'Europe/Bratislava',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    335 => array(
      'timezone' => 'Europe/Brussels',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    336 => array(
      'timezone' => 'Europe/Bucharest',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    337 => array(
      'timezone' => 'Europe/Budapest',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    338 => array(
      'timezone' => 'Europe/Chisinau',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    339 => array(
      'timezone' => 'Europe/Copenhagen',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    340 => array(
      'timezone' => 'Europe/Dublin',
      'offset' => '00:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '13',
    ),
    341 => array(
      'timezone' => 'Europe/Gibraltar',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    342 => array(
      'timezone' => 'Europe/Helsinki',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    343 => array(
      'timezone' => 'Europe/Istanbul',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    344 => array(
      'timezone' => 'Europe/Kaliningrad',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    345 => array(
      'timezone' => 'Europe/Kiev',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    346 => array(
      'timezone' => 'Europe/Lisbon',
      'offset' => '00:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '13',
    ),
    347 => array(
      'timezone' => 'Europe/Ljubljana',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    348 => array(
      'timezone' => 'Europe/London',
      'offset' => '00:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '13',
    ),
    349 => array(
      'timezone' => 'Europe/Luxembourg',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    350 => array(
      'timezone' => 'Europe/Madrid',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    351 => array(
      'timezone' => 'Europe/Malta',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    352 => array(
      'timezone' => 'Europe/Minsk',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    353 => array(
      'timezone' => 'Europe/Monaco',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    354 => array(
      'timezone' => 'Europe/Moscow',
      'offset' => '3:00:00',
      'offset_dst' => '4:00:00',
      'dst_region' => '14',
    ),
    355 => array(
      'timezone' => 'Europe/Nicosia',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    356 => array(
      'timezone' => 'Europe/Oslo',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    357 => array(
      'timezone' => 'Europe/Paris',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    358 => array(
      'timezone' => 'Europe/Prague',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    359 => array(
      'timezone' => 'Europe/Riga',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    360 => array(
      'timezone' => 'Europe/Rome',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    361 => array(
      'timezone' => 'Europe/Samara',
      'offset' => '4:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '13',
    ),
    362 => array(
      'timezone' => 'Europe/San Marino',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    363 => array(
      'timezone' => 'Europe/Sarajevo',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    364 => array(
      'timezone' => 'Europe/Simferopol',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    365 => array(
      'timezone' => 'Europe/Skopje',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    366 => array(
      'timezone' => 'Europe/Sofia',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    367 => array(
      'timezone' => 'Europe/Stockholm',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    368 => array(
      'timezone' => 'Europe/Tallinn',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    369 => array(
      'timezone' => 'Europe/Tirane',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    370 => array(
      'timezone' => 'Europe/Tiraspol',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    371 => array(
      'timezone' => 'Europe/Uzhgorod',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    372 => array(
      'timezone' => 'Europe/Vaduz',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    373 => array(
      'timezone' => 'Europe/Vatican',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    374 => array(
      'timezone' => 'Europe/Vienna',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    375 => array(
      'timezone' => 'Europe/Vilnius',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    376 => array(
      'timezone' => 'Europe/Warsaw',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    377 => array(
      'timezone' => 'Europe/Zagreb',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    378 => array(
      'timezone' => 'Europe/Zaporozhye',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    379 => array(
      'timezone' => 'Europe/Zurich',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    380 => array(
      'timezone' => 'GB',
      'offset' => '00:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '13',
    ),
    381 => array(
      'timezone' => 'GB-Eire',
      'offset' => '00:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '13',
    ),
    383 => array(
      'timezone' => 'Hongkong',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    384 => array(
      'timezone' => 'Indian/Antananarivo',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    385 => array(
      'timezone' => 'Indian/Chagos',
      'offset' => '5:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '0',
    ),
    386 => array(
      'timezone' => 'Indian/Christmas',
      'offset' => '7:00:00',
      'offset_dst' => '7:00:00',
      'dst_region' => '0',
    ),
    387 => array(
      'timezone' => 'Indian/Cocos',
      'offset' => '6:30:00',
      'offset_dst' => '6:30:00',
      'dst_region' => '0',
    ),
    388 => array(
      'timezone' => 'Indian/Comoro',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    389 => array(
      'timezone' => 'Indian/Kerguelen',
      'offset' => '5:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '0',
    ),
    390 => array(
      'timezone' => 'Indian/Mahe',
      'offset' => '4:00:00',
      'offset_dst' => '4:00:00',
      'dst_region' => '0',
    ),
    391 => array(
      'timezone' => 'Indian/Maldives',
      'offset' => '5:00:00',
      'offset_dst' => '5:00:00',
      'dst_region' => '0',
    ),
    392 => array(
      'timezone' => 'Indian/Mauritius',
      'offset' => '4:00:00',
      'offset_dst' => '4:00:00',
      'dst_region' => '0',
    ),
    393 => array(
      'timezone' => 'Indian/Mayotte',
      'offset' => '3:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '0',
    ),
    394 => array(
      'timezone' => 'Indian/Reunion',
      'offset' => '4:00:00',
      'offset_dst' => '4:00:00',
      'dst_region' => '0',
    ),
    395 => array(
      'timezone' => 'Iran',
      'offset' => '3:30:00',
      'offset_dst' => '4:30:00',
      'dst_region' => '8',
    ),
    396 => array(
      'timezone' => 'Israel',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '5',
    ),
    397 => array(
      'timezone' => 'Jamaica',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    398 => array(
      'timezone' => 'Japan',
      'offset' => '9:00:00',
      'offset_dst' => '9:00:00',
      'dst_region' => '0',
    ),
    399 => array(
      'timezone' => 'Kwajalein',
      'offset' => '12:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '0',
    ),
    400 => array(
      'timezone' => 'Libya',
      'offset' => '2:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '0',
    ),
    404 => array(
      'timezone' => 'Mexico/BajaNorte',
      'offset' => '-8:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '15',
    ),
    405 => array(
      'timezone' => 'Mexico/BajaSur',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    406 => array(
      'timezone' => 'Mexico/General',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    407 => array(
      'timezone' => 'Mideast/Riyadh87',
      'offset' => '3:07:04',
      'offset_dst' => '3:07:04',
      'dst_region' => '0',
    ),
    408 => array(
      'timezone' => 'Mideast/Riyadh88',
      'offset' => '3:07:04',
      'offset_dst' => '3:07:04',
      'dst_region' => '0',
    ),
    409 => array(
      'timezone' => 'Mideast/Riyadh89',
      'offset' => '3:07:04',
      'offset_dst' => '3:07:04',
      'dst_region' => '0',
    ),
    410 => array(
      'timezone' => 'NZ',
      'offset' => '13:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '11',
    ),
    412 => array(
      'timezone' => 'Navajo',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    415 => array(
      'timezone' => 'Pacific/Apia',
      'offset' => '-11:00:00',
      'offset_dst' => '-11:00:00',
      'dst_region' => '0',
    ),
    416 => array(
      'timezone' => 'Pacific/Auckland',
      'offset' => '13:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '15',
    ),
    417 => array(
      'timezone' => 'Pacific/Chatham',
      'offset' => '13:45:00',
      'offset_dst' => '12:45:00',
      'dst_region' => '15',
    ),
    418 => array(
      'timezone' => 'Pacific/Easter',
      'offset' => '-5:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    419 => array(
      'timezone' => 'Pacific/Efate',
      'offset' => '11:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '0',
    ),
    420 => array(
      'timezone' => 'Pacific/Enderbury',
      'offset' => '13:00:00',
      'offset_dst' => '13:00:00',
      'dst_region' => '0',
    ),
    421 => array(
      'timezone' => 'Pacific/Fakaofo',
      'offset' => '-10:00:00',
      'offset_dst' => '-10:00:00',
      'dst_region' => '0',
    ),
    422 => array(
      'timezone' => 'Pacific/Fiji',
      'offset' => '12:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '0',
    ),
    423 => array(
      'timezone' => 'Pacific/Funafuti',
      'offset' => '12:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '0',
    ),
    424 => array(
      'timezone' => 'Pacific/Galapagos',
      'offset' => '-6:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '0',
    ),
    425 => array(
      'timezone' => 'Pacific/Gambier',
      'offset' => '-9:00:00',
      'offset_dst' => '-9:00:00',
      'dst_region' => '0',
    ),
    426 => array(
      'timezone' => 'Pacific/Guadalcanal',
      'offset' => '11:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '0',
    ),
    427 => array(
      'timezone' => 'Pacific/Guam',
      'offset' => '10:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '0',
    ),
    428 => array(
      'timezone' => 'Pacific/Honolulu',
      'offset' => '-10:00:00',
      'offset_dst' => '-10:00:00',
      'dst_region' => '0',
    ),
    429 => array(
      'timezone' => 'Pacific/Johnston',
      'offset' => '-10:00:00',
      'offset_dst' => '-10:00:00',
      'dst_region' => '0',
    ),
    430 => array(
      'timezone' => 'Pacific/Kiritimati',
      'offset' => '14:00:00',
      'offset_dst' => '14:00:00',
      'dst_region' => '0',
    ),
    431 => array(
      'timezone' => 'Pacific/Kosrae',
      'offset' => '11:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '0',
    ),
    432 => array(
      'timezone' => 'Pacific/Kwajalein',
      'offset' => '12:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '0',
    ),
    433 => array(
      'timezone' => 'Pacific/Majuro',
      'offset' => '12:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '0',
    ),
    434 => array(
      'timezone' => 'Pacific/Marquesas',
      'offset' => '-9:30:00',
      'offset_dst' => '-9:30:00',
      'dst_region' => '0',
    ),
    435 => array(
      'timezone' => 'Pacific/Midway',
      'offset' => '-11:00:00',
      'offset_dst' => '-11:00:00',
      'dst_region' => '0',
    ),
    436 => array(
      'timezone' => 'Pacific/Nauru',
      'offset' => '12:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '0',
    ),
    437 => array(
      'timezone' => 'Pacific/Niue',
      'offset' => '-11:00:00',
      'offset_dst' => '-11:00:00',
      'dst_region' => '0',
    ),
    438 => array(
      'timezone' => 'Pacific/Norfolk',
      'offset' => '11:30:00',
      'offset_dst' => '11:30:00',
      'dst_region' => '0',
    ),
    439 => array(
      'timezone' => 'Pacific/Noumea',
      'offset' => '11:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '0',
    ),
    440 => array(
      'timezone' => 'Pacific/Pago Pago',
      'offset' => '-11:00:00',
      'offset_dst' => '-11:00:00',
      'dst_region' => '0',
    ),
    441 => array(
      'timezone' => 'Pacific/Palau',
      'offset' => '9:00:00',
      'offset_dst' => '9:00:00',
      'dst_region' => '0',
    ),
    442 => array(
      'timezone' => 'Pacific/Pitcairn',
      'offset' => '-8:00:00',
      'offset_dst' => '-8:00:00',
      'dst_region' => '0',
    ),
    443 => array(
      'timezone' => 'Pacific/Ponape',
      'offset' => '11:00:00',
      'offset_dst' => '11:00:00',
      'dst_region' => '0',
    ),
    444 => array(
      'timezone' => 'Pacific/Port Moresby',
      'offset' => '10:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '0',
    ),
    445 => array(
      'timezone' => 'Pacific/Rarotonga',
      'offset' => '-10:00:00',
      'offset_dst' => '-10:00:00',
      'dst_region' => '0',
    ),
    446 => array(
      'timezone' => 'Pacific/Saipan',
      'offset' => '10:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '0',
    ),
    447 => array(
      'timezone' => 'Pacific/Samoa',
      'offset' => '-11:00:00',
      'offset_dst' => '-11:00:00',
      'dst_region' => '0',
    ),
    448 => array(
      'timezone' => 'Pacific/Tahiti',
      'offset' => '-10:00:00',
      'offset_dst' => '-10:00:00',
      'dst_region' => '0',
    ),
    449 => array(
      'timezone' => 'Pacific/Tarawa',
      'offset' => '12:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '0',
    ),
    450 => array(
      'timezone' => 'Pacific/Tongatapu',
      'offset' => '13:00:00',
      'offset_dst' => '13:00:00',
      'dst_region' => '0',
    ),
    451 => array(
      'timezone' => 'Pacific/Truk',
      'offset' => '10:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '0',
    ),
    452 => array(
      'timezone' => 'Pacific/Wake',
      'offset' => '12:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '0',
    ),
    453 => array(
      'timezone' => 'Pacific/Wallis',
      'offset' => '12:00:00',
      'offset_dst' => '12:00:00',
      'dst_region' => '0',
    ),
    454 => array(
      'timezone' => 'Pacific/Yap',
      'offset' => '10:00:00',
      'offset_dst' => '10:00:00',
      'dst_region' => '0',
    ),
    455 => array(
      'timezone' => 'Poland',
      'offset' => '1:00:00',
      'offset_dst' => '2:00:00',
      'dst_region' => '13',
    ),
    456 => array(
      'timezone' => 'Portugal',
      'offset' => '00:00:00',
      'offset_dst' => '1:00:00',
      'dst_region' => '13',
    ),
    459 => array(
      'timezone' => 'Singapore',
      'offset' => '8:00:00',
      'offset_dst' => '8:00:00',
      'dst_region' => '0',
    ),
    473 => array(
      'timezone' => 'Turkey',
      'offset' => '2:00:00',
      'offset_dst' => '3:00:00',
      'dst_region' => '13',
    ),
    474 => array(
      'timezone' => 'US/Alaska',
      'offset' => '-9:00:00',
      'offset_dst' => '-8:00:00',
      'dst_region' => '15',
    ),
    475 => array(
      'timezone' => 'US/Aleutian',
      'offset' => '-10:00:00',
      'offset_dst' => '-9:00:00',
      'dst_region' => '15',
    ),
    476 => array(
      'timezone' => 'US/Arizona',
      'offset' => '-7:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '0',
    ),
    477 => array(
      'timezone' => 'US/Central',
      'offset' => '-6:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '15',
    ),
    478 => array(
      'timezone' => 'US/East-Indiana',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    479 => array(
      'timezone' => 'US/Eastern',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    480 => array(
      'timezone' => 'US/Hawaii',
      'offset' => '-10:00:00',
      'offset_dst' => '-10:00:00',
      'dst_region' => '0',
    ),
    481 => array(
      'timezone' => 'US/Indiana-Starke',
      'offset' => '-5:00:00',
      'offset_dst' => '-5:00:00',
      'dst_region' => '0',
    ),
    482 => array(
      'timezone' => 'US/Michigan',
      'offset' => '-5:00:00',
      'offset_dst' => '-4:00:00',
      'dst_region' => '15',
    ),
    483 => array(
      'timezone' => 'US/Mountain',
      'offset' => '-7:00:00',
      'offset_dst' => '-6:00:00',
      'dst_region' => '15',
    ),
    484 => array(
      'timezone' => 'US/Pacific',
      'offset' => '-8:00:00',
      'offset_dst' => '-7:00:00',
      'dst_region' => '15',
    ),
    485 => array(
      'timezone' => 'US/Samoa',
      'offset' => '-11:00:00',
      'offset_dst' => '-11:00:00',
      'dst_region' => '0',
    ),
    486 => array(
      'timezone' => 'Pacific/French Polynesia-Marquesas Islands',
      'offset' => '-9:30:00',
      'offset_dst' => '-9:30:00',
      'dst_region' => '0',
    ),
  );
}

/**
 * Returns the dates when TZ switches happen from 1970 to 2010.
 */
function _event_install_get_dst_dates($zone) {
  switch ($zone) {
    case 1:
      return '(9763200 <= %date <= 22982400) OR (41817600 <= %date <= 55036800) OR (73267200 <= %date <= 86486400) OR (104716800 <= %date <= 117936000) OR (136166400 <= %date <= 149385600) OR (167616000 <= %date <= 180835200) OR (199670400 <= %date <= 212889600) OR (231120000 <= %date <= 244339200) OR (262569600 <= %date <= 275788800) OR (294019200 <= %date <= 307238400) OR (325468800 <= %date <= 338688000) OR (356918400 <= %date <= 370137600) OR (388972800 <= %date <= 402192000) OR (420422400 <= %date <= 433641600) OR (451872000 <= %date <= 465091200) OR (483321600 <= %date <= 496540800) OR (514771200 <= %date <= 527990400) OR (546220800 <= %date <= 559440000) OR (578275200 <= %date <= 591494400) OR (609724800 <= %date <= 622944000) OR (641174400 <= %date <= 654393600) OR (672624000 <= %date <= 685843200) OR (704073600 <= %date <= 717292800) OR (736128000 <= %date <= 749347200) OR (767577600 <= %date <= 780796800) OR (799027200 <= %date <= 812246400) OR (830476800 <= %date <= 843696000) OR (861926400 <= %date <= 875145600) OR (893376000 <= %date <= 906595200) OR (925430400 <= %date <= 938649600) OR (956880000 <= %date <= 970099200) OR (988329600 <= %date <= 1001548800) OR (1019779200 <= %date <= 1032998400) OR (1051228800 <= %date <= 1064448000) OR (1083283200 <= %date <= 1096502400) OR (1114732800 <= %date <= 1127952000) OR (1146182400 <= %date <= 1159401600) OR (1177632000 <= %date <= 1190851200) OR (1209081600 <= %date <= 1222300800) OR (1240531200 <= %date <= 1253750400) OR (1272585600 <= %date <= 1285804800)';
    case 2:
      return '(22032000 <= %date <= 8726400) OR (53481600 <= %date <= 40176000) OR (84931200 <= %date <= 71625600) OR (116380800 <= %date <= 103075200) OR (147830400 <= %date <= 135129600) OR (179884800 <= %date <= 166579200) OR (211334400 <= %date <= 198028800) OR (242784000 <= %date <= 229478400) OR (274233600 <= %date <= 260928000) OR (305683200 <= %date <= 292377600) OR (337737600 <= %date <= 324432000) OR (369187200 <= %date <= 355881600) OR (400636800 <= %date <= 387331200) OR (432086400 <= %date <= 418780800) OR (463536000 <= %date <= 450230400) OR (494985600 <= %date <= 482284800) OR (527040000 <= %date <= 513734400) OR (558489600 <= %date <= 545184000) OR (589939200 <= %date <= 576633600) OR (621388800 <= %date <= 608083200) OR (652838400 <= %date <= 639532800) OR (684288000 <= %date <= 671587200) OR (716342400 <= %date <= 703036800) OR (747792000 <= %date <= 734486400) OR (779241600 <= %date <= 765936000) OR (810691200 <= %date <= 797385600) OR (842140800 <= %date <= 829440000) OR (874195200 <= %date <= 860889600) OR (905644800 <= %date <= 892339200) OR (937094400 <= %date <= 923788800) OR (968544000 <= %date <= 955238400) OR (999993600 <= %date <= 986688000) OR (1031443200 <= %date <= 1018742400) OR (1063497600 <= %date <= 1050192000) OR (1094947200 <= %date <= 1081641600) OR (1126396800 <= %date <= 1113091200) OR (1157846400 <= %date <= 1144540800) OR (1189296000 <= %date <= 1175990400) OR (1221350400 <= %date <= 1208044800) OR (1252800000 <= %date <= 1239494400) OR (1284249600 <= %date <= 1270944000)';
    case 3:
      return '(7516800 <= %date <= 25660800) OR (38966400 <= %date <= 57715200) OR (70416000 <= %date <= 89164800) OR (101865600 <= %date <= 120614400) OR (133920000 <= %date <= 152064000) OR (165369600 <= %date <= 183513600) OR (196819200 <= %date <= 215568000) OR (228268800 <= %date <= 247017600) OR (259718400 <= %date <= 278467200) OR (291168000 <= %date <= 309916800) OR (323222400 <= %date <= 341366400) OR (354672000 <= %date <= 372816000) OR (386121600 <= %date <= 404870400) OR (417571200 <= %date <= 436320000) OR (449020800 <= %date <= 467769600) OR (481075200 <= %date <= 499219200) OR (512524800 <= %date <= 530668800) OR (543974400 <= %date <= 562118400) OR (575424000 <= %date <= 594172800) OR (606873600 <= %date <= 625622400) OR (638323200 <= %date <= 657072000) OR (670377600 <= %date <= 688521600) OR (701827200 <= %date <= 719971200) OR (733276800 <= %date <= 752025600) OR (764726400 <= %date <= 783475200) OR (796176000 <= %date <= 814924800) OR (828230400 <= %date <= 846374400) OR (859680000 <= %date <= 877824000) OR (891129600 <= %date <= 909273600) OR (922579200 <= %date <= 941328000) OR (954028800 <= %date <= 972777600) OR (985478400 <= %date <= 1004227200) OR (1017532800 <= %date <= 1035676800) OR (1048982400 <= %date <= 1067126400) OR (1080432000 <= %date <= 1099180800) OR (1111881600 <= %date <= 1130630400) OR (1143331200 <= %date <= 1162080000) OR (1174780800 <= %date <= 1193529600) OR (1206835200 <= %date <= 1224979200) OR (1238284800 <= %date <= 1256428800) OR (1269734400 <= %date <= 1288483200)';
    case 4:
      return '(7776000 <= %date <= 23587200) OR (39312000 <= %date <= 55123200) OR (70934400 <= %date <= 86745600) OR (102470400 <= %date <= 118281600) OR (134006400 <= %date <= 149817600) OR (165542400 <= %date <= 181353600) OR (197164800 <= %date <= 212976000) OR (228700800 <= %date <= 244512000) OR (260236800 <= %date <= 276048000) OR (291772800 <= %date <= 307584000) OR (323395200 <= %date <= 339206400) OR (354931200 <= %date <= 370742400) OR (386467200 <= %date <= 402278400) OR (418003200 <= %date <= 433814400) OR (449625600 <= %date <= 465436800) OR (481161600 <= %date <= 496972800) OR (512697600 <= %date <= 528508800) OR (544233600 <= %date <= 560044800) OR (575856000 <= %date <= 591667200) OR (607392000 <= %date <= 623203200) OR (638928000 <= %date <= 654739200) OR (670464000 <= %date <= 686275200) OR (702086400 <= %date <= 717897600) OR (733622400 <= %date <= 749433600) OR (765158400 <= %date <= 780969600) OR (796694400 <= %date <= 812505600) OR (828316800 <= %date <= 844128000) OR (859852800 <= %date <= 875664000) OR (891388800 <= %date <= 907200000) OR (922924800 <= %date <= 938736000) OR (954547200 <= %date <= 970358400) OR (986083200 <= %date <= 1001894400) OR (1017619200 <= %date <= 1033430400) OR (1049155200 <= %date <= 1064966400) OR (1080777600 <= %date <= 1096588800) OR (1112313600 <= %date <= 1128124800) OR (1143849600 <= %date <= 1159660800) OR (1175385600 <= %date <= 1191196800) OR (1207008000 <= %date <= 1222819200) OR (1238544000 <= %date <= 1254355200) OR (1270080000 <= %date <= 1285891200)';
    case 5:
      return '(7344000 <= %date <= 24364800) OR (38793600 <= %date <= 55814400) OR (70848000 <= %date <= 87264000) OR (102297600 <= %date <= 118713600) OR (133747200 <= %date <= 150768000) OR (165196800 <= %date <= 182217600) OR (196646400 <= %date <= 213667200) OR (228700800 <= %date <= 245116800) OR (260150400 <= %date <= 276566400) OR (291600000 <= %date <= 308016000) OR (323049600 <= %date <= 340070400) OR (354499200 <= %date <= 371520000) OR (385948800 <= %date <= 402969600) OR (418003200 <= %date <= 434419200) OR (449452800 <= %date <= 465868800) OR (480902400 <= %date <= 497923200) OR (512352000 <= %date <= 529372800) OR (543801600 <= %date <= 560822400) OR (575856000 <= %date <= 592272000) OR (607305600 <= %date <= 623721600) OR (638755200 <= %date <= 655171200) OR (670204800 <= %date <= 687225600) OR (701654400 <= %date <= 718675200) OR (733104000 <= %date <= 750124800) OR (765158400 <= %date <= 781574400) OR (796608000 <= %date <= 813024000) OR (828057600 <= %date <= 845078400) OR (859507200 <= %date <= 876528000) OR (890956800 <= %date <= 907977600) OR (922406400 <= %date <= 939427200) OR (954460800 <= %date <= 970948800) OR (985910400 <= %date <= 1002398460) OR (1017360000 <= %date <= 1034452920) OR (1048809600 <= %date <= 1065902580) OR (1080259200 <= %date <= 1097352240) OR (1112313600 <= %date <= 1128801900) OR (1143763200 <= %date <= 1160251560) OR (1175212800 <= %date <= 1189886820) OR (1206662400 <= %date <= 1223150880) OR (1238112000 <= %date <= 1253995740) OR (1269561600 <= %date <= 1284235800)';
    case 6:
      return '(7516800 <= %date <= 25660800) OR (38966400 <= %date <= 57715200) OR (70416000 <= %date <= 89164800) OR (101865600 <= %date <= 120614400) OR (133920000 <= %date <= 152064000) OR (165369600 <= %date <= 183513600) OR (196819200 <= %date <= 215568000) OR (228268800 <= %date <= 247017600) OR (259718400 <= %date <= 278467200) OR (291168000 <= %date <= 309916800) OR (323222400 <= %date <= 341366400) OR (354672000 <= %date <= 372816000) OR (386121600 <= %date <= 404870400) OR (417571200 <= %date <= 436320000) OR (449020800 <= %date <= 467769600) OR (481075200 <= %date <= 499219200) OR (512524800 <= %date <= 530668800) OR (543974400 <= %date <= 562118400) OR (575424000 <= %date <= 594172800) OR (606873600 <= %date <= 625622400) OR (638323200 <= %date <= 657072000) OR (670377600 <= %date <= 688521600) OR (701827200 <= %date <= 719971200) OR (733276800 <= %date <= 752025600) OR (764726400 <= %date <= 783475200) OR (796176000 <= %date <= 814924800) OR (828230400 <= %date <= 846374400) OR (859680000 <= %date <= 877824000) OR (891129600 <= %date <= 909273600) OR (922579200 <= %date <= 941328000) OR (954028800 <= %date <= 972777600) OR (985478400 <= %date <= 1004227200) OR (1017532800 <= %date <= 1035676800) OR (1048982400 <= %date <= 1067126400) OR (1080432000 <= %date <= 1099180800) OR (1111881600 <= %date <= 1130630400) OR (1143331200 <= %date <= 1162080000) OR (1174780800 <= %date <= 1193529600) OR (1206835200 <= %date <= 1224979200) OR (1238284800 <= %date <= 1256428800) OR (1269734400 <= %date <= 1288483200)';
    case 7:
      return '(9158400 <= %date <= 24883200) OR (40608000 <= %date <= 56332800) OR (72662400 <= %date <= 88387200) OR (104112000 <= %date <= 119836800) OR (135561600 <= %date <= 151286400) OR (167011200 <= %date <= 182736000) OR (198460800 <= %date <= 214185600) OR (229910400 <= %date <= 246240000) OR (261964800 <= %date <= 277689600) OR (293414400 <= %date <= 309139200) OR (324864000 <= %date <= 340588800) OR (356313600 <= %date <= 372038400) OR (387763200 <= %date <= 403488000) OR (419212800 <= %date <= 435542400) OR (451267200 <= %date <= 466992000) OR (482716800 <= %date <= 498441600) OR (514166400 <= %date <= 529891200) OR (545616000 <= %date <= 561340800) OR (577065600 <= %date <= 593395200) OR (609120000 <= %date <= 624844800) OR (640569600 <= %date <= 656294400) OR (672019200 <= %date <= 687744000) OR (703468800 <= %date <= 719193600) OR (734918400 <= %date <= 750643200) OR (766368000 <= %date <= 782697600) OR (798422400 <= %date <= 814147200) OR (829872000 <= %date <= 845596800) OR (861321600 <= %date <= 877046400) OR (892771200 <= %date <= 908496000) OR (924220800 <= %date <= 939945600) OR (956275200 <= %date <= 972000000) OR (987724800 <= %date <= 1003449600) OR (1019174400 <= %date <= 1034899200) OR (1050624000 <= %date <= 1066348800) OR (1082073600 <= %date <= 1097798400) OR (1113523200 <= %date <= 1129852800) OR (1145577600 <= %date <= 1161302400) OR (1177027200 <= %date <= 1192752000) OR (1208476800 <= %date <= 1224201600) OR (1239926400 <= %date <= 1255651200) OR (1271376000 <= %date <= 1287100800)';
    case 8:
      return '(6825600 <= %date <= 22896000) OR (38361600 <= %date <= 54432000) OR (69984000 <= %date <= 86054400) OR (101520000 <= %date <= 117590400) OR (133056000 <= %date <= 149126400) OR (164592000 <= %date <= 180662400) OR (196214400 <= %date <= 212284800) OR (227750400 <= %date <= 243820800) OR (259286400 <= %date <= 275356800) OR (290822400 <= %date <= 306892800) OR (322444800 <= %date <= 338515200) OR (353980800 <= %date <= 370051200) OR (385516800 <= %date <= 401587200) OR (417052800 <= %date <= 433123200) OR (448675200 <= %date <= 464745600) OR (480211200 <= %date <= 496281600) OR (511747200 <= %date <= 527817600) OR (543283200 <= %date <= 559353600) OR (574905600 <= %date <= 590976000) OR (606441600 <= %date <= 622512000) OR (637977600 <= %date <= 654048000) OR (669513600 <= %date <= 685584000) OR (701136000 <= %date <= 717206400) OR (732672000 <= %date <= 748742400) OR (764208000 <= %date <= 780278400) OR (795744000 <= %date <= 811814400) OR (827366400 <= %date <= 843436800) OR (858902400 <= %date <= 874972800) OR (890438400 <= %date <= 906508800) OR (921974400 <= %date <= 938044800) OR (953596800 <= %date <= 969667200) OR (985132800 <= %date <= 1001203200) OR (1016668800 <= %date <= 1032739200) OR (1048204800 <= %date <= 1064275200) OR (1079827200 <= %date <= 1095897600) OR (1111363200 <= %date <= 1127433600) OR (1142899200 <= %date <= 1158969600) OR (1174435200 <= %date <= 1190505600) OR (1206057600 <= %date <= 1222128000) OR (1237593600 <= %date <= 1253664000) OR (1269129600 <= %date <= 1285200000)';
    case 9:
      return '(25660800 <= %date <= 7516800) OR (57715200 <= %date <= 38966400) OR (89164800 <= %date <= 70416000) OR (120614400 <= %date <= 101865600) OR (152064000 <= %date <= 133920000) OR (183513600 <= %date <= 165369600) OR (215568000 <= %date <= 196819200) OR (247017600 <= %date <= 228268800) OR (278467200 <= %date <= 259718400) OR (309916800 <= %date <= 291168000) OR (341366400 <= %date <= 323222400) OR (372816000 <= %date <= 354672000) OR (404870400 <= %date <= 386121600) OR (436320000 <= %date <= 417571200) OR (467769600 <= %date <= 449020800) OR (499219200 <= %date <= 481075200) OR (530668800 <= %date <= 512524800) OR (562118400 <= %date <= 543974400) OR (594172800 <= %date <= 575424000) OR (625622400 <= %date <= 606873600) OR (657072000 <= %date <= 638323200) OR (688521600 <= %date <= 670377600) OR (719971200 <= %date <= 701827200) OR (752025600 <= %date <= 733276800) OR (783475200 <= %date <= 764726400) OR (814924800 <= %date <= 796176000) OR (846374400 <= %date <= 828230400) OR (877824000 <= %date <= 859680000) OR (909273600 <= %date <= 891129600) OR (941328000 <= %date <= 922579200) OR (972777600 <= %date <= 954028800) OR (1004227200 <= %date <= 985478400) OR (1035676800 <= %date <= 1017532800) OR (1067126400 <= %date <= 1048982400) OR (1099180800 <= %date <= 1080432000) OR (1130630400 <= %date <= 1111881600) OR (1162080000 <= %date <= 1143331200) OR (1193529600 <= %date <= 1174780800) OR (1224979200 <= %date <= 1206835200) OR (1256428800 <= %date <= 1238284800) OR (1288483200 <= %date <= 1269734400)';
    case 10:
      return '(24451200 <= %date <= 7516800) OR (55900800 <= %date <= 38966400) OR (87350400 <= %date <= 70416000) OR (119404800 <= %date <= 101865600) OR (150854400 <= %date <= 133920000) OR (182304000 <= %date <= 165369600) OR (213753600 <= %date <= 196819200) OR (245203200 <= %date <= 228268800) OR (276652800 <= %date <= 259718400) OR (308707200 <= %date <= 291168000) OR (340156800 <= %date <= 323222400) OR (371606400 <= %date <= 354672000) OR (403056000 <= %date <= 386121600) OR (434505600 <= %date <= 417571200) OR (466560000 <= %date <= 449020800) OR (498009600 <= %date <= 481075200) OR (529459200 <= %date <= 512524800) OR (560908800 <= %date <= 543974400) OR (592358400 <= %date <= 575424000) OR (623808000 <= %date <= 606873600) OR (655862400 <= %date <= 638323200) OR (687312000 <= %date <= 670377600) OR (718761600 <= %date <= 701827200) OR (750211200 <= %date <= 733276800) OR (781660800 <= %date <= 764726400) OR (813110400 <= %date <= 796176000) OR (845164800 <= %date <= 828230400) OR (876614400 <= %date <= 859680000) OR (908064000 <= %date <= 891129600) OR (939513600 <= %date <= 922579200) OR (970963200 <= %date <= 954028800) OR (1003017600 <= %date <= 985478400) OR (1034467200 <= %date <= 1017532800) OR (1065916800 <= %date <= 1048982400) OR (1097366400 <= %date <= 1080432000) OR (1128816000 <= %date <= 1111881600) OR (1160265600 <= %date <= 1143331200) OR (1192320000 <= %date <= 1174780800) OR (1223769600 <= %date <= 1206835200) OR (1255219200 <= %date <= 1238284800) OR (1286668800 <= %date <= 1269734400)';
    case 11:
      return '(24451200 <= %date <= 6912000) OR (55900800 <= %date <= 38966400) OR (87350400 <= %date <= 70416000) OR (119404800 <= %date <= 101865600) OR (150854400 <= %date <= 133315200) OR (182304000 <= %date <= 164764800) OR (213753600 <= %date <= 196819200) OR (245203200 <= %date <= 228268800) OR (276652800 <= %date <= 259718400) OR (308707200 <= %date <= 291168000) OR (340156800 <= %date <= 322617600) OR (371606400 <= %date <= 354067200) OR (403056000 <= %date <= 386121600) OR (434505600 <= %date <= 417571200) OR (466560000 <= %date <= 449020800) OR (498009600 <= %date <= 480470400) OR (529459200 <= %date <= 511920000) OR (560908800 <= %date <= 543369600) OR (592358400 <= %date <= 575424000) OR (623808000 <= %date <= 606873600) OR (655862400 <= %date <= 638323200) OR (687312000 <= %date <= 669772800) OR (718761600 <= %date <= 701222400) OR (750211200 <= %date <= 733276800) OR (781660800 <= %date <= 764726400) OR (813110400 <= %date <= 796176000) OR (845164800 <= %date <= 827625600) OR (876614400 <= %date <= 859075200) OR (908064000 <= %date <= 890524800) OR (939513600 <= %date <= 922579200) OR (970963200 <= %date <= 954028800) OR (1003017600 <= %date <= 985478400) OR (1034467200 <= %date <= 1016928000) OR (1065916800 <= %date <= 1048377600) OR (1097366400 <= %date <= 1080432000) OR (1128816000 <= %date <= 1111881600) OR (1160265600 <= %date <= 1143331200) OR (1192320000 <= %date <= 1174780800) OR (1223769600 <= %date <= 1206230400) OR (1255219200 <= %date <= 1237680000) OR (1286668800 <= %date <= 1269734400)';
    case 12:
      return '(26870400 <= %date <= 2073600) OR (58924800 <= %date <= 34128000) OR (90374400 <= %date <= 65577600) OR (121824000 <= %date <= 97027200) OR (153273600 <= %date <= 128476800) OR (184723200 <= %date <= 159926400) OR (216777600 <= %date <= 191376000) OR (248227200 <= %date <= 223430400) OR (279676800 <= %date <= 254880000) OR (311126400 <= %date <= 286329600) OR (342576000 <= %date <= 317779200) OR (374025600 <= %date <= 349228800) OR (406080000 <= %date <= 381283200) OR (437529600 <= %date <= 412732800) OR (468979200 <= %date <= 444182400) OR (500428800 <= %date <= 475632000) OR (531878400 <= %date <= 507081600) OR (563328000 <= %date <= 538531200) OR (595382400 <= %date <= 570585600) OR (626832000 <= %date <= 602035200) OR (658281600 <= %date <= 633484800) OR (689731200 <= %date <= 664934400) OR (721180800 <= %date <= 696384000) OR (753235200 <= %date <= 728438400) OR (784684800 <= %date <= 759888000) OR (816134400 <= %date <= 791337600) OR (847584000 <= %date <= 822787200) OR (879033600 <= %date <= 854236800) OR (910483200 <= %date <= 885686400) OR (942537600 <= %date <= 917740800) OR (973987200 <= %date <= 949190400) OR (1005436800 <= %date <= 980640000) OR (1036886400 <= %date <= 1012089600) OR (1068336000 <= %date <= 1043539200) OR (1100390400 <= %date <= 1074988800) OR (1131840000 <= %date <= 1107043200) OR (1163289600 <= %date <= 1138492800) OR (1194739200 <= %date <= 1169942400) OR (1226188800 <= %date <= 1201392000) OR (1257638400 <= %date <= 1232841600) OR (1289692800 <= %date <= 1264896000)';
    case 13:
      return '(7520400 <= %date <= 25664400) OR (38970000 <= %date <= 57718800) OR (70419600 <= %date <= 89168400) OR (101869200 <= %date <= 120618000) OR (133923600 <= %date <= 152067600) OR (165373200 <= %date <= 183517200) OR (196822800 <= %date <= 215571600) OR (228272400 <= %date <= 247021200) OR (259722000 <= %date <= 278470800) OR (291171600 <= %date <= 309920400) OR (323226000 <= %date <= 341370000) OR (354675600 <= %date <= 372819600) OR (386125200 <= %date <= 404874000) OR (417574800 <= %date <= 436323600) OR (449024400 <= %date <= 467773200) OR (481078800 <= %date <= 499222800) OR (512528400 <= %date <= 530672400) OR (543978000 <= %date <= 562122000) OR (575427600 <= %date <= 594176400) OR (606877200 <= %date <= 625626000) OR (638326800 <= %date <= 657075600) OR (670381200 <= %date <= 688525200) OR (701830800 <= %date <= 719974800) OR (733280400 <= %date <= 752029200) OR (764730000 <= %date <= 783478800) OR (796179600 <= %date <= 814928400) OR (828234000 <= %date <= 846378000) OR (859683600 <= %date <= 877827600) OR (891133200 <= %date <= 909277200) OR (922582800 <= %date <= 941331600) OR (954032400 <= %date <= 972781200) OR (985482000 <= %date <= 1004230800) OR (1017536400 <= %date <= 1035680400) OR (1048986000 <= %date <= 1067130000) OR (1080435600 <= %date <= 1099184400) OR (1111885200 <= %date <= 1130634000) OR (1143334800 <= %date <= 1162083600) OR (1174784400 <= %date <= 1193533200) OR (1206838800 <= %date <= 1224982800) OR (1238288400 <= %date <= 1256432400) OR (1269738000 <= %date <= 1288486800)';
    case 14:
      return '(7524000 <= %date <= 25668000) OR (38973600 <= %date <= 57722400) OR (70423200 <= %date <= 89172000) OR (101872800 <= %date <= 120621600) OR (133927200 <= %date <= 152071200) OR (165376800 <= %date <= 183520800) OR (196826400 <= %date <= 215575200) OR (228276000 <= %date <= 247024800) OR (259725600 <= %date <= 278474400) OR (291175200 <= %date <= 309924000) OR (323229600 <= %date <= 341373600) OR (354679200 <= %date <= 372823200) OR (386128800 <= %date <= 404877600) OR (417578400 <= %date <= 436327200) OR (449028000 <= %date <= 467776800) OR (481082400 <= %date <= 499226400) OR (512532000 <= %date <= 530676000) OR (543981600 <= %date <= 562125600) OR (575431200 <= %date <= 594180000) OR (606880800 <= %date <= 625629600) OR (638330400 <= %date <= 657079200) OR (670384800 <= %date <= 688528800) OR (701834400 <= %date <= 719978400) OR (733284000 <= %date <= 752032800) OR (764733600 <= %date <= 783482400) OR (796183200 <= %date <= 814932000) OR (828237600 <= %date <= 846381600) OR (859687200 <= %date <= 877831200) OR (891136800 <= %date <= 909280800) OR (922586400 <= %date <= 941335200) OR (954036000 <= %date <= 972784800) OR (985485600 <= %date <= 1004234400) OR (1017540000 <= %date <= 1035684000) OR (1048989600 <= %date <= 1067133600) OR (1080439200 <= %date <= 1099188000) OR (1111888800 <= %date <= 1130637600) OR (1143338400 <= %date <= 1162087200) OR (1174788000 <= %date <= 1193536800) OR (1206842400 <= %date <= 1224986400) OR (1238292000 <= %date <= 1256436000) OR (1269741600 <= %date <= 1288490400)';
    case 15:
      return '(8128800 <= %date <= 25668000) OR (39578400 <= %date <= 57722400) OR (71028000 <= %date <= 89172000) OR (102477600 <= %date <= 120621600) OR (134532000 <= %date <= 152071200) OR (165981600 <= %date <= 183520800) OR (197431200 <= %date <= 215575200) OR (228880800 <= %date <= 247024800) OR (260330400 <= %date <= 278474400) OR (291780000 <= %date <= 309924000) OR (323834400 <= %date <= 341373600) OR (355284000 <= %date <= 372823200) OR (386733600 <= %date <= 404877600) OR (418183200 <= %date <= 436327200) OR (449632800 <= %date <= 467776800) OR (481687200 <= %date <= 499226400) OR (513136800 <= %date <= 530676000) OR (544586400 <= %date <= 562125600) OR (576036000 <= %date <= 594180000) OR (607485600 <= %date <= 625629600) OR (638935200 <= %date <= 657079200) OR (670989600 <= %date <= 688528800) OR (702439200 <= %date <= 719978400) OR (733888800 <= %date <= 752032800) OR (765338400 <= %date <= 783482400) OR (796788000 <= %date <= 814932000) OR (828842400 <= %date <= 846381600) OR (860292000 <= %date <= 877831200) OR (891741600 <= %date <= 909280800) OR (923191200 <= %date <= 941335200) OR (954640800 <= %date <= 972784800) OR (986090400 <= %date <= 1004234400) OR (1018144800 <= %date <= 1035684000) OR (1049594400 <= %date <= 1067133600) OR (1081044000 <= %date <= 1099188000) OR (1112493600 <= %date <= 1130637600) OR (1143943200 <= %date <= 1162087200) OR (1173578400 <= %date <= 1193536800) OR (1205028000 <= %date <= 1224986400) OR (1236477600 <= %date <= 1256436000) OR (1268532000 <= %date <= 1288490400)';
    case 16:
      return '(7776000 <= %date <= 25660800) OR (39312000 <= %date <= 57715200) OR (70934400 <= %date <= 89164800) OR (102470400 <= %date <= 120614400) OR (134006400 <= %date <= 152064000) OR (165542400 <= %date <= 183513600) OR (197164800 <= %date <= 215568000) OR (228700800 <= %date <= 247017600) OR (260236800 <= %date <= 278467200) OR (291772800 <= %date <= 309916800) OR (323395200 <= %date <= 341366400) OR (354931200 <= %date <= 372816000) OR (386467200 <= %date <= 404870400) OR (418003200 <= %date <= 436320000) OR (449625600 <= %date <= 467769600) OR (481161600 <= %date <= 499219200) OR (512697600 <= %date <= 530668800) OR (544233600 <= %date <= 562118400) OR (575856000 <= %date <= 594172800) OR (607392000 <= %date <= 625622400) OR (638928000 <= %date <= 657072000) OR (670464000 <= %date <= 688521600) OR (702086400 <= %date <= 719971200) OR (733622400 <= %date <= 752025600) OR (765158400 <= %date <= 783475200) OR (796694400 <= %date <= 814924800) OR (828316800 <= %date <= 846374400) OR (859852800 <= %date <= 877824000) OR (891388800 <= %date <= 909273600) OR (922924800 <= %date <= 941328000) OR (954547200 <= %date <= 972777600) OR (986083200 <= %date <= 1004227200) OR (1017619200 <= %date <= 1035676800) OR (1049155200 <= %date <= 1067126400) OR (1080777600 <= %date <= 1099180800) OR (1112313600 <= %date <= 1130630400) OR (1143849600 <= %date <= 1162080000) OR (1175385600 <= %date <= 1193529600) OR (1207008000 <= %date <= 1224979200) OR (1238544000 <= %date <= 1256428800) OR (1270080000 <= %date <= 1288483200)';
    case 17:
      return '(26870400 <= %date <= 4492800) OR (58924800 <= %date <= 36547200) OR (90374400 <= %date <= 67996800) OR (121824000 <= %date <= 99446400) OR (153273600 <= %date <= 130896000) OR (184723200 <= %date <= 162345600) OR (216777600 <= %date <= 193795200) OR (248227200 <= %date <= 225849600) OR (279676800 <= %date <= 257299200) OR (311126400 <= %date <= 288748800) OR (342576000 <= %date <= 320198400) OR (374025600 <= %date <= 351648000) OR (406080000 <= %date <= 383702400) OR (437529600 <= %date <= 415152000) OR (468979200 <= %date <= 446601600) OR (500428800 <= %date <= 478051200) OR (531878400 <= %date <= 509500800) OR (563328000 <= %date <= 540950400) OR (595382400 <= %date <= 573004800) OR (626832000 <= %date <= 604454400) OR (658281600 <= %date <= 635904000) OR (689731200 <= %date <= 667353600) OR (721180800 <= %date <= 698803200) OR (753235200 <= %date <= 730857600) OR (784684800 <= %date <= 762307200) OR (816134400 <= %date <= 793756800) OR (847584000 <= %date <= 825206400) OR (879033600 <= %date <= 856656000) OR (910483200 <= %date <= 888105600) OR (942537600 <= %date <= 920160000) OR (973987200 <= %date <= 951609600) OR (1005436800 <= %date <= 983059200) OR (1036886400 <= %date <= 1014508800) OR (1068336000 <= %date <= 1045958400) OR (1100390400 <= %date <= 1077408000) OR (1131840000 <= %date <= 1109462400) OR (1163289600 <= %date <= 1140912000) OR (1194739200 <= %date <= 1172361600) OR (1226188800 <= %date <= 1203811200) OR (1257638400 <= %date <= 1235260800) OR (1289692800 <= %date <= 1267315200)';
    case 18:
      return '(24969600 <= %date <= 6307200) OR (56419200 <= %date <= 38361600) OR (88473600 <= %date <= 69811200) OR (119923200 <= %date <= 101260800) OR (151372800 <= %date <= 132710400) OR (182822400 <= %date <= 164160000) OR (214272000 <= %date <= 196214400) OR (245721600 <= %date <= 227664000) OR (277776000 <= %date <= 259113600) OR (309225600 <= %date <= 290563200) OR (340675200 <= %date <= 322012800) OR (372124800 <= %date <= 353462400) OR (403574400 <= %date <= 385516800) OR (435024000 <= %date <= 416966400) OR (467078400 <= %date <= 448416000) OR (498528000 <= %date <= 479865600) OR (529977600 <= %date <= 511315200) OR (561427200 <= %date <= 542764800) OR (592876800 <= %date <= 574819200) OR (624931200 <= %date <= 606268800) OR (656380800 <= %date <= 637718400) OR (687830400 <= %date <= 669168000) OR (719280000 <= %date <= 700617600) OR (750729600 <= %date <= 732672000) OR (782179200 <= %date <= 764121600) OR (814233600 <= %date <= 795571200) OR (845683200 <= %date <= 827020800) OR (877132800 <= %date <= 858470400) OR (908582400 <= %date <= 889920000) OR (940032000 <= %date <= 921974400) OR (972086400 <= %date <= 953424000) OR (1003536000 <= %date <= 984873600) OR (1034985600 <= %date <= 1016323200) OR (1066435200 <= %date <= 1047772800) OR (1097884800 <= %date <= 1079827200) OR (1129334400 <= %date <= 1111276800) OR (1161388800 <= %date <= 1142726400) OR (1192838400 <= %date <= 1174176000) OR (1224288000 <= %date <= 1205625600) OR (1255737600 <= %date <= 1237075200) OR (1287187200 <= %date <= 1269129600)';
    case 19:
      return '(22032000 <= %date <= 8726400) OR (53481600 <= %date <= 40176000) OR (84931200 <= %date <= 71625600) OR (116380800 <= %date <= 103075200) OR (147830400 <= %date <= 134524800) OR (179884800 <= %date <= 165974400) OR (211334400 <= %date <= 198028800) OR (242784000 <= %date <= 229478400) OR (274233600 <= %date <= 260928000) OR (305683200 <= %date <= 292377600) OR (337737600 <= %date <= 323827200) OR (369187200 <= %date <= 355881600) OR (400636800 <= %date <= 387331200) OR (432086400 <= %date <= 418780800) OR (463536000 <= %date <= 450230400) OR (494985600 <= %date <= 481680000) OR (527040000 <= %date <= 513129600) OR (558489600 <= %date <= 545184000) OR (589939200 <= %date <= 576633600) OR (621388800 <= %date <= 608083200) OR (652838400 <= %date <= 639532800) OR (684288000 <= %date <= 670982400) OR (716342400 <= %date <= 703036800) OR (747792000 <= %date <= 734486400) OR (779241600 <= %date <= 765936000) OR (810691200 <= %date <= 797385600) OR (842140800 <= %date <= 828835200) OR (874195200 <= %date <= 860284800) OR (905644800 <= %date <= 892339200) OR (937094400 <= %date <= 923788800) OR (968544000 <= %date <= 955238400) OR (999993600 <= %date <= 986688000) OR (1031443200 <= %date <= 1018137600) OR (1063497600 <= %date <= 1049587200) OR (1094947200 <= %date <= 1081641600) OR (1126396800 <= %date <= 1113091200) OR (1157846400 <= %date <= 1144540800) OR (1189296000 <= %date <= 1175990400) OR (1221350400 <= %date <= 1207440000) OR (1252800000 <= %date <= 1239494400) OR (1284249600 <= %date <= 1270944000)';
    case 20:
      return '(22032000 <= %date <= 8726400) OR (53481600 <= %date <= 40176000) OR (84931200 <= %date <= 71625600) OR (116380800 <= %date <= 103075200) OR (147830400 <= %date <= 135129600) OR (179884800 <= %date <= 166579200) OR (211334400 <= %date <= 198028800) OR (242784000 <= %date <= 229478400) OR (274233600 <= %date <= 260928000) OR (305683200 <= %date <= 292377600) OR (337737600 <= %date <= 324432000) OR (369187200 <= %date <= 355881600) OR (400636800 <= %date <= 387331200) OR (432086400 <= %date <= 418780800) OR (463536000 <= %date <= 450230400) OR (494985600 <= %date <= 482284800) OR (527040000 <= %date <= 513734400) OR (558489600 <= %date <= 545184000) OR (589939200 <= %date <= 576633600) OR (621388800 <= %date <= 608083200) OR (652838400 <= %date <= 639532800) OR (684288000 <= %date <= 671587200) OR (716342400 <= %date <= 703036800) OR (747792000 <= %date <= 734486400) OR (779241600 <= %date <= 765936000) OR (810691200 <= %date <= 797385600) OR (842140800 <= %date <= 829440000) OR (874195200 <= %date <= 860889600) OR (905644800 <= %date <= 892339200) OR (937094400 <= %date <= 923788800) OR (968544000 <= %date <= 955238400) OR (999993600 <= %date <= 986688000) OR (1031443200 <= %date <= 1018742400) OR (1063497600 <= %date <= 1050192000) OR (1094947200 <= %date <= 1081641600) OR (1126396800 <= %date <= 1113091200) OR (1157846400 <= %date <= 1144540800) OR (1189296000 <= %date <= 1175990400) OR (1221350400 <= %date <= 1208044800) OR (1252800000 <= %date <= 1239494400) OR (1284249600 <= %date <= 1270944000)';
  }
}

/**
 * These strings exist only for the extractor to pick them up and make
 * available for translation.
 * 
t('Africa/Algiers') 
t('Africa/Asmera') 
t('Africa/Bangui') 
t('Africa/Blantyre') 
t('Africa/Brazzaville') 
t('Africa/Bujumbura') 
t('Africa/Cairo') 
t('Africa/Ceuta') 
t('Africa/Dar es Salaam') 
t('Africa/Djibouti') 
t('Africa/Douala') 
t('Africa/Gaborone') 
t('Africa/Harare') 
t('Africa/Johannesburg') 
t('Africa/Kampala') 
t('Africa/Khartoum') 
t('Africa/Kigali') 
t('Africa/Kinshasa') 
t('Africa/Lagos') 
t('Africa/Libreville') 
t('Africa/Luanda') 
t('Africa/Lubumbashi') 
t('Africa/Lusaka') 
t('Africa/Malabo') 
t('Africa/Maputo') 
t('Africa/Maseru') 
t('Africa/Mbabane') 
t('Africa/Mogadishu') 
t('Africa/Nairobi') 
t('Africa/Ndjamena') 
t('Africa/Niamey') 
t('Africa/Porto-Novo') 
t('Africa/Tripoli') 
t('Africa/Tunis') 
t('Africa/Windhoek') 
t('America/Adak') 
t('America/Anchorage') 
t('America/Anguilla') 
t('America/Antigua') 
t('America/Araguaina') 
t('America/Aruba') 
t('America/Asuncion') 
t('America/Atka') 
t('America/Barbados') 
t('America/Belem') 
t('America/Belize') 
t('America/Boa Vista') 
t('America/Bogota') 
t('America/Boise') 
t('America/Buenos Aires') 
t('America/Cambridge Bay') 
t('America/Cancun') 
t('America/Caracas') 
t('America/Catamarca') 
t('America/Cayenne') 
t('America/Cayman') 
t('America/Chicago') 
t('America/Chihuahua') 
t('America/Cordoba') 
t('America/Costa Rica') 
t('America/Cuiaba') 
t('America/Curacao') 
t('America/Dawson') 
t('America/Dawson Creek') 
t('America/Denver') 
t('America/Detroit') 
t('America/Dominica') 
t('America/Edmonton') 
t('America/Eirunepe') 
t('America/El Salvador') 
t('America/Ensenada') 
t('America/Fort Wayne') 
t('America/Fortaleza') 
t('America/Glace Bay') 
t('America/Godthab') 
t('America/Goose Bay') 
t('America/Grand Turk') 
t('America/Grenada') 
t('America/Guadeloupe') 
t('America/Guatemala') 
t('America/Guayaquil') 
t('America/Guyana') 
t('America/Halifax') 
t('America/Havana') 
t('America/Hermosillo') 
t('America/Indiana/Indianapolis') 
t('America/Indiana/Knox') 
t('America/Indiana/Marengo') 
t('America/Indiana/Vevay') 
t('America/Indianapolis') 
t('America/Inuvik') 
t('America/Iqaluit') 
t('America/Jamaica') 
t('America/Jujuy') 
t('America/Juneau') 
t('America/Kentucky/Louisville') 
t('America/Kentucky/Monticello') 
t('America/Knox IN') 
t('America/La Paz') 
t('America/Lima') 
t('America/Los Angeles') 
t('America/Louisville') 
t('America/Maceio') 
t('America/Managua') 
t('America/Manaus') 
t('America/Martinique') 
t('America/Mazatlan') 
t('America/Mendoza') 
t('America/Menominee') 
t('America/Merida') 
t('America/Mexico City') 
t('America/Miquelon') 
t('America/Monterrey') 
t('America/Montevideo') 
t('America/Montreal') 
t('America/Montserrat') 
t('America/Nassau') 
t('America/New York') 
t('America/Nipigon') 
t('America/Nome') 
t('America/Noronha') 
t('America/Panama') 
t('America/Pangnirtung') 
t('America/Paramaribo') 
t('America/Phoenix') 
t('America/Port-au-Prince') 
t('America/Port of Spain') 
t('America/Porto Acre') 
t('America/Porto Velho') 
t('America/Puerto Rico') 
t('America/Rainy River') 
t('America/Rankin Inlet') 
t('America/Recife') 
t('America/Regina') 
t('America/Rio Branco') 
t('America/Rosario') 
t('America/Santiago') 
t('America/Santo Domingo') 
t('America/Sao Paulo') 
t('America/Scoresbysund') 
t('America/Shiprock') 
t('America/St Johns') 
t('America/St Kitts') 
t('America/St Lucia') 
t('America/St Thomas') 
t('America/St Vincent') 
t('America/Swift Current') 
t('America/Tegucigalpa') 
t('America/Thule') 
t('America/Thunder Bay') 
t('America/Tijuana') 
t('America/Tortola') 
t('America/Vancouver') 
t('America/Virgin') 
t('America/Whitehorse') 
t('America/Winnipeg') 
t('America/Yakutat') 
t('America/Yellowknife') 
t('Antarctica/Casey') 
t('Antarctica/Davis') 
t('Antarctica/DumontDUrville') 
t('Antarctica/Mawson') 
t('Antarctica/McMurdo') 
t('Antarctica/Palmer') 
t('Antarctica/South Pole') 
t('Antarctica/Syowa') 
t('Antarctica/Vostok') 
t('Arctic/Longyearbyen') 
t('Asia/Aden') 
t('Asia/Almaty') 
t('Asia/Amman') 
t('Asia/Anadyr') 
t('Asia/Aqtau') 
t('Asia/Aqtobe') 
t('Asia/Ashgabat') 
t('Asia/Ashkhabad') 
t('Asia/Baghdad') 
t('Asia/Bahrain') 
t('Asia/Baku') 
t('Asia/Bangkok') 
t('Asia/Beirut') 
t('Asia/Bishkek') 
t('Asia/Brunei') 
t('Asia/Calcutta') 
t('Asia/Chungking') 
t('Asia/Colombo') 
t('Asia/Dacca') 
t('Asia/Damascus') 
t('Asia/Dhaka') 
t('Asia/Dili') 
t('Asia/Dubai') 
t('Asia/Dushanbe') 
t('Asia/Gaza') 
t('Asia/Harbin') 
t('Asia/Hong Kong') 
t('Asia/Hovd') 
t('Asia/Irkutsk') 
t('Asia/Istanbul') 
t('Asia/Jakarta') 
t('Asia/Jayapura') 
t('Asia/Jerusalem') 
t('Asia/Kabul') 
t('Asia/Kamchatka') 
t('Asia/Karachi') 
t('Asia/Kashgar') 
t('Asia/Katmandu') 
t('Asia/Krasnoyarsk') 
t('Asia/Kuala Lumpur') 
t('Asia/Kuching') 
t('Asia/Kuwait') 
t('Asia/Macao') 
t('Asia/Magadan') 
t('Asia/Manila') 
t('Asia/Muscat') 
t('Asia/Nicosia') 
t('Asia/Novosibirsk') 
t('Asia/Omsk') 
t('Asia/Phnom Penh') 
t('Asia/Pyongyang') 
t('Asia/Qatar') 
t('Asia/Rangoon') 
t('Asia/Riyadh') 
t('Asia/Riyadh87') 
t('Asia/Riyadh88') 
t('Asia/Riyadh89') 
t('Asia/Saigon') 
t('Asia/Samarkand') 
t('Asia/Seoul') 
t('Asia/Shanghai') 
t('Asia/Singapore') 
t('Asia/Taipei') 
t('Asia/Tashkent') 
t('Asia/Tbilisi') 
t('Asia/Tehran') 
t('Asia/Tel Aviv') 
t('Asia/Thimbu') 
t('Asia/Thimphu') 
t('Asia/Tokyo') 
t('Asia/Ujung Pandang') 
t('Asia/Ulaanbaatar') 
t('Asia/Ulan Bator') 
t('Asia/Urumqi') 
t('Asia/Vientiane') 
t('Asia/Vladivostok') 
t('Asia/Yakutsk') 
t('Asia/Yekaterinburg') 
t('Asia/Yerevan') 
t('Atlantic/Azores') 
t('Atlantic/Bermuda') 
t('Atlantic/Canary') 
t('Atlantic/Cape Verde') 
t('Atlantic/Faeroe') 
t('Atlantic/Jan Mayen') 
t('Atlantic/Madeira') 
t('Atlantic/South Georgia') 
t('Atlantic/Stanley') 
t('Australia/ACT') 
t('Australia/Adelaide') 
t('Australia/Brisbane') 
t('Australia/Broken Hill') 
t('Australia/Canberra') 
t('Australia/Darwin') 
t('Australia/Hobart') 
t('Australia/LHI') 
t('Australia/Lindeman') 
t('Australia/Lord Howe') 
t('Australia/Melbourne') 
t('Australia/NSW') 
t('Australia/North') 
t('Australia/Perth') 
t('Australia/Queensland') 
t('Australia/South') 
t('Australia/Sydney') 
t('Australia/Tasmania') 
t('Australia/Victoria') 
t('Australia/West') 
t('Australia/Yancowinna') 
t('Brazil/Acre') 
t('Brazil/DeNoronha') 
t('Brazil/East') 
t('Brazil/West') 
t('Canada/Atlantic') 
t('Canada/Central') 
t('Canada/Central-Saskatchewan') 
t('Canada/Eastern') 
t('Canada/Mountain') 
t('Canada/Newfoundland') 
t('Canada/Pacific') 
t('Canada/Saskatchewan') 
t('Canada/Yukon') 
t('Chile/Continental') 
t('Chile/EasterIsland') 
t('Cuba') 
t('EST') 
t('Egypt') 
t('Eire') 
t('Etc/GMT-1') 
t('Etc/GMT-10') 
t('Etc/GMT-11') 
t('Etc/GMT-12') 
t('Etc/GMT-2') 
t('Etc/GMT-3') 
t('Etc/GMT-4') 
t('Etc/GMT-5') 
t('Etc/GMT-6') 
t('Etc/GMT-7') 
t('Etc/GMT-8') 
t('Etc/GMT-9') 
t('Etc/GMT') 
t('Etc/GMT+1') 
t('Etc/GMT+10') 
t('Etc/GMT+11') 
t('Etc/GMT+12') 
t('Etc/GMT+13') 
t('Etc/GMT+14') 
t('Etc/GMT+2') 
t('Etc/GMT+3') 
t('Etc/GMT+4') 
t('Etc/GMT+5') 
t('Etc/GMT+6') 
t('Etc/GMT+7') 
t('Etc/GMT+8') 
t('Etc/GMT+9') 
t('Europe/Amsterdam') 
t('Europe/Andorra') 
t('Europe/Athens') 
t('Europe/Belfast') 
t('Europe/Belgrade') 
t('Europe/Berlin') 
t('Europe/Bratislava') 
t('Europe/Brussels') 
t('Europe/Bucharest') 
t('Europe/Budapest') 
t('Europe/Chisinau') 
t('Europe/Copenhagen') 
t('Europe/Dublin') 
t('Europe/Gibraltar') 
t('Europe/Helsinki') 
t('Europe/Istanbul') 
t('Europe/Kaliningrad') 
t('Europe/Kiev') 
t('Europe/Lisbon') 
t('Europe/Ljubljana') 
t('Europe/London') 
t('Europe/Luxembourg') 
t('Europe/Madrid') 
t('Europe/Malta') 
t('Europe/Minsk') 
t('Europe/Monaco') 
t('Europe/Moscow') 
t('Europe/Nicosia') 
t('Europe/Oslo') 
t('Europe/Paris') 
t('Europe/Prague') 
t('Europe/Riga') 
t('Europe/Rome') 
t('Europe/Samara') 
t('Europe/San Marino') 
t('Europe/Sarajevo') 
t('Europe/Simferopol') 
t('Europe/Skopje') 
t('Europe/Sofia') 
t('Europe/Stockholm') 
t('Europe/Tallinn') 
t('Europe/Tirane') 
t('Europe/Tiraspol') 
t('Europe/Uzhgorod') 
t('Europe/Vaduz') 
t('Europe/Vatican') 
t('Europe/Vienna') 
t('Europe/Vilnius') 
t('Europe/Warsaw') 
t('Europe/Zagreb') 
t('Europe/Zaporozhye') 
t('Europe/Zurich') 
t('GB') 
t('GB-Eire') 
t('Hongkong') 
t('Indian/Antananarivo') 
t('Indian/Chagos') 
t('Indian/Christmas') 
t('Indian/Cocos') 
t('Indian/Comoro') 
t('Indian/Kerguelen') 
t('Indian/Mahe') 
t('Indian/Maldives') 
t('Indian/Mauritius') 
t('Indian/Mayotte') 
t('Indian/Reunion') 
t('Iran') 
t('Israel') 
t('Jamaica') 
t('Japan') 
t('Kwajalein') 
t('Libya') 
t('Mexico/BajaNorte') 
t('Mexico/BajaSur') 
t('Mexico/General') 
t('Mideast/Riyadh87') 
t('Mideast/Riyadh88') 
t('Mideast/Riyadh89') 
t('NZ') 
t('Navajo') 
t('Pacific/Apia') 
t('Pacific/Auckland') 
t('Pacific/Chatham') 
t('Pacific/Easter') 
t('Pacific/Efate') 
t('Pacific/Enderbury') 
t('Pacific/Fakaofo') 
t('Pacific/Fiji') 
t('Pacific/Funafuti') 
t('Pacific/Galapagos') 
t('Pacific/Gambier') 
t('Pacific/Guadalcanal') 
t('Pacific/Guam') 
t('Pacific/Honolulu') 
t('Pacific/Johnston') 
t('Pacific/Kiritimati') 
t('Pacific/Kosrae') 
t('Pacific/Kwajalein') 
t('Pacific/Majuro') 
t('Pacific/Marquesas') 
t('Pacific/Midway') 
t('Pacific/Nauru') 
t('Pacific/Niue') 
t('Pacific/Norfolk') 
t('Pacific/Noumea') 
t('Pacific/Pago Pago') 
t('Pacific/Palau') 
t('Pacific/Pitcairn') 
t('Pacific/Ponape') 
t('Pacific/Port Moresby') 
t('Pacific/Rarotonga') 
t('Pacific/Saipan') 
t('Pacific/Samoa') 
t('Pacific/Tahiti') 
t('Pacific/Tarawa') 
t('Pacific/Tongatapu') 
t('Pacific/Truk') 
t('Pacific/Wake') 
t('Pacific/Wallis') 
t('Pacific/Yap') 
t('Poland') 
t('Portugal') 
t('Singapore') 
t('Turkey') 
t('US/Alaska') 
t('US/Aleutian') 
t('US/Arizona') 
t('US/Central') 
t('US/East-Indiana') 
t('US/Eastern') 
t('US/Hawaii') 
t('US/Indiana-Starke') 
t('US/Michigan') 
t('US/Mountain') 
t('US/Pacific') 
t('US/Samoa') 
t('Pacific/French Polynesia-Marquesas Islands')
*/

Functions

Namesort descending Description
event_install
event_install_timezones Timezones table used only during installation.
event_requirements We need mysql >= 4.1.1
event_uninstall Implementation of hook_uninstall().
event_update_3 Update 4.7 or 5.1 to 5.2
event_update_4 Replace basicevent module if installed
event_update_5 Set DST
event_update_6 Add keys
event_update_7 Add all_day/end_date columns
event_update_8 Update all_day/end_date columns
_event_install_get_dst_dates Returns the dates when TZ switches happen from 1970 to 2010.