changeset 12247:e47d3bfbc61a jdk9-b71

Merge
author lana
date Sun, 28 Jun 2015 16:38:22 -0700
parents 1298aa4632c6 b6a729b5ec89
children dd489ac949cc 93ced310c728
files src/java.base/share/classes/sun/text/resources/en/FormatData_en_AU.java src/java.base/share/classes/sun/text/resources/en/FormatData_en_CA.java src/java.base/share/classes/sun/text/resources/en/FormatData_en_GB.java src/java.base/share/classes/sun/text/resources/en/FormatData_en_IE.java src/java.base/share/classes/sun/text/resources/en/FormatData_en_IN.java src/java.base/share/classes/sun/text/resources/en/FormatData_en_MT.java src/java.base/share/classes/sun/text/resources/en/FormatData_en_NZ.java src/java.base/share/classes/sun/text/resources/en/FormatData_en_PH.java src/java.base/share/classes/sun/text/resources/en/FormatData_en_SG.java src/java.base/share/classes/sun/text/resources/en/FormatData_en_US.java src/java.base/share/classes/sun/text/resources/en/FormatData_en_ZA.java src/java.base/share/classes/sun/text/resources/en/JavaTimeSupplementary_en_GB.java src/java.base/share/classes/sun/text/resources/en/JavaTimeSupplementary_en_SG.java src/java.base/share/classes/sun/util/resources/en/CalendarData_en_GB.properties src/java.base/share/classes/sun/util/resources/en/CalendarData_en_IE.properties src/java.base/share/classes/sun/util/resources/en/CalendarData_en_MT.properties src/java.base/share/classes/sun/util/resources/en/CurrencyNames_en_AU.properties src/java.base/share/classes/sun/util/resources/en/CurrencyNames_en_CA.properties src/java.base/share/classes/sun/util/resources/en/CurrencyNames_en_GB.properties src/java.base/share/classes/sun/util/resources/en/CurrencyNames_en_IE.properties src/java.base/share/classes/sun/util/resources/en/CurrencyNames_en_IN.properties src/java.base/share/classes/sun/util/resources/en/CurrencyNames_en_MT.properties src/java.base/share/classes/sun/util/resources/en/CurrencyNames_en_NZ.properties src/java.base/share/classes/sun/util/resources/en/CurrencyNames_en_PH.properties src/java.base/share/classes/sun/util/resources/en/CurrencyNames_en_SG.properties src/java.base/share/classes/sun/util/resources/en/CurrencyNames_en_US.properties src/java.base/share/classes/sun/util/resources/en/CurrencyNames_en_ZA.properties src/java.base/share/classes/sun/util/resources/en/LocaleNames_en_MT.properties src/java.base/share/classes/sun/util/resources/en/LocaleNames_en_PH.properties src/java.base/share/classes/sun/util/resources/en/LocaleNames_en_SG.properties src/java.base/share/classes/sun/util/resources/en/TimeZoneNames_en_CA.java src/java.base/share/classes/sun/util/resources/en/TimeZoneNames_en_GB.java src/java.base/share/classes/sun/util/resources/en/TimeZoneNames_en_IE.java src/jdk.crypto.ec/share/classes/sun/security/ec/SunECEntries.java src/jdk.localedata/share/classes/sun/text/resources/ar/FormatData_ar_JO.java src/jdk.localedata/share/classes/sun/text/resources/ar/FormatData_ar_LB.java src/jdk.localedata/share/classes/sun/text/resources/ar/FormatData_ar_SY.java src/jdk.localedata/share/classes/sun/text/resources/be/FormatData_be_BY.java src/jdk.localedata/share/classes/sun/text/resources/bg/FormatData_bg_BG.java src/jdk.localedata/share/classes/sun/text/resources/ca/FormatData_ca_ES.java src/jdk.localedata/share/classes/sun/text/resources/cs/FormatData_cs_CZ.java src/jdk.localedata/share/classes/sun/text/resources/da/FormatData_da_DK.java src/jdk.localedata/share/classes/sun/text/resources/de/FormatData_de_AT.java src/jdk.localedata/share/classes/sun/text/resources/de/FormatData_de_CH.java src/jdk.localedata/share/classes/sun/text/resources/de/FormatData_de_DE.java src/jdk.localedata/share/classes/sun/text/resources/de/FormatData_de_LU.java src/jdk.localedata/share/classes/sun/text/resources/el/FormatData_el_CY.java src/jdk.localedata/share/classes/sun/text/resources/el/FormatData_el_GR.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_AR.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_BO.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_CL.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_CO.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_CR.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_DO.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_EC.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_ES.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_GT.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_HN.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_MX.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_NI.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_PA.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_PE.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_PR.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_PY.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_SV.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_US.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_UY.java src/jdk.localedata/share/classes/sun/text/resources/es/FormatData_es_VE.java src/jdk.localedata/share/classes/sun/text/resources/et/FormatData_et_EE.java src/jdk.localedata/share/classes/sun/text/resources/fi/FormatData_fi_FI.java src/jdk.localedata/share/classes/sun/text/resources/fr/FormatData_fr_BE.java src/jdk.localedata/share/classes/sun/text/resources/fr/FormatData_fr_CA.java src/jdk.localedata/share/classes/sun/text/resources/fr/FormatData_fr_CH.java src/jdk.localedata/share/classes/sun/text/resources/fr/FormatData_fr_FR.java src/jdk.localedata/share/classes/sun/text/resources/ga/FormatData_ga_IE.java src/jdk.localedata/share/classes/sun/text/resources/hi/FormatData_hi_IN.java src/jdk.localedata/share/classes/sun/text/resources/hi/JavaTimeSupplementary_hi_IN.java src/jdk.localedata/share/classes/sun/text/resources/hr/FormatData_hr_HR.java src/jdk.localedata/share/classes/sun/text/resources/hu/FormatData_hu_HU.java src/jdk.localedata/share/classes/sun/text/resources/in/FormatData_in_ID.java src/jdk.localedata/share/classes/sun/text/resources/is/FormatData_is_IS.java src/jdk.localedata/share/classes/sun/text/resources/it/FormatData_it_CH.java src/jdk.localedata/share/classes/sun/text/resources/it/FormatData_it_IT.java src/jdk.localedata/share/classes/sun/text/resources/iw/FormatData_iw_IL.java src/jdk.localedata/share/classes/sun/text/resources/iw/JavaTimeSupplementary_iw_IL.java src/jdk.localedata/share/classes/sun/text/resources/ja/FormatData_ja_JP.java src/jdk.localedata/share/classes/sun/text/resources/ko/FormatData_ko_KR.java src/jdk.localedata/share/classes/sun/text/resources/lt/FormatData_lt_LT.java src/jdk.localedata/share/classes/sun/text/resources/lv/FormatData_lv_LV.java src/jdk.localedata/share/classes/sun/text/resources/mk/FormatData_mk_MK.java src/jdk.localedata/share/classes/sun/text/resources/ms/FormatData_ms_MY.java src/jdk.localedata/share/classes/sun/text/resources/mt/FormatData_mt_MT.java src/jdk.localedata/share/classes/sun/text/resources/nl/FormatData_nl_BE.java src/jdk.localedata/share/classes/sun/text/resources/nl/FormatData_nl_NL.java src/jdk.localedata/share/classes/sun/text/resources/no/FormatData_no_NO.java src/jdk.localedata/share/classes/sun/text/resources/no/FormatData_no_NO_NY.java src/jdk.localedata/share/classes/sun/text/resources/pl/FormatData_pl_PL.java src/jdk.localedata/share/classes/sun/text/resources/pt/FormatData_pt_BR.java src/jdk.localedata/share/classes/sun/text/resources/pt/FormatData_pt_PT.java src/jdk.localedata/share/classes/sun/text/resources/pt/JavaTimeSupplementary_pt_PT.java src/jdk.localedata/share/classes/sun/text/resources/ro/FormatData_ro_RO.java src/jdk.localedata/share/classes/sun/text/resources/ru/FormatData_ru_RU.java src/jdk.localedata/share/classes/sun/text/resources/sk/FormatData_sk_SK.java src/jdk.localedata/share/classes/sun/text/resources/sl/FormatData_sl_SI.java src/jdk.localedata/share/classes/sun/text/resources/sq/FormatData_sq_AL.java src/jdk.localedata/share/classes/sun/text/resources/sr/FormatData_sr_BA.java src/jdk.localedata/share/classes/sun/text/resources/sr/FormatData_sr_CS.java src/jdk.localedata/share/classes/sun/text/resources/sr/FormatData_sr_Latn_ME.java src/jdk.localedata/share/classes/sun/text/resources/sr/FormatData_sr_ME.java src/jdk.localedata/share/classes/sun/text/resources/sr/FormatData_sr_RS.java src/jdk.localedata/share/classes/sun/text/resources/sv/FormatData_sv_SE.java src/jdk.localedata/share/classes/sun/text/resources/th/FormatData_th_TH.java src/jdk.localedata/share/classes/sun/text/resources/tr/FormatData_tr_TR.java src/jdk.localedata/share/classes/sun/text/resources/uk/FormatData_uk_UA.java src/jdk.localedata/share/classes/sun/text/resources/vi/FormatData_vi_VN.java src/jdk.localedata/share/classes/sun/text/resources/zh/CollationData_zh_HK.java src/jdk.localedata/share/classes/sun/text/resources/zh/CollationData_zh_TW.java src/jdk.localedata/share/classes/sun/text/resources/zh/FormatData_zh_CN.java src/jdk.localedata/share/classes/sun/text/resources/zh/FormatData_zh_HK.java src/jdk.localedata/share/classes/sun/text/resources/zh/FormatData_zh_SG.java src/jdk.localedata/share/classes/sun/text/resources/zh/FormatData_zh_TW.java src/jdk.localedata/share/classes/sun/text/resources/zh/JavaTimeSupplementary_zh_TW.java src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/LICENSE src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/dtd/ldml.dtd src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/dtd/ldmlSupplemental.dtd src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/aa.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/aa_DJ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/aa_ER.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/aa_ET.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/af.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/af_NA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/af_ZA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/agq.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/agq_CM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ak.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ak_GH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/am.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/am_ET.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_001.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_AE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_BH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_DZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_EG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_IQ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_JO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_KW.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_LB.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_LY.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_MA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_OM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_QA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_SA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_SD.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_SY.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_TN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ar_YE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/as.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/as_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/asa.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/asa_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/az.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/az_Cyrl.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/az_Cyrl_AZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/az_Latn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/az_Latn_AZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bas.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bas_CM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/be.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/be_BY.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bem.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bem_ZM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bez.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bez_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bg.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bg_BG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bm.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bm_ML.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bn_BD.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bn_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bo.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bo_CN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bo_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/br.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/br_FR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/brx.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/brx_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bs.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/bs_BA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/byn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/byn_ER.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ca.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ca_ES.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/cgg.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/cgg_UG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/chr.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/chr_US.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/cs.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/cs_CZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/cy.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/cy_GB.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/da.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/da_DK.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/dav.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/dav_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/de.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/de_AT.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/de_BE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/de_CH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/de_DE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/de_LI.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/de_LU.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/dje.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/dje_NE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/dua.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/dua_CM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/dyo.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/dyo_SN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/dz.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/dz_BT.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ebu.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ebu_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ee.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ee_GH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ee_TG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/el.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/el_CY.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/el_GR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_AS.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_AU.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_BB.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_BE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_BM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_BW.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_BZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_CA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_Dsrt.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_Dsrt_US.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_GB.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_GU.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_GY.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_HK.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_IE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_JM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_MH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_MP.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_MT.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_MU.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_NA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_NZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_PH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_PK.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_SG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_TT.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_UM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_US.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_US_POSIX.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_VI.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_ZA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/en_ZW.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/eo.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_419.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_AR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_BO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_CL.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_CO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_CR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_DO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_EC.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_ES.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_GQ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_GT.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_HN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_MX.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_NI.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_PA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_PE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_PR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_PY.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_SV.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_US.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_UY.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/es_VE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/et.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/et_EE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/eu.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/eu_ES.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ewo.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ewo_CM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fa.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fa_AF.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fa_IR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ff.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ff_SN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fi.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fi_FI.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fil.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fil_PH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fo.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fo_FO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_BE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_BF.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_BI.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_BJ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_BL.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_CA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_CD.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_CF.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_CG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_CH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_CI.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_CM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_DJ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_FR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_GA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_GF.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_GN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_GP.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_GQ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_KM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_LU.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_MC.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_MF.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_MG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_ML.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_MQ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_NE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_RE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_RW.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_SN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_TD.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_TG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fr_YT.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fur.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/fur_IT.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ga.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ga_IE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/gd.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/gd_GB.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/gl.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/gl_ES.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/gsw.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/gsw_CH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/gu.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/gu_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/guz.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/guz_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/gv.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/gv_GB.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ha.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ha_Latn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ha_Latn_GH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ha_Latn_NE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ha_Latn_NG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/haw.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/haw_US.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/he.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/he_IL.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/hi.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/hi_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/hr.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/hr_HR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/hu.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/hu_HU.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/hy.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/hy_AM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ia.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/id.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/id_ID.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ig.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ig_NG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ii.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ii_CN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/is.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/is_IS.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/it.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/it_CH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/it_IT.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ja.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ja_JP.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/jmc.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/jmc_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ka.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ka_GE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kab.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kab_DZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kam.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kam_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kde.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kde_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kea.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kea_CV.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/khq.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/khq_ML.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ki.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ki_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kk.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kk_Cyrl.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kk_Cyrl_KZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kl.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kl_GL.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kln.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kln_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/km.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/km_KH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kn_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ko.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ko_KR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kok.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kok_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ksb.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ksb_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ksf.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ksf_CM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ksh.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ksh_DE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kw.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/kw_GB.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lag.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lag_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lg.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lg_UG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ln.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ln_CD.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ln_CG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lo.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lo_LA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lt.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lt_LT.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lu.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lu_CD.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/luo.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/luo_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/luy.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/luy_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lv.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/lv_LV.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mas.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mas_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mas_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mer.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mer_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mfe.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mfe_MU.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mg.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mg_MG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mgh.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mgh_MZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mk.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mk_MK.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ml.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ml_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mr.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mr_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ms.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ms_BN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ms_MY.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mt.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mt_MT.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mua.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/mua_CM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/my.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/my_MM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/naq.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/naq_NA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nb.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nb_NO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nd.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nd_ZW.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ne.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ne_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ne_NP.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nl.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nl_AW.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nl_BE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nl_CW.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nl_NL.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nl_SX.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nmg.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nmg_CM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nn_NO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nr.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nr_ZA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nso.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nso_ZA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nus.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nus_SD.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nyn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/nyn_UG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/om.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/om_ET.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/om_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/or.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/or_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pa.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pa_Arab.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pa_Arab_PK.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pa_Guru.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pa_Guru_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pl.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pl_PL.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ps.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ps_AF.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pt.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pt_AO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pt_BR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pt_GW.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pt_MZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pt_PT.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/pt_ST.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/rm.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/rm_CH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/rn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/rn_BI.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ro.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ro_MD.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ro_RO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/rof.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/rof_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/root.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ru.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ru_MD.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ru_RU.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ru_UA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/rw.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/rw_RW.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/rwk.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/rwk_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sah.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sah_RU.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/saq.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/saq_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sbp.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sbp_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/se.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/se_FI.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/se_NO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/seh.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/seh_MZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ses.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ses_ML.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sg.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sg_CF.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/shi.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/shi_Latn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/shi_Latn_MA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/shi_Tfng.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/shi_Tfng_MA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/si.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/si_LK.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sk.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sk_SK.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sl.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sl_SI.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sn_ZW.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/so.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/so_DJ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/so_ET.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/so_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/so_SO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sq.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sq_AL.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sr.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sr_Cyrl.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sr_Cyrl_BA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sr_Cyrl_ME.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sr_Cyrl_RS.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sr_Latn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sr_Latn_BA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sr_Latn_ME.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sr_Latn_RS.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ss.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ss_SZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ss_ZA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ssy.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ssy_ER.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/st.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/st_LS.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/st_ZA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sv.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sv_FI.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sv_SE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sw.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sw_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/sw_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/swc.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/swc_CD.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ta.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ta_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ta_LK.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/te.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/te_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/teo.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/teo_KE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/teo_UG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tg.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tg_Cyrl.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tg_Cyrl_TJ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/th.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/th_TH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ti.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ti_ER.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ti_ET.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tig.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tig_ER.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tn_ZA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/to.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/to_TO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tr.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tr_TR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ts.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ts_ZA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/twq.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/twq_NE.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tzm.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tzm_Latn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/tzm_Latn_MA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/uk.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/uk_UA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ur.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ur_IN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ur_PK.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/uz.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/uz_Arab.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/uz_Arab_AF.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/uz_Cyrl.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/uz_Cyrl_UZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/uz_Latn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/uz_Latn_UZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/vai.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/vai_Latn.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/vai_Latn_LR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/vai_Vaii.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/vai_Vaii_LR.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ve.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/ve_ZA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/vi.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/vi_VN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/vun.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/vun_TZ.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/wae.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/wae_CH.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/wal.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/wal_ET.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/xh.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/xh_ZA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/xog.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/xog_UG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/yav.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/yav_CM.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/yo.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/yo_NG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zh.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zh_Hans.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zh_Hans_CN.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zh_Hans_HK.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zh_Hans_MO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zh_Hans_SG.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zh_Hant.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zh_Hant_HK.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zh_Hant_MO.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zh_Hant_TW.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zu.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/main/zu_ZA.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/supplemental/metaZones.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/supplemental/numberingSystems.xml src/jdk.localedata/share/classes/sun/util/cldr/resources/21_0_1/common/supplemental/supplementalData.xml src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_AE.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_BH.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_DZ.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_EG.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_IQ.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_JO.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_KW.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_LB.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_LY.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_MA.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_OM.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_QA.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_SA.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_SD.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_SY.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_TN.properties src/jdk.localedata/share/classes/sun/util/resources/ar/CurrencyNames_ar_YE.properties src/jdk.localedata/share/classes/sun/util/resources/be/CurrencyNames_be_BY.properties src/jdk.localedata/share/classes/sun/util/resources/bg/CurrencyNames_bg_BG.properties src/jdk.localedata/share/classes/sun/util/resources/ca/CurrencyNames_ca_ES.properties src/jdk.localedata/share/classes/sun/util/resources/cs/CurrencyNames_cs_CZ.properties src/jdk.localedata/share/classes/sun/util/resources/da/CurrencyNames_da_DK.properties src/jdk.localedata/share/classes/sun/util/resources/de/CurrencyNames_de_AT.properties src/jdk.localedata/share/classes/sun/util/resources/de/CurrencyNames_de_CH.properties src/jdk.localedata/share/classes/sun/util/resources/de/CurrencyNames_de_DE.properties src/jdk.localedata/share/classes/sun/util/resources/de/CurrencyNames_de_GR.properties src/jdk.localedata/share/classes/sun/util/resources/de/CurrencyNames_de_LU.properties src/jdk.localedata/share/classes/sun/util/resources/el/CalendarData_el_CY.properties src/jdk.localedata/share/classes/sun/util/resources/el/CurrencyNames_el_CY.properties src/jdk.localedata/share/classes/sun/util/resources/el/CurrencyNames_el_GR.properties src/jdk.localedata/share/classes/sun/util/resources/el/LocaleNames_el_CY.properties src/jdk.localedata/share/classes/sun/util/resources/es/CalendarData_es_ES.properties src/jdk.localedata/share/classes/sun/util/resources/es/CalendarData_es_US.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_AR.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_BO.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_CL.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_CO.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_CR.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_CU.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_DO.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_EC.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_ES.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_GT.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_HN.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_MX.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_NI.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_PA.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_PE.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_PR.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_PY.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_SV.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_US.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_UY.properties src/jdk.localedata/share/classes/sun/util/resources/es/CurrencyNames_es_VE.properties src/jdk.localedata/share/classes/sun/util/resources/es/LocaleNames_es_US.properties src/jdk.localedata/share/classes/sun/util/resources/et/CurrencyNames_et_EE.properties src/jdk.localedata/share/classes/sun/util/resources/fi/CurrencyNames_fi_FI.properties src/jdk.localedata/share/classes/sun/util/resources/fr/CalendarData_fr_CA.properties src/jdk.localedata/share/classes/sun/util/resources/fr/CurrencyNames_fr_BE.properties src/jdk.localedata/share/classes/sun/util/resources/fr/CurrencyNames_fr_CA.properties src/jdk.localedata/share/classes/sun/util/resources/fr/CurrencyNames_fr_CH.properties src/jdk.localedata/share/classes/sun/util/resources/fr/CurrencyNames_fr_FR.properties src/jdk.localedata/share/classes/sun/util/resources/fr/CurrencyNames_fr_LU.properties src/jdk.localedata/share/classes/sun/util/resources/ga/CurrencyNames_ga_IE.properties src/jdk.localedata/share/classes/sun/util/resources/hi/CurrencyNames_hi_IN.properties src/jdk.localedata/share/classes/sun/util/resources/hr/CurrencyNames_hr_HR.properties src/jdk.localedata/share/classes/sun/util/resources/hu/CurrencyNames_hu_HU.properties src/jdk.localedata/share/classes/sun/util/resources/in/CalendarData_in_ID.properties src/jdk.localedata/share/classes/sun/util/resources/in/CurrencyNames_in_ID.properties src/jdk.localedata/share/classes/sun/util/resources/is/CurrencyNames_is_IS.properties src/jdk.localedata/share/classes/sun/util/resources/it/CurrencyNames_it_CH.properties src/jdk.localedata/share/classes/sun/util/resources/it/CurrencyNames_it_IT.properties src/jdk.localedata/share/classes/sun/util/resources/iw/CurrencyNames_iw_IL.properties src/jdk.localedata/share/classes/sun/util/resources/ja/CurrencyNames_ja_JP.properties src/jdk.localedata/share/classes/sun/util/resources/ko/CurrencyNames_ko_KR.properties src/jdk.localedata/share/classes/sun/util/resources/lt/CurrencyNames_lt_LT.properties src/jdk.localedata/share/classes/sun/util/resources/lv/CurrencyNames_lv_LV.properties src/jdk.localedata/share/classes/sun/util/resources/mk/CurrencyNames_mk_MK.properties src/jdk.localedata/share/classes/sun/util/resources/ms/CalendarData_ms_MY.properties src/jdk.localedata/share/classes/sun/util/resources/ms/CurrencyNames_ms_MY.properties src/jdk.localedata/share/classes/sun/util/resources/mt/CalendarData_mt_MT.properties src/jdk.localedata/share/classes/sun/util/resources/mt/CurrencyNames_mt_MT.properties src/jdk.localedata/share/classes/sun/util/resources/nl/CurrencyNames_nl_BE.properties src/jdk.localedata/share/classes/sun/util/resources/nl/CurrencyNames_nl_NL.properties src/jdk.localedata/share/classes/sun/util/resources/no/CurrencyNames_no_NO.properties src/jdk.localedata/share/classes/sun/util/resources/no/LocaleNames_no_NO_NY.properties src/jdk.localedata/share/classes/sun/util/resources/pl/CurrencyNames_pl_PL.properties src/jdk.localedata/share/classes/sun/util/resources/pt/CalendarData_pt_BR.properties src/jdk.localedata/share/classes/sun/util/resources/pt/CalendarData_pt_PT.properties src/jdk.localedata/share/classes/sun/util/resources/pt/CurrencyNames_pt_BR.properties src/jdk.localedata/share/classes/sun/util/resources/pt/CurrencyNames_pt_PT.properties src/jdk.localedata/share/classes/sun/util/resources/pt/LocaleNames_pt_BR.properties src/jdk.localedata/share/classes/sun/util/resources/pt/LocaleNames_pt_PT.properties src/jdk.localedata/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java src/jdk.localedata/share/classes/sun/util/resources/ro/CurrencyNames_ro_RO.properties src/jdk.localedata/share/classes/sun/util/resources/ru/CurrencyNames_ru_RU.properties src/jdk.localedata/share/classes/sun/util/resources/sk/CurrencyNames_sk_SK.properties src/jdk.localedata/share/classes/sun/util/resources/sl/CurrencyNames_sl_SI.properties src/jdk.localedata/share/classes/sun/util/resources/sq/CurrencyNames_sq_AL.properties src/jdk.localedata/share/classes/sun/util/resources/sr/CalendarData_sr_Latn_BA.properties src/jdk.localedata/share/classes/sun/util/resources/sr/CalendarData_sr_Latn_ME.properties src/jdk.localedata/share/classes/sun/util/resources/sr/CalendarData_sr_Latn_RS.properties src/jdk.localedata/share/classes/sun/util/resources/sr/CurrencyNames_sr_BA.properties src/jdk.localedata/share/classes/sun/util/resources/sr/CurrencyNames_sr_CS.properties src/jdk.localedata/share/classes/sun/util/resources/sr/CurrencyNames_sr_Latn_BA.properties src/jdk.localedata/share/classes/sun/util/resources/sr/CurrencyNames_sr_Latn_ME.properties src/jdk.localedata/share/classes/sun/util/resources/sr/CurrencyNames_sr_Latn_RS.properties src/jdk.localedata/share/classes/sun/util/resources/sr/CurrencyNames_sr_ME.properties src/jdk.localedata/share/classes/sun/util/resources/sr/CurrencyNames_sr_RS.properties src/jdk.localedata/share/classes/sun/util/resources/sv/CurrencyNames_sv_SE.properties src/jdk.localedata/share/classes/sun/util/resources/th/CurrencyNames_th_TH.properties src/jdk.localedata/share/classes/sun/util/resources/tr/CurrencyNames_tr_TR.properties src/jdk.localedata/share/classes/sun/util/resources/uk/CurrencyNames_uk_UA.properties src/jdk.localedata/share/classes/sun/util/resources/vi/CurrencyNames_vi_VN.properties src/jdk.localedata/share/classes/sun/util/resources/zh/CurrencyNames_zh_CN.properties src/jdk.localedata/share/classes/sun/util/resources/zh/CurrencyNames_zh_HK.java src/jdk.localedata/share/classes/sun/util/resources/zh/CurrencyNames_zh_SG.java src/jdk.localedata/share/classes/sun/util/resources/zh/CurrencyNames_zh_TW.properties src/jdk.localedata/share/classes/sun/util/resources/zh/LocaleNames_zh_HK.java src/jdk.localedata/share/classes/sun/util/resources/zh/LocaleNames_zh_SG.properties src/jdk.localedata/share/classes/sun/util/resources/zh/LocaleNames_zh_TW.properties src/jdk.localedata/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java src/jdk.localedata/share/classes/sun/util/resources/zh/TimeZoneNames_zh_HK.java src/jdk.localedata/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java test/java/util/stream/boottest/java/util/stream/UnorderedTest.java test/javax/xml/ws/8046817/GenerateEnumSchema.java test/javax/xml/ws/8046817/TestClassType.java test/javax/xml/ws/8046817/TestEnumType.java test/sun/security/pkcs11/KeyStore/ProviderLoader.java
diffstat 1982 files changed, 853081 insertions(+), 412123 deletions(-) [+]
line wrap: on
line diff
--- a/make/gensrc/Gensrc-java.base.gmk	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/gensrc/Gensrc-java.base.gmk	Sun Jun 28 16:38:22 2015 -0700
@@ -26,6 +26,7 @@
 include GensrcCommon.gmk
 
 include GensrcLocaleData.gmk
