// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

/**
 * Date/time formatting symbols for a large subset of locales.
 *
 * DO NOT EDIT. This file is autogenerated from ICU data. See
 * 'http://go/generate_datetime_pattern_dart.cc' (Google internal)
 * File generated from CLDR ver. 25.0
 */

library date_time_patterns;

/**
 * Returns a Map from locale names to another Map that goes from skeletons
 * to the locale-specific formatting patterns.
 * Internal use only. Call initializeDateFormatting instead.
 **/
Map dateTimePatternMap() => const {
  /**
   * Extended set of localized date/time patterns for locale af.
   */
  'af': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale am.
   */
  'am': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE፣ d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE፣ MMM d y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ar.
   */
  'ar': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/‏M', // NUM_MONTH_DAY
    'MEd': 'EEE، d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE، d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE، d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M‏/y', // YEAR_NUM_MONTH
    'yMd': 'd‏/M‏/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE، d/‏M/‏y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM، y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE، d MMM، y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM، y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE، d MMMM، y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale az.
   */
  'az': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd.MM', // NUM_MONTH_DAY
    'MEd': 'dd.MM, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'd MMM, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'd MMMM, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.y', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'dd.MM.y, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'd MMM y, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'd MMMM y, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale bg.
   */
  'bg': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.MM', // NUM_MONTH_DAY
    'MEd': 'EEE, d.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'MM', // ABBR_MONTH
    'MMMd': 'd.MM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d.MM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y \'г\'.', // YEAR
    'yM': 'M.y \'г\'.', // YEAR_NUM_MONTH
    'yMd': 'd.MM.y \'г\'.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.MM.y \'г\'.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MM.y \'г\'.', // YEAR_ABBR_MONTH
    'yMMMd': 'd.MM.y \'г\'.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d.MM.y \'г\'.', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y \'г\'.', // YEAR_MONTH
    'yMMMMd': 'd MMMM y \'г\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y \'г\'.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y \'г\'.', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y \'г\'.', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale bn.
   */
  'bn': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale br.
   */
  'br': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'MM-dd', // NUM_MONTH_DAY
    'MEd': 'MM-dd, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-MM', // YEAR_NUM_MONTH
    'yMd': 'y-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y-MM-dd, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y MMMM d', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y MMMM d, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ca.
   */
  'ca': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale chr.
   */
  'chr': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale cs.
   */
  'cs': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd. M.', // NUM_MONTH_DAY
    'MEd': 'EEE d. M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. M.', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. M.', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd. M. y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d. M. y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. M. y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. M. y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale cy.
   */
  'cy': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale da.
   */
  'da': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'MMM', // ABBR_STANDALONE_MONTH
    'LLLL': 'MMMM', // STANDALONE_MONTH
    'M': 'M', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'MMM', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'MMMM', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE \'den\' d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale de.
   */
  'de': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH \'Uhr\'', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH \'Uhr\'', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH \'Uhr\' z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale de_AT.
   */
  'de_AT': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH \'Uhr\'', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH \'Uhr\'', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH \'Uhr\' z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale de_CH.
   */
  'de_CH': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH \'Uhr\'', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH \'Uhr\'', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH \'Uhr\' z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale el.
   */
  'el': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en.
   */
  'en': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_AU.
   */
  'en_AU': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'LL', // NUM_MONTH
    'Md': 'dd/MM', // NUM_MONTH_DAY
    'MEd': 'EEE dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_GB.
   */
  'en_GB': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'LL', // NUM_MONTH
    'Md': 'dd/MM', // NUM_MONTH_DAY
    'MEd': 'EEE dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/y', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd/MM/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_IE.
   */
  'en_IE': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'LL', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_IN.
   */
  'en_IN': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'LL', // NUM_MONTH
    'Md': 'dd/MM', // NUM_MONTH_DAY
    'MEd': 'EEE dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_SG.
   */
  'en_SG': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'LL', // NUM_MONTH
    'Md': 'dd/MM', // NUM_MONTH_DAY
    'MEd': 'EEE dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/y', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd/MM/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_US.
   */
  'en_US': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_ZA.
   */
  'en_ZA': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'MM/dd', // NUM_MONTH_DAY
    'MEd': 'EEE MM/dd', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'dd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE dd MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'dd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE dd MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'y/MM/dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y/MM/dd', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'dd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, dd MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale es.
   */
  'es': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd \'de\' MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d \'de\' MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM \'de\' y', // YEAR_ABBR_MONTH
    'yMMMd': 'd \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d \'de\' MMMM \'de\' y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ \'de\' y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale es_419.
   */
  'es_419': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd \'de\' MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d \'de\' MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM \'de\' y', // YEAR_ABBR_MONTH
    'yMMMd': 'd \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d \'de\' MMMM \'de\' y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ \'de\' y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale es_ES.
   */
  'es_ES': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd \'de\' MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d \'de\' MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM \'de\' y', // YEAR_ABBR_MONTH
    'yMMMd': 'd \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d \'de\' MMMM \'de\' y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ \'de\' y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale et.
   */
  'et': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'MMMM', // ABBR_STANDALONE_MONTH
    'LLLL': 'MMMM', // STANDALONE_MONTH
    'M': 'M', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'MMMM', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'MMMM', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'H:mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'H:mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale eu.
   */
  'eu': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'M/d, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y/M/d, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y(\'e\')\'ko\' MMMM', // YEAR_MONTH
    'yMMMMd': 'y(\'e\')\'ko\' MMMM d', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y(\'e\')\'ko\' MMMM d, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y(\'e\')\'ko\' QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y(\'e\')\'ko\' QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm (v)', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm (z)', // HOUR_MINUTETZ
    'jz': 'HH (z)', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fa.
   */
  'fa': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd LLL', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d LLL', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd LLLL', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d LLLL', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE y/M/d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm (v)', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm (z)', // HOUR_MINUTETZ
    'jz': 'H (z)', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fi.
   */
  'fi': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'ccc d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'cccc d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'L.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H.mm', // HOUR24_MINUTE
    'Hms': 'H.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H.mm', // HOUR_MINUTE
    'jms': 'H.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'H.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H.mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fil.
   */
  'fil': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fr.
   */
  'fr': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH \'h\'', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH \'h\'', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH \'h\' z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fr_CA.
   */
  'fr_CA': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-MM', // YEAR_NUM_MONTH
    'yMd': 'y-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE y-MM-dd', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH \'h\'', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH \'h\'', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH \'h\' z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale gl.
   */
  'gl': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale gsw.
   */
  'gsw': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-M', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale gu.
   */
  'gu': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale haw.
   */
  'haw': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale he.
   */
  'he': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd בMMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d בMMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd בMMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d בMMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd בMMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d בMMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd בMMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d בMMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale hi.
   */
  'hi': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale hr.
   */
  'hr': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L.', // NUM_MONTH
    'Md': 'd. M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d. M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y.', // YEAR
    'yM': 'M. y.', // YEAR_NUM_MONTH
    'yMd': 'd. M. y.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d. M. y.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y.', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y.', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y.', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y.', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y.', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale hu.
   */
  'hu': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M. d.', // NUM_MONTH_DAY
    'MEd': 'M. d., EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d.', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d., EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d.', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d., EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y.', // YEAR
    'yM': 'y. M.', // YEAR_NUM_MONTH
    'yMd': 'y. MM. dd.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y. MM. dd., EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y. MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y. MMM d.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y. MMM d., EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y. MMMM', // YEAR_MONTH
    'yMMMMd': 'y. MMMM d.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y. MMMM d., EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y. QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y. QQQQ', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale hy.
   */
  'hy': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd.MM', // NUM_MONTH_DAY
    'MEd': 'dd.MM, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'd MMM, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'd MMMM, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.y', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'd.MM.yթ., EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'yթ. LLL', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, yթ.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'yթ. MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'yթ. LLLL', // YEAR_MONTH
    'yMMMMd': 'd MMMM, yթ.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'yթ. MMMM d, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y թ, QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y թ, QQQQ', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm, v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm, z', // HOUR_MINUTETZ
    'jz': 'H, z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale id.
   */
  'id': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale in.
   */
  'in': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale is.
   */
  'is': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M. y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale it.
   */
  'it': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale iw.
   */
  'iw': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd בMMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d בMMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd בMMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d בMMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd בMMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d בMMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd בMMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d בMMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ja.
   */
  'ja': const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'M月', // ABBR_STANDALONE_MONTH
    'LLLL': 'M月', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'M/d(EEE)', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'M月', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日(EEE)', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'M月', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y/M/d(EEE)', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日(EEE)', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y/QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'yQQQQ', // YEAR_QUARTER
    'H': 'H時', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H時', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H時 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ka.
   */
  'ka': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM, y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM, y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ, y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ, y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale kk.
   */
  'kk': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd-MM', // NUM_MONTH_DAY
    'MEd': 'EEE, dd-MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM-y', // YEAR_NUM_MONTH
    'yMd': 'dd-MM-y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd-MM-y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y \'ж\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y \'ж\'.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale km.
   */
  'km': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE d MMM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd-M-y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d-M-y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale kn.
   */
  'kn': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'd/M, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd, MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'd MMM, y EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'd MMMM y, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ko.
   */
  'ko': const {
    'd': 'd일', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M월', // NUM_MONTH
    'Md': 'M. d.', // NUM_MONTH_DAY
    'MEd': 'M. d. (EEE)', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d일', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d일 (EEE)', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d일', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d일 EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y년', // YEAR
    'yM': 'y. M.', // YEAR_NUM_MONTH
    'yMd': 'y. M. d.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y. M. d. (EEE)', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y년 MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y년 MMM d일', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y년 MMM d일 (EEE)', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y년 MMMM', // YEAR_MONTH
    'yMMMMd': 'y년 MMMM d일', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y년 MMMM d일 EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y년 QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y년 QQQQ', // YEAR_QUARTER
    'H': 'H시', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'H시 m분 s초', // HOUR24_MINUTE_SECOND
    'j': 'a h시', // HOUR
    'jm': 'a h:mm', // HOUR_MINUTE
    'jms': 'a h:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'a h:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'a h:mm z', // HOUR_MINUTETZ
    'jz': 'a h시 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ky.
   */
  'ky': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd-MM', // NUM_MONTH_DAY
    'MEd': 'dd-MM, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd-MMM', // ABBR_MONTH_DAY
    'MMMEd': 'd-MMM, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd-MMMM', // MONTH_DAY
    'MMMMEEEEd': 'd-MMMM, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-MM', // YEAR_NUM_MONTH
    'yMd': 'y-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y-MM-dd, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y-\'ж\'. MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y-\'ж\'. d-MMM', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y-\'ж\'. d-MMM, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y-\'ж\'. MMMM', // YEAR_MONTH
    'yMMMMd': 'd-MMMM, y-\'ж\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d-MMMM, y-\'ж\'.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y-\'ж\'., QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y-\'ж\'., QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ln.
   */
  'ln': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale lo.
   */
  'lo': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale lt.
   */
  'lt': const {
    'd': 'dd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'LL', // NUM_MONTH
    'Md': 'MM-d', // NUM_MONTH_DAY
    'MEd': 'MM-dd, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-MM', // YEAR_NUM_MONTH
    'yMd': 'y-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y-MM-dd, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y \'m\'. MMMM d \'d\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y \'m\'. MMMM d \'d\'., EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale lv.
   */
  'lv': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd.MM.', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y. \'g\'.', // YEAR
    'yM': 'MM.y.', // YEAR_NUM_MONTH
    'yMd': 'd.M.y.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y. \'g\'. MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y. \'g\'. d. MMM', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y. \'g\'. d. MMM', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y. \'g\'. MMMM', // YEAR_MONTH
    'yMMMMd': 'y. \'gada\' d. MMMM', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, y. \'gada\' d. MMMM', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y. \'g\'. QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale mk.
   */
  'mk': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y \'г\'.', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y \'г\'.', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y \'г\'.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y \'г\'.', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y \'г\'.', // YEAR_MONTH
    'yMMMMd': 'd MMMM y \'г\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y \'г\'.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y \'г\'.', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y \'г\'.', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ml.
   */
  'ml': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'M/d, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'd-M-y, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y, MMMM d', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y, MMMM d, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale mn.
   */
  'mn': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-M', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y \'оны\' MMMM \'сарын\' d', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, y \'оны\' MMMM \'сарын\' d',
    // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y \'оны\' QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale mo.
   */
  'mo': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd.MM', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.y', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd.MM.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale mr.
   */
  'mr': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d, MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ms.
   */
  'ms': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale mt.
   */
  'mt': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'MM-dd', // NUM_MONTH_DAY
    'MEd': 'MM-dd, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-MM', // YEAR_NUM_MONTH
    'yMd': 'y-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y-MM-dd, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'd \'ta\'’ MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'ta\'’ MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale my.
   */
  'my': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y/M/d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y MMMM d', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, y MMMM d', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale nb.
   */
  'nb': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L.', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d.MM.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ne.
   */
  'ne': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'MM-dd', // NUM_MONTH_DAY
    'MEd': 'MM-dd, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-MM', // YEAR_NUM_MONTH
    'yMd': 'y-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y-MM-dd, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y MMMM d', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y MMMM d, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale nl.
   */
  'nl': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd-M-y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d-M-y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale no.
   */
  'no': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L.', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d.MM.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale no_NO.
   */
  'no_NO': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L.', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d.MM.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale or.
   */
  'or': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'MM-dd, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd-M-y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y-MM-dd, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pa.
   */
  'pa': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd-MM.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pl.
   */
  'pl': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.MM', // NUM_MONTH_DAY
    'MEd': 'EEE, d.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.y', // YEAR_NUM_MONTH
    'yMd': 'd.MM.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.MM.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pt.
   */
  'pt': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd \'de\' MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d \'de\' MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/y', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd/MM/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM \'de\' y', // YEAR_ABBR_MONTH
    'yMMMd': 'd \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pt_BR.
   */
  'pt_BR': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd \'de\' MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d \'de\' MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/y', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd/MM/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM \'de\' y', // YEAR_ABBR_MONTH
    'yMMMd': 'd \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pt_PT.
   */
  'pt_PT': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd/MM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d/MM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/y', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd/MM/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MM/y', // YEAR_ABBR_MONTH
    'yMMMd': 'd/MM/y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d/MM/y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQQ \'de\' y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ \'de\' y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ro.
   */
  'ro': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd.MM', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.y', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd.MM.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ru.
   */
  'ru': const {
    'd': 'd', // DAY
    'E': 'ccc', // ABBR_WEEKDAY
    'EEEE': 'cccc', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd.MM', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'ccc, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'cccc, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.y', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'ccc, d.MM.y \'г\'.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y \'г\'.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y \'г\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y \'г\'.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y \'г\'.', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y \'г\'.', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sh.
   */
  'sh': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y.', // YEAR
    'yM': 'M.y.', // YEAR_NUM_MONTH
    'yMd': 'd.M.y.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y.', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y.', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y.', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ. y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ. y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale si.
   */
  'si': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'M-d, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-M', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y-M-d, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y MMMM d', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y MMMM d, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'a h', // HOUR
    'jm': 'a h.mm', // HOUR_MINUTE
    'jms': 'a h.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'a h.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'a h.mm z', // HOUR_MINUTETZ
    'jz': 'a h z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sk.
   */
  'sk': const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L.', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM.', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM.', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d. M. y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd.M.y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sl.
   */
  'sl': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd. M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d. MM.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd. M. y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d. M. y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sq.
   */
  'sq': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sr.
   */
  'sr': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y.', // YEAR
    'yM': 'M.y.', // YEAR_NUM_MONTH
    'yMd': 'd.M.y.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y.', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y.', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y.', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ. y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ. y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sv.
   */
  'sv': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-MM', // YEAR_NUM_MONTH
    'yMd': 'y-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y-MM-dd', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sw.
   */
  'sw': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ta.
   */
  'ta': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'MM-dd, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale te.
   */
  'te': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd, MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d, MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'd MMMM y EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale th.
   */
  'th': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale tl.
   */
  'tl': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale tr.
   */
  'tr': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd/MM', // NUM_MONTH_DAY
    'MEd': 'dd/MM EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'd MMMM EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'dd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'dd MMMM EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/y', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'dd.MM.y EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'dd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'd MMM y EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'd MMMM y EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y/QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y/QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale uk.
   */
  'uk': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd.MM', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.y', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd.MM.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y \'р\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y \'р\'.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y \'р\'.', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ur.
   */
  'ur': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE، d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE، d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE، d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE، d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM، y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE، d MMM، y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM، y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE، d MMMM، y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale uz.
   */
  'uz': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'MM-dd', // NUM_MONTH_DAY
    'MEd': 'MM-dd, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-MM', // YEAR_NUM_MONTH
    'yMd': 'y-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y-MM-dd, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y MMMM d', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, y MMMM d', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale vi.
   */
  'vi': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'dd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, dd MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'dd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, dd MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': '\'Năm\' y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd-M-y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'dd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, dd MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'dd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, \'ngày\' d MMMM \'năm\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh.
   */
  'zh': const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'M/dEEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y/M/dEEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年第Q季度', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年第Q季度', // YEAR_QUARTER
    'H': 'H时', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah时', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'vah:mm', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'zah:mm', // HOUR_MINUTETZ
    'jz': 'zah时', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh_CN.
   */
  'zh_CN': const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'M/dEEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y/M/dEEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年第Q季度', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年第Q季度', // YEAR_QUARTER
    'H': 'H时', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah时', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'vah:mm', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'zah:mm', // HOUR_MINUTETZ
    'jz': 'zah时', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh_HK.
   */
  'zh_HK': const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日 (EEE)', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日 (EEEE)', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'd/M/y（EEE）', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y 年 M 月', // YEAR_ABBR_MONTH
    'yMMMd': 'y 年 M 月 d 日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y 年 M 月 d 日 (EEE)', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y 年 M 月', // YEAR_MONTH
    'yMMMMd': 'y 年 M 月 d 日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y 年 M 月 d 日 (EEEE)', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年QQQQ', // YEAR_QUARTER
    'H': 'H時', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah時', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'ah:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'ah:mm z', // HOUR_MINUTETZ
    'jz': 'ah時 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh_TW.
   */
  'zh_TW': const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'M/d（EEE）', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y/M/d（EEE）', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年QQQQ', // YEAR_QUARTER
    'H': 'H時', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah時', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'ah:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'ah:mm z', // HOUR_MINUTETZ
    'jz': 'ah時 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zu.
   */
  'zu': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_ISO.
   */
  'en_ISO': const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
  }
};
