1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 5eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "components/autofill/core/browser/autofill_country.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <stddef.h> 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <stdint.h> 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <map> 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <utility> 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/logging.h" 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/memory/singleton.h" 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/stl_util.h" 16868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/string_util.h" 17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h" 187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "grit/component_strings.h" 19ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "third_party/icu/source/common/unicode/locid.h" 20ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "third_party/icu/source/common/unicode/uloc.h" 21ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "third_party/icu/source/common/unicode/unistr.h" 22ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "third_party/icu/source/common/unicode/urename.h" 23ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "third_party/icu/source/common/unicode/utypes.h" 24ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "third_party/icu/source/i18n/unicode/coll.h" 25ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "third_party/icu/source/i18n/unicode/ucol.h" 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/base/l10n/l10n_util.h" 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace autofill { 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace { 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// The maximum capacity needed to store a locale up to the country code. 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const size_t kLocaleCapacity = 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ULOC_LANG_CAPACITY + ULOC_SCRIPT_CAPACITY + ULOC_COUNTRY_CAPACITY + 1; 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct CountryData { 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int postal_code_label_id; 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int state_label_id; 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) AddressRequiredFields address_required_fields; 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct StaticCountryData { 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) char country_code[3]; 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) CountryData country_data; 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Maps country codes to localized label string identifiers. 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const StaticCountryData kCountryData[] = { 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PARISH, 50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_STATE } }, 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 52c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_EMIRATE, 53c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_STATE } }, 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 59c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } }, 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 61c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 62c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 64c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 65c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 67c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 68c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 70c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 71c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 73c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 74c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 76c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 77c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 79c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 80c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AS", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE, 82c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 83c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 85c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 86c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 88c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 89c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 91c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 92c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AX", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 94c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 95c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "AZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 97c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 98c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 100c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 101c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 103c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PARISH, 104c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 106c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 107c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 109c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 110c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 112c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 113c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 115c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 116c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 118c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 119c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 121c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 122c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 124c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 125c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 127c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 128c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 130c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 131c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 133c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 134c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 136c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 137c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 139c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 140c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 142c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_ISLAND, 143c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 145c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 146c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 148c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 149c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 151c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 152c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 154c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 155c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "BZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 157c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 158c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 160c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 161c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 163c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 164c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 166c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 167c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 170c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 172c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 173c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 176c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 178c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 179c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 182c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 188c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 190c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 191c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 193c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 194c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 196c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 197c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 198c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) { "CS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 199c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 200c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 202c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_ISLAND, 203c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CX", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 205c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 206c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 208c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 209c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "CZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 211c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 212c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "DE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 214c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 215c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "DJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 217c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 218c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "DK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 220c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 221c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "DM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 223c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 224c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "DO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 226c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 227c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "DZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 229c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 230c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "EC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 232c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 233c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "EE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 235c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 236c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "EG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 238c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 239c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "EH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 241c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 242c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "ER", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 244c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 245c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "ES", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 247c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 248c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 2492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "ET", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 250c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 251c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "FI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 253c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 254c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 2552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "FJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 256c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 257c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "FK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 259c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 260c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 2612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "FM", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE, 262c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 263c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 2642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "FO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 265c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 266c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "FR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 268c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 269c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 2702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 271c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 272c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 274c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_COUNTY, 275c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 2762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 277c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 278c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 280c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 281c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 283c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 284c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 2852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 286c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 287c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 2882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 289c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 290c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 2912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 292c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 293c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } }, 2942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 295c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 296c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 2972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 298c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 299c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 301c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 302c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 304c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 305c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 3062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 307c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 308c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 310c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 311c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 3122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 313c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 314c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 3152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 316c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 317c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GU", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE, 319c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 320c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 3212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 322c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 323c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "GY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 325c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 326c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "HK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 328c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_AREA, 329c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_STATE } }, 3302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "HM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 331c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 332c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "HN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 334c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 335c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE } }, 3362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "HR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 337c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 338c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "HT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 340c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 341c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "HU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 343c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 344c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "ID", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 346c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 347c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "IE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 349c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_COUNTY, 350c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "IL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 352c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 353c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "IM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 355c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 356c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 3572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "IN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 358c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 359c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 3602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "IO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 361c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 362c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 3632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "IQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 364c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 365c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE } }, 3662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "IS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 367c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 368c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "IT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 370c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 371c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 3722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "JE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 373c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 374c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 3752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "JM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 376c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PARISH, 377c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE } }, 3782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "JO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 379c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 380c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "JP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 382c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PREFECTURE, 383c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 3842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "KE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 385c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 386c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "KG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 388c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 389c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "KH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 391c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 392c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "KI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 394c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_ISLAND, 395c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "KM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 397c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 398c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 3992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "KN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 400c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_ISLAND, 401c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE } }, 4022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "KP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 403c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 404c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "KR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 406c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 407c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 4082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "KW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 409c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 410c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "KY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 412c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_ISLAND, 413c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_STATE } }, 4142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "KZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 415c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 416c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "LA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 418c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 419c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "LB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 421c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 422c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "LC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 424c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 425c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "LI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 427c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 428c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 4292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "LK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 430c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 431c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "LR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 433c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 434c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "LS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 436c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 437c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "LT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 439c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 440c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "LU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 442c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 443c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 4442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "LV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 445c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 446c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "LY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 448c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 449c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 451c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 452c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 454c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 455c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 457c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 458c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "ME", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 460c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 461c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 463c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 464c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 4652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 466c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 467c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MH", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE, 469c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 470c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 4712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 472c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 473c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "ML", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 475c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 476c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 478c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 479c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 481c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 482c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } }, 4832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MP", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE, 484c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 485c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 4862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MQ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 487c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 488c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 4892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 490c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 491c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 493c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 494c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 496c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 497c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 4982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 499c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 500c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 502c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 503c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 505c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 506c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MX", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 508c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 509c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 5102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 511c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 512c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 5132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "MZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 514c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 515c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 517c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 518c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 520c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 521c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 5222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 523c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 524c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 526c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 527c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 529c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 530c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 532c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_DEPARTMENT, 533c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 535c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 536c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 5372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 538c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 539c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 5402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NP", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 541c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 542c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 544c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_DISTRICT, 545c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_STATE } }, 5462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 547c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 548c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "NZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 550c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 551c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 5522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "OM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 553c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 554c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 556c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 557c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 559c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 560c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 562c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_ISLAND, 563c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 5642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 565c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 566c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE } }, 5672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 568c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 569c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY } }, 5702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 571c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 572c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 574c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 575c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 5762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 577c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 578c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 5792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 580c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 581c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 5822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PR", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE, 583c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 584c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 5852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 586c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 587c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 589c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 590c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 5912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PW", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE, 592c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 593c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 5942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "PY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 595c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 596c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 5972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "QA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 598c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 599c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "RE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 601c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 602c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 6032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "RO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 604c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 605c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "RS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 607c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 608c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "RU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 610c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 611c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 6122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "RW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 613c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 614c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 616c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 617c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SB", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 619c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 620c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 622c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_ISLAND, 623c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 625c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 626c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 6272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 628c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 629c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_ZIP } }, 6302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 631c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 632c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 6332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SI", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 634c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 635c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 637c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 638c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 6392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 640c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 641c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 643c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 644c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 646c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 647c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_ZIP } }, 6482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 649c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 650c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 652c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 653c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE } }, 6542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 655c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 656c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "ST", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 658c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 659c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 661c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 662c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE } }, 6632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "SZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 664c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 665c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 667c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 668c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 6692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TD", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 670c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 671c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 673c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 674c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 676c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 677c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TH", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 679c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 680c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TJ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 682c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 683c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TK", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 685c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 686c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TL", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 688c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 689c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 691c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 692c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 694c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 695c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TO", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 697c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 698c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 6992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TR", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 700c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 701c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 7022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 703c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 704c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TV", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 706c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_ISLAND, 707c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 709c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_COUNTY, 710c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 7112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "TZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 712c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 713c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "UA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 715c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 716c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "UG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 718c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 719c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "UM", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE, 721c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 722c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE } }, 7232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "US", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE, 724c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 725c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 7262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "UY", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 727c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 728c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "UZ", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 730c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 731c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "VA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 733c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 734c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "VC", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 736c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 737c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "VE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 739c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 740c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE } }, 7412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "VG", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 742c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 743c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_ADDRESS_LINE_1_ONLY } }, 7442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "VI", { IDS_AUTOFILL_FIELD_LABEL_ZIP_CODE, 745c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_STATE, 746c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_STATE_ZIP } }, 7472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "VN", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 748c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 749c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY } }, 7502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "VU", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 751c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 752c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "WF", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 754c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 755c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 7562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "WS", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 757c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 758c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "YE", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 760c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 761c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY } }, 7622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "YT", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 763c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 764c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 7652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "ZA", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 766c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 767c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY_ZIP } }, 7682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "ZM", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 769c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 770c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIRES_CITY } }, 7712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { "ZW", { IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 772c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE, 773c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ADDRESS_REQUIREMENTS_UNKNOWN } }, 7742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 7752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 7762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// A singleton class that encapsulates a map from country codes to country data. 7772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class CountryDataMap { 7782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 7792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // A const iterator over the wrapped map data. 7802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typedef std::map<std::string, CountryData>::const_iterator Iterator; 7812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 7822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static CountryDataMap* GetInstance(); 7832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static const Iterator Begin(); 7842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static const Iterator End(); 7852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static const Iterator Find(const std::string& country_code); 7862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 7872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 7882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) CountryDataMap(); 7892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) friend struct DefaultSingletonTraits<CountryDataMap>; 7902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 7912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::map<std::string, CountryData> country_data_; 7922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 7932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(CountryDataMap); 7942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 7952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 7962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static 7972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)CountryDataMap* CountryDataMap::GetInstance() { 7982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return Singleton<CountryDataMap>::get(); 7992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 8002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)CountryDataMap::CountryDataMap() { 8022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Add all the countries we have explicit data for. 8032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) for (size_t i = 0; i < arraysize(kCountryData); ++i) { 8042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const StaticCountryData& static_data = kCountryData[i]; 8052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) country_data_.insert(std::make_pair(static_data.country_code, 8062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static_data.country_data)); 8072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 8082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Add any other countries that ICU knows about, falling back to default data 8102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // values. 8112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) for (const char* const* country_pointer = icu::Locale::getISOCountries(); 8122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *country_pointer; 8132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ++country_pointer) { 8142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string country_code = *country_pointer; 8152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if (!country_data_.count(country_code)) { 8162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) CountryData data = { 8172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_POSTAL_CODE, 8182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IDS_AUTOFILL_FIELD_LABEL_PROVINCE 8192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }; 8202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) country_data_.insert(std::make_pair(country_code, data)); 8212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 8222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 8232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 8242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const CountryDataMap::Iterator CountryDataMap::Begin() { 8262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return GetInstance()->country_data_.begin(); 8272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 8282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const CountryDataMap::Iterator CountryDataMap::End() { 8302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return GetInstance()->country_data_.end(); 8312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 8322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const CountryDataMap::Iterator CountryDataMap::Find( 8342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& country_code) { 8352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return GetInstance()->country_data_.find(country_code); 8362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 8372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// A singleton class that encapsulates mappings from country names to their 8392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// corresponding country codes. 8402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class CountryNames { 8412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 8422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static CountryNames* GetInstance(); 8432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Returns the country code corresponding to |country|, which should be a 8452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // country code or country name localized to |locale|. 846c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const std::string GetCountryCode(const base::string16& country, 8472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& locale); 8482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 8502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) CountryNames(); 8512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ~CountryNames(); 8522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) friend struct DefaultSingletonTraits<CountryNames>; 8532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Populates |locales_to_localized_names_| with the mapping of country names 8552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // localized to |locale| to their corresponding country codes. 8562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void AddLocalizedNamesForLocale(const std::string& locale); 8572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Interprets |country_name| as a full country name localized to the given 8592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // |locale| and returns the corresponding country code stored in 8602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // |locales_to_localized_names_|, or an empty string if there is none. 861c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const std::string GetCountryCodeForLocalizedName( 862c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const base::string16& country_name, 863c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const std::string& locale); 8642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Returns an ICU collator -- i.e. string comparator -- appropriate for the 8662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // given |locale|. 8672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) icu::Collator* GetCollatorForLocale(const std::string& locale); 8682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Returns the ICU sort key corresponding to |str| for the given |collator|. 8702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Uses |buffer| as temporary storage, and might resize |buffer| as a side- 8712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // effect. |buffer_size| should specify the |buffer|'s size, and is updated if 8722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // the |buffer| is resized. 8732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string GetSortKey(const icu::Collator& collator, 874c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const base::string16& str, 875c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) scoped_ptr<uint8_t[]>* buffer, 8762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int32_t* buffer_size) const; 8772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Maps from common country names, including 2- and 3-letter country codes, 8792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // to the corresponding 2-letter country codes. The keys are uppercase ASCII 8802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // strings. 8812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::map<std::string, std::string> common_names_; 8822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // The outer map keys are ICU locale identifiers. 8842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // The inner maps map from localized country names to their corresponding 8852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // country codes. The inner map keys are ICU collation sort keys corresponding 8862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // to the target localized country name. 8872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::map<std::string, std::map<std::string, std::string> > 8882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) locales_to_localized_names_; 8892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Maps ICU locale names to their corresponding collators. 8912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::map<std::string, icu::Collator*> collators_; 8922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(CountryNames); 8942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 8952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static 8972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)CountryNames* CountryNames::GetInstance() { 8982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return Singleton<CountryNames>::get(); 8992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 9002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)CountryNames::CountryNames() { 9022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Add 2- and 3-letter ISO country codes. 9032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) for (CountryDataMap::Iterator it = CountryDataMap::Begin(); 9042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) it != CountryDataMap::End(); 9052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ++it) { 9062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& country_code = it->first; 9072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string iso3_country_code = 9082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) icu::Locale(NULL, country_code.c_str()).getISO3Country(); 9092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) common_names_.insert(std::make_pair(country_code, country_code)); 9112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) common_names_.insert(std::make_pair(iso3_country_code, country_code)); 9122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 9132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Add a few other common synonyms. 9152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) common_names_.insert(std::make_pair("UNITED STATES OF AMERICA", "US")); 9162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) common_names_.insert(std::make_pair("U.S.A.", "US")); 9172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) common_names_.insert(std::make_pair("GREAT BRITAIN", "GB")); 9182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) common_names_.insert(std::make_pair("UK", "GB")); 9192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) common_names_.insert(std::make_pair("BRASIL", "BR")); 9202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) common_names_.insert(std::make_pair("DEUTSCHLAND", "DE")); 9212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 9222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)CountryNames::~CountryNames() { 9242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) STLDeleteContainerPairSecondPointers(collators_.begin(), 9252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) collators_.end()); 9262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 9272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 928c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const std::string CountryNames::GetCountryCode(const base::string16& country, 9292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& locale) { 9302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // First, check common country names, including 2- and 3-letter country codes. 9312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string country_utf8 = UTF16ToUTF8(StringToUpperASCII(country)); 9322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::map<std::string, std::string>::const_iterator result = 9332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) common_names_.find(country_utf8); 9342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if (result != common_names_.end()) 9352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return result->second; 9362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Next, check country names localized to |locale|. 9382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string country_code = GetCountryCodeForLocalizedName(country, locale); 9392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if (!country_code.empty()) 9402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return country_code; 9412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Finally, check country names localized to US English. 9432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return GetCountryCodeForLocalizedName(country, "en_US"); 9442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 9452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void CountryNames::AddLocalizedNamesForLocale(const std::string& locale) { 9472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Nothing to do if we've previously added the localized names for the given 9482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // |locale|. 9492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if (locales_to_localized_names_.count(locale)) 9502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return; 9512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::map<std::string, std::string> localized_names; 9532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const icu::Collator* collator = GetCollatorForLocale(locale); 9542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int32_t buffer_size = 1000; 955c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) scoped_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]); 9562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) for (CountryDataMap::Iterator it = CountryDataMap::Begin(); 9582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) it != CountryDataMap::End(); 9592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ++it) { 9602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& country_code = it->first; 961c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) base::string16 country_name = l10n_util::GetDisplayNameForCountry( 962c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) country_code, locale); 9632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string sort_key = GetSortKey(*collator, 9642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) country_name, 9652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) &buffer, 9662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) &buffer_size); 9672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) localized_names.insert(std::make_pair(sort_key, country_code)); 9692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 9702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) locales_to_localized_names_.insert(std::make_pair(locale, localized_names)); 9722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 9732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const std::string CountryNames::GetCountryCodeForLocalizedName( 975c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const base::string16& country_name, 9762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& locale) { 9772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) AddLocalizedNamesForLocale(locale); 9782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) icu::Collator* collator = GetCollatorForLocale(locale); 9802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // As recommended[1] by ICU, initialize the buffer size to four times the 9822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // source string length. 9832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // [1] http://userguide.icu-project.org/collation/api#TOC-Examples 9842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int32_t buffer_size = country_name.size() * 4; 985c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) scoped_ptr<uint8_t[]> buffer(new uint8_t[buffer_size]); 9862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string sort_key = GetSortKey(*collator, 9872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) country_name, 9882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) &buffer, 9892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) &buffer_size); 9902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::map<std::string, std::string>& localized_names = 9922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) locales_to_localized_names_[locale]; 9932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::map<std::string, std::string>::const_iterator result = 9942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) localized_names.find(sort_key); 9952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if (result != localized_names.end()) 9972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return result->second; 9982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 9992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return std::string(); 10002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 10012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)icu::Collator* CountryNames::GetCollatorForLocale(const std::string& locale) { 10032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if (!collators_.count(locale)) { 10042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) icu::Locale icu_locale(locale.c_str()); 10052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) UErrorCode ignored = U_ZERO_ERROR; 10062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) icu::Collator* collator(icu::Collator::createInstance(icu_locale, ignored)); 10072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Compare case-insensitively and ignoring punctuation. 10092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ignored = U_ZERO_ERROR; 10102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) collator->setAttribute(UCOL_STRENGTH, UCOL_SECONDARY, ignored); 10112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ignored = U_ZERO_ERROR; 10122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) collator->setAttribute(UCOL_ALTERNATE_HANDLING, UCOL_SHIFTED, ignored); 10132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) collators_.insert(std::make_pair(locale, collator)); 10152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 10162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return collators_[locale]; 10182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 10192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const std::string CountryNames::GetSortKey(const icu::Collator& collator, 1021c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const base::string16& str, 1022c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) scoped_ptr<uint8_t[]>* buffer, 10232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int32_t* buffer_size) const { 10242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DCHECK(buffer); 10252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DCHECK(buffer_size); 10262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) icu::UnicodeString icu_str(str.c_str(), str.length()); 10282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int32_t expected_size = collator.getSortKey(icu_str, buffer->get(), 10292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *buffer_size); 10302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if (expected_size > *buffer_size) { 10312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // If there wasn't enough space, grow the buffer and try again. 10322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *buffer_size = expected_size; 10332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) buffer->reset(new uint8_t[*buffer_size]); 10342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DCHECK(buffer->get()); 10352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) expected_size = collator.getSortKey(icu_str, buffer->get(), *buffer_size); 10372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DCHECK_EQ(*buffer_size, expected_size); 10382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 10392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return std::string(reinterpret_cast<const char*>(buffer->get())); 10412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 10422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace 10442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)AutofillCountry::AutofillCountry(const std::string& country_code, 10462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& locale) { 10472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const CountryDataMap::Iterator result = CountryDataMap::Find(country_code); 10482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DCHECK(result != CountryDataMap::End()); 10492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const CountryData& data = result->second; 10502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) country_code_ = country_code; 10522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) name_ = l10n_util::GetDisplayNameForCountry(country_code, locale); 10532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) postal_code_label_ = l10n_util::GetStringUTF16(data.postal_code_label_id); 10542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) state_label_ = l10n_util::GetStringUTF16(data.state_label_id); 1055c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) address_required_fields_ = data.address_required_fields; 10562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 10572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)AutofillCountry::~AutofillCountry() { 10592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 10602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static 10622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void AutofillCountry::GetAvailableCountries( 10632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::vector<std::string>* country_codes) { 10642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DCHECK(country_codes); 10652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) for (CountryDataMap::Iterator it = CountryDataMap::Begin(); 10672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) it != CountryDataMap::End(); 10682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ++it) { 10692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) country_codes->push_back(it->first); 10702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 10712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 10722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static 10742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const std::string AutofillCountry::CountryCodeForLocale( 10752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& locale) { 10762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Add likely subtags to the locale. In particular, add any likely country 10772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // subtags -- e.g. for locales like "ru" that only include the language. 10782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string likely_locale; 10792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) UErrorCode error_ignored = U_ZERO_ERROR; 10802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) uloc_addLikelySubtags(locale.c_str(), 10812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WriteInto(&likely_locale, kLocaleCapacity), 10822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) kLocaleCapacity, 10832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) &error_ignored); 10842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Extract the country code. 10862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string country_code = icu::Locale(likely_locale.c_str()).getCountry(); 10872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Default to the United States if we have no better guess. 10892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if (CountryDataMap::Find(country_code) == CountryDataMap::End()) 10902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return "US"; 10912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return country_code; 10932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 10942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 10952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static 1096c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const std::string AutofillCountry::GetCountryCode(const base::string16& country, 10972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& locale) { 10982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return CountryNames::GetInstance()->GetCountryCode(country, locale); 10992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 11002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 11012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)AutofillCountry::AutofillCountry(const std::string& country_code, 1102c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const base::string16& name, 1103c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const base::string16& postal_code_label, 1104c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const base::string16& state_label) 11052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) : country_code_(country_code), 11062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) name_(name), 11072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) postal_code_label_(postal_code_label), 11082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) state_label_(state_label) { 11092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 1110c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 1111c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} // namespace autofill 1112