+include GensrcCLDR.gmk
 include GensrcCharacterData.gmk
 include GensrcMisc.gmk
 include GensrcCharsetMapping.gmk
--- a/make/gensrc/GensrcCLDR.gmk	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/gensrc/GensrcCLDR.gmk	Sun Jun 28 16:38:22 2015 -0700
@@ -23,19 +23,30 @@
 # questions.
 #
 
-CLDRVERSION := 21.0.1
+CLDRVERSION := 27.0.0
 CLDRSRCDIR := $(JDK_TOPDIR)/src/jdk.localedata/share/classes/sun/util/cldr/resources/$(subst .,_,$(CLDRVERSION))
 
+GENSRC_BASEDIR := $(SUPPORT_OUTPUTDIR)/gensrc/java.base
 GENSRC_DIR := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata
 
-CLDR_METAINFO_FILE := $(GENSRC_DIR)/sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo.java
+CLDR_BASEMETAINFO_FILE := $(GENSRC_DIR)/sun/util/cldr/CLDRBaseLocaleDataMetaInfo.java
+CLDR_METAINFO_FILE := $(GENSRC_DIR)/sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo_jdk_localedata.java
+
+CLDR_BASE_LOCALES := "en-US"
+
+$(CLDR_BASEMETAINFO_FILE): $(wildcard $(CLDRSRCDIR)/common/dtd/*.dtd) \
+    $(wildcard $(CLDRSRCDIR)/common/main/en*.xml) \
+    $(wildcard $(CLDRSRCDIR)/common/supplemental/*.xml) \
+    $(BUILD_TOOLS_JDK)
+	$(MKDIR) -p $(GENSRC_BASEDIR)
+	$(TOOL_CLDRCONVERTER) -base $(CLDRSRCDIR) -baselocales $(CLDR_BASE_LOCALES) -basemodule -o $(GENSRC_BASEDIR)
 
 $(CLDR_METAINFO_FILE): $(wildcard $(CLDRSRCDIR)/common/dtd/*.dtd) \
     $(wildcard $(CLDRSRCDIR)/common/main/*.xml) \
     $(wildcard $(CLDRSRCDIR)/common/supplemental/*.xml) \
     $(BUILD_TOOLS_JDK)
 	$(MKDIR) -p $(GENSRC_DIR)
-	$(TOOL_CLDRCONVERTER) -base $(CLDRSRCDIR) -o $(GENSRC_DIR)
+	$(TOOL_CLDRCONVERTER) -base $(CLDRSRCDIR) -baselocales $(CLDR_BASE_LOCALES) -o $(GENSRC_DIR)
 
-GENSRC_CLDR := $(CLDR_METAINFO_FILE)
-GENSRC_JDK_LOCALEDATA += $(GENSRC_CLDR)
+GENSRC_JAVA_BASE += $(CLDR_BASEMETAINFO_FILE)
+GENSRC_JDK_LOCALEDATA += $(CLDR_METAINFO_FILE)
--- a/make/gensrc/GensrcLocaleData.gmk	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/gensrc/GensrcLocaleData.gmk	Sun Jun 28 16:38:22 2015 -0700
@@ -42,51 +42,54 @@
 LOCALE_RESOURCES := $(sort $(subst .properties,,$(subst .java,,$(notdir $(LOCALE_FILES)))))
 
 # Include the list of resources found during the previous compile.
--include $(SUPPORT_OUTPUTDIR)/gensrc/java.base/_the.locale_resources
+-include $(SUPPORT_OUTPUTDIR)/gensrc/_the.locale_resources
 
 MISSING_RESOURCES := $(filter-out $(LOCALE_RESOURCES), $(PREV_LOCALE_RESOURCES))
 NEW_RESOURCES := $(filter-out $(PREV_LOCALE_RESOURCES), $(LOCALE_RESOURCES))
 
 ifneq (, $(MISSING_RESOURCES)$(NEW_RESOURCES))
   # There is a difference in the number of supported resources. Trigger a regeneration.
-  $(shell $(RM) $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/provider/LocaleDataMetaInfo.java)
+  $(shell $(RM) $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/provider/BaseLocaleDataMetaInfo.java \
+    $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/provider/NonBaseLocaleDataMetaInfo.java \
+    $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/cldr/CLDRBaseLocaleDataMetaInfo.java \
+    $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo_jdk_localedata.java)
 endif
 
-# The EN locales
-EN_LOCALES := en%
+# The base locales
+BASE_LOCALES := en en-US
 
 # Locales that don't have any resource files should be included here.
-ALL_NON_EN_LOCALES := ja-JP-JP nb-NO nn-NO th-TH-TH
+ALL_NON_BASE_LOCALES := ja-JP-JP nb-NO nn-NO th-TH-TH
 
-SED_ENARGS := -e 's|$(HASH)warn This file is preprocessed before being compiled|// -- This file was mechanically generated: Do not edit! -- //|g'
-SED_NONENARGS := $(SED_ENARGS)
+SED_BASEARGS := -e 's|$(HASH)warn This file is preprocessed before being compiled|// -- This file was mechanically generated: Do not edit! -- //|g'
+SED_NONBASEARGS := $(SED_BASEARGS)
 
 # Fill in the languages and package names
-SED_ENARGS += -e 's/$(HASH)Lang$(HASH)/En/' \
+SED_BASEARGS += -e 's/$(HASH)Lang$(HASH)/Base/' \
     -e 's/$(HASH)Package$(HASH)/sun.util.locale.provider/'
-SED_NONENARGS += -e 's/$(HASH)Lang$(HASH)/NonEn/' \
+SED_NONBASEARGS += -e 's/$(HASH)Lang$(HASH)/NonBase/' \
     -e 's/$(HASH)Package$(HASH)/sun.util.resources.provider/'
 
 # This macro creates a sed expression that substitues for example:
-# #FormatData_ENLocales# with: en% locales.
+# #FormatData_Locales# with: en-US locales.
 define CaptureLocale
   $1_LOCALES := $$(subst _,-,$$(filter-out $1, $$(subst $1_,,$$(filter $1_%, $(LOCALE_RESOURCES)))))
-  $1_EN_LOCALES := $$(filter $(EN_LOCALES), $$($1_LOCALES))
-  $1_NON_EN_LOCALES := $$(filter-out $(EN_LOCALES), $$($1_LOCALES))
+  $1_BASE_LOCALES := $$(filter $(BASE_LOCALES), $$($1_LOCALES))
+  $1_NON_BASE_LOCALES := $$(filter-out $(BASE_LOCALES), $$($1_LOCALES))
 
   # Special handling for Chinese locales to include implicit scripts
-  $1_NON_EN_LOCALES := $$(subst zh-CN,zh-CN$$(SPACE)zh-Hans-CN, $$($1_NON_EN_LOCALES))
-  $1_NON_EN_LOCALES := $$(subst zh-SG,zh-SG$$(SPACE)zh-Hans-SG, $$($1_NON_EN_LOCALES))
-  $1_NON_EN_LOCALES := $$(subst zh-HK,zh-HK$$(SPACE)zh-Hant-HK, $$($1_NON_EN_LOCALES))
-  $1_NON_EN_LOCALES := $$(subst zh-MO,zh-MO$$(SPACE)zh-Hant-MO, $$($1_NON_EN_LOCALES))
-  $1_NON_EN_LOCALES := $$(subst zh-TW,zh-TW$$(SPACE)zh-Hant-TW, $$($1_NON_EN_LOCALES))
+  $1_NON_BASE_LOCALES := $$(subst zh-CN,zh-CN$$(SPACE)zh-Hans-CN, $$($1_NON_BASE_LOCALES))
+  $1_NON_BASE_LOCALES := $$(subst zh-SG,zh-SG$$(SPACE)zh-Hans-SG, $$($1_NON_BASE_LOCALES))
+  $1_NON_BASE_LOCALES := $$(subst zh-HK,zh-HK$$(SPACE)zh-Hant-HK, $$($1_NON_BASE_LOCALES))
+  $1_NON_BASE_LOCALES := $$(subst zh-MO,zh-MO$$(SPACE)zh-Hant-MO, $$($1_NON_BASE_LOCALES))
+  $1_NON_BASE_LOCALES := $$(subst zh-TW,zh-TW$$(SPACE)zh-Hant-TW, $$($1_NON_BASE_LOCALES))
 
-  ALL_EN_LOCALES += $$($1_EN_LOCALES)
-  ALL_NON_EN_LOCALES += $$($1_NON_EN_LOCALES)
+  ALL_BASE_LOCALES += $$($1_BASE_LOCALES)
+  ALL_NON_BASE_LOCALES += $$($1_NON_BASE_LOCALES)
 
   # Don't sed in a space if there are no locales.
-  SED_ENARGS += -e 's/$$(HASH)$1_Locales$$(HASH)/$$(if $$($1_EN_LOCALES),$$(SPACE)$$($1_EN_LOCALES),)/g'
-  SED_NONENARGS += -e 's/$$(HASH)$1_Locales$$(HASH)/$$(if $$($1_NON_EN_LOCALES),$$(SPACE)$$($1_NON_EN_LOCALES),)/g'
+  SED_BASEARGS += -e 's/$$(HASH)$1_Locales$$(HASH)/$$(if $$($1_BASE_LOCALES),$$(SPACE)$$($1_BASE_LOCALES),)/g'
+  SED_NONBASEARGS += -e 's/$$(HASH)$1_Locales$$(HASH)/$$(if $$($1_NON_BASE_LOCALES),$$(SPACE)$$($1_NON_BASE_LOCALES),)/g'
 endef
 
 #sun.text.resources.FormatData
@@ -113,27 +116,27 @@
 #sun.util.resources.CalendarData
 $(eval $(call CaptureLocale,CalendarData))
 
-SED_ENARGS += -e 's/$(HASH)AvailableLocales_Locales$(HASH)/$(sort $(ALL_EN_LOCALES))/g'
-SED_NONENARGS += -e 's/$(HASH)AvailableLocales_Locales$(HASH)/$(sort $(ALL_NON_EN_LOCALES))/g'
+SED_BASEARGS += -e 's/$(HASH)AvailableLocales_Locales$(HASH)/$(sort $(ALL_BASE_LOCALES))/g'
+SED_NONBASEARGS += -e 's/$(HASH)AvailableLocales_Locales$(HASH)/$(sort $(ALL_NON_BASE_LOCALES))/g'
 
-$(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/provider/EnLocaleDataMetaInfo.java: \
+$(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/provider/BaseLocaleDataMetaInfo.java: \
     $(JDK_TOPDIR)/src/java.base/share/classes/sun/util/locale/provider/LocaleDataMetaInfo-XLocales.java.template
 	$(MKDIR) -p $(@D)
-	$(ECHO) Creating sun/util/locale/provider/EnLocaleDataMetaInfo.java from $(words $(LOCALE_RESOURCES)) found resources.
+	$(ECHO) Creating sun/util/locale/provider/BaseLocaleDataMetaInfo.java from $(words $(LOCALE_RESOURCES)) found resources.
 	$(PRINTF) "PREV_LOCALE_RESOURCES:=$(LOCALE_RESOURCES)" \
 	    > $(SUPPORT_OUTPUTDIR)/gensrc/_the.locale_resources
-	$(SED) $(SED_ENARGS) $< > $@
+	$(SED) $(SED_BASEARGS) $< > $@
 
-$(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/provider/NonEnLocaleDataMetaInfo.java: \
+$(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/provider/NonBaseLocaleDataMetaInfo.java: \
     $(JDK_TOPDIR)/src/java.base/share/classes/sun/util/locale/provider/LocaleDataMetaInfo-XLocales.java.template
 	$(MKDIR) -p $(@D)
-	$(ECHO) Creating sun/util/resources/provider/NonEnLocaleDataMetaInfo.java from $(words $(LOCALE_RESOURCES)) found resources.
+	$(ECHO) Creating sun/util/resources/provider/NonBaseLocaleDataMetaInfo.java from $(words $(LOCALE_RESOURCES)) found resources.
 	$(PRINTF) "PREV_LOCALE_RESOURCES:=$(LOCALE_RESOURCES)" \
-	    > $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/_the.locale_resources
-	$(SED) $(SED_NONENARGS) $< > $@
+	    > $(SUPPORT_OUTPUTDIR)/gensrc/_the.locale_resources
+	$(SED) $(SED_NONBASEARGS) $< > $@
 
-GENSRC_BASELOCALEDATA := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/provider/EnLocaleDataMetaInfo.java
-GENSRC_LOCALEDATA := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/provider/NonEnLocaleDataMetaInfo.java
+GENSRC_BASELOCALEDATA := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/provider/BaseLocaleDataMetaInfo.java
+GENSRC_LOCALEDATA := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata/sun/util/resources/provider/NonBaseLocaleDataMetaInfo.java
 
 ################################################################################
 
--- a/make/lib/CoreLibraries.gmk	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/lib/CoreLibraries.gmk	Sun Jun 28 16:38:22 2015 -0700
@@ -161,7 +161,7 @@
         -export:getLastErrorString \
         jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
         shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
-        advapi32.lib, \
+        advapi32.lib version.lib, \
     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
     RC_FLAGS := $(RC_FLAGS) \
         -D "JDK_FNAME=java.dll" \
--- a/make/src/classes/build/tools/cldrconverter/AbstractLDMLHandler.java	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/src/classes/build/tools/cldrconverter/AbstractLDMLHandler.java	Sun Jun 28 16:38:22 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -122,6 +122,15 @@
     }
 
     /**
+     * start an element that defines an alias entry, with the value provided by the element's alias.
+     */
+    void pushAliasEntry(String qName, Attributes attributes, String key) {
+        if (!pushIfIgnored(qName, attributes)) {
+            currentContainer = new AliasEntry(qName, currentContainer, key);
+        }
+    }
+
+    /**
      * start an element that defines a string entry, with the value provided by an attribute value.
      */
     void pushStringEntry(String qName, Attributes attributes, String key, String value) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/src/classes/build/tools/cldrconverter/AliasEntry.java	Sun Jun 28 16:38:22 2015 -0700
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package build.tools.cldrconverter;
+
+class AliasEntry extends StringEntry {
+    AliasEntry(String qName, Container parent, String key) {
+        super(qName, parent, key);
+    }
+
+    AliasEntry(String qName, Container parent, String key, String value) {
+        super(qName, parent, key, value);
+    }
+}
--- a/make/src/classes/build/tools/cldrconverter/Bundle.java	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/src/classes/build/tools/cldrconverter/Bundle.java	Sun Jun 28 16:38:22 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 class Bundle {
     static enum Type {
@@ -81,7 +82,10 @@
     };
 
     private final static String[] DATETIME_PATTERN_KEYS = {
-        "DateTimePatterns/date-time"
+        "DateTimePatterns/full-dateTime",
+        "DateTimePatterns/long-dateTime",
+        "DateTimePatterns/medium-dateTime",
+        "DateTimePatterns/short-dateTime",
     };
 
     private final static String[] ERA_KEYS = {
@@ -170,6 +174,7 @@
         for (index = 0; index < cldrBundles.length; index++) {
             if (cldrBundles[index].equals(id)) {
                 myMap.putAll(CLDRConverter.getCLDRBundle(cldrBundles[index]));
+                CLDRConverter.handleAliases(myMap);
                 break;
             }
         }
@@ -179,10 +184,11 @@
         for (int i = cldrBundles.length - 1; i > index; i--) {
             if (!("no".equals(cldrBundles[i]) || cldrBundles[i].startsWith("no_"))) {
                 parentsMap.putAll(CLDRConverter.getCLDRBundle(cldrBundles[i]));
+                CLDRConverter.handleAliases(parentsMap);
             }
         }
         // Duplicate myMap as parentsMap for "root" so that the
-        // fallback works. This is a huck, though.
+        // fallback works. This is a hack, though.
         if ("root".equals(cldrBundles[0])) {
             assert parentsMap.isEmpty();
             parentsMap.putAll(myMap);
@@ -370,6 +376,17 @@
                 }
             }
         }
+
+        // Remove all duplicates
+        if (Objects.nonNull(parentsMap)) {
+            for (Iterator<String> it = myMap.keySet().iterator(); it.hasNext();) {
+                String key = it.next();
+                if (Objects.deepEquals(parentsMap.get(key), myMap.get(key))) {
+                    it.remove();
+                }
+            }
+        }
+
         return myMap;
     }
 
