/*
 * Copyright 2012 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.google.gwt.i18n.client.impl.cldr;

import com.google.gwt.core.client.JavaScriptObject;

// DO NOT EDIT - GENERATED FROM CLDR DATA

/**
 * Localized names for the "ksf" locale.
 */
public class LocalizedNamesImpl_ksf extends LocalizedNamesImpl {

  @Override
  public String[] loadSortedRegionCodes() {
    return new String[] {
        "AC",
        "AF",
        "ZA",
        "AL",
        "DZ",
        "US",
        "AD",
        "AI",
        "AO",
        "AG",
        "AQ",
        "SA",
        "AR",
        "AM",
        "AW",
        "AX",
        "HT",
        "AZ",
        "BB",
        "BS",
        "BH",
        "BD",
        "BL",
        "BW",
        "BQ",
        "BN",
        "BR",
        "BF",
        "BG",
        "BI",
        "BT",
        "BV",
        "AE",
        "BA",
        "BO",
        "BY",
        "BZ",
        "BE",
        "BJ",
        "BM",
        "TD",
        "CC",
        "CL",
        "CN",
        "CY",
        "CP",
        "CW",
        "CX",
        "CZ",
        "DK",
        "DG",
        "DE",
        "DJ",
        "DM",
        "DO",
        "EA",
        "EH",
        "EU",
        "EZ",
        "FJ",
        "PH",
        "FI",
        "FO",
        "GA",
        "GM",
        "GH",
        "GG",
        "GN",
        "GW",
        "GQ",
        "GL",
        "GR",
        "GD",
        "GS",
        "GY",
        "GF",
        "GP",
        "GU",
        "GT",
        "HK",
        "HM",
        "IC",
        "IE",
        "IM",
        "IN",
        "ID",
        "IQ",
        "IR",
        "IL",
        "IT",
        "JM",
        "JP",
        "JE",
        "GI",
        "JO",
        "GE",
        "NC",
        "KH",
        "CM",
        "CA",
        "CV",
        "QA",
        "KZ",
        "KG",
        "KI",
        "CO",
        "KM",
        "KP",
        "KR",
        "ES",
        "HR",
        "CU",
        "KW",
        "NL",
        "GB",
        "CG",
        "CD",
        "CR",
        "CI",
        "KE",
        "LA",
        "LB",
        "LY",
        "LR",
        "LI",
        "LT",
        "LU",
        "LS",
        "LV",
        "MG",
        "MW",
        "MV",
        "ML",
        "MT",
        "MY",
        "MA",
        "MK",
        "MQ",
        "YT",
        "ME",
        "MF",
        "FM",
        "MO",
        "MC",
        "MZ",
        "MU",
        "MR",
        "MM",
        "MD",
        "MS",
        "MN",
        "MX",
        "NA",
        "NE",
        "NG",
        "NI",
        "NU",
        "NR",
        "NO",
        "NP",
        "OM",
        "AT",
        "PK",
        "PW",
        "PA",
        "PG",
        "PY",
        "PN",
        "PL",
        "PT",
        "PF",
        "PR",
        "PE",
        "FR",
        "QO",
        "RU",
        "RS",
        "RW",
        "RO",
        "RE",
        "SV",
        "WS",
        "AS",
        "CF",
        "ST",
        "SY",
        "SG",
        "SJ",
        "SK",
        "SI",
        "SO",
        "LK",
        "SS",
        "SD",
        "SR",
        "SZ",
        "CH",
        "SE",
        "SX",
        "SL",
        "SC",
        "KN",
        "SM",
        "PM",
        "LC",
        "SH",
        "VC",
        "SN",
        "TA",
        "TJ",
        "TZ",
        "TF",
        "TL",
        "TR",
        "TM",
        "TG",
        "TK",
        "TN",
        "TV",
        "TO",
        "TH",
        "TT",
        "TW",
        "UG",
        "UA",
        "UM",
        "UN",
        "UY",
        "UZ",
        "WF",
        "VU",
        "VA",
        "VN",
        "VE",
        "XA",
        "XB",
        "XK",
        "YE",
        "ZM",
        "ZW",
        "VI",
        "VG",
        "KY",
        "IS",
        "MH",
        "IO",
        "FK",
        "MP",
        "PS",
        "SB",
        "TC",
        "CK",
        "NZ",
        "NF",
        "HN",
        "HU",
        "AU",
        "EG",
        "EC",
        "ER",
        "EE",
        "ET",
    };
  }

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "andɔrǝ");
    namesMap.put("AE", "bǝlɔŋ bǝ kaksa bɛ táatáaŋzǝn");
    namesMap.put("AF", "afganistáŋ");
    namesMap.put("AG", "antiga ri barbúda");
    namesMap.put("AI", "angiya");
    namesMap.put("AL", "albaní");
    namesMap.put("AM", "armɛní");
    namesMap.put("AO", "angóla");
    namesMap.put("AR", "arjǝntín");
    namesMap.put("AS", "samɔa a amɛrika");
    namesMap.put("AT", "otric");
    namesMap.put("AU", "ɔstralí");
    namesMap.put("AW", "aruba");
    namesMap.put("AZ", "azabecán");
    namesMap.put("BA", "bɔsnyɛ ri hɛrsǝgɔvín");
    namesMap.put("BB", "baabaadǝ");
    namesMap.put("BD", "baŋladɛ́c");
    namesMap.put("BE", "bɛljík");
    namesMap.put("BF", "bukína fǝ́ asɔ");
    namesMap.put("BG", "bulgarí");
    namesMap.put("BH", "barǝ́n");
    namesMap.put("BI", "burundí");
    namesMap.put("BJ", "bɛnǝ́n");
    namesMap.put("BM", "bɛɛmúdǝ");
    namesMap.put("BN", "brunǝ́");
    namesMap.put("BO", "bɔɔlíví");
    namesMap.put("BR", "brɛsíl");
    namesMap.put("BS", "baamás");
    namesMap.put("BT", "bután");
    namesMap.put("BW", "botswana");
    namesMap.put("BY", "bɛlaris");
    namesMap.put("BZ", "bɛliz");
    namesMap.put("CA", "kanada");
    namesMap.put("CD", "kɔngó anyɔ́n");
    namesMap.put("CF", "santrafrík");
    namesMap.put("CG", "kɔngó");
    namesMap.put("CH", "swís");
    namesMap.put("CI", "kɔtiwuár");
    namesMap.put("CK", "zɛ i kúk");
    namesMap.put("CL", "cíli");
    namesMap.put("CM", "kamɛrún");
    namesMap.put("CN", "cín");
    namesMap.put("CO", "kolɔmbí");
    namesMap.put("CR", "kɔstaríka");
    namesMap.put("CU", "kuba");
    namesMap.put("CV", "kapvɛr");
    namesMap.put("CY", "cíprɛ");
    namesMap.put("CZ", "cɛ́k");
    namesMap.put("DE", "djɛrman");
    namesMap.put("DJ", "dyibutí");
    namesMap.put("DK", "danmak");
    namesMap.put("DM", "dɔminik");
    namesMap.put("DO", "dɔminik rɛpublík");
    namesMap.put("DZ", "aljɛrí");
    namesMap.put("EC", "ɛkwatɛǝ́");
    namesMap.put("EE", "ɛstoní");
    namesMap.put("EG", "ɛjípt");
    namesMap.put("ER", "ɛritrɛ́");
    namesMap.put("ES", "kpanyá");
    namesMap.put("ET", "ɛtyɔpí");
    namesMap.put("FI", "fínlan");
    namesMap.put("FJ", "fíji");
    namesMap.put("FK", "zǝ maalwín");
    namesMap.put("FM", "mikronɛ́si");
    namesMap.put("FR", "pɛrɛsǝ́");
    namesMap.put("GA", "gabɔŋ");
    namesMap.put("GB", "kǝlɔŋ kǝ kǝtáatáaŋzǝn");
    namesMap.put("GD", "grɛnadǝ");
    namesMap.put("GE", "jɔrjí");
    namesMap.put("GF", "guyán i pɛrɛsǝ́");
    namesMap.put("GH", "gána");
    namesMap.put("GI", "jibraltá");
    namesMap.put("GL", "grínlan");
    namesMap.put("GM", "gambí");
    namesMap.put("GN", "ginɛ́");
    namesMap.put("GP", "gwadɛlúp");
    namesMap.put("GQ", "ginɛ́ ɛkwatɔrial");
    namesMap.put("GR", "grɛ́k");
    namesMap.put("GT", "gwátǝmala");
    namesMap.put("GU", "gwám");
    namesMap.put("GW", "ginɛ́ bisɔ́");
    namesMap.put("GY", "guyán");
    namesMap.put("HN", "ɔnduras");
    namesMap.put("HR", "krwasí");
    namesMap.put("HT", "ayiti");
    namesMap.put("HU", "ɔngrí");
    namesMap.put("ID", "indonɛsí");
    namesMap.put("IE", "ilán");
    namesMap.put("IL", "israɛ́l");
    namesMap.put("IN", "indí");
    namesMap.put("IO", "zǝ ingɛrís ncɔ́m wa indi");
    namesMap.put("IQ", "irák");
    namesMap.put("IR", "iráŋ");
    namesMap.put("IS", "zǝ i glás");
    namesMap.put("IT", "italí");
    namesMap.put("JM", "jamaík");
    namesMap.put("JO", "jɔrdán");
    namesMap.put("JP", "japɔ́ŋ");
    namesMap.put("KE", "kɛnya");
    namesMap.put("KG", "kigistáŋ");
    namesMap.put("KH", "kambodj");
    namesMap.put("KI", "kiribáti");
    namesMap.put("KM", "komɔr");
    namesMap.put("KN", "sɛnkrǝstɔ́f ri nyɛ́vǝ");
    namesMap.put("KP", "korɛanɔ́r");
    namesMap.put("KR", "korɛasud");
    namesMap.put("KW", "kuwɛit");
    namesMap.put("KY", "zǝ i gan");
    namesMap.put("KZ", "kazakstáŋ");
    namesMap.put("LA", "laɔs");
    namesMap.put("LB", "libáŋ");
    namesMap.put("LC", "sɛntlísí");
    namesMap.put("LI", "lictɛnstɛ́n");
    namesMap.put("LK", "srílaŋka");
    namesMap.put("LR", "libɛrya");
    namesMap.put("LS", "lǝsóto");
    namesMap.put("LT", "litwaní");
    namesMap.put("LU", "luksɛmbúr");
    namesMap.put("LV", "lɛtoní");
    namesMap.put("LY", "libí");
    namesMap.put("MA", "marɔk");
    namesMap.put("MC", "monako");
    namesMap.put("MD", "mɔldaví");
    namesMap.put("MG", "madagaska");
    namesMap.put("MH", "zǝ i marcál");
    namesMap.put("MK", "másǝdwán");
    namesMap.put("ML", "mali");
    namesMap.put("MM", "myanmár");
    namesMap.put("MN", "mɔŋolí");
    namesMap.put("MP", "zǝ maryánnɔ́r");
    namesMap.put("MQ", "matiník");
    namesMap.put("MR", "mwaritaní");
    namesMap.put("MS", "mɔnsɛrat");
    namesMap.put("MT", "maltǝ");
    namesMap.put("MU", "mwarís");
    namesMap.put("MV", "maldivǝ");
    namesMap.put("MW", "malawi");
    namesMap.put("MX", "mɛksík");
    namesMap.put("MY", "malɛsí");
    namesMap.put("MZ", "mosambík");
    namesMap.put("NA", "namibí");
    namesMap.put("NC", "kalɛdoní anyɔ́n");
    namesMap.put("NE", "nijɛ́r");
    namesMap.put("NF", "zɛ nɔ́fɔlk");
    namesMap.put("NG", "nijɛ́rya");
    namesMap.put("NI", "níkarágwa");
    namesMap.put("NL", "kǝlɔŋ kǝ ázǝ");
    namesMap.put("NO", "nɔrvɛjǝ");
    namesMap.put("NP", "nɛpal");
    namesMap.put("NR", "nwarú");
    namesMap.put("NU", "niwɛ́");
    namesMap.put("NZ", "zɛlan anyɔ́n");
    namesMap.put("OM", "oman");
    namesMap.put("PA", "panama");
    namesMap.put("PE", "pɛrú");
    namesMap.put("PF", "pɔlinɛsí a pɛrɛsǝ́");
    namesMap.put("PG", "papwazí ginɛ́ anyɔ́n");
    namesMap.put("PH", "filipǝ́n");
    namesMap.put("PK", "pakistáŋ");
    namesMap.put("PL", "polɔ́n");
    namesMap.put("PM", "sɛnpyɛr ri mikɛlɔŋ");
    namesMap.put("PN", "pitkɛ́n");
    namesMap.put("PR", "pɔtoríko");
    namesMap.put("PS", "zǝ palɛstínǝ");
    namesMap.put("PT", "portugál");
    namesMap.put("PW", "palwa");
    namesMap.put("PY", "paragwɛ́");
    namesMap.put("QA", "katá");
    namesMap.put("RE", "rɛunyɔŋ");
    namesMap.put("RO", "rɔmaní");
    namesMap.put("RU", "risí");
    namesMap.put("RW", "rwanda");
    namesMap.put("SA", "arabí saodí");
    namesMap.put("SB", "zǝ salomɔ́n");
    namesMap.put("SC", "sɛcɛl");
    namesMap.put("SD", "sudan");
    namesMap.put("SE", "swɛdǝ");
    namesMap.put("SG", "siŋapó");
    namesMap.put("SH", "sɛntɛ́len");
    namesMap.put("SI", "slovɛní");
    namesMap.put("SK", "slovakí");
    namesMap.put("SL", "syɛraleon");
    namesMap.put("SM", "sɛnmarǝn");
    namesMap.put("SN", "sɛnɛgal");
    namesMap.put("SO", "somalí");
    namesMap.put("SR", "surinam");
    namesMap.put("ST", "saotomɛ́ ri priŋsib");
    namesMap.put("SV", "salvadɔr");
    namesMap.put("SY", "sirí");
    namesMap.put("SZ", "swazilan");
    namesMap.put("TC", "zǝ tirk ri kakɔs");
    namesMap.put("TD", "caád");
    namesMap.put("TG", "togo");
    namesMap.put("TH", "tɛlan");
    namesMap.put("TJ", "tadjikistaŋ");
    namesMap.put("TK", "tokǝlao");
    namesMap.put("TL", "timor anǝ á ɛst");
    namesMap.put("TM", "tirkmɛnistaŋ");
    namesMap.put("TN", "tunɛsí");
    namesMap.put("TO", "tɔŋa");
    namesMap.put("TR", "tirkí");
    namesMap.put("TT", "tɛrinitɛ ri tobago");
    namesMap.put("TV", "tuwalu");
    namesMap.put("TW", "tɛwán");
    namesMap.put("TZ", "tanzaní");
    namesMap.put("UA", "ukrain");
    namesMap.put("UG", "uganda");
    namesMap.put("US", "amɛrika");
    namesMap.put("UY", "urugwɛ́");
    namesMap.put("UZ", "usbɛkistaŋ");
    namesMap.put("VA", "watikáŋ");
    namesMap.put("VC", "sɛnvǝnsǝŋ ri grɛnadín");
    namesMap.put("VE", "wɛnǝzwɛla");
    namesMap.put("VG", "zǝ bɛ gɔn inɛ a ingɛrís");
    namesMap.put("VI", "zǝ bɛ gɔn inɛ á amɛrika");
    namesMap.put("VN", "wyɛtnám");
    namesMap.put("VU", "wanwatu");
    namesMap.put("WF", "walis ri futuna");
    namesMap.put("WS", "samɔa");
    namesMap.put("YE", "yɛmɛn");
    namesMap.put("YT", "mayɔ́t");
    namesMap.put("ZA", "afrik anǝ a sud");
    namesMap.put("ZM", "zambí");
    namesMap.put("ZW", "zimbabwɛ́");
  }

  @Override
  protected JavaScriptObject loadNameMapNative() {
    return overrideMap(super.loadNameMapNative(), loadMyNameMap());
  }

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "andɔrǝ",
        "AE": "bǝlɔŋ bǝ kaksa bɛ táatáaŋzǝn",
        "AF": "afganistáŋ",
        "AG": "antiga ri barbúda",
        "AI": "angiya",
        "AL": "albaní",
        "AM": "armɛní",
        "AO": "angóla",
        "AR": "arjǝntín",
        "AS": "samɔa a amɛrika",
        "AT": "otric",
        "AU": "ɔstralí",
        "AW": "aruba",
        "AZ": "azabecán",
        "BA": "bɔsnyɛ ri hɛrsǝgɔvín",
        "BB": "baabaadǝ",
        "BD": "baŋladɛ́c",
        "BE": "bɛljík",
        "BF": "bukína fǝ́ asɔ",
        "BG": "bulgarí",
        "BH": "barǝ́n",
        "BI": "burundí",
        "BJ": "bɛnǝ́n",
        "BM": "bɛɛmúdǝ",
        "BN": "brunǝ́",
        "BO": "bɔɔlíví",
        "BR": "brɛsíl",
        "BS": "baamás",
        "BT": "bután",
        "BW": "botswana",
        "BY": "bɛlaris",
        "BZ": "bɛliz",
        "CA": "kanada",
        "CD": "kɔngó anyɔ́n",
        "CF": "santrafrík",
        "CG": "kɔngó",
        "CH": "swís",
        "CI": "kɔtiwuár",
        "CK": "zɛ i kúk",
        "CL": "cíli",
        "CM": "kamɛrún",
        "CN": "cín",
        "CO": "kolɔmbí",
        "CR": "kɔstaríka",
        "CU": "kuba",
        "CV": "kapvɛr",
        "CY": "cíprɛ",
        "CZ": "cɛ́k",
        "DE": "djɛrman",
        "DJ": "dyibutí",
        "DK": "danmak",
        "DM": "dɔminik",
        "DO": "dɔminik rɛpublík",
        "DZ": "aljɛrí",
        "EC": "ɛkwatɛǝ́",
        "EE": "ɛstoní",
        "EG": "ɛjípt",
        "ER": "ɛritrɛ́",
        "ES": "kpanyá",
        "ET": "ɛtyɔpí",
        "FI": "fínlan",
        "FJ": "fíji",
        "FK": "zǝ maalwín",
        "FM": "mikronɛ́si",
        "FR": "pɛrɛsǝ́",
        "GA": "gabɔŋ",
        "GB": "kǝlɔŋ kǝ kǝtáatáaŋzǝn",
        "GD": "grɛnadǝ",
        "GE": "jɔrjí",
        "GF": "guyán i pɛrɛsǝ́",
        "GH": "gána",
        "GI": "jibraltá",
        "GL": "grínlan",
        "GM": "gambí",
        "GN": "ginɛ́",
        "GP": "gwadɛlúp",
        "GQ": "ginɛ́ ɛkwatɔrial",
        "GR": "grɛ́k",
        "GT": "gwátǝmala",
        "GU": "gwám",
        "GW": "ginɛ́ bisɔ́",
        "GY": "guyán",
        "HN": "ɔnduras",
        "HR": "krwasí",
        "HT": "ayiti",
        "HU": "ɔngrí",
        "ID": "indonɛsí",
        "IE": "ilán",
        "IL": "israɛ́l",
        "IN": "indí",
        "IO": "zǝ ingɛrís ncɔ́m wa indi",
        "IQ": "irák",
        "IR": "iráŋ",
        "IS": "zǝ i glás",
        "IT": "italí",
        "JM": "jamaík",
        "JO": "jɔrdán",
        "JP": "japɔ́ŋ",
        "KE": "kɛnya",
        "KG": "kigistáŋ",
        "KH": "kambodj",
        "KI": "kiribáti",
        "KM": "komɔr",
        "KN": "sɛnkrǝstɔ́f ri nyɛ́vǝ",
        "KP": "korɛanɔ́r",
        "KR": "korɛasud",
        "KW": "kuwɛit",
        "KY": "zǝ i gan",
        "KZ": "kazakstáŋ",
        "LA": "laɔs",
        "LB": "libáŋ",
        "LC": "sɛntlísí",
        "LI": "lictɛnstɛ́n",
        "LK": "srílaŋka",
        "LR": "libɛrya",
        "LS": "lǝsóto",
        "LT": "litwaní",
        "LU": "luksɛmbúr",
        "LV": "lɛtoní",
        "LY": "libí",
        "MA": "marɔk",
        "MC": "monako",
        "MD": "mɔldaví",
        "MG": "madagaska",
        "MH": "zǝ i marcál",
        "MK": "másǝdwán",
        "ML": "mali",
        "MM": "myanmár",
        "MN": "mɔŋolí",
        "MP": "zǝ maryánnɔ́r",
        "MQ": "matiník",
        "MR": "mwaritaní",
        "MS": "mɔnsɛrat",
        "MT": "maltǝ",
        "MU": "mwarís",
        "MV": "maldivǝ",
        "MW": "malawi",
        "MX": "mɛksík",
        "MY": "malɛsí",
        "MZ": "mosambík",
        "NA": "namibí",
        "NC": "kalɛdoní anyɔ́n",
        "NE": "nijɛ́r",
        "NF": "zɛ nɔ́fɔlk",
        "NG": "nijɛ́rya",
        "NI": "níkarágwa",
        "NL": "kǝlɔŋ kǝ ázǝ",
        "NO": "nɔrvɛjǝ",
        "NP": "nɛpal",
        "NR": "nwarú",
        "NU": "niwɛ́",
        "NZ": "zɛlan anyɔ́n",
        "OM": "oman",
        "PA": "panama",
        "PE": "pɛrú",
        "PF": "pɔlinɛsí a pɛrɛsǝ́",
        "PG": "papwazí ginɛ́ anyɔ́n",
        "PH": "filipǝ́n",
        "PK": "pakistáŋ",
        "PL": "polɔ́n",
        "PM": "sɛnpyɛr ri mikɛlɔŋ",
        "PN": "pitkɛ́n",
        "PR": "pɔtoríko",
        "PS": "zǝ palɛstínǝ",
        "PT": "portugál",
        "PW": "palwa",
        "PY": "paragwɛ́",
        "QA": "katá",
        "RE": "rɛunyɔŋ",
        "RO": "rɔmaní",
        "RU": "risí",
        "RW": "rwanda",
        "SA": "arabí saodí",
        "SB": "zǝ salomɔ́n",
        "SC": "sɛcɛl",
        "SD": "sudan",
        "SE": "swɛdǝ",
        "SG": "siŋapó",
        "SH": "sɛntɛ́len",
        "SI": "slovɛní",
        "SK": "slovakí",
        "SL": "syɛraleon",
        "SM": "sɛnmarǝn",
        "SN": "sɛnɛgal",
        "SO": "somalí",
        "SR": "surinam",
        "ST": "saotomɛ́ ri priŋsib",
        "SV": "salvadɔr",
        "SY": "sirí",
        "SZ": "swazilan",
        "TC": "zǝ tirk ri kakɔs",
        "TD": "caád",
        "TG": "togo",
        "TH": "tɛlan",
        "TJ": "tadjikistaŋ",
        "TK": "tokǝlao",
        "TL": "timor anǝ á ɛst",
        "TM": "tirkmɛnistaŋ",
        "TN": "tunɛsí",
        "TO": "tɔŋa",
        "TR": "tirkí",
        "TT": "tɛrinitɛ ri tobago",
        "TV": "tuwalu",
        "TW": "tɛwán",
        "TZ": "tanzaní",
        "UA": "ukrain",
        "UG": "uganda",
        "US": "amɛrika",
        "UY": "urugwɛ́",
        "UZ": "usbɛkistaŋ",
        "VA": "watikáŋ",
        "VC": "sɛnvǝnsǝŋ ri grɛnadín",
        "VE": "wɛnǝzwɛla",
        "VG": "zǝ bɛ gɔn inɛ a ingɛrís",
        "VI": "zǝ bɛ gɔn inɛ á amɛrika",
        "VN": "wyɛtnám",
        "VU": "wanwatu",
        "WF": "walis ri futuna",
        "WS": "samɔa",
        "YE": "yɛmɛn",
        "YT": "mayɔ́t",
        "ZA": "afrik anǝ a sud",
        "ZM": "zambí",
        "ZW": "zimbabwɛ́"
    };
  }-*/;
}