@@ -506,11 +523,6 @@
                 if (patterns.isEmpty()) {
                     return;
                 }
-                for (String p : patterns) {
-                    if (p == null) {
-                        return;
-                    }
-                }
                 String key = calendarPrefix + name;
                 if (!rawPatterns.equals(patterns)) {
                     myMap.put("java.time." + key, rawPatterns.toArray(new String[len]));
@@ -630,7 +642,9 @@
                     if (name.contains("Standard Time")) {
                         name = name.replace("Standard Time", "Daylight Time");
                     } else if (name.endsWith("Mean Time")) {
+                        if (!name.startsWith("Greenwich ")) {
                         name = name.replace("Mean Time", "Summer Time");
+                        }
                     } else if (name.endsWith(" Time")) {
                         name = name.replace(" Time", " Summer Time");
                     }
@@ -644,8 +658,10 @@
                     if (name.endsWith("Standard Time")) {
                         name = name.replace("Standard Time", "Time");
                     } else if (name.endsWith("Mean Time")) {
+                        if (!name.startsWith("Greenwich ")) {
                         name = name.replace("Mean Time", "Time");
                     }
+                    }
                     map.put(TZ_GEN_LONG_KEY, name);
                     fillInAbbrs(TZ_GEN_LONG_KEY, TZ_GEN_SHORT_KEY, map);
                 }
@@ -712,6 +728,15 @@
             }
             break;
 
+        case 'l':
+            // 'l' is deprecated as a pattern character. Should be ignored.
+            break;
+
+        case 'u':
+            // Use 'y' for now.
+            appendN('y', count, sb);
+            break;
+
         case 'v':
         case 'V':
             appendN('z', count, sb);
@@ -723,16 +748,14 @@
             }
             break;
 
-        case 'u':
         case 'U':
         case 'q':
         case 'Q':
-        case 'l':
         case 'g':
         case 'j':
         case 'A':
-            throw new InternalError(String.format("Unsupported letter: '%c', count=%d%n",
-                                                  cldrLetter, count));
+            throw new InternalError(String.format("Unsupported letter: '%c', count=%d, id=%s%n",
+                                                  cldrLetter, count, id));
         default:
             appendN(cldrLetter, count, sb);
             break;
--- a/make/src/classes/build/tools/cldrconverter/CLDRConverter.java	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/src/classes/build/tools/cldrconverter/CLDRConverter.java	Sun Jun 28 16:38:22 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,9 @@
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.*;
+import java.util.ResourceBundle.Control;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
 import org.xml.sax.SAXNotRecognizedException;
@@ -64,12 +67,22 @@
     static final String TIMEZONE_ID_PREFIX = "timezone.id.";
     static final String ZONE_NAME_PREFIX = "timezone.displayname.";
     static final String METAZONE_ID_PREFIX = "metazone.id.";
+    static final String PARENT_LOCALE_PREFIX = "parentLocale.";
 
     private static SupplementDataParseHandler handlerSuppl;
     static NumberingSystemsParseHandler handlerNumbering;
     static MetaZonesParseHandler handlerMetaZones;
     private static BundleGenerator bundleGenerator;
 
+    // java.base module related
+    static boolean isBaseModule = false;
+    static final Set<Locale> BASE_LOCALES = new HashSet<>();
+
+    // "parentLocales" map
+    private static final Map<String, SortedSet<String>> parentLocalesMap = new HashMap<>();
+    private static final ResourceBundle.Control defCon =
+        ResourceBundle.Control.getControl(ResourceBundle.Control.FORMAT_DEFAULT);
+
     static enum DraftType {
         UNCONFIRMED,
         PROVISIONAL,
@@ -142,6 +155,16 @@
                         }
                         break;
 
+                    case "-baselocales":
+                        // base locales
+                        setupBaseLocales(args[++i]);
+                        break;
+
+                    case "-basemodule":
+                        // indicates java.base module resource generation
+                        isBaseModule = true;
+                        break;
+
                     case "-o":
                         // output directory
                         DESTINATION_DIR = args[++i];
@@ -179,8 +202,15 @@
         NUMBERING_SOURCE_FILE = CLDR_BASE + "common/supplemental/numberingSystems.xml";
         METAZONES_SOURCE_FILE = CLDR_BASE + "common/supplemental/metaZones.xml";
 
+        if (BASE_LOCALES.isEmpty()) {
+            setupBaseLocales("en-US");
+        }
+
         bundleGenerator = new ResourceBundleGenerator();
 
+        // Parse data independent of locales
+        parseSupplemental();
+
         List<Bundle> bundles = readBundleList();
         convertBundles(bundles);
     }
@@ -192,6 +222,9 @@
                 + "\t-draft [approved | provisional | unconfirmed]%n"
                 + "\t\t       draft level for using data (default: approved)%n"
                 + "\t-base dir      base directory for CLDR input files%n"
+                + "\t-basemodule    generates bundles that go into java.base module%n"
+                + "\t-baselocales loc(,loc)*      locales that go into the base module%n"
+                + "\t-o dir         output directory (default: ./build/gensrc)%n"
                 + "\t-o dir         output directory (defaut: ./build/gensrc)%n"
                 + "\t-utf8          use UTF-8 rather than \\uxxxx (for debug)%n");
     }
@@ -248,7 +281,6 @@
     }
 
     private static List<Bundle> readBundleList() throws Exception {
-        ResourceBundle.Control defCon = ResourceBundle.Control.getControl(ResourceBundle.Control.FORMAT_DEFAULT);
         List<Bundle> retList = new ArrayList<>();
         Path path = FileSystems.getDefault().getPath(SOURCE_FILE_DIR);
         try (DirectoryStream<Path> dirStr = Files.newDirectoryStream(path)) {
@@ -257,7 +289,7 @@
                 if (fileName.endsWith(".xml")) {
                     String id = fileName.substring(0, fileName.indexOf('.'));
                     Locale cldrLoc = Locale.forLanguageTag(toLanguageTag(id));
-                    List<Locale> candList = defCon.getCandidateLocales("", cldrLoc);
+                    List<Locale> candList = applyParentLocales("", defCon.getCandidateLocales("", cldrLoc));
                     StringBuilder sb = new StringBuilder();
                     for (Locale loc : candList) {
                         if (!loc.equals(Locale.ROOT)) {
@@ -269,9 +301,9 @@
                         sb.append("root");
                     }
                     Bundle b = new Bundle(id, sb.toString(), null, null);
-                    // Insert the bundle for en at the top so that it will get
+                    // Insert the bundle for root at the top so that it will get
                     // processed first.
-                    if ("en".equals(id)) {
+                    if ("root".equals(id)) {
                         retList.add(0, b);
                     } else {
                         retList.add(b);
@@ -282,7 +314,7 @@
         return retList;
     }
 
-    private static Map<String, Map<String, Object>> cldrBundles = new HashMap<>();
+    private static final Map<String, Map<String, Object>> cldrBundles = new HashMap<>();
 
     static Map<String, Object> getCLDRBundle(String id) throws Exception {
         Map<String, Object> bundle = cldrBundles.get(id);
@@ -319,12 +351,19 @@
         return bundle;
     }
 
-    private static void convertBundles(List<Bundle> bundles) throws Exception {
+    // Parsers for data in "supplemental" directory
+    //
+    private static void parseSupplemental() throws Exception {
         // Parse SupplementalData file and store the information in the HashMap
         // Calendar information such as firstDay and minDay are stored in
         // supplementalData.xml as of CLDR1.4. Individual territory is listed
         // with its ISO 3166 country code while default is listed using UNM49
         // region and composition numerical code (001 for World.)
+        //
+        // SupplementalData file also provides the "parent" locales which
+        // are othrwise not to be fallen back. Process them here as well.
+        //
+        info("..... Parsing supplementalData.xml .....");
         SAXParserFactory factorySuppl = SAXParserFactory.newInstance();
         factorySuppl.setValidating(true);
         SAXParser parserSuppl = factorySuppl.newSAXParser();
@@ -332,8 +371,14 @@
         handlerSuppl = new SupplementDataParseHandler();
         File fileSupply = new File(SPPL_SOURCE_FILE);
         parserSuppl.parse(fileSupply, handlerSuppl);
+        Map<String, Object> parentData = handlerSuppl.getData("root");
+        parentData.keySet().forEach(key -> {
+                parentLocalesMap.put(key, new TreeSet(
+                    Arrays.asList(((String)parentData.get(key)).split(" "))));
+            });
 
         // Parse numberingSystems to get digit zero character information.
+        info("..... Parsing numberingSystem.xml .....");
         SAXParserFactory numberingParser = SAXParserFactory.newInstance();
         numberingParser.setValidating(true);
         SAXParser parserNumbering = numberingParser.newSAXParser();
@@ -343,6 +388,7 @@
         parserNumbering.parse(fileNumbering, handlerNumbering);
 
         // Parse metaZones to create mappings between Olson tzids and CLDR meta zone names
+        info("..... Parsing metaZones.xml .....");
         SAXParserFactory metazonesParser = SAXParserFactory.newInstance();
         metazonesParser.setValidating(true);
         SAXParser parserMetaZones = metazonesParser.newSAXParser();
@@ -350,14 +396,23 @@
         handlerMetaZones = new MetaZonesParseHandler();
         File fileMetaZones = new File(METAZONES_SOURCE_FILE);
         parserNumbering.parse(fileMetaZones, handlerMetaZones);
+    }
 
+    private static void convertBundles(List<Bundle> bundles) throws Exception {
         // For generating information on supported locales.
         Map<String, SortedSet<String>> metaInfo = new HashMap<>();
-        metaInfo.put("LocaleNames", new TreeSet<String>());
-        metaInfo.put("CurrencyNames", new TreeSet<String>());
-        metaInfo.put("TimeZoneNames", new TreeSet<String>());
-        metaInfo.put("CalendarData", new TreeSet<String>());
-        metaInfo.put("FormatData", new TreeSet<String>());
+        metaInfo.put("LocaleNames", new TreeSet<>());
+        metaInfo.put("CurrencyNames", new TreeSet<>());
+        metaInfo.put("TimeZoneNames", new TreeSet<>());
+        metaInfo.put("CalendarData", new TreeSet<>());
+        metaInfo.put("FormatData", new TreeSet<>());
+        metaInfo.put("AvailableLocales", new TreeSet<>());
+
+        // parent locales map. The mappings are put in base metaInfo file
+        // for now.
+        if (isBaseModule) {
+            metaInfo.putAll(parentLocalesMap);
+        }
 
         for (Bundle bundle : bundles) {
             // Get the target map, which contains all the data that should be
@@ -367,21 +422,7 @@
 
             EnumSet<Bundle.Type> bundleTypes = bundle.getBundleTypes();
 
-            // Fill in any missing resources in the base bundle from en and en-US data.
-            // This is because CLDR root.xml is supposed to be language neutral and doesn't
-            // provide some resource data. Currently, the runtime assumes that there are all
-            // resources though the parent resource bundle chain.
             if (bundle.isRoot()) {
-                Map<String, Object> enData = new HashMap<>();
-                // Create a superset of en-US and en bundles data in order to
-                // fill in any missing resources in the base bundle.
-                enData.putAll(Bundle.getBundle("en").getTargetMap());
-                enData.putAll(Bundle.getBundle("en_US").getTargetMap());
-                for (String key : enData.keySet()) {
-                    if (!targetMap.containsKey(key)) {
-                        targetMap.put(key, enData.get(key));
-                    }
-                }
                 // Add DateTimePatternChars because CLDR no longer supports localized patterns.
                 targetMap.put("DateTimePatternChars", "GyMdkHmsSEDFwWahKzZ");
             }
@@ -418,60 +459,56 @@
             }
             if (bundleTypes.contains(Bundle.Type.FORMATDATA)) {
                 Map<String, Object> formatDataMap = extractFormatData(targetMap, bundle.getID());
-                // LocaleData.getAvailableLocales depends on having FormatData bundles around
                 if (!formatDataMap.isEmpty() || bundle.isRoot()) {
                     metaInfo.get("FormatData").add(toLanguageTag(bundle.getID()));
                     bundleGenerator.generateBundle("text", "FormatData", bundle.getID(), true, formatDataMap, BundleType.PLAIN);
                 }
             }
 
-            // For testing
-            SortedSet<String> allLocales = new TreeSet<>();
-            allLocales.addAll(metaInfo.get("CurrencyNames"));
-            allLocales.addAll(metaInfo.get("LocaleNames"));
-            allLocales.addAll(metaInfo.get("CalendarData"));
-            allLocales.addAll(metaInfo.get("FormatData"));
-            metaInfo.put("AvailableLocales", allLocales);
+            // For AvailableLocales
+            metaInfo.get("AvailableLocales").add(toLanguageTag(bundle.getID()));
         }
 
         bundleGenerator.generateMetaInfo(metaInfo);
     }
 
+    static final Map<String, String> aliases = new HashMap<>();
+
+    /**
+     * Translate the aliases into the real entries in the bundle map.
+     */
+    static void handleAliases(Map<String, Object> bundleMap) {
+        Set bundleKeys = bundleMap.keySet();
+        try {
+            for (String key : aliases.keySet()) {
+                String targetKey = aliases.get(key);
+                if (bundleKeys.contains(targetKey)) {
+                    bundleMap.putIfAbsent(key, bundleMap.get(targetKey));
+                }
+            }
+        } catch (Exception ex) {
+            Logger.getLogger(CLDRConverter.class.getName()).log(Level.SEVERE, null, ex);
+        }
+    }
+
     /*
      * Returns the language portion of the given id.
      * If id is "root", "" is returned.
      */
     static String getLanguageCode(String id) {
-        int index = id.indexOf('_');
-        String lang = null;
-        if (index != -1) {
-            lang = id.substring(0, index);
-        } else {
-            lang = "root".equals(id) ? "" : id;
-        }
-        return lang;
+        return "root".equals(id) ? "" : Locale.forLanguageTag(id.replaceAll("_", "-")).getLanguage();
     }
 
     /**
      * Examine if the id includes the country (territory) code. If it does, it returns
      * the country code.
      * Otherwise, it returns null. eg. when the id is "zh_Hans_SG", it return "SG".
+     * For now, it does not return US M.49 code, e.g., '001', as those three digit numbers cannot
+     * be translated into package names.
      */
-    private static String getCountryCode(String id) {
-        //Truncate a variant code with '@' if there is any
-        //(eg. de_DE@collation=phonebook,currency=DOM)
-        if (id.indexOf('@') != -1) {
-            id = id.substring(0, id.indexOf('@'));
-        }
-        String[] tokens = id.split("_");
-        for (int index = 1; index < tokens.length; ++index) {
-            if (tokens[index].length() == 2
-                    && Character.isLetter(tokens[index].charAt(0))
-                    && Character.isLetter(tokens[index].charAt(1))) {
-                return tokens[index];
-            }
-        }
-        return null;
+    static String getCountryCode(String id) {
+        String ctry = Locale.forLanguageTag(id.replaceAll("_", "-")).getCountry();
+        return ctry.length() == 2 ? ctry : null;
     }
 
     private static class KeyComparator implements Comparator<String> {
@@ -598,6 +635,9 @@
     private static Map<String, Object> extractFormatData(Map<String, Object> map, String id) {
         Map<String, Object> formatData = new LinkedHashMap<>();
         for (CalendarType calendarType : CalendarType.values()) {
+            if (calendarType == CalendarType.GENERIC) {
+                continue;
+            }
             String prefix = calendarType.keyElementName();
             for (String element : FORMAT_DATA_ELEMENTS) {
                 String key = prefix + element;
@@ -605,28 +645,15 @@
                 copyIfPresent(map, key, formatData);
             }
         }
-        // Workaround for islamic-umalqura name support (JDK-8015986)
-        switch (id) {
-        case "ar":
-            map.put(CLDRConverter.CALENDAR_NAME_PREFIX
-                    + CalendarType.ISLAMIC_UMALQURA.lname(),
-                    // derived from CLDR 24 draft
-                    "\u0627\u0644\u062a\u0642\u0648\u064a\u0645 "
-                    +"\u0627\u0644\u0625\u0633\u0644\u0627\u0645\u064a "
-                    +"[\u0623\u0645 \u0627\u0644\u0642\u0631\u0649]");
-            break;
-        case "en":
-            map.put(CLDRConverter.CALENDAR_NAME_PREFIX
-                    + CalendarType.ISLAMIC_UMALQURA.lname(),
-                    // derived from CLDR 24 draft
-                    "Islamic Calendar [Umm al-Qura]");
-            break;
-        }
+
+        for (String key : map.keySet()) {
         // Copy available calendar names
-        for (String key : map.keySet()) {
             if (key.startsWith(CLDRConverter.CALENDAR_NAME_PREFIX)) {
                 String type = key.substring(CLDRConverter.CALENDAR_NAME_PREFIX.length());
                 for (CalendarType calendarType : CalendarType.values()) {
+                    if (calendarType == CalendarType.GENERIC) {
+                        continue;
+                    }
                     if (type.equals(calendarType.lname())) {
                         Object value = map.get(key);
                         formatData.put(key, value);
@@ -745,4 +772,43 @@
         }
         return tag.replaceAll("-", "_");
     }
+
+    private static void setupBaseLocales(String localeList) {
+        Arrays.stream(localeList.split(","))
+            .map(Locale::forLanguageTag)
+            .map(l -> Control.getControl(Control.FORMAT_DEFAULT)
+                             .getCandidateLocales("", l))
+            .forEach(BASE_LOCALES::addAll);
 }
+
+    // applying parent locale rules to the passed candidates list
+    // This has to match with the one in sun.util.cldr.CLDRLocaleProviderAdapter
+    private static Map<Locale, Locale> childToParentLocaleMap = null;
+    private static List<Locale> applyParentLocales(String baseName, List<Locale> candidates) {
+        if (Objects.isNull(childToParentLocaleMap)) {
+            childToParentLocaleMap = new HashMap<>();
+            parentLocalesMap.keySet().forEach(key -> {
+                String parent = key.substring(PARENT_LOCALE_PREFIX.length()).replaceAll("_", "-");
+                parentLocalesMap.get(key).stream().forEach(child -> {
+                    childToParentLocaleMap.put(Locale.forLanguageTag(child),
+                        "root".equals(parent) ? Locale.ROOT : Locale.forLanguageTag(parent));
+                });
+            });
+        }
+
+        // check irregular parents
+        for (int i = 0; i < candidates.size(); i++) {
+            Locale l = candidates.get(i);
+            Locale p = childToParentLocaleMap.get(l);
+            if (!l.equals(Locale.ROOT) &&
+                Objects.nonNull(p) &&
+                !candidates.get(i+1).equals(p)) {
+                List<Locale> applied = candidates.subList(0, i+1);
+                applied.addAll(applyParentLocales(baseName, defCon.getCandidateLocales(baseName, p)));
+                return applied;
+            }
+        }
+
+        return candidates;
+    }
+}
--- a/make/src/classes/build/tools/cldrconverter/CalendarType.java	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/src/classes/build/tools/cldrconverter/CalendarType.java	Sun Jun 28 16:38:22 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,19 +29,21 @@
 
 /**
  * Constants for the Calendars supported by JRE.
+ * Note that "GENERIC" calendar data will NOT be extracted to JDK's ResourceBundles.
  */
 enum CalendarType {
-    GREGORIAN("gregory"), BUDDHIST, JAPANESE, ROC,
-    ISLAMIC, ISLAMIC_CIVIL("islamicc"), ISLAMIC_UMALQURA("islamic-umalqura");
+    GENERIC, GREGORIAN("gregory"), BUDDHIST, JAPANESE, ROC,
+    ISLAMIC, ISLAMIC_CIVIL("islamic-civil"), ISLAMIC_UMALQURA("islamic-umalqura");
 
     private static final int[][] ERA_DATA = {
         // start index, array length
+        {0,   2},   // generic
         {0,   2},   // gregorian
         {0,   1},   // buddhist
         {232, 4},   // japanese (eras from Meiji)
         {0,   2},   // roc (Minguo)
         {0,   1},   // islamic (Hijrah)
-        {0,   1},   // islamicc (same as islamic)
+        {0,   1},   // islamic-civil (same as islamic)
         {0,   1},   // islamic-umalqura
     };
 
@@ -87,7 +89,7 @@
 
     static CalendarType forName(String name) {
         for (CalendarType type : values()) {
-            if (type.lname.equals(name)) {
+            if (type.lname.equals(name) || type.uname.equals(name)) {
                 return type;
             }
         }
--- a/make/src/classes/build/tools/cldrconverter/CopyrightHeaders.java	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/src/classes/build/tools/cldrconverter/CopyrightHeaders.java	Sun Jun 28 16:38:22 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,41 +41,46 @@
         " * Copyright (c) 2012, %d, Oracle and/or its affiliates. All rights reserved.\n" +
         " */\n";
 
+    // Last updated:  - 1/16/2015, 1:42:31 PM
     private static final String UNICODE =
         "/*\n" +
         " * COPYRIGHT AND PERMISSION NOTICE\n" +
         " *\n" +
-        " * Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under\n" +
-        " * the Terms of Use in http://www.unicode.org/copyright.html.\n" +
+        " * Copyright (C) 1991-2015 Unicode, Inc. All rights reserved.\n" +
+        " * Distributed under the Terms of Use in \n" +
+        " * http://www.unicode.org/copyright.html.\n" +
         " *\n" +
-        " * Permission is hereby granted, free of charge, to any person obtaining a copy\n" +
-        " * of the Unicode data files and any associated documentation (the \"Data\n" +
-        " * Files\") or Unicode software and any associated documentation (the\n" +
-        " * \"Software\") to deal in the Data Files or Software without restriction,\n" +
-        " * including without limitation the rights to use, copy, modify, merge,\n" +
-        " * publish, distribute, and/or sell copies of the Data Files or Software, and\n" +
-        " * to permit persons to whom the Data Files or Software are furnished to do so,\n" +
-        " * provided that (a) the above copyright notice(s) and this permission notice\n" +
-        " * appear with all copies of the Data Files or Software, (b) both the above\n" +
-        " * copyright notice(s) and this permission notice appear in associated\n" +
-        " * documentation, and (c) there is clear notice in each modified Data File or\n" +
-        " * in the Software as well as in the documentation associated with the Data\n" +
-        " * File(s) or Software that the data or software has been modified.\n" +
+        " * Permission is hereby granted, free of charge, to any person obtaining\n" +
+        " * a copy of the Unicode data files and any associated documentation\n" +
+        " * (the \"Data Files\") or Unicode software and any associated documentation\n" +
+        " * (the \"Software\") to deal in the Data Files or Software\n" +
+        " * without restriction, including without limitation the rights to use,\n" +
+        " * copy, modify, merge, publish, distribute, and/or sell copies of\n" +
+        " * the Data Files or Software, and to permit persons to whom the Data Files\n" +
+        " * or Software are furnished to do so, provided that\n" +
+        " * (a) this copyright and permission notice appear with all copies \n" +
+        " * of the Data Files or Software,\n" +
+        " * (b) this copyright and permission notice appear in associated \n" +
+        " * documentation, and\n" +
+        " * (c) there is clear notice in each modified Data File or in the Software\n" +
+        " * as well as in the documentation associated with the Data File(s) or\n" +
+        " * Software that the data or software has been modified.\n" +
         " *\n" +
-        " * THE DATA FILES AND SOFTWARE ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY\n" +
-        " * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" +
-        " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF\n" +
-        " * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS\n" +
-        " * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR\n" +
-        " * CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\n" +
+        " * THE DATA FILES AND SOFTWARE ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF\n" +
+        " * ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE\n" +
+        " * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n" +
+        " * NONINFRINGEMENT OF THIRD PARTY RIGHTS.\n" +
+        " * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS\n" +
+        " * NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL\n" +
+        " * DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\n" +
         " * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n" +
-        " * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE\n" +
-        " * OF THE DATA FILES OR SOFTWARE.\n" +
+        " * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n" +
+        " * PERFORMANCE OF THE DATA FILES OR SOFTWARE.\n" +
         " *\n" +
-        " * Except as contained in this notice, the name of a copyright holder shall not\n" +
-        " * be used in advertising or otherwise to promote the sale, use or other\n" +
-        " * dealings in these Data Files or Software without prior written authorization\n" +
-        " * of the copyright holder.\n" +
+        " * Except as contained in this notice, the name of a copyright holder\n" +
+        " * shall not be used in advertising or otherwise to promote the sale,\n" +
+        " * use or other dealings in these Data Files or Software without prior\n" +
+        " * written authorization of the copyright holder.\n" +
         " */\n";
 
     private static String OPENJDK2012 =
--- a/make/src/classes/build/tools/cldrconverter/LDMLParseHandler.java	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/src/classes/build/tools/cldrconverter/LDMLParseHandler.java	Sun Jun 28 16:38:22 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,9 +29,11 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Set;
 import org.xml.sax.Attributes;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
@@ -47,6 +49,8 @@
     private String zoneNameStyle; // "long" or "short" for time zone names
     private String zonePrefix;
     private final String id;
+    private String currentContext = ""; // "format"/"stand-alone"
+    private String currentWidth = ""; // "wide"/"narrow"/"abbreviated"
 
     LDMLParseHandler(String id) {
         this.id = id;
@@ -78,20 +82,17 @@
                 pushIgnoredContainer(qName);
             }
             break;
+
         case "language":
+        case "script":
+        case "territory":
+        case "variant":
             // for LocaleNames
             // copy string
-            pushStringEntry(qName, attributes, CLDRConverter.LOCALE_NAME_PREFIX + attributes.getValue("type"));
-            break;
-        case "script":
-            // for LocaleNames
-            // copy string
-            pushStringEntry(qName, attributes, CLDRConverter.LOCALE_NAME_PREFIX + attributes.getValue("type"));
-            break;
-        case "territory":
-            // for LocaleNames
-            // copy string
-            pushStringEntry(qName, attributes, CLDRConverter.LOCALE_NAME_PREFIX + attributes.getValue("type"));
+            pushStringEntry(qName, attributes,
+                CLDRConverter.LOCALE_NAME_PREFIX +
+                (qName.equals("variant") ? "%%" : "") +
+                attributes.getValue("type"));
             break;
 
         //
@@ -112,9 +113,10 @@
         // Calendar or currency
         case "displayName":
             {
-                if (currentCalendarType != null) {
+                if (currentContainer.getqName().equals("field")) {
                     pushStringEntry(qName, attributes,
-                            currentCalendarType.keyElementName() + "field." + getContainerKey());
+                            (currentCalendarType != null ? currentCalendarType.keyElementName() : "")
+                            + "field." + getContainerKey());
                 } else {
                     // for CurrencyNames
                     // need to get the key from the containing <currency> element
@@ -149,10 +151,8 @@
             }
             break;
         case "fields":
-            if (currentCalendarType != null) {
+            {
                 pushContainer(qName, attributes);
-            } else {
-                pushIgnoredContainer(qName);
             }
             break;
         case "field":
@@ -183,6 +183,7 @@
                 // need to keep stand-alone and format, to allow for inheritance in CLDR
                 String type = attributes.getValue("type");
                 if ("stand-alone".equals(type) || "format".equals(type)) {
+                    currentContext = type;
                     pushKeyContainer(qName, attributes, type);
                 } else {
                     pushIgnoredContainer(qName);
@@ -194,8 +195,13 @@
                 // for FormatData
                 // create string array for the two types that the JRE knows
                 // keep info about the context type so we can sort out inheritance later
+                if (currentCalendarType == null) {
+                    pushIgnoredContainer(qName);
+                    break;
+                }
                 String prefix = (currentCalendarType == null) ? "" : currentCalendarType.keyElementName();
-                switch (attributes.getValue("type")) {
+                currentWidth = attributes.getValue("type");
+                switch (currentWidth) {
                 case "wide":
                     pushStringArrayEntry(qName, attributes, prefix + "MonthNames/" + getContainerKey(), 13);
                     break;
@@ -222,6 +228,7 @@
                 // need to keep stand-alone and format, to allow for multiple inheritance in CLDR
                 String type = attributes.getValue("type");
                 if ("stand-alone".equals(type) || "format".equals(type)) {
+                    currentContext = type;
                     pushKeyContainer(qName, attributes, type);
                 } else {
                     pushIgnoredContainer(qName);
@@ -234,7 +241,8 @@
                 // create string array for the two types that the JRE knows
                 // keep info about the context type so we can sort out inheritance later
                 String prefix = (currentCalendarType == null) ? "" : currentCalendarType.keyElementName();
-                switch (attributes.getValue("type")) {
+                currentWidth = attributes.getValue("type");
+                switch (currentWidth) {
                 case "wide":
                     pushStringArrayEntry(qName, attributes, prefix + "DayNames/" + getContainerKey(), 7);
                     break;
@@ -263,6 +271,7 @@
             {
                 String type = attributes.getValue("type");
                 if ("stand-alone".equals(type) || "format".equals(type)) {
+                    currentContext = type;
                     pushKeyContainer(qName, attributes, type);
                 } else {
                     pushIgnoredContainer(qName);
@@ -272,7 +281,8 @@
         case "dayPeriodWidth":
             // for FormatData
             // create string array entry for am/pm. only keeping wide
-            switch (attributes.getValue("type")) {
+            currentWidth = attributes.getValue("type");
+            switch (currentWidth) {
             case "wide":
                 pushStringArrayEntry(qName, attributes, "AmPmMarkers/" + getContainerKey(), 2);
                 break;
@@ -362,6 +372,7 @@
                 // need to keep stand-alone and format, to allow for inheritance in CLDR
                 String type = attributes.getValue("type");
                 if ("stand-alone".equals(type) || "format".equals(type)) {
+                    currentContext = type;
                     pushKeyContainer(qName, attributes, type);
                 } else {
                     pushIgnoredContainer(qName);
@@ -373,7 +384,8 @@
                 // for FormatData
                 // keep info about the context type so we can sort out inheritance later
                 String prefix = (currentCalendarType == null) ? "" : currentCalendarType.keyElementName();
-                switch (attributes.getValue("type")) {
+                currentWidth = attributes.getValue("type");
+                switch (currentWidth) {
                 case "wide":
                     pushStringArrayEntry(qName, attributes, prefix + "QuarterNames/" + getContainerKey(), 4);
                     break;
@@ -450,12 +462,20 @@
         case "currencyFormat":
             // for FormatData
             // copy string for later assembly into NumberPatterns
+            if (attributes.getValue("type").equals("standard")) {
             pushStringEntry(qName, attributes, "NumberPatterns/currency");
+            } else {
+                pushIgnoredContainer(qName);
+            }
             break;
         case "percentFormat":
             // for FormatData
             // copy string for later assembly into NumberPatterns
+            if (attributes.getValue("type").equals("standard")) {
             pushStringEntry(qName, attributes, "NumberPatterns/percent");
+            } else {
+                pushIgnoredContainer(qName);
+            }
             break;
         case "defaultNumberingSystem":
             // default numbering system if multiple numbering systems are used.
@@ -582,12 +602,12 @@
                 pushStringEntry(qName, attributes, prefix + "DateTimePatterns/" + attributes.getValue("type") + "-date");
             }
             break;
-        case "dateTimeFormat":
+        case "dateTimeFormatLength":
             {
                 // for FormatData
                 // copy string for later assembly into DateTimePatterns
                 String prefix = (currentCalendarType == null) ? "" : currentCalendarType.keyElementName();
-                pushStringEntry(qName, attributes, prefix + "DateTimePatterns/date-time");
+                pushStringEntry(qName, attributes, prefix + "DateTimePatterns/" + attributes.getValue("type") + "-dateTime");
             }
             break;
         case "localizedPatternChars":
@@ -599,6 +619,20 @@
             }
             break;
 
+        // "alias" for root
+        case "alias":
+            {
+                if (id.equals("root") &&
+                        !isIgnored(attributes) &&
+                        currentCalendarType != null &&
+                        !currentCalendarType.lname().startsWith("islamic-")) { // ignore Islamic variants
+                    pushAliasEntry(qName, attributes, attributes.getValue("path"));
+                } else {
+                    pushIgnoredContainer(qName);
+                }
+            }
+            break;
+
         default:
             // treat anything else as a container
             pushContainer(qName, attributes);
@@ -606,6 +640,184 @@
         }
     }
 
+    private static final String[] CONTEXTS = {"stand-alone", "format"};
+    private static final String[] WIDTHS = {"wide", "narrow", "abbreviated"};
+    private static final String[] LENGTHS = {"full", "long", "medium", "short"};
+
+    private void populateWidthAlias(String type, Set<String> keys) {
+        for (String context : CONTEXTS) {
+            for (String width : WIDTHS) {
+                String keyName = toJDKKey(type+"Width", context, width);
+                if (keyName.length() > 0) {
+                    keys.add(keyName + "," + context + "," + width);
+                }
+            }
+        }
+    }
+
+    private void populateFormatLengthAlias(String type, Set<String> keys) {
+        for (String length: LENGTHS) {
+            String keyName = toJDKKey(type+"FormatLength", currentContext, length);
+            if (keyName.length() > 0) {
+                keys.add(keyName + "," + currentContext + "," + length);
+            }
+        }
+    }
+
+    private Set<String> populateAliasKeys(String qName, String context, String width) {
+        HashSet<String> ret = new HashSet<>();
+        String keyName = qName;
+
+        switch (qName) {
+        case "monthWidth":
+        case "dayWidth":
+        case "quarterWidth":
+        case "dayPeriodWidth":
+        case "dateFormatLength":
+        case "timeFormatLength":
+        case "dateTimeFormatLength":
+        case "eraNames":
+        case "eraAbbr":
+        case "eraNarrow":
+            ret.add(toJDKKey(qName, context, width) + "," + context + "," + width);
+            break;
+        case "days":
+            populateWidthAlias("day", ret);
+            break;
+        case "months":
+            populateWidthAlias("month", ret);
+            break;
+        case "quarters":
+            populateWidthAlias("quarter", ret);
+            break;
+        case "dayPeriods":
+            populateWidthAlias("dayPeriod", ret);
+            break;
+        case "eras":
+            ret.add(toJDKKey("eraNames", context, width) + "," + context + "," + width);
+            ret.add(toJDKKey("eraAbbr", context, width) + "," + context + "," + width);
+            ret.add(toJDKKey("eraNarrow", context, width) + "," + context + "," + width);
+            break;
+        case "dateFormats":
+            populateFormatLengthAlias("date", ret);
+            break;
+        case "timeFormats":
+            populateFormatLengthAlias("time", ret);
+            break;
+        default:
+            break;
+        }
+        return ret;
+    }
+
+    private String translateWidthAlias(String qName, String context, String width) {
+        String keyName = qName;
+        String type = Character.toUpperCase(qName.charAt(0)) + qName.substring(1, qName.indexOf("Width"));
+
+        switch (width) {
+        case "wide":
+            keyName = type + "Names/" + context;
+            break;
+        case "abbreviated":
+            keyName = type + "Abbreviations/" + context;
+            break;
+        case "narrow":
+            keyName = type + "Narrows/" + context;
+            break;
+        default:
+            assert false;
+        }
+
+        return keyName;
+    }
+
+    private String toJDKKey(String containerqName, String context, String type) {
+        String keyName = containerqName;
+
+        switch (containerqName) {
+        case "monthWidth":
+        case "dayWidth":
+        case "quarterWidth":
+            keyName = translateWidthAlias(keyName, context, type);
+            break;
+        case "dayPeriodWidth":
+            switch (type) {
+            case "wide":
+                keyName = "AmPmMarkers/" + context;
+                break;
+            case "narrow":
+                keyName = "narrow.AmPmMarkers/" + context;
+                break;
+            case "abbreviated":
+                keyName = "";
+                break;
+            }
+            break;
+        case "dateFormatLength":
+        case "timeFormatLength":
+        case "dateTimeFormatLength":
+            keyName = "DateTimePatterns/" +
+                type + "-" +
+                keyName.substring(0, keyName.indexOf("FormatLength"));
+            break;
+        case "eraNames":
+            keyName = "long.Eras";
+            break;
+        case "eraAbbr":
+            keyName = "Eras";
+            break;
+        case "eraNarrow":
+            keyName = "narrow.Eras";
+            break;
+        case "dateFormats":
+        case "timeFormats":
+        case "days":
+        case "months":
+        case "quarters":
+        case "dayPeriods":
+        case "eras":
+            break;
+        default:
+            keyName = "";
+            break;
+        }
+
+        return keyName;
+    }
+
+    private String getTarget(String qName, String path, String calType, String context, String width) {
+        // qName
+        int lastSlash = path.lastIndexOf('/');
+        qName = path.substring(lastSlash+1);
+        int bracket = qName.indexOf('[');
+        if (bracket != -1) {
+            qName = qName.substring(0, bracket);
+        }
+
+        // calType
+        String typeKey = "/calendar[@type='";
+        int start = path.indexOf(typeKey);
+        if (start != -1) {
+            calType = path.substring(start+typeKey.length(), path.indexOf("']", start));
+        }
+
+        // context
+        typeKey = "Context[@type='";
+        start = path.indexOf(typeKey);
+        if (start != -1) {
+            context = (path.substring(start+typeKey.length(), path.indexOf("']", start)));
+        }
+
+        // width
+        typeKey = "Width[@type='";
+        start = path.indexOf(typeKey);
+        if (start != -1) {
+            width = path.substring(start+typeKey.length(), path.indexOf("']", start));
+        }
+
+        return calType + "." + toJDKKey(qName, context, width);
+    }
+
     @Override
     public void endElement(String uri, String localName, String qName) throws SAXException {
         assert qName.equals(currentContainer.getqName()) : "current=" + currentContainer.getqName() + ", param=" + qName;
@@ -628,6 +840,7 @@
         case "timeZoneNames":
             zonePrefix = null;
             break;
+
         case "generic":
         case "standard":
         case "daylight":
@@ -638,8 +851,52 @@
                 valmap.put(entry.getKey(), (String) entry.getValue());
             }
             break;
+
+        case "monthWidth":
+        case "dayWidth":
+        case "dayPeriodWidth":
+        case "quarterWidth":
+            currentWidth = "";
+            putIfEntry();
+            break;
+
+        case "monthContext":
+        case "dayContext":
+        case "dayPeriodContext":
+        case "quarterContext":
+            currentContext = "";
+            putIfEntry();
+            break;
+
         default:
-            if (currentContainer instanceof Entry) {
+            putIfEntry();
+        }
+        currentContainer = currentContainer.getParent();
+    }
+
+    private void putIfEntry() {
+        if (currentContainer instanceof AliasEntry) {
+            Entry<?> entry = (Entry<?>) currentContainer;
+            String containerqName = entry.getParent().getqName();
+            Set<String> keyNames = populateAliasKeys(containerqName, currentContext, currentWidth);
+            if (!keyNames.isEmpty()) {
+                for (String keyName : keyNames) {
+                    String[] tmp = keyName.split(",", 3);
+                    String calType = currentCalendarType.lname();
+                    String src = calType+"."+tmp[0];
+                    String target = getTarget(containerqName,
+                                entry.getKey(),
+                                calType,
+                                tmp[1].length()>0 ? tmp[1] : currentContext,
+                                tmp[2].length()>0 ? tmp[2] : currentWidth);
+                    if (target.substring(target.lastIndexOf('.')+1).equals(containerqName)) {
+                        target = target.substring(0, target.indexOf('.'))+"."+tmp[0];
+                    }
+                    CLDRConverter.aliases.put(src.replaceFirst("^gregorian.", ""),
+                                              target.replaceFirst("^gregorian.", ""));
+                }
+            }
+        } else if (currentContainer instanceof Entry) {
                 Entry<?> entry = (Entry<?>) currentContainer;
                 Object value = entry.getValue();
                 if (value != null) {
@@ -647,6 +904,4 @@
                 }
             }
         }
-        currentContainer = currentContainer.getParent();
     }
-}
--- a/make/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java	Sun Jun 28 16:38:22 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,22 +30,62 @@
 import java.io.PrintWriter;
 import java.util.Formatter;
 import java.util.HashSet;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.Map;
+import java.util.Locale;
+import java.util.Objects;
 import java.util.Set;
 import java.util.SortedSet;
 
 class ResourceBundleGenerator implements BundleGenerator {
+    // preferred timezones - keeping compatibility with JDK1.1 3 letter abbreviations
+    private static final String[] preferredTZIDs = {
+        "America/Los_Angeles",
+        "America/Denver",
+        "America/Phoenix",
+        "America/Chicago",
+        "America/New_York",
+        "America/Indianapolis",
+        "Pacific/Honolulu",
+        "America/Anchorage",
+        "America/Halifax",
+        "America/Sitka",
+        "America/St_Johns",
+        "Europe/Paris",
+        // Although CLDR does not support abbreviated zones, handle "GMT" as a
+        // special case here, as it is specified in the javadoc.
+        "GMT",
+        "Africa/Casablanca",
+        "Asia/Jerusalem",
+        "Asia/Tokyo",
+        "Europe/Bucharest",
+        "Asia/Shanghai",
+    };
+
+    // For duplicated values
+    private static final String META_VALUE_PREFIX = "metaValue_";
+
     @Override
     public void generateBundle(String packageName, String baseName, String localeID, boolean useJava,
                                Map<String, ?> map, BundleType type) throws IOException {
         String suffix = useJava ? ".java" : ".properties";
         String lang = CLDRConverter.getLanguageCode(localeID);
+        String ctry = CLDRConverter.getCountryCode(localeID);
         String dirName = CLDRConverter.DESTINATION_DIR + File.separator + "sun" + File.separator
                 + packageName + File.separator + "resources" + File.separator + "cldr";
         if (lang.length() > 0) {
-            dirName = dirName + File.separator + lang;
-            packageName = packageName + ".resources.cldr." + lang;
+            if (CLDRConverter.isBaseModule ^ isBaseLocale(localeID)) {
+                return;
+            }
+            dirName = dirName + File.separator + lang +
+                      (ctry != null && ctry.length() > 0 ? File.separator + ctry : "");
+            packageName = packageName + ".resources.cldr." + lang +
+                      (ctry != null && ctry.length() > 0 ? "." + ctry : "");
         } else {
+            if (!CLDRConverter.isBaseModule) {
+                return;
+            }
             packageName = packageName + ".resources.cldr";
         }
         File dir = new File(dirName);
@@ -89,6 +129,65 @@
             for (String key : metaKeys) {
                 map.remove(key);
             }
+
+            // Make it preferred ordered
+            LinkedHashMap<String, Object> newMap = new LinkedHashMap<>();
+            for (String preferred : preferredTZIDs) {
+                if (map.containsKey(preferred)) {
+                    newMap.put(preferred, map.remove(preferred));
+                } else if ("GMT".equals(preferred) &&
+                           metaKeys.contains(CLDRConverter.METAZONE_ID_PREFIX+preferred)) {
+                    newMap.put(preferred, preferred);
+                }
+            }
+            newMap.putAll(map);
+            map = newMap;
+        } else {
+            // generic reduction of duplicated values
+            Map<String, Object> newMap = null;
+            for (String key : map.keySet()) {
+                Object val = map.get(key);
+                String metaVal = null;
+
+                for (Map.Entry<String, ?> entry : map.entrySet()) {
+                    String k = entry.getKey();
+                    if (!k.equals(key) &&
+                        Objects.deepEquals(val, entry.getValue()) &&
+                        !(Objects.nonNull(newMap) && newMap.containsKey(k))) {
+                        if (Objects.isNull(newMap)) {
+                            newMap = new HashMap<>();
+                            fmt = new Formatter();
+                        }
+
+                        if (Objects.isNull(metaVal)) {
+                            metaVal = META_VALUE_PREFIX + key.replaceAll("\\.", "_");
+
+                            if (val instanceof String[]) {
+                                fmt.format("        final String[] %s = new String[] {\n", metaVal);
+                                for (String s : (String[])val) {
+                                    fmt.format("               \"%s\",\n", CLDRConverter.saveConvert(s, useJava));
+                                }
+                                fmt.format("            };\n");
+                            } else {
+                                fmt.format("        final String %s = \"%s\";\n", metaVal, CLDRConverter.saveConvert((String)val, useJava));
+                            }
+                        }
+
+                        newMap.put(k, metaVal);
+                    }
+                }
+
+                if (Objects.nonNull(metaVal)) {
+                    newMap.put(key, metaVal);
+                }
+            }
+
+            if (Objects.nonNull(newMap)) {
+                for (String key : map.keySet()) {
+                    newMap.putIfAbsent(key, map.get(key));
+                }
+                map = newMap;
+            }
         }
 
         try (PrintWriter out = new PrintWriter(file, encoding)) {
@@ -114,7 +213,8 @@
                     if (value == null) {
                         CLDRConverter.warning("null value for " + key);
                     } else if (value instanceof String) {
-                        if (type == BundleType.TIMEZONE) {
+                        if (type == BundleType.TIMEZONE ||
+                            ((String)value).startsWith(META_VALUE_PREFIX)) {
                             out.printf("            { \"%s\", %s },\n", key, CLDRConverter.saveConvert((String) value, useJava));
                         } else {
                             out.printf("            { \"%s\", \"%s\" },\n", key, CLDRConverter.saveConvert((String) value, useJava));
@@ -139,18 +239,22 @@
         }
     }
 
-    private static final String METAINFO_CLASS = "CLDRLocaleDataMetaInfo";
-
     @Override
     public void generateMetaInfo(Map<String, SortedSet<String>> metaInfo) throws IOException {
         String dirName = CLDRConverter.DESTINATION_DIR + File.separator + "sun" + File.separator + "util" +
-            File.separator + "resources" + File.separator + "cldr" + File.separator +
-            "provider" + File.separator ;
+            File.separator +
+            (CLDRConverter.isBaseModule ? "cldr" + File.separator + File.separator :
+                      "resources" + File.separator + "cldr" + File.separator + "provider" + File.separator);
         File dir = new File(dirName);
         if (!dir.exists()) {
             dir.mkdirs();
         }
-        File file = new File(dir, METAINFO_CLASS + ".java");
+        String className =
+            (CLDRConverter.isBaseModule ? "CLDRBaseLocaleDataMetaInfo" :
+                "CLDRLocaleDataMetaInfo_" +
+                CLDRConverter.DESTINATION_DIR.substring(CLDRConverter.DESTINATION_DIR.lastIndexOf('/')+1)
+                    .replaceAll("\\.", "_"));
+        File file = new File(dir, className + ".java");
         if (!file.exists()) {
             file.createNewFile();
         }
@@ -159,34 +263,71 @@
         try (PrintWriter out = new PrintWriter(file, "us-ascii")) {
             out.println(CopyrightHeaders.getOpenJDKCopyright());
 
-            out.println("package sun.util.resources.cldr.provider;\n\n"
+            out.println((CLDRConverter.isBaseModule ? "package sun.util.cldr;\n\n" :
+                                  "package sun.util.resources.cldr.provider;\n\n")
+                      + "import java.util.HashMap;\n"
+                      + "import java.util.Map;\n"
                       + "import java.util.ListResourceBundle;\n"
                       + "import sun.util.locale.provider.LocaleProviderAdapter;\n"
                       + "import sun.util.locale.provider.LocaleDataMetaInfo;\n");
-            out.printf("public class %s extends ListResourceBundle implements LocaleDataMetaInfo {\n", METAINFO_CLASS);
+            out.printf("public class %s extends ListResourceBundle implements LocaleDataMetaInfo {\n", className);
             out.println("    @Override\n" +
                         "    protected final Object[][] getContents() {\n" +
                         "        final Object[][] data = new Object[][] {");
             for (String key : metaInfo.keySet()) {
                 out.printf("            { \"%s\",\n", key);
-                out.printf("              \"%s\" },\n", toLocaleList(metaInfo.get(key)));
+                out.printf("              \"%s\" },\n",
+                    toLocaleList(key.equals("FormatData") ? metaInfo.get("AvailableLocales") :
+                                                            metaInfo.get(key),
+                                 key.startsWith(CLDRConverter.PARENT_LOCALE_PREFIX)));
             }
             out.println("        };\n        return data;\n    }\n\n");
 
-            out.println("    public LocaleProviderAdapter.Type getType() {\n" +
+            out.println("    @Override\n" +
+                        "    public LocaleProviderAdapter.Type getType() {\n" +
                         "        return LocaleProviderAdapter.Type.CLDR;\n" +
                         "    }\n\n");
 
-            out.println("    public String availableLanguageTags(String category) {\n" +
+            out.println("    @Override\n" +
+                        "    public String availableLanguageTags(String category) {\n" +
                         "        return getString(category);\n" +
-                        "    };\n}");
+                        "    };\n\n");
+
+            if (CLDRConverter.isBaseModule) {
+                out.printf("    public Map<String, String> parentLocales() {\n" +
+                           "        Map<String, String> ret = new HashMap<>();\n" +
+                           "        keySet().stream()\n" +
+                           "            .filter(key -> key.startsWith(\"%s\"))\n" +
+                           "            .forEach(key -> ret.put(key.substring(%d), getString(key)));\n" +
+                           "        return ret.isEmpty() ? null : ret;\n" +
+                           "    };\n}",
+                           CLDRConverter.PARENT_LOCALE_PREFIX,
+                           CLDRConverter.PARENT_LOCALE_PREFIX.length());
+            } else {
+                out.println("}");
+            }
         }
     }
 
-    private static String toLocaleList(SortedSet<String> set) {
+    private static final Locale.Builder LOCALE_BUILDER = new Locale.Builder();
+    private static boolean isBaseLocale(String localeID) {
+        localeID = localeID.replaceAll("-", "_");
+        // ignore script here
+        Locale locale = LOCALE_BUILDER
+                            .clear()
+                            .setLanguage(CLDRConverter.getLanguageCode(localeID))
+                            .setRegion(CLDRConverter.getCountryCode(localeID))
+                            .build();
+        return CLDRConverter.BASE_LOCALES.contains(locale);
+    }
+
+    private static String toLocaleList(SortedSet<String> set, boolean all) {
         StringBuilder sb = new StringBuilder(set.size() * 6);
         for (String id : set) {
             if (!"root".equals(id)) {
+                if (!all && CLDRConverter.isBaseModule ^ isBaseLocale(id)) {
+                    continue;
+                }
                 if (sb.length() > 0) {
                     sb.append(' ');
                 }
--- a/make/src/classes/build/tools/cldrconverter/SupplementDataParseHandler.java	Thu Jun 25 10:21:38 2015 -0700
+++ b/make/src/classes/build/tools/cldrconverter/SupplementDataParseHandler.java	Sun Jun 28 16:38:22 2015 -0700
@@ -51,12 +51,21 @@
     // When parsing the locale neutral file (supplementalData.xml),
     // we need to rely on the country code because
     // the weekData is listed using country code.
+    //
+    // weekData are generated per each country
     private final Map<String, Object> firstDayMap;
     private final Map<String, Object> minDaysMap;
 
+    // Parent locales. These information will only be
+    // generated towards the base meta info, with the format of
+    //
+    // parentLocale.<parent_locale_id>=<child_locale_id>(" "<child_locale_id>)+
+    private final Map<String, String> parentLocalesMap;
+
     SupplementDataParseHandler() {
         firstDayMap = new HashMap<>();
         minDaysMap = new HashMap<>();
+        parentLocalesMap = new HashMap<>();
     }
 
     /**
@@ -68,16 +77,23 @@
      * although this should not happen because supplementalData.xml includes
      * default value for the world ("001") for firstDay and minDays.
      */
-    Map<String, Object> getData(String country) {
+    Map<String, Object> getData(String id) {
         Map<String, Object> values = new HashMap<>();
-        String countryData = getWeekData(country, JAVA_FIRSTDAY, firstDayMap);
+        if ("root".equals(id)) {
+            parentLocalesMap.keySet().forEach(key -> {
+            values.put(CLDRConverter.PARENT_LOCALE_PREFIX+key,
+                parentLocalesMap.get(key));
+            });
+        } else {
+            String countryData = getWeekData(id, JAVA_FIRSTDAY, firstDayMap);
         if (countryData != null) {
             values.put(JAVA_FIRSTDAY, countryData);
         }
-        String minDaysData = getWeekData(country, JAVA_MINDAY, minDaysMap);
+            String minDaysData = getWeekData(id, JAVA_MINDAY, minDaysMap);
         if (minDaysData != null) {
             values.put(JAVA_MINDAY, minDaysData);
         }
+        }
         return values.isEmpty() ? null : values;
     }
 
@@ -144,6 +160,13 @@
                 minDaysMap.put(attributes.getValue("territories"), attributes.getValue("count"));
             }
             break;
+        case "parentLocale":
+            if (!isIgnored(attributes)) {
+                parentLocalesMap.put(
+                    attributes.getValue("parent").replaceAll("_", "-"),
+                    attributes.getValue("locales").replaceAll("_", "-"));
+            }
+            break;
         default:
             // treat anything else as a container
             pushContainer(qName, attributes);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.base/share/classes/java/lang/invoke/InjectedProfile.java	Sun Jun 28 16:38:22 2015 -0700
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ *